tango-app-ui-analyse-trax 3.7.11-redodesign-3-demo10 → 3.7.11-redodesign-3-demo12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/checklist/checklist.component.mjs +3 -3
- package/esm2022/lib/components/gallery/gallery.component.mjs +265 -129
- package/fesm2022/{tango-app-ui-analyse-trax-eye-test-audit.module-CAmEz7Wz.mjs → tango-app-ui-analyse-trax-eye-test-audit.module-CmXw-fS3.mjs} +2 -2
- package/fesm2022/{tango-app-ui-analyse-trax-eye-test-audit.module-CAmEz7Wz.mjs.map → tango-app-ui-analyse-trax-eye-test-audit.module-CmXw-fS3.mjs.map} +1 -1
- package/fesm2022/{tango-app-ui-analyse-trax-tango-app-ui-analyse-trax-Dsj3kBCL.mjs → tango-app-ui-analyse-trax-tango-app-ui-analyse-trax-MZ0qtVgl.mjs} +268 -132
- package/fesm2022/tango-app-ui-analyse-trax-tango-app-ui-analyse-trax-MZ0qtVgl.mjs.map +1 -0
- package/fesm2022/tango-app-ui-analyse-trax.mjs +1 -1
- package/package.json +1 -1
- package/fesm2022/tango-app-ui-analyse-trax-tango-app-ui-analyse-trax-Dsj3kBCL.mjs.map +0 -1
|
@@ -303,10 +303,10 @@ export class ChecklistComponent {
|
|
|
303
303
|
this.route.navigateByUrl(`/manage/trax/managechecklist`);
|
|
304
304
|
}
|
|
305
305
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChecklistComponent, deps: [{ token: i1.PageInfoService }, { token: i2.TraxService }, { token: i1.GlobalStateService }, { token: i3.ToastService }, { token: i4.Router }, { token: i5.NgbModal }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
306
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChecklistComponent, selector: "lib-checklist", ngImport: i0, template: "<div class=\"p-5 mb-10\">\r\n\r\n <!-- <div class=\"card-title mt-3\">\r\n <h1 class=\" my-0 checklistTitle\">\r\n Manage Your Checklist\r\n </h1>\r\n <div class=\"mt-1 checklistHead\">You can create and manage your checklist here</div>\r\n </div> -->\r\n <div class=\"row\">\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/tango traffic new final 5_1.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" [routerLink]=\"'/manage/traffic'\">Footfall</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/zone tango final 4-1.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4 \">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" [routerLink]=\"'/manage/zones/v2'\">Zone</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead \">\r\n <!-- Configure your Predefined AI checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Manage Checklist (1).mov'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/aichecklist.svg\" class=\"w-100 borderClass\" /> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" (click)=\"manageView()\">SOP</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Layout-Verification.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" [routerLink]=\"'/manage/planogram/manage-planograms/verification'\">Planogram</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4 \">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Eye test.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" (click)=\"cameraView()\">Eyetest</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/reomote optum 2_H.264-1 (1).mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4 \">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" (click)=\"cameraView2()\">Remote Eyetest</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Factory qc.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" (click)=\"cameraView1()\">Factory</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n</div>\r\n<!-- <div class=\"card\">\r\n <div class=\"col-md-12 mt-3\">\r\n <div class=\"card-header border-0 pt-3 mb-5\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"title-text mb-2\">Checklist Info</span>\r\n \r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\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=\"24\" height=\"24\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\"\r\n class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" [(ngModel)]=\"dynamicData.search\" (change)=\"search()\"/>\r\n\r\n <a [routerLink]=\"'/manage/trax/createChecklist'\" type=\"button\" *ngIf=\"!noData && (gs.userAccess | async)?.TangoTrax_checklist_isAdd\"\r\n class=\"btn btn-primary mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0013 4.16699V15.8337M4.16797 10.0003H15.8346\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Create Checklist</span> </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"loading\" 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 <div class=\"col-lg-12 pb-5\" *ngIf=\"!loading && noData\">\r\n <div class=\"card-body text-center\">\r\n <img src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\" class=\"startchecklist\">\r\n <div class=\"checklist_text fw-semibold mt-6 checkStart\">Start by creating a checklist</div>\r\n <div class=\"checklist_span mt-1 checklistHead\">Any checklist created will live here.</div>\r\n </div>\r\n <div data-kt-subscription-table-toolbar=\"base\" class=\"d-flex justify-content-center\">\r\n <a href=\"https://tangoeye.ai/\" class=\"btn-outline btn-outline btn btn-light upload mx-3 px-16 checkStart\"><span\r\n class=\"uploadtext\">How To\r\n Create?</span></a>\r\n\r\n <a [routerLink]=\"'/manage/trax/createChecklist'\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-16 mx-2 ng-star-inserted checkStart\" style=\"white-space: nowrap;\" *ngIf=\"(gs.userAccess | async)?.TangoTrax_checklist_isAdd\"><span\r\n class=\"svg-icon svg-icon-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\"\r\n viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16602V15.8327M4.16675 9.99935H15.8334\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span><span class=\"create\">Create New</span></a>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!noData && !loading\" calss=\"card-body\">\r\n <div class=\"table-responsive\">\r\n <table class=\"w-100 table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('checkListName')\">Checklist <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'checkListName' && dynamicData.sortBy === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'checkListName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('createdByName')\">Checklist Owner <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'createdByName' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'createdByName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('coverage')\">Coverage <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'coverage' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'coverage' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('storeCount')\">Assigned To <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'storeCount' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'storeCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('questionCount')\">No. of questions <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'questionCount' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'questionCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('status')\">Status <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'status' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'status' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Actions</span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('publish')\">Publish <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'publish' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'publish' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let data of checklistData;let i=index\">\r\n <td class=\"text-capitalize\">\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label bg-light-primary text-primary me-2\">{{data.checkListChar.toUpperCase()}}</span>\r\n </div>\r\n <span class=\"text-decoration-underline text-primary\" *ngIf=\"data?.checkListType === 'custom'\"><a [routerLink]=\"['/manage/trax/dashboard/info']\" [queryParams]=\"{type: 'Checklist', checklist: data._id }\" class=\"cursor-pointer\"> {{data.checkListName}}</a></span>\r\n <span class=\"text-primary\" *ngIf=\"data?.checkListType !== 'custom'\">{{data.checkListName}} <span *ngIf=\"data?.checkListType !== 'custom'\" class=\"mx-2\">\u2728</span></span>\r\n \r\n </td>\r\n <td>{{data.createdByName}}</td>\r\n <td>{{data?.coverage}}</td>\r\n <td >{{data.storeCount}}</td>\r\n <td >{{data.questionCount}}</td>\r\n <td><span class=\"badge\" [ngClass]=\"data.publish ? 'badge-light-success' : 'badge-light-primary'\">{{(data.publish ? 'Published' :'draft') | titlecase}}</span></td>\r\n <td>\r\n <span class=\"me-6\" [ngClass]=\"(!data?.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('edit',data)\">\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=\"M0.832031 9.99967C0.832031 9.99967 4.16536 3.33301 9.9987 3.33301C15.832 3.33301 19.1654 9.99967 19.1654 9.99967C19.1654 9.99967 15.832 16.6663 9.9987 16.6663C4.16536 16.6663 0.832031 9.99967 0.832031 9.99967Z\"\r\n [attr.stroke]=\"(!data.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M9.9987 12.4997C11.3794 12.4997 12.4987 11.3804 12.4987 9.99967C12.4987 8.61896 11.3794 7.49967 9.9987 7.49967C8.61799 7.49967 7.4987 8.61896 7.4987 9.99967C7.4987 11.3804 8.61799 12.4997 9.9987 12.4997Z\"\r\n [attr.stroke]=\"(!data.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"me-6\" [ngClass]=\"((gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('setting',data)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2254_20261)\">\r\n <path\r\n d=\"M9.9987 12.4997C11.3794 12.4997 12.4987 11.3804 12.4987 9.99967C12.4987 8.61896 11.3794 7.49967 9.9987 7.49967C8.61799 7.49967 7.4987 8.61896 7.4987 9.99967C7.4987 11.3804 8.61799 12.4997 9.9987 12.4997Z\"\r\n [attr.stroke]=\"((gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M16.1654 12.4997C16.0544 12.751 16.0213 13.0298 16.0704 13.3002C16.1194 13.5705 16.2482 13.8199 16.4404 14.0163L16.4904 14.0663C16.6453 14.2211 16.7683 14.4049 16.8521 14.6073C16.936 14.8096 16.9792 15.0265 16.9792 15.2455C16.9792 15.4645 16.936 15.6814 16.8521 15.8837C16.7683 16.0861 16.6453 16.2699 16.4904 16.4247C16.3356 16.5796 16.1518 16.7026 15.9494 16.7864C15.7471 16.8703 15.5302 16.9135 15.3112 16.9135C15.0922 16.9135 14.8753 16.8703 14.673 16.7864C14.4706 16.7026 14.2868 16.5796 14.132 16.4247L14.082 16.3747C13.8856 16.1826 13.6362 16.0537 13.3659 16.0047C13.0955 15.9557 12.8167 15.9887 12.5654 16.0997C12.3189 16.2053 12.1087 16.3807 11.9606 16.6043C11.8126 16.8279 11.7331 17.0899 11.732 17.358V17.4997C11.732 17.9417 11.5564 18.3656 11.2439 18.6782C10.9313 18.9907 10.5074 19.1663 10.0654 19.1663C9.62334 19.1663 9.19941 18.9907 8.88685 18.6782C8.57429 18.3656 8.3987 17.9417 8.3987 17.4997V17.4247C8.39225 17.1488 8.30296 16.8813 8.14246 16.6569C7.98195 16.4325 7.75764 16.2616 7.4987 16.1663C7.24735 16.0554 6.96854 16.0223 6.69821 16.0713C6.42788 16.1204 6.17843 16.2492 5.98203 16.4413L5.93203 16.4913C5.77724 16.6463 5.59343 16.7692 5.3911 16.8531C5.18877 16.937 4.97189 16.9802 4.75286 16.9802C4.53384 16.9802 4.31696 16.937 4.11463 16.8531C3.9123 16.7692 3.72849 16.6463 3.5737 16.4913C3.41874 16.3366 3.29581 16.1527 3.21193 15.9504C3.12806 15.7481 3.08489 15.5312 3.08489 15.3122C3.08489 15.0931 3.12806 14.8763 3.21193 14.6739C3.29581 14.4716 3.41874 14.2878 3.5737 14.133L3.6237 14.083C3.81581 13.8866 3.94469 13.6372 3.9937 13.3668C4.04272 13.0965 4.00963 12.8177 3.8987 12.5663C3.79306 12.3199 3.61766 12.1097 3.39409 11.9616C3.17051 11.8135 2.90852 11.7341 2.64036 11.733H2.4987C2.05667 11.733 1.63275 11.5574 1.32019 11.2449C1.00763 10.9323 0.832031 10.5084 0.832031 10.0663C0.832031 9.62431 1.00763 9.20039 1.32019 8.88783C1.63275 8.57527 2.05667 8.39967 2.4987 8.39967H2.5737C2.84953 8.39322 3.11703 8.30394 3.34145 8.14343C3.56586 7.98293 3.73679 7.75862 3.83203 7.49967C3.94296 7.24833 3.97605 6.96951 3.92703 6.69918C3.87802 6.42885 3.74914 6.17941 3.55703 5.98301L3.50703 5.93301C3.35207 5.77822 3.22914 5.5944 3.14526 5.39207C3.06139 5.18974 3.01822 4.97287 3.01822 4.75384C3.01822 4.53481 3.06139 4.31794 3.14526 4.11561C3.22914 3.91328 3.35207 3.72946 3.50703 3.57467C3.66182 3.41971 3.84563 3.29678 4.04796 3.21291C4.25029 3.12903 4.46717 3.08586 4.6862 3.08586C4.90522 3.08586 5.1221 3.12903 5.32443 3.21291C5.52676 3.29678 5.71058 3.41971 5.86536 3.57467L5.91536 3.62467C6.11176 3.81679 6.36121 3.94566 6.63154 3.99468C6.90187 4.04369 7.18068 4.0106 7.43203 3.89967H7.4987C7.74517 3.79404 7.95538 3.61864 8.10344 3.39506C8.2515 3.17149 8.33096 2.9095 8.33203 2.64134V2.49967C8.33203 2.05765 8.50763 1.63372 8.82019 1.32116C9.13275 1.0086 9.55667 0.833008 9.9987 0.833008C10.4407 0.833008 10.8646 1.0086 11.1772 1.32116C11.4898 1.63372 11.6654 2.05765 11.6654 2.49967V2.57467C11.6664 2.84283 11.7459 3.10482 11.894 3.3284C12.042 3.55197 12.2522 3.72737 12.4987 3.83301C12.75 3.94394 13.0289 3.97703 13.2992 3.92801C13.5695 3.879 13.819 3.75012 14.0154 3.55801L14.0654 3.50801C14.2202 3.35305 14.404 3.23012 14.6063 3.14624C14.8086 3.06237 15.0255 3.0192 15.2445 3.0192C15.4636 3.0192 15.6804 3.06237 15.8828 3.14624C16.0851 3.23012 16.2689 3.35305 16.4237 3.50801C16.5787 3.6628 16.7016 3.84661 16.7855 4.04894C16.8693 4.25127 16.9125 4.46815 16.9125 4.68717C16.9125 4.9062 16.8693 5.12308 16.7855 5.32541C16.7016 5.52774 16.5787 5.71155 16.4237 5.86634L16.3737 5.91634C16.1816 6.11274 16.0527 6.36219 16.0037 6.63252C15.9547 6.90285 15.9878 7.18166 16.0987 7.43301V7.49967C16.2043 7.74615 16.3797 7.95635 16.6033 8.10442C16.8269 8.25248 17.0889 8.33194 17.357 8.33301H17.4987C17.9407 8.33301 18.3646 8.5086 18.6772 8.82116C18.9898 9.13372 19.1654 9.55765 19.1654 9.99967C19.1654 10.4417 18.9898 10.8656 18.6772 11.1782C18.3646 11.4907 17.9407 11.6663 17.4987 11.6663H17.4237C17.1555 11.6674 16.8936 11.7469 16.67 11.8949C16.4464 12.043 16.271 12.2532 16.1654 12.4997Z\"\r\n [attr.stroke]=\"(gs.userAccess | async)?.TangoTrax_checklist_isEdit ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2254_20261\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"\" [ngClass]=\"(data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('duplicate',data)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2254_20265)\">\r\n <path\r\n d=\"M4.16797 12.5003H3.33464C2.89261 12.5003 2.46868 12.3247 2.15612 12.0122C1.84356 11.6996 1.66797 11.2757 1.66797 10.8337V3.33366C1.66797 2.89163 1.84356 2.46771 2.15612 2.15515C2.46868 1.84259 2.89261 1.66699 3.33464 1.66699H10.8346C11.2767 1.66699 11.7006 1.84259 12.0131 2.15515C12.3257 2.46771 12.5013 2.89163 12.5013 3.33366V4.16699M9.16797 7.50033H16.668C17.5884 7.50033 18.3346 8.24652 18.3346 9.16699V16.667C18.3346 17.5875 17.5884 18.3337 16.668 18.3337H9.16797C8.24749 18.3337 7.5013 17.5875 7.5013 16.667V9.16699C7.5013 8.24652 8.24749 7.50033 9.16797 7.50033Z\"\r\n [attr.stroke]=\"data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2254_20265\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span (click)=\"checkPermission('delete',data)\" [ngClass]=\"!data?.publish && (gs.userAccess | async)?.TangoTrax_checklist_isEdit ? 'cursor-pointer' : ''\">\r\n <svg width=\"40\" height=\"41\" viewBox=\"0 0 40 41\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_3162_10414)\">\r\n <path\r\n d=\"M12.5 15.0228H14.1667M14.1667 15.0228H27.5M14.1667 15.0228V26.6895C14.1667 27.1315 14.3423 27.5554 14.6548 27.868C14.9674 28.1805 15.3913 28.3561 15.8333 28.3561H24.1667C24.6087 28.3561 25.0326 28.1805 25.3452 27.868C25.6577 27.5554 25.8333 27.1315 25.8333 26.6895V15.0228H14.1667ZM16.6667 15.0228V13.3561C16.6667 12.9141 16.8423 12.4902 17.1548 12.1776C17.4674 11.865 17.8913 11.6895 18.3333 11.6895H21.6667C22.1087 11.6895 22.5326 11.865 22.8452 12.1776C23.1577 12.4902 23.3333 12.9141 23.3333 13.3561V15.0228M18.3333 19.1895V24.1895M21.6667 19.1895V24.1895\"\r\n [attr.stroke]=\"(!(gs.userAccess | async)?.TangoTrax_checklist_isEdit || data.publish || data.checkListType !== 'custom') ? '#D0D5DD' :'#667085'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3162_10414\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(10 10.0234)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </td>\r\n <td>\r\n <span class=\"form-check form-switch\">\r\n <input type=\"checkbox\" role=\"switch\" id=\"support\" class=\"form-check-input mt-3 cursor-pointer\" (change)=\"publish($event, data,i)\" [checked]=\"data?.publish\" [disabled]=\"(!data?.storeCount && (data.checkListType === 'custom' || !['eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'queuealert', 'suspiciousactivity', 'boxalert', 'suspiciousfootfall', 'drinking', 'bagdetection'].includes(data?.checkListType))) || !(gs.userAccess | async)?.TangoTrax_checklist_isEdit\">\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <lib-pagination [itemsPerPage]=\"dynamicData.limit\" [currentPage]=\"dynamicData.offset\" [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n</div> -->", styles: [".borderClass{border-radius:13px 13px 0 0/13px 13px 0px 0px}.checklistText{color:var(--Black, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.checklistHead{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.checklistTitle{color:var(--Black, #101828);font-family:Inter;font-size:22px!important;font-style:normal;font-weight:600;line-height:32px}.checkStart{color:var(--Gray-900, #101828);text-align:center;font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.rotate{rotate:180deg;transition:1s}\n"], dependencies: [{ kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
306
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ChecklistComponent, selector: "lib-checklist", ngImport: i0, template: "<div class=\"p-5 mb-10\">\r\n\r\n <!-- <div class=\"card-title mt-3\">\r\n <h1 class=\" my-0 checklistTitle\">\r\n Manage Your Checklist\r\n </h1>\r\n <div class=\"mt-1 checklistHead\">You can create and manage your checklist here</div>\r\n </div> -->\r\n <div class=\"row\">\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/tango traffic new final 5_1.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >Footfall</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" [routerLink]=\"'/manage/traffic'\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/zone tango final 4-1.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4 \">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" [routerLink]=\"'/manage/zones/v2'\">Zone</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" [routerLink]=\"'/manage/zones/v2'\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead \">\r\n <!-- Configure your Predefined AI checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Manage Checklist (1).mov'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/aichecklist.svg\" class=\"w-100 borderClass\" /> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >SOP</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" (click)=\"manageView()\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Layout-Verification.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >Planogram</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" [routerLink]=\"'/manage/planogram/manage-planograms/verification'\">View More</a>\r\n</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4 \">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Eye test.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >Eyetest</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" (click)=\"cameraView()\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/reomote optum 2_H.264-1 (1).mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4 \">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >Remote Eyetest</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" (click)=\"cameraView2()\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Factory qc.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >Factory</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" (click)=\"cameraView1()\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n</div>\r\n<!-- <div class=\"card\">\r\n <div class=\"col-md-12 mt-3\">\r\n <div class=\"card-header border-0 pt-3 mb-5\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"title-text mb-2\">Checklist Info</span>\r\n \r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\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=\"24\" height=\"24\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\"\r\n class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" [(ngModel)]=\"dynamicData.search\" (change)=\"search()\"/>\r\n\r\n <a [routerLink]=\"'/manage/trax/createChecklist'\" type=\"button\" *ngIf=\"!noData && (gs.userAccess | async)?.TangoTrax_checklist_isAdd\"\r\n class=\"btn btn-primary mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0013 4.16699V15.8337M4.16797 10.0003H15.8346\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Create Checklist</span> </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"loading\" 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 <div class=\"col-lg-12 pb-5\" *ngIf=\"!loading && noData\">\r\n <div class=\"card-body text-center\">\r\n <img src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\" class=\"startchecklist\">\r\n <div class=\"checklist_text fw-semibold mt-6 checkStart\">Start by creating a checklist</div>\r\n <div class=\"checklist_span mt-1 checklistHead\">Any checklist created will live here.</div>\r\n </div>\r\n <div data-kt-subscription-table-toolbar=\"base\" class=\"d-flex justify-content-center\">\r\n <a href=\"https://tangoeye.ai/\" class=\"btn-outline btn-outline btn btn-light upload mx-3 px-16 checkStart\"><span\r\n class=\"uploadtext\">How To\r\n Create?</span></a>\r\n\r\n <a [routerLink]=\"'/manage/trax/createChecklist'\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-16 mx-2 ng-star-inserted checkStart\" style=\"white-space: nowrap;\" *ngIf=\"(gs.userAccess | async)?.TangoTrax_checklist_isAdd\"><span\r\n class=\"svg-icon svg-icon-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\"\r\n viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16602V15.8327M4.16675 9.99935H15.8334\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span><span class=\"create\">Create New</span></a>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!noData && !loading\" calss=\"card-body\">\r\n <div class=\"table-responsive\">\r\n <table class=\"w-100 table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('checkListName')\">Checklist <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'checkListName' && dynamicData.sortBy === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'checkListName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('createdByName')\">Checklist Owner <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'createdByName' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'createdByName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('coverage')\">Coverage <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'coverage' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'coverage' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('storeCount')\">Assigned To <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'storeCount' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'storeCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('questionCount')\">No. of questions <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'questionCount' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'questionCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('status')\">Status <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'status' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'status' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Actions</span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('publish')\">Publish <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'publish' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'publish' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let data of checklistData;let i=index\">\r\n <td class=\"text-capitalize\">\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label bg-light-primary text-primary me-2\">{{data.checkListChar.toUpperCase()}}</span>\r\n </div>\r\n <span class=\"text-decoration-underline text-primary\" *ngIf=\"data?.checkListType === 'custom'\"><a [routerLink]=\"['/manage/trax/dashboard/info']\" [queryParams]=\"{type: 'Checklist', checklist: data._id }\" class=\"cursor-pointer\"> {{data.checkListName}}</a></span>\r\n <span class=\"text-primary\" *ngIf=\"data?.checkListType !== 'custom'\">{{data.checkListName}} <span *ngIf=\"data?.checkListType !== 'custom'\" class=\"mx-2\">\u2728</span></span>\r\n \r\n </td>\r\n <td>{{data.createdByName}}</td>\r\n <td>{{data?.coverage}}</td>\r\n <td >{{data.storeCount}}</td>\r\n <td >{{data.questionCount}}</td>\r\n <td><span class=\"badge\" [ngClass]=\"data.publish ? 'badge-light-success' : 'badge-light-primary'\">{{(data.publish ? 'Published' :'draft') | titlecase}}</span></td>\r\n <td>\r\n <span class=\"me-6\" [ngClass]=\"(!data?.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('edit',data)\">\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=\"M0.832031 9.99967C0.832031 9.99967 4.16536 3.33301 9.9987 3.33301C15.832 3.33301 19.1654 9.99967 19.1654 9.99967C19.1654 9.99967 15.832 16.6663 9.9987 16.6663C4.16536 16.6663 0.832031 9.99967 0.832031 9.99967Z\"\r\n [attr.stroke]=\"(!data.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M9.9987 12.4997C11.3794 12.4997 12.4987 11.3804 12.4987 9.99967C12.4987 8.61896 11.3794 7.49967 9.9987 7.49967C8.61799 7.49967 7.4987 8.61896 7.4987 9.99967C7.4987 11.3804 8.61799 12.4997 9.9987 12.4997Z\"\r\n [attr.stroke]=\"(!data.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"me-6\" [ngClass]=\"((gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('setting',data)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2254_20261)\">\r\n <path\r\n d=\"M9.9987 12.4997C11.3794 12.4997 12.4987 11.3804 12.4987 9.99967C12.4987 8.61896 11.3794 7.49967 9.9987 7.49967C8.61799 7.49967 7.4987 8.61896 7.4987 9.99967C7.4987 11.3804 8.61799 12.4997 9.9987 12.4997Z\"\r\n [attr.stroke]=\"((gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M16.1654 12.4997C16.0544 12.751 16.0213 13.0298 16.0704 13.3002C16.1194 13.5705 16.2482 13.8199 16.4404 14.0163L16.4904 14.0663C16.6453 14.2211 16.7683 14.4049 16.8521 14.6073C16.936 14.8096 16.9792 15.0265 16.9792 15.2455C16.9792 15.4645 16.936 15.6814 16.8521 15.8837C16.7683 16.0861 16.6453 16.2699 16.4904 16.4247C16.3356 16.5796 16.1518 16.7026 15.9494 16.7864C15.7471 16.8703 15.5302 16.9135 15.3112 16.9135C15.0922 16.9135 14.8753 16.8703 14.673 16.7864C14.4706 16.7026 14.2868 16.5796 14.132 16.4247L14.082 16.3747C13.8856 16.1826 13.6362 16.0537 13.3659 16.0047C13.0955 15.9557 12.8167 15.9887 12.5654 16.0997C12.3189 16.2053 12.1087 16.3807 11.9606 16.6043C11.8126 16.8279 11.7331 17.0899 11.732 17.358V17.4997C11.732 17.9417 11.5564 18.3656 11.2439 18.6782C10.9313 18.9907 10.5074 19.1663 10.0654 19.1663C9.62334 19.1663 9.19941 18.9907 8.88685 18.6782C8.57429 18.3656 8.3987 17.9417 8.3987 17.4997V17.4247C8.39225 17.1488 8.30296 16.8813 8.14246 16.6569C7.98195 16.4325 7.75764 16.2616 7.4987 16.1663C7.24735 16.0554 6.96854 16.0223 6.69821 16.0713C6.42788 16.1204 6.17843 16.2492 5.98203 16.4413L5.93203 16.4913C5.77724 16.6463 5.59343 16.7692 5.3911 16.8531C5.18877 16.937 4.97189 16.9802 4.75286 16.9802C4.53384 16.9802 4.31696 16.937 4.11463 16.8531C3.9123 16.7692 3.72849 16.6463 3.5737 16.4913C3.41874 16.3366 3.29581 16.1527 3.21193 15.9504C3.12806 15.7481 3.08489 15.5312 3.08489 15.3122C3.08489 15.0931 3.12806 14.8763 3.21193 14.6739C3.29581 14.4716 3.41874 14.2878 3.5737 14.133L3.6237 14.083C3.81581 13.8866 3.94469 13.6372 3.9937 13.3668C4.04272 13.0965 4.00963 12.8177 3.8987 12.5663C3.79306 12.3199 3.61766 12.1097 3.39409 11.9616C3.17051 11.8135 2.90852 11.7341 2.64036 11.733H2.4987C2.05667 11.733 1.63275 11.5574 1.32019 11.2449C1.00763 10.9323 0.832031 10.5084 0.832031 10.0663C0.832031 9.62431 1.00763 9.20039 1.32019 8.88783C1.63275 8.57527 2.05667 8.39967 2.4987 8.39967H2.5737C2.84953 8.39322 3.11703 8.30394 3.34145 8.14343C3.56586 7.98293 3.73679 7.75862 3.83203 7.49967C3.94296 7.24833 3.97605 6.96951 3.92703 6.69918C3.87802 6.42885 3.74914 6.17941 3.55703 5.98301L3.50703 5.93301C3.35207 5.77822 3.22914 5.5944 3.14526 5.39207C3.06139 5.18974 3.01822 4.97287 3.01822 4.75384C3.01822 4.53481 3.06139 4.31794 3.14526 4.11561C3.22914 3.91328 3.35207 3.72946 3.50703 3.57467C3.66182 3.41971 3.84563 3.29678 4.04796 3.21291C4.25029 3.12903 4.46717 3.08586 4.6862 3.08586C4.90522 3.08586 5.1221 3.12903 5.32443 3.21291C5.52676 3.29678 5.71058 3.41971 5.86536 3.57467L5.91536 3.62467C6.11176 3.81679 6.36121 3.94566 6.63154 3.99468C6.90187 4.04369 7.18068 4.0106 7.43203 3.89967H7.4987C7.74517 3.79404 7.95538 3.61864 8.10344 3.39506C8.2515 3.17149 8.33096 2.9095 8.33203 2.64134V2.49967C8.33203 2.05765 8.50763 1.63372 8.82019 1.32116C9.13275 1.0086 9.55667 0.833008 9.9987 0.833008C10.4407 0.833008 10.8646 1.0086 11.1772 1.32116C11.4898 1.63372 11.6654 2.05765 11.6654 2.49967V2.57467C11.6664 2.84283 11.7459 3.10482 11.894 3.3284C12.042 3.55197 12.2522 3.72737 12.4987 3.83301C12.75 3.94394 13.0289 3.97703 13.2992 3.92801C13.5695 3.879 13.819 3.75012 14.0154 3.55801L14.0654 3.50801C14.2202 3.35305 14.404 3.23012 14.6063 3.14624C14.8086 3.06237 15.0255 3.0192 15.2445 3.0192C15.4636 3.0192 15.6804 3.06237 15.8828 3.14624C16.0851 3.23012 16.2689 3.35305 16.4237 3.50801C16.5787 3.6628 16.7016 3.84661 16.7855 4.04894C16.8693 4.25127 16.9125 4.46815 16.9125 4.68717C16.9125 4.9062 16.8693 5.12308 16.7855 5.32541C16.7016 5.52774 16.5787 5.71155 16.4237 5.86634L16.3737 5.91634C16.1816 6.11274 16.0527 6.36219 16.0037 6.63252C15.9547 6.90285 15.9878 7.18166 16.0987 7.43301V7.49967C16.2043 7.74615 16.3797 7.95635 16.6033 8.10442C16.8269 8.25248 17.0889 8.33194 17.357 8.33301H17.4987C17.9407 8.33301 18.3646 8.5086 18.6772 8.82116C18.9898 9.13372 19.1654 9.55765 19.1654 9.99967C19.1654 10.4417 18.9898 10.8656 18.6772 11.1782C18.3646 11.4907 17.9407 11.6663 17.4987 11.6663H17.4237C17.1555 11.6674 16.8936 11.7469 16.67 11.8949C16.4464 12.043 16.271 12.2532 16.1654 12.4997Z\"\r\n [attr.stroke]=\"(gs.userAccess | async)?.TangoTrax_checklist_isEdit ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2254_20261\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"\" [ngClass]=\"(data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('duplicate',data)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2254_20265)\">\r\n <path\r\n d=\"M4.16797 12.5003H3.33464C2.89261 12.5003 2.46868 12.3247 2.15612 12.0122C1.84356 11.6996 1.66797 11.2757 1.66797 10.8337V3.33366C1.66797 2.89163 1.84356 2.46771 2.15612 2.15515C2.46868 1.84259 2.89261 1.66699 3.33464 1.66699H10.8346C11.2767 1.66699 11.7006 1.84259 12.0131 2.15515C12.3257 2.46771 12.5013 2.89163 12.5013 3.33366V4.16699M9.16797 7.50033H16.668C17.5884 7.50033 18.3346 8.24652 18.3346 9.16699V16.667C18.3346 17.5875 17.5884 18.3337 16.668 18.3337H9.16797C8.24749 18.3337 7.5013 17.5875 7.5013 16.667V9.16699C7.5013 8.24652 8.24749 7.50033 9.16797 7.50033Z\"\r\n [attr.stroke]=\"data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2254_20265\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span (click)=\"checkPermission('delete',data)\" [ngClass]=\"!data?.publish && (gs.userAccess | async)?.TangoTrax_checklist_isEdit ? 'cursor-pointer' : ''\">\r\n <svg width=\"40\" height=\"41\" viewBox=\"0 0 40 41\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_3162_10414)\">\r\n <path\r\n d=\"M12.5 15.0228H14.1667M14.1667 15.0228H27.5M14.1667 15.0228V26.6895C14.1667 27.1315 14.3423 27.5554 14.6548 27.868C14.9674 28.1805 15.3913 28.3561 15.8333 28.3561H24.1667C24.6087 28.3561 25.0326 28.1805 25.3452 27.868C25.6577 27.5554 25.8333 27.1315 25.8333 26.6895V15.0228H14.1667ZM16.6667 15.0228V13.3561C16.6667 12.9141 16.8423 12.4902 17.1548 12.1776C17.4674 11.865 17.8913 11.6895 18.3333 11.6895H21.6667C22.1087 11.6895 22.5326 11.865 22.8452 12.1776C23.1577 12.4902 23.3333 12.9141 23.3333 13.3561V15.0228M18.3333 19.1895V24.1895M21.6667 19.1895V24.1895\"\r\n [attr.stroke]=\"(!(gs.userAccess | async)?.TangoTrax_checklist_isEdit || data.publish || data.checkListType !== 'custom') ? '#D0D5DD' :'#667085'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3162_10414\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(10 10.0234)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </td>\r\n <td>\r\n <span class=\"form-check form-switch\">\r\n <input type=\"checkbox\" role=\"switch\" id=\"support\" class=\"form-check-input mt-3 cursor-pointer\" (change)=\"publish($event, data,i)\" [checked]=\"data?.publish\" [disabled]=\"(!data?.storeCount && (data.checkListType === 'custom' || !['eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'queuealert', 'suspiciousactivity', 'boxalert', 'suspiciousfootfall', 'drinking', 'bagdetection'].includes(data?.checkListType))) || !(gs.userAccess | async)?.TangoTrax_checklist_isEdit\">\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <lib-pagination [itemsPerPage]=\"dynamicData.limit\" [currentPage]=\"dynamicData.offset\" [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n</div> -->", styles: [".borderClass{border-radius:13px 13px 0 0/13px 13px 0px 0px}.checklistText{color:var(--Black, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.checklistHead{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.checklistTitle{color:var(--Black, #101828);font-family:Inter;font-size:22px!important;font-style:normal;font-weight:600;line-height:32px}.checkStart{color:var(--Gray-900, #101828);text-align:center;font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.rotate{rotate:180deg;transition:1s}.btn-primary{font-size:12px!important;line-height:14px!important}\n"], dependencies: [{ kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
307
307
|
}
|
|
308
308
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChecklistComponent, decorators: [{
|
|
309
309
|
type: Component,
|
|
310
|
-
args: [{ selector: 'lib-checklist', template: "<div class=\"p-5 mb-10\">\r\n\r\n <!-- <div class=\"card-title mt-3\">\r\n <h1 class=\" my-0 checklistTitle\">\r\n Manage Your Checklist\r\n </h1>\r\n <div class=\"mt-1 checklistHead\">You can create and manage your checklist here</div>\r\n </div> -->\r\n <div class=\"row\">\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/tango traffic new final 5_1.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" [routerLink]=\"'/manage/traffic'\">Footfall</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/zone tango final 4-1.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4 \">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" [routerLink]=\"'/manage/zones/v2'\">Zone</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead \">\r\n <!-- Configure your Predefined AI checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Manage Checklist (1).mov'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/aichecklist.svg\" class=\"w-100 borderClass\" /> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" (click)=\"manageView()\">SOP</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Layout-Verification.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" [routerLink]=\"'/manage/planogram/manage-planograms/verification'\">Planogram</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4 \">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Eye test.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" (click)=\"cameraView()\">Eyetest</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/reomote optum 2_H.264-1 (1).mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4 \">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" (click)=\"cameraView2()\">Remote Eyetest</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Factory qc.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" (click)=\"cameraView1()\">Factory</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n</div>\r\n<!-- <div class=\"card\">\r\n <div class=\"col-md-12 mt-3\">\r\n <div class=\"card-header border-0 pt-3 mb-5\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"title-text mb-2\">Checklist Info</span>\r\n \r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\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=\"24\" height=\"24\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\"\r\n class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" [(ngModel)]=\"dynamicData.search\" (change)=\"search()\"/>\r\n\r\n <a [routerLink]=\"'/manage/trax/createChecklist'\" type=\"button\" *ngIf=\"!noData && (gs.userAccess | async)?.TangoTrax_checklist_isAdd\"\r\n class=\"btn btn-primary mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0013 4.16699V15.8337M4.16797 10.0003H15.8346\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Create Checklist</span> </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"loading\" 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 <div class=\"col-lg-12 pb-5\" *ngIf=\"!loading && noData\">\r\n <div class=\"card-body text-center\">\r\n <img src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\" class=\"startchecklist\">\r\n <div class=\"checklist_text fw-semibold mt-6 checkStart\">Start by creating a checklist</div>\r\n <div class=\"checklist_span mt-1 checklistHead\">Any checklist created will live here.</div>\r\n </div>\r\n <div data-kt-subscription-table-toolbar=\"base\" class=\"d-flex justify-content-center\">\r\n <a href=\"https://tangoeye.ai/\" class=\"btn-outline btn-outline btn btn-light upload mx-3 px-16 checkStart\"><span\r\n class=\"uploadtext\">How To\r\n Create?</span></a>\r\n\r\n <a [routerLink]=\"'/manage/trax/createChecklist'\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-16 mx-2 ng-star-inserted checkStart\" style=\"white-space: nowrap;\" *ngIf=\"(gs.userAccess | async)?.TangoTrax_checklist_isAdd\"><span\r\n class=\"svg-icon svg-icon-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\"\r\n viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16602V15.8327M4.16675 9.99935H15.8334\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span><span class=\"create\">Create New</span></a>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!noData && !loading\" calss=\"card-body\">\r\n <div class=\"table-responsive\">\r\n <table class=\"w-100 table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('checkListName')\">Checklist <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'checkListName' && dynamicData.sortBy === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'checkListName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('createdByName')\">Checklist Owner <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'createdByName' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'createdByName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('coverage')\">Coverage <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'coverage' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'coverage' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('storeCount')\">Assigned To <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'storeCount' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'storeCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('questionCount')\">No. of questions <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'questionCount' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'questionCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('status')\">Status <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'status' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'status' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Actions</span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('publish')\">Publish <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'publish' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'publish' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let data of checklistData;let i=index\">\r\n <td class=\"text-capitalize\">\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label bg-light-primary text-primary me-2\">{{data.checkListChar.toUpperCase()}}</span>\r\n </div>\r\n <span class=\"text-decoration-underline text-primary\" *ngIf=\"data?.checkListType === 'custom'\"><a [routerLink]=\"['/manage/trax/dashboard/info']\" [queryParams]=\"{type: 'Checklist', checklist: data._id }\" class=\"cursor-pointer\"> {{data.checkListName}}</a></span>\r\n <span class=\"text-primary\" *ngIf=\"data?.checkListType !== 'custom'\">{{data.checkListName}} <span *ngIf=\"data?.checkListType !== 'custom'\" class=\"mx-2\">\u2728</span></span>\r\n \r\n </td>\r\n <td>{{data.createdByName}}</td>\r\n <td>{{data?.coverage}}</td>\r\n <td >{{data.storeCount}}</td>\r\n <td >{{data.questionCount}}</td>\r\n <td><span class=\"badge\" [ngClass]=\"data.publish ? 'badge-light-success' : 'badge-light-primary'\">{{(data.publish ? 'Published' :'draft') | titlecase}}</span></td>\r\n <td>\r\n <span class=\"me-6\" [ngClass]=\"(!data?.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('edit',data)\">\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=\"M0.832031 9.99967C0.832031 9.99967 4.16536 3.33301 9.9987 3.33301C15.832 3.33301 19.1654 9.99967 19.1654 9.99967C19.1654 9.99967 15.832 16.6663 9.9987 16.6663C4.16536 16.6663 0.832031 9.99967 0.832031 9.99967Z\"\r\n [attr.stroke]=\"(!data.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M9.9987 12.4997C11.3794 12.4997 12.4987 11.3804 12.4987 9.99967C12.4987 8.61896 11.3794 7.49967 9.9987 7.49967C8.61799 7.49967 7.4987 8.61896 7.4987 9.99967C7.4987 11.3804 8.61799 12.4997 9.9987 12.4997Z\"\r\n [attr.stroke]=\"(!data.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"me-6\" [ngClass]=\"((gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('setting',data)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2254_20261)\">\r\n <path\r\n d=\"M9.9987 12.4997C11.3794 12.4997 12.4987 11.3804 12.4987 9.99967C12.4987 8.61896 11.3794 7.49967 9.9987 7.49967C8.61799 7.49967 7.4987 8.61896 7.4987 9.99967C7.4987 11.3804 8.61799 12.4997 9.9987 12.4997Z\"\r\n [attr.stroke]=\"((gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M16.1654 12.4997C16.0544 12.751 16.0213 13.0298 16.0704 13.3002C16.1194 13.5705 16.2482 13.8199 16.4404 14.0163L16.4904 14.0663C16.6453 14.2211 16.7683 14.4049 16.8521 14.6073C16.936 14.8096 16.9792 15.0265 16.9792 15.2455C16.9792 15.4645 16.936 15.6814 16.8521 15.8837C16.7683 16.0861 16.6453 16.2699 16.4904 16.4247C16.3356 16.5796 16.1518 16.7026 15.9494 16.7864C15.7471 16.8703 15.5302 16.9135 15.3112 16.9135C15.0922 16.9135 14.8753 16.8703 14.673 16.7864C14.4706 16.7026 14.2868 16.5796 14.132 16.4247L14.082 16.3747C13.8856 16.1826 13.6362 16.0537 13.3659 16.0047C13.0955 15.9557 12.8167 15.9887 12.5654 16.0997C12.3189 16.2053 12.1087 16.3807 11.9606 16.6043C11.8126 16.8279 11.7331 17.0899 11.732 17.358V17.4997C11.732 17.9417 11.5564 18.3656 11.2439 18.6782C10.9313 18.9907 10.5074 19.1663 10.0654 19.1663C9.62334 19.1663 9.19941 18.9907 8.88685 18.6782C8.57429 18.3656 8.3987 17.9417 8.3987 17.4997V17.4247C8.39225 17.1488 8.30296 16.8813 8.14246 16.6569C7.98195 16.4325 7.75764 16.2616 7.4987 16.1663C7.24735 16.0554 6.96854 16.0223 6.69821 16.0713C6.42788 16.1204 6.17843 16.2492 5.98203 16.4413L5.93203 16.4913C5.77724 16.6463 5.59343 16.7692 5.3911 16.8531C5.18877 16.937 4.97189 16.9802 4.75286 16.9802C4.53384 16.9802 4.31696 16.937 4.11463 16.8531C3.9123 16.7692 3.72849 16.6463 3.5737 16.4913C3.41874 16.3366 3.29581 16.1527 3.21193 15.9504C3.12806 15.7481 3.08489 15.5312 3.08489 15.3122C3.08489 15.0931 3.12806 14.8763 3.21193 14.6739C3.29581 14.4716 3.41874 14.2878 3.5737 14.133L3.6237 14.083C3.81581 13.8866 3.94469 13.6372 3.9937 13.3668C4.04272 13.0965 4.00963 12.8177 3.8987 12.5663C3.79306 12.3199 3.61766 12.1097 3.39409 11.9616C3.17051 11.8135 2.90852 11.7341 2.64036 11.733H2.4987C2.05667 11.733 1.63275 11.5574 1.32019 11.2449C1.00763 10.9323 0.832031 10.5084 0.832031 10.0663C0.832031 9.62431 1.00763 9.20039 1.32019 8.88783C1.63275 8.57527 2.05667 8.39967 2.4987 8.39967H2.5737C2.84953 8.39322 3.11703 8.30394 3.34145 8.14343C3.56586 7.98293 3.73679 7.75862 3.83203 7.49967C3.94296 7.24833 3.97605 6.96951 3.92703 6.69918C3.87802 6.42885 3.74914 6.17941 3.55703 5.98301L3.50703 5.93301C3.35207 5.77822 3.22914 5.5944 3.14526 5.39207C3.06139 5.18974 3.01822 4.97287 3.01822 4.75384C3.01822 4.53481 3.06139 4.31794 3.14526 4.11561C3.22914 3.91328 3.35207 3.72946 3.50703 3.57467C3.66182 3.41971 3.84563 3.29678 4.04796 3.21291C4.25029 3.12903 4.46717 3.08586 4.6862 3.08586C4.90522 3.08586 5.1221 3.12903 5.32443 3.21291C5.52676 3.29678 5.71058 3.41971 5.86536 3.57467L5.91536 3.62467C6.11176 3.81679 6.36121 3.94566 6.63154 3.99468C6.90187 4.04369 7.18068 4.0106 7.43203 3.89967H7.4987C7.74517 3.79404 7.95538 3.61864 8.10344 3.39506C8.2515 3.17149 8.33096 2.9095 8.33203 2.64134V2.49967C8.33203 2.05765 8.50763 1.63372 8.82019 1.32116C9.13275 1.0086 9.55667 0.833008 9.9987 0.833008C10.4407 0.833008 10.8646 1.0086 11.1772 1.32116C11.4898 1.63372 11.6654 2.05765 11.6654 2.49967V2.57467C11.6664 2.84283 11.7459 3.10482 11.894 3.3284C12.042 3.55197 12.2522 3.72737 12.4987 3.83301C12.75 3.94394 13.0289 3.97703 13.2992 3.92801C13.5695 3.879 13.819 3.75012 14.0154 3.55801L14.0654 3.50801C14.2202 3.35305 14.404 3.23012 14.6063 3.14624C14.8086 3.06237 15.0255 3.0192 15.2445 3.0192C15.4636 3.0192 15.6804 3.06237 15.8828 3.14624C16.0851 3.23012 16.2689 3.35305 16.4237 3.50801C16.5787 3.6628 16.7016 3.84661 16.7855 4.04894C16.8693 4.25127 16.9125 4.46815 16.9125 4.68717C16.9125 4.9062 16.8693 5.12308 16.7855 5.32541C16.7016 5.52774 16.5787 5.71155 16.4237 5.86634L16.3737 5.91634C16.1816 6.11274 16.0527 6.36219 16.0037 6.63252C15.9547 6.90285 15.9878 7.18166 16.0987 7.43301V7.49967C16.2043 7.74615 16.3797 7.95635 16.6033 8.10442C16.8269 8.25248 17.0889 8.33194 17.357 8.33301H17.4987C17.9407 8.33301 18.3646 8.5086 18.6772 8.82116C18.9898 9.13372 19.1654 9.55765 19.1654 9.99967C19.1654 10.4417 18.9898 10.8656 18.6772 11.1782C18.3646 11.4907 17.9407 11.6663 17.4987 11.6663H17.4237C17.1555 11.6674 16.8936 11.7469 16.67 11.8949C16.4464 12.043 16.271 12.2532 16.1654 12.4997Z\"\r\n [attr.stroke]=\"(gs.userAccess | async)?.TangoTrax_checklist_isEdit ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2254_20261\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"\" [ngClass]=\"(data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('duplicate',data)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2254_20265)\">\r\n <path\r\n d=\"M4.16797 12.5003H3.33464C2.89261 12.5003 2.46868 12.3247 2.15612 12.0122C1.84356 11.6996 1.66797 11.2757 1.66797 10.8337V3.33366C1.66797 2.89163 1.84356 2.46771 2.15612 2.15515C2.46868 1.84259 2.89261 1.66699 3.33464 1.66699H10.8346C11.2767 1.66699 11.7006 1.84259 12.0131 2.15515C12.3257 2.46771 12.5013 2.89163 12.5013 3.33366V4.16699M9.16797 7.50033H16.668C17.5884 7.50033 18.3346 8.24652 18.3346 9.16699V16.667C18.3346 17.5875 17.5884 18.3337 16.668 18.3337H9.16797C8.24749 18.3337 7.5013 17.5875 7.5013 16.667V9.16699C7.5013 8.24652 8.24749 7.50033 9.16797 7.50033Z\"\r\n [attr.stroke]=\"data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2254_20265\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span (click)=\"checkPermission('delete',data)\" [ngClass]=\"!data?.publish && (gs.userAccess | async)?.TangoTrax_checklist_isEdit ? 'cursor-pointer' : ''\">\r\n <svg width=\"40\" height=\"41\" viewBox=\"0 0 40 41\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_3162_10414)\">\r\n <path\r\n d=\"M12.5 15.0228H14.1667M14.1667 15.0228H27.5M14.1667 15.0228V26.6895C14.1667 27.1315 14.3423 27.5554 14.6548 27.868C14.9674 28.1805 15.3913 28.3561 15.8333 28.3561H24.1667C24.6087 28.3561 25.0326 28.1805 25.3452 27.868C25.6577 27.5554 25.8333 27.1315 25.8333 26.6895V15.0228H14.1667ZM16.6667 15.0228V13.3561C16.6667 12.9141 16.8423 12.4902 17.1548 12.1776C17.4674 11.865 17.8913 11.6895 18.3333 11.6895H21.6667C22.1087 11.6895 22.5326 11.865 22.8452 12.1776C23.1577 12.4902 23.3333 12.9141 23.3333 13.3561V15.0228M18.3333 19.1895V24.1895M21.6667 19.1895V24.1895\"\r\n [attr.stroke]=\"(!(gs.userAccess | async)?.TangoTrax_checklist_isEdit || data.publish || data.checkListType !== 'custom') ? '#D0D5DD' :'#667085'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3162_10414\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(10 10.0234)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </td>\r\n <td>\r\n <span class=\"form-check form-switch\">\r\n <input type=\"checkbox\" role=\"switch\" id=\"support\" class=\"form-check-input mt-3 cursor-pointer\" (change)=\"publish($event, data,i)\" [checked]=\"data?.publish\" [disabled]=\"(!data?.storeCount && (data.checkListType === 'custom' || !['eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'queuealert', 'suspiciousactivity', 'boxalert', 'suspiciousfootfall', 'drinking', 'bagdetection'].includes(data?.checkListType))) || !(gs.userAccess | async)?.TangoTrax_checklist_isEdit\">\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <lib-pagination [itemsPerPage]=\"dynamicData.limit\" [currentPage]=\"dynamicData.offset\" [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n</div> -->", styles: [".borderClass{border-radius:13px 13px 0 0/13px 13px 0px 0px}.checklistText{color:var(--Black, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.checklistHead{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.checklistTitle{color:var(--Black, #101828);font-family:Inter;font-size:22px!important;font-style:normal;font-weight:600;line-height:32px}.checkStart{color:var(--Gray-900, #101828);text-align:center;font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.rotate{rotate:180deg;transition:1s}\n"] }]
|
|
310
|
+
args: [{ selector: 'lib-checklist', template: "<div class=\"p-5 mb-10\">\r\n\r\n <!-- <div class=\"card-title mt-3\">\r\n <h1 class=\" my-0 checklistTitle\">\r\n Manage Your Checklist\r\n </h1>\r\n <div class=\"mt-1 checklistHead\">You can create and manage your checklist here</div>\r\n </div> -->\r\n <div class=\"row\">\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/tango traffic new final 5_1.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >Footfall</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" [routerLink]=\"'/manage/traffic'\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/zone tango final 4-1.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4 \">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" [routerLink]=\"'/manage/zones/v2'\">Zone</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" [routerLink]=\"'/manage/zones/v2'\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead \">\r\n <!-- Configure your Predefined AI checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Manage Checklist (1).mov'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/aichecklist.svg\" class=\"w-100 borderClass\" /> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >SOP</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" (click)=\"manageView()\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Layout-Verification.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >Planogram</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" [routerLink]=\"'/manage/planogram/manage-planograms/verification'\">View More</a>\r\n</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4 \">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Eye test.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >Eyetest</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" (click)=\"cameraView()\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Configure Predefined Checklist -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <!-- href=\"/sop/Configure?type=mobileusagedetection\" -->\r\n <a class=\"d-block w-100\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/reomote optum 2_H.264-1 (1).mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/predefined.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4 \">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >Remote Eyetest</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" (click)=\"cameraView2()\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 mt-2\">\r\n <div class=\"mb-2 checklistHead\">\r\n <!-- Create your own -->\r\n <!-- <span>\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=\"M7.5763 7.50033C7.77222 6.94338 8.15893 6.47375 8.66793 6.1746C9.17693 5.87546 9.77538 5.76611 10.3573 5.86592C10.9392 5.96573 11.467 6.26826 11.8472 6.71993C12.2274 7.1716 12.4355 7.74326 12.4346 8.33366C12.4346 10.0003 9.93464 10.8337 9.93464 10.8337M10.0013 14.167H10.0096M18.3346 10.0003C18.3346 14.6027 14.6037 18.3337 10.0013 18.3337C5.39893 18.3337 1.66797 14.6027 1.66797 10.0003C1.66797 5.39795 5.39893 1.66699 10.0013 1.66699C14.6037 1.66699 18.3346 5.39795 18.3346 10.0003Z\"\r\n stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span> -->\r\n </div>\r\n <div class=\"card card-flush rounded rounded-4\">\r\n <div class=\" text-center\">\r\n <a class=\"d-block\" data-fslightbox=\"lightbox-hot-sales\">\r\n <div>\r\n <video class=\"w-100 borderClass h-250px\" controls autoplay loop style=\"object-fit: fill;\">\r\n <source [src]=\"environment.TraxAnswerCDN + 'demo-video/Factory qc.mp4'\"\r\n type=\"video/mp4\" />\r\n </video>\r\n <!-- <img src=\"./assets/tango/Images/newChecklist.svg\" class=\"w-100 borderClass\"/> -->\r\n </div>\r\n </a>\r\n <div class=\"d-flex align-items-end flex-stack mt-2 mb-4\">\r\n <div class=\"text-start mx-6\">\r\n <span class=\"checklistText cursor-pointer\" >Factory</span>\r\n </div>\r\n <div class=\"text-end mx-6\">\r\n <a class=\"btn btn-sm btn-primary\" (click)=\"cameraView1()\">View More</a>\r\n</div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n \r\n </div>\r\n</div>\r\n<!-- <div class=\"card\">\r\n <div class=\"col-md-12 mt-3\">\r\n <div class=\"card-header border-0 pt-3 mb-5\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"title-text mb-2\">Checklist Info</span>\r\n \r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\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=\"24\" height=\"24\" viewBox=\"0 0 24 24\"\r\n fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\"\r\n class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" [(ngModel)]=\"dynamicData.search\" (change)=\"search()\"/>\r\n\r\n <a [routerLink]=\"'/manage/trax/createChecklist'\" type=\"button\" *ngIf=\"!noData && (gs.userAccess | async)?.TangoTrax_checklist_isAdd\"\r\n class=\"btn btn-primary mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0013 4.16699V15.8337M4.16797 10.0003H15.8346\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Create Checklist</span> </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"loading\" 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 <div class=\"col-lg-12 pb-5\" *ngIf=\"!loading && noData\">\r\n <div class=\"card-body text-center\">\r\n <img src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\" class=\"startchecklist\">\r\n <div class=\"checklist_text fw-semibold mt-6 checkStart\">Start by creating a checklist</div>\r\n <div class=\"checklist_span mt-1 checklistHead\">Any checklist created will live here.</div>\r\n </div>\r\n <div data-kt-subscription-table-toolbar=\"base\" class=\"d-flex justify-content-center\">\r\n <a href=\"https://tangoeye.ai/\" class=\"btn-outline btn-outline btn btn-light upload mx-3 px-16 checkStart\"><span\r\n class=\"uploadtext\">How To\r\n Create?</span></a>\r\n\r\n <a [routerLink]=\"'/manage/trax/createChecklist'\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary px-16 mx-2 ng-star-inserted checkStart\" style=\"white-space: nowrap;\" *ngIf=\"(gs.userAccess | async)?.TangoTrax_checklist_isAdd\"><span\r\n class=\"svg-icon svg-icon-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\"\r\n viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16602V15.8327M4.16675 9.99935H15.8334\" stroke=\"white\" stroke-width=\"1.67\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span><span class=\"create\">Create New</span></a>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!noData && !loading\" calss=\"card-body\">\r\n <div class=\"table-responsive\">\r\n <table class=\"w-100 table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('checkListName')\">Checklist <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'checkListName' && dynamicData.sortBy === 1 ? 'rotate' : ''\"\r\n width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'checkListName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('createdByName')\">Checklist Owner <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'createdByName' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'createdByName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('coverage')\">Coverage <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'coverage' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'coverage' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('storeCount')\">Assigned To <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'storeCount' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'storeCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('questionCount')\">No. of questions <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'questionCount' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'questionCount' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('status')\">Status <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'status' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'status' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\">Actions</span>\r\n </th>\r\n <th class=\"cursor-pointer\">\r\n <span class=\"cursor-pointer\" (click)=\"onSort('publish')\">Publish <svg\r\n [ngClass]=\"dynamicData.sortColumn === 'publish' && dynamicData.sortBy === 1 ? 'rotate' : ''\" width=\"16\"\r\n height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"dynamicData.sortColumn === 'publish' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let data of checklistData;let i=index\">\r\n <td class=\"text-capitalize\">\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label bg-light-primary text-primary me-2\">{{data.checkListChar.toUpperCase()}}</span>\r\n </div>\r\n <span class=\"text-decoration-underline text-primary\" *ngIf=\"data?.checkListType === 'custom'\"><a [routerLink]=\"['/manage/trax/dashboard/info']\" [queryParams]=\"{type: 'Checklist', checklist: data._id }\" class=\"cursor-pointer\"> {{data.checkListName}}</a></span>\r\n <span class=\"text-primary\" *ngIf=\"data?.checkListType !== 'custom'\">{{data.checkListName}} <span *ngIf=\"data?.checkListType !== 'custom'\" class=\"mx-2\">\u2728</span></span>\r\n \r\n </td>\r\n <td>{{data.createdByName}}</td>\r\n <td>{{data?.coverage}}</td>\r\n <td >{{data.storeCount}}</td>\r\n <td >{{data.questionCount}}</td>\r\n <td><span class=\"badge\" [ngClass]=\"data.publish ? 'badge-light-success' : 'badge-light-primary'\">{{(data.publish ? 'Published' :'draft') | titlecase}}</span></td>\r\n <td>\r\n <span class=\"me-6\" [ngClass]=\"(!data?.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('edit',data)\">\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=\"M0.832031 9.99967C0.832031 9.99967 4.16536 3.33301 9.9987 3.33301C15.832 3.33301 19.1654 9.99967 19.1654 9.99967C19.1654 9.99967 15.832 16.6663 9.9987 16.6663C4.16536 16.6663 0.832031 9.99967 0.832031 9.99967Z\"\r\n [attr.stroke]=\"(!data.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M9.9987 12.4997C11.3794 12.4997 12.4987 11.3804 12.4987 9.99967C12.4987 8.61896 11.3794 7.49967 9.9987 7.49967C8.61799 7.49967 7.4987 8.61896 7.4987 9.99967C7.4987 11.3804 8.61799 12.4997 9.9987 12.4997Z\"\r\n [attr.stroke]=\"(!data.publish && data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span class=\"me-6\" [ngClass]=\"((gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('setting',data)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2254_20261)\">\r\n <path\r\n d=\"M9.9987 12.4997C11.3794 12.4997 12.4987 11.3804 12.4987 9.99967C12.4987 8.61896 11.3794 7.49967 9.9987 7.49967C8.61799 7.49967 7.4987 8.61896 7.4987 9.99967C7.4987 11.3804 8.61799 12.4997 9.9987 12.4997Z\"\r\n [attr.stroke]=\"((gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M16.1654 12.4997C16.0544 12.751 16.0213 13.0298 16.0704 13.3002C16.1194 13.5705 16.2482 13.8199 16.4404 14.0163L16.4904 14.0663C16.6453 14.2211 16.7683 14.4049 16.8521 14.6073C16.936 14.8096 16.9792 15.0265 16.9792 15.2455C16.9792 15.4645 16.936 15.6814 16.8521 15.8837C16.7683 16.0861 16.6453 16.2699 16.4904 16.4247C16.3356 16.5796 16.1518 16.7026 15.9494 16.7864C15.7471 16.8703 15.5302 16.9135 15.3112 16.9135C15.0922 16.9135 14.8753 16.8703 14.673 16.7864C14.4706 16.7026 14.2868 16.5796 14.132 16.4247L14.082 16.3747C13.8856 16.1826 13.6362 16.0537 13.3659 16.0047C13.0955 15.9557 12.8167 15.9887 12.5654 16.0997C12.3189 16.2053 12.1087 16.3807 11.9606 16.6043C11.8126 16.8279 11.7331 17.0899 11.732 17.358V17.4997C11.732 17.9417 11.5564 18.3656 11.2439 18.6782C10.9313 18.9907 10.5074 19.1663 10.0654 19.1663C9.62334 19.1663 9.19941 18.9907 8.88685 18.6782C8.57429 18.3656 8.3987 17.9417 8.3987 17.4997V17.4247C8.39225 17.1488 8.30296 16.8813 8.14246 16.6569C7.98195 16.4325 7.75764 16.2616 7.4987 16.1663C7.24735 16.0554 6.96854 16.0223 6.69821 16.0713C6.42788 16.1204 6.17843 16.2492 5.98203 16.4413L5.93203 16.4913C5.77724 16.6463 5.59343 16.7692 5.3911 16.8531C5.18877 16.937 4.97189 16.9802 4.75286 16.9802C4.53384 16.9802 4.31696 16.937 4.11463 16.8531C3.9123 16.7692 3.72849 16.6463 3.5737 16.4913C3.41874 16.3366 3.29581 16.1527 3.21193 15.9504C3.12806 15.7481 3.08489 15.5312 3.08489 15.3122C3.08489 15.0931 3.12806 14.8763 3.21193 14.6739C3.29581 14.4716 3.41874 14.2878 3.5737 14.133L3.6237 14.083C3.81581 13.8866 3.94469 13.6372 3.9937 13.3668C4.04272 13.0965 4.00963 12.8177 3.8987 12.5663C3.79306 12.3199 3.61766 12.1097 3.39409 11.9616C3.17051 11.8135 2.90852 11.7341 2.64036 11.733H2.4987C2.05667 11.733 1.63275 11.5574 1.32019 11.2449C1.00763 10.9323 0.832031 10.5084 0.832031 10.0663C0.832031 9.62431 1.00763 9.20039 1.32019 8.88783C1.63275 8.57527 2.05667 8.39967 2.4987 8.39967H2.5737C2.84953 8.39322 3.11703 8.30394 3.34145 8.14343C3.56586 7.98293 3.73679 7.75862 3.83203 7.49967C3.94296 7.24833 3.97605 6.96951 3.92703 6.69918C3.87802 6.42885 3.74914 6.17941 3.55703 5.98301L3.50703 5.93301C3.35207 5.77822 3.22914 5.5944 3.14526 5.39207C3.06139 5.18974 3.01822 4.97287 3.01822 4.75384C3.01822 4.53481 3.06139 4.31794 3.14526 4.11561C3.22914 3.91328 3.35207 3.72946 3.50703 3.57467C3.66182 3.41971 3.84563 3.29678 4.04796 3.21291C4.25029 3.12903 4.46717 3.08586 4.6862 3.08586C4.90522 3.08586 5.1221 3.12903 5.32443 3.21291C5.52676 3.29678 5.71058 3.41971 5.86536 3.57467L5.91536 3.62467C6.11176 3.81679 6.36121 3.94566 6.63154 3.99468C6.90187 4.04369 7.18068 4.0106 7.43203 3.89967H7.4987C7.74517 3.79404 7.95538 3.61864 8.10344 3.39506C8.2515 3.17149 8.33096 2.9095 8.33203 2.64134V2.49967C8.33203 2.05765 8.50763 1.63372 8.82019 1.32116C9.13275 1.0086 9.55667 0.833008 9.9987 0.833008C10.4407 0.833008 10.8646 1.0086 11.1772 1.32116C11.4898 1.63372 11.6654 2.05765 11.6654 2.49967V2.57467C11.6664 2.84283 11.7459 3.10482 11.894 3.3284C12.042 3.55197 12.2522 3.72737 12.4987 3.83301C12.75 3.94394 13.0289 3.97703 13.2992 3.92801C13.5695 3.879 13.819 3.75012 14.0154 3.55801L14.0654 3.50801C14.2202 3.35305 14.404 3.23012 14.6063 3.14624C14.8086 3.06237 15.0255 3.0192 15.2445 3.0192C15.4636 3.0192 15.6804 3.06237 15.8828 3.14624C16.0851 3.23012 16.2689 3.35305 16.4237 3.50801C16.5787 3.6628 16.7016 3.84661 16.7855 4.04894C16.8693 4.25127 16.9125 4.46815 16.9125 4.68717C16.9125 4.9062 16.8693 5.12308 16.7855 5.32541C16.7016 5.52774 16.5787 5.71155 16.4237 5.86634L16.3737 5.91634C16.1816 6.11274 16.0527 6.36219 16.0037 6.63252C15.9547 6.90285 15.9878 7.18166 16.0987 7.43301V7.49967C16.2043 7.74615 16.3797 7.95635 16.6033 8.10442C16.8269 8.25248 17.0889 8.33194 17.357 8.33301H17.4987C17.9407 8.33301 18.3646 8.5086 18.6772 8.82116C18.9898 9.13372 19.1654 9.55765 19.1654 9.99967C19.1654 10.4417 18.9898 10.8656 18.6772 11.1782C18.3646 11.4907 17.9407 11.6663 17.4987 11.6663H17.4237C17.1555 11.6674 16.8936 11.7469 16.67 11.8949C16.4464 12.043 16.271 12.2532 16.1654 12.4997Z\"\r\n [attr.stroke]=\"(gs.userAccess | async)?.TangoTrax_checklist_isEdit ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2254_20261\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"\" [ngClass]=\"(data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit) ? 'cursor-pointer' : ''\" (click)=\"checkPermission('duplicate',data)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2254_20265)\">\r\n <path\r\n d=\"M4.16797 12.5003H3.33464C2.89261 12.5003 2.46868 12.3247 2.15612 12.0122C1.84356 11.6996 1.66797 11.2757 1.66797 10.8337V3.33366C1.66797 2.89163 1.84356 2.46771 2.15612 2.15515C2.46868 1.84259 2.89261 1.66699 3.33464 1.66699H10.8346C11.2767 1.66699 11.7006 1.84259 12.0131 2.15515C12.3257 2.46771 12.5013 2.89163 12.5013 3.33366V4.16699M9.16797 7.50033H16.668C17.5884 7.50033 18.3346 8.24652 18.3346 9.16699V16.667C18.3346 17.5875 17.5884 18.3337 16.668 18.3337H9.16797C8.24749 18.3337 7.5013 17.5875 7.5013 16.667V9.16699C7.5013 8.24652 8.24749 7.50033 9.16797 7.50033Z\"\r\n [attr.stroke]=\"data.checkListType === 'custom' && (gs.userAccess | async)?.TangoTrax_checklist_isEdit ? '#667085' : '#D0D5DD'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2254_20265\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span (click)=\"checkPermission('delete',data)\" [ngClass]=\"!data?.publish && (gs.userAccess | async)?.TangoTrax_checklist_isEdit ? 'cursor-pointer' : ''\">\r\n <svg width=\"40\" height=\"41\" viewBox=\"0 0 40 41\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_3162_10414)\">\r\n <path\r\n d=\"M12.5 15.0228H14.1667M14.1667 15.0228H27.5M14.1667 15.0228V26.6895C14.1667 27.1315 14.3423 27.5554 14.6548 27.868C14.9674 28.1805 15.3913 28.3561 15.8333 28.3561H24.1667C24.6087 28.3561 25.0326 28.1805 25.3452 27.868C25.6577 27.5554 25.8333 27.1315 25.8333 26.6895V15.0228H14.1667ZM16.6667 15.0228V13.3561C16.6667 12.9141 16.8423 12.4902 17.1548 12.1776C17.4674 11.865 17.8913 11.6895 18.3333 11.6895H21.6667C22.1087 11.6895 22.5326 11.865 22.8452 12.1776C23.1577 12.4902 23.3333 12.9141 23.3333 13.3561V15.0228M18.3333 19.1895V24.1895M21.6667 19.1895V24.1895\"\r\n [attr.stroke]=\"(!(gs.userAccess | async)?.TangoTrax_checklist_isEdit || data.publish || data.checkListType !== 'custom') ? '#D0D5DD' :'#667085'\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3162_10414\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(10 10.0234)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </td>\r\n <td>\r\n <span class=\"form-check form-switch\">\r\n <input type=\"checkbox\" role=\"switch\" id=\"support\" class=\"form-check-input mt-3 cursor-pointer\" (change)=\"publish($event, data,i)\" [checked]=\"data?.publish\" [disabled]=\"(!data?.storeCount && (data.checkListType === 'custom' || !['eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'queuealert', 'suspiciousactivity', 'boxalert', 'suspiciousfootfall', 'drinking', 'bagdetection'].includes(data?.checkListType))) || !(gs.userAccess | async)?.TangoTrax_checklist_isEdit\">\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <lib-pagination [itemsPerPage]=\"dynamicData.limit\" [currentPage]=\"dynamicData.offset\" [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\" (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n </div>\r\n</div> -->", styles: [".borderClass{border-radius:13px 13px 0 0/13px 13px 0px 0px}.checklistText{color:var(--Black, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.checklistHead{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.checklistTitle{color:var(--Black, #101828);font-family:Inter;font-size:22px!important;font-style:normal;font-weight:600;line-height:32px}.checkStart{color:var(--Gray-900, #101828);text-align:center;font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.rotate{rotate:180deg;transition:1s}.btn-primary{font-size:12px!important;line-height:14px!important}\n"] }]
|
|
311
311
|
}], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i2.TraxService }, { type: i1.GlobalStateService }, { type: i3.ToastService }, { type: i4.Router }, { type: i5.NgbModal }, { type: i0.ChangeDetectorRef }] });
|
|
312
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJheC9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tsaXN0L2NoZWNrbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2NoZWNrbGlzdC9jaGVja2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFTdEUsTUFBTSxPQUFPLGtCQUFrQjtJQW1CVDtJQUFtQztJQUFpQztJQUFnQztJQUE2QjtJQUF1QjtJQUEwQjtJQWxCdE0sT0FBTyxHQUFZLElBQUksQ0FBQztJQUN4QixNQUFNLEdBQVksS0FBSyxDQUFDO0lBQ3hCLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDdEIsVUFBVSxDQUFTO0lBQ25CLGVBQWUsR0FBUSxFQUFFLENBQUM7SUFDMUIsYUFBYSxHQUFRLEVBQUUsQ0FBQztJQUNoQixNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMvQixXQUFXLEdBQVE7UUFDakIsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUUsRUFBRTtRQUNiLE9BQU8sRUFBRSxFQUFFO1FBQ1gsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsQ0FBQztRQUNULFVBQVUsRUFBRSxFQUFFO1FBQ2QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUM7SUFD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QyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDL0MsV0FBVyxFQUFFO2dCQUNYLGtCQUFrQixFQUFFLFNBQVM7Z0JBQzdCLGFBQWEsRUFBRSxRQUFRO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0QsQ0FBQztJQUNDLFdBQVc7UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDL0MsV0FBVyxFQUFFO2dCQUNYLGtCQUFrQixFQUFFLG1CQUFtQjtnQkFDdkMsYUFBYSxFQUFFLElBQUk7YUFDcEI7U0FDRixDQUFDLENBQUM7SUFDRCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLDhCQUE4QixDQUFDLENBQUE7SUFFMUQsQ0FBQzt3R0F6U1Usa0JBQWtCOzRGQUFsQixrQkFBa0IscURDZC9CLHk0eUNBOGNVOzs0RkRoY0csa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UsIFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBtYXAsIFN1YmplY3QsIHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmF4cG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi90cmF4cG9wdXAvdHJheHBvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBUcmF4U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYXguc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jaGVja2xpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2xpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jaGVja2xpc3QuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja2xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgbm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcGFnZVNpemU6IG51bWJlciA9IDEwO1xyXG4gIHRvdGFsSXRlbXM6IG51bWJlcjtcclxuICBwYWdpbmF0aW9uU2l6ZXM6IGFueSA9IFtdO1xyXG4gIGNoZWNrbGlzdERhdGE6IGFueSA9IFtdO1xyXG4gIHByaXZhdGUgZGV0YWNoID0gbmV3IFN1YmplY3QoKTtcclxuICBkeW5hbWljRGF0YTogYW55ID0ge1xyXG4gICAgY2xpZW50SWQ6ICcnLFxyXG4gICAgc3RhcnREYXRlOiAnJyxcclxuICAgIGVuZERhdGU6ICcnLFxyXG4gICAgbGltaXQ6IDEwLFxyXG4gICAgb2Zmc2V0OiAxLFxyXG4gICAgc29ydENvbHVtbjogJycsXHJcbiAgICBzb3J0Qnk6ICcnLFxyXG4gICAgc2VhcmNoOiAnJ1xyXG4gIH07XHJcbiAgZW52aXJvbm1lbnQ6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UsIHByaXZhdGUgdHJheFNlcnZpY2U6IFRyYXhTZXJ2aWNlLCBwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSwgcHJpdmF0ZSB0b2FzdDogVG9hc3RTZXJ2aWNlLCBwcml2YXRlIHJvdXRlOiBSb3V0ZXIsIHByaXZhdGUgZGlhbG9nOiBOZ2JNb2RhbCwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQucGlwZSh0YWtlVW50aWwodGhpcy5kZXRhY2gpKS5zdWJzY3JpYmUoKGVudikgPT4ge1xyXG4gICAgICBpZiAoZW52KSB7XHJcbiAgICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IGVudlxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBNdXRlIGFsbCA8YXVkaW8+IGFuZCA8dmlkZW8+IHBsYXllcnMgb24gdGhlIHBhZ2VcclxuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2F1ZGlvLCB2aWRlbycpLmZvckVhY2goKHBsYXllcjogYW55KSA9PiB7XHJcbiAgICAgIHBsYXllci5tdXRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRldGFjaCkpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDAwKSlcclxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGE/LmNsaWVudCkge1xyXG4gICAgICAgICAgdGhpcy5keW5hbWljRGF0YS5jbGllbnRJZCA9IGRhdGEuY2xpZW50O1xyXG4gICAgICAgICAgdGhpcy5nZXRDaGVja0xpc3QoKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgZGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2hlYWRlci1maWx0ZXJzJykgYXMgc3RyaW5nKTtcclxuICAgICAgICAgIHRoaXMuZHluYW1pY0RhdGEuY2xpZW50SWQgPSBkYXRhLmNsaWVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0Q2hlY2tMaXN0KClcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9KVxyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRldGFjaC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXRhY2guY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldFBhZ2VEYXRhKCkge1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZShcIkRhc2hib2FyZFwiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oXCJBdXRvbWF0ZSBvciBjcmVhdGUgY2hlY2tsaXN0cyB0byBpbXByb3ZlIG9wZXJhdGlvbmFsIGVmZmljaWVuY3lcIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogXCJEYXNoYm9hcmRcIiwgcGF0aDogXCIvbWFuYWdlL3RyYXgvY2hlY2tsaXN0XCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwiRGFzaGJvYXJkXCIsIHBhdGg6IFwiL21hbmFnZS90cmF4L2NoZWNrbGlzdFwiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlIH1cclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2hlY2tMaXN0KCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMudHJheFNlcnZpY2UuY2hlY2tsaXN0KHRoaXMuZHluYW1pY0RhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGV0YWNoKSk/LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhLnJlc3VsdC5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuY2hlY2tsaXN0RGF0YSA9IHJlcy5kYXRhLnJlc3VsdDtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhLmNvdW50O1xyXG4gICAgICAgICAgaWYgKHRoaXMudG90YWxJdGVtcyA8IDEwKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW3RoaXMudG90YWxJdGVtc107XHJcbiAgICAgICAgICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLmNoZWNrbGlzdERhdGEubGVuZ3RoO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudG9hc3QuZ2V0RXJyb3JUb2FzdChlcnJvci5lcnJvci5lcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU29ydChjb2x1bW46IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PSBjb2x1bW4pIHtcclxuICAgICAgdGhpcy5keW5hbWljRGF0YS5zb3J0QnkgPSB0aGlzLmR5bmFtaWNEYXRhLnNvcnRCeSA9PSAxID8gLTEgOiAxO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZHluYW1pY0RhdGEuc29ydENvbHVtbiA9IGNvbHVtbjtcclxuICAgICAgdGhpcy5keW5hbWljRGF0YS5zb3J0QnkgPSAxO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRDaGVja0xpc3QoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmR5bmFtaWNEYXRhLm9mZnNldCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRDaGVja0xpc3QoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5keW5hbWljRGF0YS5saW1pdCA9IGV2ZW50O1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5keW5hbWljRGF0YS5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5nZXRDaGVja0xpc3QoKTtcclxuICB9XHJcblxyXG4gIHJlZGlyZWN0KGRhdGE6IGFueSwgZGV0YWlsczogYW55LCBjaGVja0xpc3RUeXBlPzogYW55KSB7XHJcbiAgICBpZiAoZGF0YSA9PSAnZWRpdCcpIHtcclxuICAgICAgdGhpcy5yb3V0ZS5uYXZpZ2F0ZUJ5VXJsKGAvbWFuYWdlL3RyYXgvY3JlYXRlQ2hlY2tsaXN0P2NoZWNrbGlzdElkPSR7ZGV0YWlsc31gKVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZGF0YSA9PSAnc2V0dGluZycgJiYgIWNoZWNrTGlzdFR5cGUpIHtcclxuICAgICAgdGhpcy5yb3V0ZS5uYXZpZ2F0ZUJ5VXJsKGAvbWFuYWdlL3RyYXgvY29uZmlndXJlP2NoZWNrTGlzdElkPSR7ZGV0YWlsc30mZGlzYWJsZWRRdWVzdGlvbj10cnVlYClcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGRhdGEgPT0gJ3NldHRpbmcnICYmIGNoZWNrTGlzdFR5cGUpIHtcclxuICAgICAgdGhpcy5yb3V0ZS5uYXZpZ2F0ZUJ5VXJsKGAvbWFuYWdlL3RyYXgvY29uZmlndXJlP2FpY2hlY2tMaXN0SWQ9JHtkZXRhaWxzfSZkaXNhYmxlZFF1ZXN0aW9uPXRydWUmdHlwZT0ke2NoZWNrTGlzdFR5cGV9YClcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGRhdGEgPT0gJ2R1cGxpY2F0ZScpIHtcclxuICAgICAgY29uc3QgcG9wdXBjb250ZW50ID0ge1xyXG4gICAgICAgIGRpc3BsYXlwcm9wOiBmYWxzZSxcclxuICAgICAgICBpbWFnZXNyYzogJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHZpZXdCb3g9XCIwIDAgMzYgMzZcIiBmaWxsPVwibm9uZVwiPjxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiByeD1cIjE2XCIgZmlsbD1cIiNEQUYxRkZcIi8+PGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81NTQ1XzY3NDMpXCI+PHBhdGggZD1cIk0xMy4zMzMgMjAuMDAwN0gxMi42NjYzQzEyLjMxMjcgMjAuMDAwNyAxMS45NzM2IDE5Ljg2MDIgMTEuNzIzNSAxOS42MTAxQzExLjQ3MzUgMTkuMzYwMSAxMS4zMzMgMTkuMDIwOSAxMS4zMzMgMTguNjY3M1YxMi42NjczQzExLjMzMyAxMi4zMTM3IDExLjQ3MzUgMTEuOTc0NiAxMS43MjM1IDExLjcyNDVDMTEuOTczNiAxMS40NzQ1IDEyLjMxMjcgMTEuMzM0IDEyLjY2NjMgMTEuMzM0SDE4LjY2NjNDMTkuMDIgMTEuMzM0IDE5LjM1OTEgMTEuNDc0NSAxOS42MDkyIDExLjcyNDVDMTkuODU5MiAxMS45NzQ2IDE5Ljk5OTcgMTIuMzEzNyAxOS45OTk3IDEyLjY2NzNWMTMuMzM0TTE3LjMzMyAxNi4wMDA3SDIzLjMzM0MyNC4wNjk0IDE2LjAwMDcgMjQuNjY2MyAxNi41OTc2IDI0LjY2NjMgMTcuMzM0VjIzLjMzNEMyNC42NjYzIDI0LjA3MDQgMjQuMDY5NCAyNC42NjczIDIzLjMzMyAyNC42NjczSDE3LjMzM0MxNi41OTY2IDI0LjY2NzMgMTUuOTk5NyAyNC4wNzA0IDE1Ljk5OTcgMjMuMzM0VjE3LjMzNEMxNS45OTk3IDE2LjU5NzYgMTYuNTk2NiAxNi4wMDA3IDE3LjMzMyAxNi4wMDA3WlwiIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvZz48cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCI0XCIvPjxkZWZzPjxjbGlwUGF0aCBpZD1cImNsaXAwXzU1NDVfNjc0M1wiPjxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMCAxMClcIi8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+JyxcclxuICAgICAgICB0aXRsZTogYER1cGxpY2F0ZSAnJHtkZXRhaWxzLmNoZWNrTGlzdE5hbWV9IFNlY3Rpb24nP2AsXHJcbiAgICAgICAgY29udGVudDogYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkdXBsaWNhdGUgPGI+JyR7ZGV0YWlscy5jaGVja0xpc3ROYW1lfSc/PC9iPiBUaGlzIGFjdGlvbiBjYW5ub3QgYmUgdW5kb25lLmAsXHJcbiAgICAgICAgYnV0dG9udHlwZTogJ2R1cGxpY2F0ZSdcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFRyYXhwb3B1cENvbXBvbmVudCwgeyBjZW50ZXJlZDogdHJ1ZSwgc2l6ZTogJ21kJyB9KTtcclxuICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmRhdGEgPSBwb3B1cGNvbnRlbnQ7XHJcbiAgICAgIGRpYWxvZ1JlZi5yZXN1bHQudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyA9PSAnZHVwbGljYXRlJykge1xyXG4gICAgICAgICAgdGhpcy50cmF4U2VydmljZS5kdXBsaWNhdGVjaGVja2xpc3QoeyBjaGVja2xpc3RJZDogZGV0YWlscy5faWQsIGNsaWVudElkOiB0aGlzLmR5bmFtaWNEYXRhLmNsaWVudElkIH0pLnBpcGUodGFrZVVudGlsKHRoaXMuZGV0YWNoKSk/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldENoZWNrTGlzdCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdC5nZXRTdWNjZXNzVG9hc3QoYCR7ZGV0YWlscy5jaGVja0xpc3ROYW1lfSBoYXMgYmVlbiBkdXBsaWNhdGVkLmApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IGVyciA9IGVycm9yPy5lcnJvcj8uZXJyb3IgfHwgJ1NvbWV0aGluZyB3ZW50IHdyb25nJztcclxuICAgICAgICAgICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCBwb3B1cGNvbnRlbnQgPSB7XHJcbiAgICAgICAgZGlzcGxheXByb3A6IGZhbHNlLFxyXG4gICAgICAgIGltYWdlc3JjOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgdmlld0JveD1cIjAgMCAzNiAzNlwiIGZpbGw9XCJub25lXCI+PHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0ZFRTRFMlwiLz48cGF0aCBkPVwiTTEyIDE0LjAwMDdIMTMuMzMzM00xMy4zMzMzIDE0LjAwMDdIMjRNMTMuMzMzMyAxNC4wMDA3VjIzLjMzNEMxMy4zMzMzIDIzLjY4NzYgMTMuNDczOCAyNC4wMjY3IDEzLjcyMzkgMjQuMjc2OEMxMy45NzM5IDI0LjUyNjggMTQuMzEzIDI0LjY2NzMgMTQuNjY2NyAyNC42NjczSDIxLjMzMzNDMjEuNjg3IDI0LjY2NzMgMjIuMDI2MSAyNC41MjY4IDIyLjI3NjEgMjQuMjc2OEMyMi41MjYyIDI0LjAyNjcgMjIuNjY2NyAyMy42ODc2IDIyLjY2NjcgMjMuMzM0VjE0LjAwMDdIMTMuMzMzM1pNMTUuMzMzMyAxNC4wMDA3VjEyLjY2NzNDMTUuMzMzMyAxMi4zMTM3IDE1LjQ3MzggMTEuOTc0NiAxNS43MjM5IDExLjcyNDVDMTUuOTczOSAxMS40NzQ1IDE2LjMxMyAxMS4zMzQgMTYuNjY2NyAxMS4zMzRIMTkuMzMzM0MxOS42ODcgMTEuMzM0IDIwLjAyNjEgMTEuNDc0NSAyMC4yNzYxIDExLjcyNDVDMjAuNTI2MiAxMS45NzQ2IDIwLjY2NjcgMTIuMzEzNyAyMC42NjY3IDEyLjY2NzNWMTQuMDAwN00xNi42NjY3IDE3LjMzNFYyMS4zMzRNMTkuMzMzMyAxNy4zMzRWMjEuMzM0XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBzdHJva2U9XCIjRkVGM0YyXCIgc3Ryb2tlLXdpZHRoPVwiNFwiLz48L3N2Zz4nLFxyXG4gICAgICAgIHRpdGxlOiBgRGVsZXRlICcke2RldGFpbHMuY2hlY2tMaXN0TmFtZX0gU2VjdGlvbic/YCxcclxuICAgICAgICBjb250ZW50OiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSA8Yj4nJHtkZXRhaWxzLmNoZWNrTGlzdE5hbWV9Jz88L2I+IFRoaXMgYWN0aW9uIGNhbm5vdCBiZSB1bmRvbmUuYCxcclxuICAgICAgICBidXR0b250eXBlOiAnZGVsZXRlJ1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVHJheHBvcHVwQ29tcG9uZW50LCB7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnIH0pO1xyXG4gICAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UuZGF0YSA9IHBvcHVwY29udGVudDtcclxuICAgICAgZGlhbG9nUmVmLnJlc3VsdC50aGVuKChyZXMpID0+IHtcclxuICAgICAgICBpZiAocmVzID09ICdkZWxldGUnKSB7XHJcbiAgICAgICAgICB0aGlzLnRyYXhTZXJ2aWNlLmRlbGV0ZUNoZWNrbGlzdCh7IGlkOiBkZXRhaWxzLl9pZCwgY2xpZW50SWQ6IHRoaXMuZHluYW1pY0RhdGEuY2xpZW50SWQgfSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXRhY2gpKT8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2hlY2tMaXN0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LmdldFN1Y2Nlc3NUb2FzdChgJHtkZXRhaWxzLmNoZWNrTGlzdE5hbWV9IGhhcyBiZWVuIERlbGV0ZWQuYCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBsZXQgZXJyID0gZXJyb3I/LmVycm9yPy5lcnJvciB8fCAnU29tZXRoaW5nIHdlbnQgd3JvbmcnO1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3QuZ2V0RXJyb3JUb2FzdChlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGlzaChldmVudDogYW55LCBkYXRhOiBhbnksIGk6IG51bWJlcikge1xyXG4gICAgbGV0IHBvcHVwY29udGVudDtcclxuICAgIGxldCBodG1sQ29udGVudDogYW55O1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5jaGVja2VkKSB7XHJcbiAgICAgIHBvcHVwY29udGVudCA9IHtcclxuICAgICAgICBkaXNwbGF5cHJvcDogZmFsc2UsXHJcbiAgICAgICAgaW1hZ2VzcmM6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNTZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIj48cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIGZpbGw9XCIjRDFGQURGXCIvPjxwYXRoIGQ9XCJNMzggMjcuMDgxOFYyOC4wMDE4QzM3Ljk5ODggMzAuMTU4MiAzNy4zMDA1IDMyLjI1NjUgMzYuMDA5MyAzMy45ODM2QzM0LjcxODIgMzUuNzEwOCAzMi45MDMzIDM2Ljk3NDMgMzAuODM1NCAzNy41ODU3QzI4Ljc2NzQgMzguMTk3MSAyNi41NTczIDM4LjEyMzcgMjQuNTM0NSAzNy4zNzY0QzIyLjUxMTcgMzYuNjI5MSAyMC43ODQ3IDM1LjI0NzkgMTkuNjExIDMzLjQzODlDMTguNDM3MyAzMS42Mjk5IDE3Ljg3OTggMjkuNDg5OSAxOC4wMjE3IDI3LjMzODFDMTguMTYzNiAyNS4xODY0IDE4Ljk5NzIgMjMuMTM4MSAyMC4zOTgzIDIxLjQ5ODlDMjEuNzk5NCAxOS44NTk2IDIzLjY5MjggMTguNzE3MiAyNS43OTYyIDE4LjI0MkMyNy44OTk2IDE3Ljc2NjcgMzAuMTAwMyAxNy45ODQyIDMyLjA3IDE4Ljg2MThNMzggMjAuMDAxOEwyOCAzMC4wMTE4TDI1IDI3LjAxMThcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIHN0cm9rZT1cIiNFQ0ZERjNcIiBzdHJva2Utd2lkdGg9XCI4XCIvPjwvc3ZnPicsXHJcbiAgICAgICAgdGl0bGU6IGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcHVibGlzaCAnJHtkYXRhLmNoZWNrTGlzdE5hbWV9JyBjaGVja2xpc3Q/YCxcclxuICAgICAgICBjb250ZW50OiBgUHVibGlzaGluZyB3aWxsIG1ha2UgdGhpcyBjaGVja2xpc3QgbGl2ZSwgYW5kIGNoYW5nZXMgd2lsbCB0YWtlIGVmZmVjdCBpbW1lZGlhdGVseS5gLFxyXG4gICAgICAgIGJ1dHRvbnR5cGU6ICdjb25maXJtJ1xyXG4gICAgICB9XHJcbiAgICAgIGh0bWxDb250ZW50ID0gYCR7ZGF0YS5jaGVja0xpc3ROYW1lfSBoYXMgYmVlbiBwdWJsaXNoZWQ8L2Rpdj5gO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHBvcHVwY29udGVudCA9IHtcclxuICAgICAgICBkaXNwbGF5cHJvcDogZmFsc2UsXHJcbiAgICAgICAgaW1hZ2VzcmM6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNTZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIj48cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIGZpbGw9XCIjRkVGMEM3XCIvPjxwYXRoIGQ9XCJNMjcuOTk5OCAyNC4wMDEyVjI4LjAwMTJNMjcuOTk5OCAzMi4wMDEySDI4LjAwOThNMjYuMjg5OCAxOC44NjEyTDE3LjgxOTggMzMuMDAxMkMxNy42NDUxIDMzLjMwMzYgMTcuNTUyNyAzMy42NDY1IDE3LjU1MTggMzMuOTk1N0MxNy41NTA4IDM0LjM0NDkgMTcuNjQxMyAzNC42ODgzIDE3LjgxNDIgMzQuOTkxN0MxNy45ODcxIDM1LjI5NTEgMTguMjM2NSAzNS41NDc5IDE4LjUzNzUgMzUuNzI1QzE4LjgzODUgMzUuOTAyMSAxOS4xODA2IDM1Ljk5NzMgMTkuNTI5OCAzNi4wMDEySDM2LjQ2OThDMzYuODE5IDM1Ljk5NzMgMzcuMTYxMSAzNS45MDIxIDM3LjQ2MjEgMzUuNzI1QzM3Ljc2MzEgMzUuNTQ3OSAzOC4wMTI0IDM1LjI5NTEgMzguMTg1NCAzNC45OTE3QzM4LjM1ODMgMzQuNjg4MyAzOC40NDg4IDM0LjM0NDkgMzguNDQ3OCAzMy45OTU3QzM4LjQ0NjggMzMuNjQ2NSAzOC4zNTQ0IDMzLjMwMzYgMzguMTc5OCAzMy4wMDEyTDI5LjcwOTggMTguODYxMkMyOS41MzE1IDE4LjU2NzMgMjkuMjgwNSAxOC4zMjQzIDI4Ljk4MSAxOC4xNTU3QzI4LjY4MTQgMTcuOTg3IDI4LjM0MzUgMTcuODk4NCAyNy45OTk4IDE3Ljg5ODRDMjcuNjU2IDE3Ljg5ODQgMjcuMzE4MSAxNy45ODcgMjcuMDE4NiAxOC4xNTU3QzI2LjcxOTEgMTguMzI0MyAyNi40NjggMTguNTY3MyAyNi4yODk4IDE4Ljg2MTJaXCIgc3Ryb2tlPVwiI0RDNjgwM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBzdHJva2U9XCIjRkZGQUVCXCIgc3Ryb2tlLXdpZHRoPVwiOFwiLz48L3N2Zz4nLFxyXG4gICAgICAgIHRpdGxlOiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVucHVibGlzaCDigJgke2RhdGEuY2hlY2tMaXN0TmFtZX3igJkgY2hlY2tsaXN0P2AsXHJcbiAgICAgICAgY29udGVudDogYFVucHVibGlzaGluZyB3aWxsIHJlbW92ZSB0aGlzIGNoZWNrbGlzdCBpbW1lZGlhdGVseSwgYW5kIGl0IHdpbGwgbm8gbG9uZ2VyIGJlIHZpc2libGUgdG8gYXNzaWduZWQgbG9jYXRpb25zLmAsXHJcbiAgICAgICAgYnV0dG9udHlwZTogJ2NvbmZpcm0nXHJcbiAgICAgIH1cclxuICAgICAgaHRtbENvbnRlbnQgPSBgJHtkYXRhLmNoZWNrTGlzdE5hbWV9IGhhcyBiZWVuIHVucHVibGlzaGVkYDtcclxuICAgIH1cclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVHJheHBvcHVwQ29tcG9uZW50LCB7XHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnXHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5kYXRhID0gcG9wdXBjb250ZW50O1xyXG4gICAgZGlhbG9nUmVmLnJlc3VsdC50aGVuKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcyA9PSAnY29uZmlybScpIHtcclxuICAgICAgICB0aGlzLnRyYXhTZXJ2aWNlLnB1Ymxpc2goeyBwdWJsaXNoOiBldmVudC50YXJnZXQuY2hlY2tlZCwgY2xpZW50SWQ6IHRoaXMuZHluYW1pY0RhdGEuY2xpZW50SWQsIGNoZWNrbGlzdElkOiBkYXRhLl9pZCB9KS5waXBlKHRha2VVbnRpbCh0aGlzLmRldGFjaCkpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Q2hlY2tMaXN0KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmNoZWNrZWQgPSBkYXRhLnB1Ymxpc2hcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgZXZlbnQudGFyZ2V0LmNoZWNrZWQgPSBkYXRhLnB1Ymxpc2g7XHJcbiAgICAgICAgICBsZXQgZXJyID0gZXJyb3I/LmVycm9yPy5lcnJvciB8fCAnUGxlYXNlIHRyeSBhZnRlciBzb21ldGltZXMnO1xyXG4gICAgICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KGVycik7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGV2ZW50LnRhcmdldC5jaGVja2VkID0gZGF0YS5wdWJsaXNoO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIHNlYXJjaCgpIHtcclxuICAgIHRoaXMuZHluYW1pY0RhdGEub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMuZHluYW1pY0RhdGEubGltaXQgPSAxMDtcclxuICAgIHRoaXMucGFnZVNpemUgPSAxMDtcclxuICAgIHRoaXMuZHluYW1pY0RhdGEuc29ydENvbHVtbiA9ICcnO1xyXG4gICAgdGhpcy5keW5hbWljRGF0YS5zb3J0QnkgPSAnJztcclxuICAgIHRoaXMuZ2V0Q2hlY2tMaXN0KCk7XHJcbiAgfVxyXG5cclxuICByZWRpcmVjdFVybCh0eXBlOiBhbnkpIHtcclxuICAgIHRoaXMucm91dGUubmF2aWdhdGVCeVVybChgL21hbmFnZS90cmF4L2NoZWNrbGlzdC9tYW5hZ2VjaGVja2xpc3Q/dHlwZT0ke3R5cGV9YClcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvbih0eXBlOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgY29uc3Qgc3ViID0gdGhpcy5ncy51c2VyQWNjZXNzLnBpcGUobWFwKCh2YWwpID0+IHtcclxuICAgICAgaWYgKHZhbD8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0VkaXQpIHtcclxuICAgICAgICBpZiAoZGF0YS5jaGVja0xpc3RUeXBlID09ICdjdXN0b20nKSB7XHJcbiAgICAgICAgICBpZiAoWydlZGl0JywgJ2RlbGV0ZSddLmluY2x1ZGVzKHR5cGUpICYmICFkYXRhLnB1Ymxpc2gpIHtcclxuICAgICAgICAgICAgZGF0YSA9IHR5cGUgPT0gJ2VkaXQnID8gZGF0YS5faWQgOiBkYXRhO1xyXG4gICAgICAgICAgICB0aGlzLnJlZGlyZWN0KHR5cGUsIGRhdGEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoWydkdXBsaWNhdGUnLCAnc2V0dGluZyddLmluY2x1ZGVzKHR5cGUpKSB7XHJcbiAgICAgICAgICAgIGRhdGEgPSB0eXBlID09ICdzZXR0aW5nJyA/IGRhdGEuX2lkIDogZGF0YTtcclxuICAgICAgICAgICAgdGhpcy5yZWRpcmVjdCh0eXBlLCBkYXRhKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5jaGVja0xpc3RUeXBlICE9PSAnY3VzdG9tJykge1xyXG4gICAgICAgICAgY29uc3QgaWQgPSB0eXBlID09ICdzZXR0aW5nJyA/IGRhdGEuX2lkIDogZGF0YTtcclxuICAgICAgICAgIHRoaXMucmVkaXJlY3QodHlwZSwgaWQsIGRhdGE/LmNoZWNrTGlzdFR5cGUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KSkuc3Vic2NyaWJlKClcclxuXHJcbiAgICBzdWIudW5zdWJzY3JpYmUoKVxyXG4gIH1cclxuICBjYW1lcmFWaWV3KCkge1xyXG4gICB0aGlzLnJvdXRlLm5hdmlnYXRlKFsnL21hbmFnZS90cmF4L2dhbGxlcnknXSwge1xyXG4gIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICBzb3VyY2VDaGVja0xpc3RfaWQ6ICdleWV0ZXN0JyxcclxuICAgIGNoZWNrbGlzdFR5cGU6ICdBSSdcclxuICB9XHJcbn0pO1xyXG4gIH1cclxuICBjYW1lcmFWaWV3MSgpIHtcclxuICAgdGhpcy5yb3V0ZS5uYXZpZ2F0ZShbJy9tYW5hZ2UvdHJheC9nYWxsZXJ5J10sIHtcclxuICBxdWVyeVBhcmFtczoge1xyXG4gICAgc291cmNlQ2hlY2tMaXN0X2lkOiAnZmFjdG9yeScsXHJcbiAgICBjaGVja2xpc3RUeXBlOiAnY3VzdG9tJ1xyXG4gIH1cclxufSk7XHJcbiAgfVxyXG4gICAgY2FtZXJhVmlldzIoKSB7XHJcbiAgIHRoaXMucm91dGUubmF2aWdhdGUoWycvbWFuYWdlL3RyYXgvZ2FsbGVyeSddLCB7XHJcbiAgcXVlcnlQYXJhbXM6IHtcclxuICAgIHNvdXJjZUNoZWNrTGlzdF9pZDogJ3JlbW90ZW9wdG9tZXRyaXN0JyxcclxuICAgIGNoZWNrbGlzdFR5cGU6ICdBSSdcclxuICB9XHJcbn0pO1xyXG4gIH1cclxuIFxyXG4gIG1hbmFnZVZpZXcoKSB7XHJcbiAgICB0aGlzLnJvdXRlLm5hdmlnYXRlQnlVcmwoYC9tYW5hZ2UvdHJheC9tYW5hZ2VjaGVja2xpc3RgKVxyXG5cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInAtNSBtYi0xMFwiPlxyXG5cclxuICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgbXQtM1wiPlxyXG4gICAgICAgIDxoMSBjbGFzcz1cIiBteS0wIGNoZWNrbGlzdFRpdGxlXCI+XHJcbiAgICAgICAgICAgIE1hbmFnZSBZb3VyIENoZWNrbGlzdFxyXG4gICAgICAgIDwvaDE+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEgY2hlY2tsaXN0SGVhZFwiPllvdSBjYW4gY3JlYXRlIGFuZCBtYW5hZ2UgeW91ciBjaGVja2xpc3QgaGVyZTwvZGl2PlxyXG4gICAgPC9kaXY+IC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNoZWNrbGlzdEhlYWRcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQ3JlYXRlIHlvdXIgb3duICAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNTc2MyA3LjUwMDMzQzcuNzcyMjIgNi45NDMzOCA4LjE1ODkzIDYuNDczNzUgOC42Njc5MyA2LjE3NDZDOS4xNzY5MyA1Ljg3NTQ2IDkuNzc1MzggNS43NjYxMSAxMC4zNTczIDUuODY1OTJDMTAuOTM5MiA1Ljk2NTczIDExLjQ2NyA2LjI2ODI2IDExLjg0NzIgNi43MTk5M0MxMi4yMjc0IDcuMTcxNiAxMi40MzU1IDcuNzQzMjYgMTIuNDM0NiA4LjMzMzY2QzEyLjQzNDYgMTAuMDAwMyA5LjkzNDY0IDEwLjgzMzcgOS45MzQ2NCAxMC44MzM3TTEwLjAwMTMgMTQuMTY3SDEwLjAwOTZNMTguMzM0NiAxMC4wMDAzQzE4LjMzNDYgMTQuNjAyNyAxNC42MDM3IDE4LjMzMzcgMTAuMDAxMyAxOC4zMzM3QzUuMzk4OTMgMTguMzMzNyAxLjY2Nzk3IDE0LjYwMjcgMS42Njc5NyAxMC4wMDAzQzEuNjY3OTcgNS4zOTc5NSA1LjM5ODkzIDEuNjY2OTkgMTAuMDAxMyAxLjY2Njk5QzE0LjYwMzcgMS42NjY5OSAxOC4zMzQ2IDUuMzk3OTUgMTguMzM0NiAxMC4wMDAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1mbHVzaCByb3VuZGVkIHJvdW5kZWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1ibG9ja1wiIGRhdGEtZnNsaWdodGJveD1cImxpZ2h0Ym94LWhvdC1zYWxlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZpZGVvIGNsYXNzPVwidy0xMDAgYm9yZGVyQ2xhc3MgaC0yNTBweFwiIGNvbnRyb2xzIGF1dG9wbGF5IGxvb3Agc3R5bGU9XCJvYmplY3QtZml0OiBmaWxsO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgW3NyY109XCJlbnZpcm9ubWVudC5UcmF4QW5zd2VyQ0ROICsgJ2RlbW8tdmlkZW8vdGFuZ28gdHJhZmZpYyBuZXcgZmluYWwgNV8xLm1wNCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidmlkZW8vbXA0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmlkZW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL25ld0NoZWNrbGlzdC5zdmdcIiAgY2xhc3M9XCJ3LTEwMCBib3JkZXJDbGFzc1wiLz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZCBmbGV4LXN0YWNrIG10LTIgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBteC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrbGlzdFRleHQgY3Vyc29yLXBvaW50ZXJcIiBbcm91dGVyTGlua109XCInL21hbmFnZS90cmFmZmljJ1wiPkZvb3RmYWxsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNoZWNrbGlzdEhlYWRcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQ29uZmlndXJlIFByZWRlZmluZWQgQ2hlY2tsaXN0IC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy41NzYzIDcuNTAwMzNDNy43NzIyMiA2Ljk0MzM4IDguMTU4OTMgNi40NzM3NSA4LjY2NzkzIDYuMTc0NkM5LjE3NjkzIDUuODc1NDYgOS43NzUzOCA1Ljc2NjExIDEwLjM1NzMgNS44NjU5MkMxMC45MzkyIDUuOTY1NzMgMTEuNDY3IDYuMjY4MjYgMTEuODQ3MiA2LjcxOTkzQzEyLjIyNzQgNy4xNzE2IDEyLjQzNTUgNy43NDMyNiAxMi40MzQ2IDguMzMzNjZDMTIuNDM0NiAxMC4wMDAzIDkuOTM0NjQgMTAuODMzNyA5LjkzNDY0IDEwLjgzMzdNMTAuMDAxMyAxNC4xNjdIMTAuMDA5Nk0xOC4zMzQ2IDEwLjAwMDNDMTguMzM0NiAxNC42MDI3IDE0LjYwMzcgMTguMzMzNyAxMC4wMDEzIDE4LjMzMzdDNS4zOTg5MyAxOC4zMzM3IDEuNjY3OTcgMTQuNjAyNyAxLjY2Nzk3IDEwLjAwMDNDMS42Njc5NyA1LjM5Nzk1IDUuMzk4OTMgMS42NjY5OSAxMC4wMDEzIDEuNjY2OTlDMTQuNjAzNyAxLjY2Njk5IDE4LjMzNDYgNS4zOTc5NSAxOC4zMzQ2IDEwLjAwMDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWZsdXNoIHJvdW5kZWQgcm91bmRlZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBocmVmPVwiL3NvcC9Db25maWd1cmU/dHlwZT1tb2JpbGV1c2FnZWRldGVjdGlvblwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1ibG9jayB3LTEwMFwiIGRhdGEtZnNsaWdodGJveD1cImxpZ2h0Ym94LWhvdC1zYWxlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZpZGVvIGNsYXNzPVwidy0xMDAgYm9yZGVyQ2xhc3MgaC0yNTBweFwiIGNvbnRyb2xzIGF1dG9wbGF5IGxvb3Agc3R5bGU9XCJvYmplY3QtZml0OiBmaWxsO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgW3NyY109XCJlbnZpcm9ubWVudC5UcmF4QW5zd2VyQ0ROICsgJ2RlbW8tdmlkZW8vem9uZSB0YW5nbyBmaW5hbCA0LTEubXA0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ2aWRlby9tcDRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92aWRlbz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvcHJlZGVmaW5lZC5zdmdcIiBjbGFzcz1cInctMTAwIGJvcmRlckNsYXNzXCIvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtZW5kIGZsZXgtc3RhY2sgbXQtMiBtYi00IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBteC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrbGlzdFRleHQgY3Vyc29yLXBvaW50ZXJcIiBbcm91dGVyTGlua109XCInL21hbmFnZS96b25lcy92MidcIj5ab25lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTIgY2hlY2tsaXN0SGVhZCBcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQ29uZmlndXJlIHlvdXIgUHJlZGVmaW5lZCBBSSBjaGVja2xpc3QgLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjU3NjMgNy41MDAzM0M3Ljc3MjIyIDYuOTQzMzggOC4xNTg5MyA2LjQ3Mzc1IDguNjY3OTMgNi4xNzQ2QzkuMTc2OTMgNS44NzU0NiA5Ljc3NTM4IDUuNzY2MTEgMTAuMzU3MyA1Ljg2NTkyQzEwLjkzOTIgNS45NjU3MyAxMS40NjcgNi4yNjgyNiAxMS44NDcyIDYuNzE5OTNDMTIuMjI3NCA3LjE3MTYgMTIuNDM1NSA3Ljc0MzI2IDEyLjQzNDYgOC4zMzM2NkMxMi40MzQ2IDEwLjAwMDMgOS45MzQ2NCAxMC44MzM3IDkuOTM0NjQgMTAuODMzN00xMC4wMDEzIDE0LjE2N0gxMC4wMDk2TTE4LjMzNDYgMTAuMDAwM0MxOC4zMzQ2IDE0LjYwMjcgMTQuNjAzNyAxOC4zMzM3IDEwLjAwMTMgMTguMzMzN0M1LjM5ODkzIDE4LjMzMzcgMS42Njc5NyAxNC42MDI3IDEuNjY3OTcgMTAuMDAwM0MxLjY2Nzk3IDUuMzk3OTUgNS4zOTg5MyAxLjY2Njk5IDEwLjAwMTMgMS42NjY5OUMxNC42MDM3IDEuNjY2OTkgMTguMzM0NiA1LjM5Nzk1IDE4LjMzNDYgMTAuMDAwM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtZmx1c2ggcm91bmRlZCByb3VuZGVkLTRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGhyZWY9XCIvc29wL0NvbmZpZ3VyZT90eXBlPW1vYmlsZXVzYWdlZGV0ZWN0aW9uXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWJsb2NrIHctMTAwXCIgZGF0YS1mc2xpZ2h0Ym94PVwibGlnaHRib3gtaG90LXNhbGVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmlkZW8gY2xhc3M9XCJ3LTEwMCBib3JkZXJDbGFzcyBoLTI1MHB4XCIgY29udHJvbHMgYXV0b3BsYXkgbG9vcCBzdHlsZT1cIm9iamVjdC1maXQ6IGZpbGw7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBbc3JjXT1cImVudmlyb25tZW50LlRyYXhBbnN3ZXJDRE4gKyAnZGVtby12aWRlby9NYW5hZ2UgQ2hlY2tsaXN0ICgxKS5tb3YnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInZpZGVvL21wNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZpZGVvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9haWNoZWNrbGlzdC5zdmdcIiBjbGFzcz1cInctMTAwIGJvcmRlckNsYXNzXCIgLz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZCBmbGV4LXN0YWNrIG10LTIgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBteC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrbGlzdFRleHQgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwibWFuYWdlVmlldygpXCI+U09QPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNoZWNrbGlzdEhlYWRcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQ3JlYXRlIHlvdXIgb3duICAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNTc2MyA3LjUwMDMzQzcuNzcyMjIgNi45NDMzOCA4LjE1ODkzIDYuNDczNzUgOC42Njc5MyA2LjE3NDZDOS4xNzY5MyA1Ljg3NTQ2IDkuNzc1MzggNS43NjYxMSAxMC4zNTczIDUuODY1OTJDMTAuOTM5MiA1Ljk2NTczIDExLjQ2NyA2LjI2ODI2IDExLjg0NzIgNi43MTk5M0MxMi4yMjc0IDcuMTcxNiAxMi40MzU1IDcuNzQzMjYgMTIuNDM0NiA4LjMzMzY2QzEyLjQzNDYgMTAuMDAwMyA5LjkzNDY0IDEwLjgzMzcgOS45MzQ2NCAxMC44MzM3TTEwLjAwMTMgMTQuMTY3SDEwLjAwOTZNMTguMzM0NiAxMC4wMDAzQzE4LjMzNDYgMTQuNjAyNyAxNC42MDM3IDE4LjMzMzcgMTAuMDAxMyAxOC4zMzM3QzUuMzk4OTMgMTguMzMzNyAxLjY2Nzk3IDE0LjYwMjcgMS42Njc5NyAxMC4wMDAzQzEuNjY3OTcgNS4zOTc5NSA1LjM5ODkzIDEuNjY2OTkgMTAuMDAxMyAxLjY2Njk5QzE0LjYwMzcgMS42NjY5OSAxOC4zMzQ2IDUuMzk3OTUgMTguMzM0NiAxMC4wMDAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1mbHVzaCByb3VuZGVkIHJvdW5kZWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1ibG9ja1wiIGRhdGEtZnNsaWdodGJveD1cImxpZ2h0Ym94LWhvdC1zYWxlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZpZGVvIGNsYXNzPVwidy0xMDAgYm9yZGVyQ2xhc3MgaC0yNTBweFwiIGNvbnRyb2xzIGF1dG9wbGF5IGxvb3Agc3R5bGU9XCJvYmplY3QtZml0OiBmaWxsO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgW3NyY109XCJlbnZpcm9ubWVudC5UcmF4QW5zd2VyQ0ROICsgJ2RlbW8tdmlkZW8vTGF5b3V0LVZlcmlmaWNhdGlvbi5tcDQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInZpZGVvL21wNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZpZGVvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9uZXdDaGVja2xpc3Quc3ZnXCIgIGNsYXNzPVwidy0xMDAgYm9yZGVyQ2xhc3NcIi8+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1lbmQgZmxleC1zdGFjayBtdC0yIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3RhcnQgbXgtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGVja2xpc3RUZXh0IGN1cnNvci1wb2ludGVyXCIgW3JvdXRlckxpbmtdPVwiJy9tYW5hZ2UvcGxhbm9ncmFtL21hbmFnZS1wbGFub2dyYW1zL3ZlcmlmaWNhdGlvbidcIj5QbGFub2dyYW08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNoZWNrbGlzdEhlYWRcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQ29uZmlndXJlIFByZWRlZmluZWQgQ2hlY2tsaXN0IC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy41NzYzIDcuNTAwMzNDNy43NzIyMiA2Ljk0MzM4IDguMTU4OTMgNi40NzM3NSA4LjY2NzkzIDYuMTc0NkM5LjE3NjkzIDUuODc1NDYgOS43NzUzOCA1Ljc2NjExIDEwLjM1NzMgNS44NjU5MkMxMC45MzkyIDUuOTY1NzMgMTEuNDY3IDYuMjY4MjYgMTEuODQ3MiA2LjcxOTkzQzEyLjIyNzQgNy4xNzE2IDEyLjQzNTUgNy43NDMyNiAxMi40MzQ2IDguMzMzNjZDMTIuNDM0NiAxMC4wMDAzIDkuOTM0NjQgMTAuODMzNyA5LjkzNDY0IDEwLjgzMzdNMTAuMDAxMyAxNC4xNjdIMTAuMDA5Nk0xOC4zMzQ2IDEwLjAwMDNDMTguMzM0NiAxNC42MDI3IDE0LjYwMzcgMTguMzMzNyAxMC4wMDEzIDE4LjMzMzdDNS4zOTg5MyAxOC4zMzM3IDEuNjY3OTcgMTQuNjAyNyAxLjY2Nzk3IDEwLjAwMDNDMS42Njc5NyA1LjM5Nzk1IDUuMzk4OTMgMS42NjY5OSAxMC4wMDEzIDEuNjY2OTlDMTQuNjAzNyAxLjY2Njk5IDE4LjMzNDYgNS4zOTc5NSAxOC4zMzQ2IDEwLjAwMDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWZsdXNoIHJvdW5kZWQgcm91bmRlZC00IFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gaHJlZj1cIi9zb3AvQ29uZmlndXJlP3R5cGU9bW9iaWxldXNhZ2VkZXRlY3Rpb25cIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImQtYmxvY2sgdy0xMDBcIiBkYXRhLWZzbGlnaHRib3g9XCJsaWdodGJveC1ob3Qtc2FsZXNcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmlkZW8gY2xhc3M9XCJ3LTEwMCBib3JkZXJDbGFzcyBoLTI1MHB4XCIgY29udHJvbHMgYXV0b3BsYXkgbG9vcCBzdHlsZT1cIm9iamVjdC1maXQ6IGZpbGw7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBbc3JjXT1cImVudmlyb25tZW50LlRyYXhBbnN3ZXJDRE4gKyAnZGVtby12aWRlby9FeWUgdGVzdC5tcDQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInZpZGVvL21wNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZpZGVvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9wcmVkZWZpbmVkLnN2Z1wiIGNsYXNzPVwidy0xMDAgYm9yZGVyQ2xhc3NcIi8+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1lbmQgZmxleC1zdGFjayBtdC0yIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3RhcnQgbXgtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGVja2xpc3RUZXh0IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImNhbWVyYVZpZXcoKVwiPkV5ZXRlc3Q8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTIgY2hlY2tsaXN0SGVhZFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBDb25maWd1cmUgUHJlZGVmaW5lZCBDaGVja2xpc3QgLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjU3NjMgNy41MDAzM0M3Ljc3MjIyIDYuOTQzMzggOC4xNTg5MyA2LjQ3Mzc1IDguNjY3OTMgNi4xNzQ2QzkuMTc2OTMgNS44NzU0NiA5Ljc3NTM4IDUuNzY2MTEgMTAuMzU3MyA1Ljg2NTkyQzEwLjkzOTIgNS45NjU3MyAxMS40NjcgNi4yNjgyNiAxMS44NDcyIDYuNzE5OTNDMTIuMjI3NCA3LjE3MTYgMTIuNDM1NSA3Ljc0MzI2IDEyLjQzNDYgOC4zMzM2NkMxMi40MzQ2IDEwLjAwMDMgOS45MzQ2NCAxMC44MzM3IDkuOTM0NjQgMTAuODMzN00xMC4wMDEzIDE0LjE2N0gxMC4wMDk2TTE4LjMzNDYgMTAuMDAwM0MxOC4zMzQ2IDE0LjYwMjcgMTQuNjAzNyAxOC4zMzM3IDEwLjAwMTMgMTguMzMzN0M1LjM5ODkzIDE4LjMzMzcgMS42Njc5NyAxNC42MDI3IDEuNjY3OTcgMTAuMDAwM0MxLjY2Nzk3IDUuMzk3OTUgNS4zOTg5MyAxLjY2Njk5IDEwLjAwMTMgMS42NjY5OUMxNC42MDM3IDEuNjY2OTkgMTguMzM0NiA1LjM5Nzk1IDE4LjMzNDYgMTAuMDAwM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtZmx1c2ggcm91bmRlZCByb3VuZGVkLTRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGhyZWY9XCIvc29wL0NvbmZpZ3VyZT90eXBlPW1vYmlsZXVzYWdlZGV0ZWN0aW9uXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWJsb2NrIHctMTAwXCIgZGF0YS1mc2xpZ2h0Ym94PVwibGlnaHRib3gtaG90LXNhbGVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmlkZW8gY2xhc3M9XCJ3LTEwMCBib3JkZXJDbGFzcyBoLTI1MHB4XCIgY29udHJvbHMgYXV0b3BsYXkgbG9vcCBzdHlsZT1cIm9iamVjdC1maXQ6IGZpbGw7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBbc3JjXT1cImVudmlyb25tZW50LlRyYXhBbnN3ZXJDRE4gKyAnZGVtby12aWRlby9yZW9tb3RlIG9wdHVtIDJfSC4yNjQtMSAoMSkubXA0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ2aWRlby9tcDRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92aWRlbz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvcHJlZGVmaW5lZC5zdmdcIiBjbGFzcz1cInctMTAwIGJvcmRlckNsYXNzXCIvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtZW5kIGZsZXgtc3RhY2sgbXQtMiBtYi00IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBteC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrbGlzdFRleHQgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiY2FtZXJhVmlldzIoKVwiPlJlbW90ZSBFeWV0ZXN0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMiBjaGVja2xpc3RIZWFkXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIENyZWF0ZSB5b3VyIG93biAgLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjU3NjMgNy41MDAzM0M3Ljc3MjIyIDYuOTQzMzggOC4xNTg5MyA2LjQ3Mzc1IDguNjY3OTMgNi4xNzQ2QzkuMTc2OTMgNS44NzU0NiA5Ljc3NTM4IDUuNzY2MTEgMTAuMzU3MyA1Ljg2NTkyQzEwLjkzOTIgNS45NjU3MyAxMS40NjcgNi4yNjgyNiAxMS44NDcyIDYuNzE5OTNDMTIuMjI3NCA3LjE3MTYgMTIuNDM1NSA3Ljc0MzI2IDEyLjQzNDYgOC4zMzM2NkMxMi40MzQ2IDEwLjAwMDMgOS45MzQ2NCAxMC44MzM3IDkuOTM0NjQgMTAuODMzN00xMC4wMDEzIDE0LjE2N0gxMC4wMDk2TTE4LjMzNDYgMTAuMDAwM0MxOC4zMzQ2IDE0LjYwMjcgMTQuNjAzNyAxOC4zMzM3IDEwLjAwMTMgMTguMzMzN0M1LjM5ODkzIDE4LjMzMzcgMS42Njc5NyAxNC42MDI3IDEuNjY3OTcgMTAuMDAwM0MxLjY2Nzk3IDUuMzk3OTUgNS4zOTg5MyAxLjY2Njk5IDEwLjAwMTMgMS42NjY5OUMxNC42MDM3IDEuNjY2OTkgMTguMzM0NiA1LjM5Nzk1IDE4LjMzNDYgMTAuMDAwM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtZmx1c2ggcm91bmRlZCByb3VuZGVkLTRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImQtYmxvY2tcIiBkYXRhLWZzbGlnaHRib3g9XCJsaWdodGJveC1ob3Qtc2FsZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2aWRlbyBjbGFzcz1cInctMTAwIGJvcmRlckNsYXNzIGgtMjUwcHhcIiBjb250cm9scyBhdXRvcGxheSBsb29wIHN0eWxlPVwib2JqZWN0LWZpdDogZmlsbDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIFtzcmNdPVwiZW52aXJvbm1lbnQuVHJheEFuc3dlckNETiArICdkZW1vLXZpZGVvL0ZhY3RvcnkgcWMubXA0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ2aWRlby9tcDRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92aWRlbz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvbmV3Q2hlY2tsaXN0LnN2Z1wiICBjbGFzcz1cInctMTAwIGJvcmRlckNsYXNzXCIvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtZW5kIGZsZXgtc3RhY2sgbXQtMiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN0YXJ0IG14LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tsaXN0VGV4dCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjYW1lcmFWaWV3MSgpXCI+RmFjdG9yeTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgIFxyXG4gICAgICBcclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTMgbWItNVwiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHQgbWItMlwiPkNoZWNrbGlzdCBJbmZvPC9zcGFuPlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgWyhuZ01vZGVsKV09XCJkeW5hbWljRGF0YS5zZWFyY2hcIiAoY2hhbmdlKT1cInNlYXJjaCgpXCIvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiJy9tYW5hZ2UvdHJheC9jcmVhdGVDaGVja2xpc3QnXCIgdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiIW5vRGF0YSAmJiAoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0FkZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjAwMTMgNC4xNjY5OVYxNS44MzM3TTQuMTY3OTcgMTAuMDAwM0gxNS44MzQ2XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMlwiPkNyZWF0ZSBDaGVja2xpc3Q8L3NwYW4+IDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwicm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIHBiLTVcIiAqbmdJZj1cIiFsb2FkaW5nICYmIG5vRGF0YVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCIgY2xhc3M9XCJzdGFydGNoZWNrbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrbGlzdF90ZXh0IGZ3LXNlbWlib2xkIG10LTYgY2hlY2tTdGFydFwiPlN0YXJ0IGJ5IGNyZWF0aW5nIGEgY2hlY2tsaXN0PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tsaXN0X3NwYW4gbXQtMSBjaGVja2xpc3RIZWFkXCI+QW55IGNoZWNrbGlzdCBjcmVhdGVkIHdpbGwgbGl2ZSBoZXJlLjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBkYXRhLWt0LXN1YnNjcmlwdGlvbi10YWJsZS10b29sYmFyPVwiYmFzZVwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3RhbmdvZXllLmFpL1wiIGNsYXNzPVwiYnRuLW91dGxpbmUgYnRuLW91dGxpbmUgYnRuIGJ0bi1saWdodCB1cGxvYWQgbXgtMyBweC0xNiBjaGVja1N0YXJ0XCI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1cGxvYWR0ZXh0XCI+SG93IFRvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZT88L3NwYW4+PC9hPlxyXG5cclxuICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIicvbWFuYWdlL3RyYXgvY3JlYXRlQ2hlY2tsaXN0J1wiIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTE2IG14LTIgbmctc3Rhci1pbnNlcnRlZCBjaGVja1N0YXJ0XCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvVHJheF9jaGVja2xpc3RfaXNBZGRcIj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjAwMDEgNC4xNjYwMlYxNS44MzI3TTQuMTY2NzUgOS45OTkzNUgxNS44MzM0XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9XCJjcmVhdGVcIj5DcmVhdGUgTmV3PC9zcGFuPjwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFub0RhdGEgJiYgIWxvYWRpbmdcIiBjYWxzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnY2hlY2tMaXN0TmFtZScpXCI+Q2hlY2tsaXN0IDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImR5bmFtaWNEYXRhLnNvcnRDb2x1bW4gPT09ICdjaGVja0xpc3ROYW1lJyAmJiBkeW5hbWljRGF0YS5zb3J0QnkgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PT0gJ2NoZWNrTGlzdE5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2NyZWF0ZWRCeU5hbWUnKVwiPkNoZWNrbGlzdCBPd25lciA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkeW5hbWljRGF0YS5zb3J0Q29sdW1uID09PSAnY3JlYXRlZEJ5TmFtZScgJiYgZHluYW1pY0RhdGEuc29ydEJ5ID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cImR5bmFtaWNEYXRhLnNvcnRDb2x1bW4gPT09ICdjcmVhdGVkQnlOYW1lJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdjb3ZlcmFnZScpXCI+Q292ZXJhZ2UgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PT0gJ2NvdmVyYWdlJyAmJiBkeW5hbWljRGF0YS5zb3J0QnkgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PT0gJ2NvdmVyYWdlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZUNvdW50JylcIj5Bc3NpZ25lZCBUbyA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkeW5hbWljRGF0YS5zb3J0Q29sdW1uID09PSAnc3RvcmVDb3VudCcgJiYgZHluYW1pY0RhdGEuc29ydEJ5ID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cImR5bmFtaWNEYXRhLnNvcnRDb2x1bW4gPT09ICdzdG9yZUNvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdxdWVzdGlvbkNvdW50JylcIj5Oby4gb2YgcXVlc3Rpb25zIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImR5bmFtaWNEYXRhLnNvcnRDb2x1bW4gPT09ICdxdWVzdGlvbkNvdW50JyAmJiBkeW5hbWljRGF0YS5zb3J0QnkgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PT0gJ3F1ZXN0aW9uQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3N0YXR1cycpXCI+U3RhdHVzIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImR5bmFtaWNEYXRhLnNvcnRDb2x1bW4gPT09ICdzdGF0dXMnICYmIGR5bmFtaWNEYXRhLnNvcnRCeSA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJkeW5hbWljRGF0YS5zb3J0Q29sdW1uID09PSAnc3RhdHVzJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5BY3Rpb25zPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3B1Ymxpc2gnKVwiPlB1Ymxpc2ggPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PT0gJ3B1Ymxpc2gnICYmIGR5bmFtaWNEYXRhLnNvcnRCeSA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJkeW5hbWljRGF0YS5zb3J0Q29sdW1uID09PSAncHVibGlzaCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGRhdGEgb2YgY2hlY2tsaXN0RGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jYXBpdGFsaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN5bWJvbCBzeW1ib2wtMzVweCBzeW1ib2wtY2lyY2xlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsIGJnLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IG1lLTJcIj57e2RhdGEuY2hlY2tMaXN0Q2hhci50b1VwcGVyQ2FzZSgpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lIHRleHQtcHJpbWFyeVwiICpuZ0lmPVwiZGF0YT8uY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbSdcIj48YSBbcm91dGVyTGlua109XCJbJy9tYW5hZ2UvdHJheC9kYXNoYm9hcmQvaW5mbyddXCIgW3F1ZXJ5UGFyYW1zXT1cInt0eXBlOiAnQ2hlY2tsaXN0JywgY2hlY2tsaXN0OiBkYXRhLl9pZCB9XCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPiB7e2RhdGEuY2hlY2tMaXN0TmFtZX19PC9hPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeVwiICpuZ0lmPVwiZGF0YT8uY2hlY2tMaXN0VHlwZSAhPT0gJ2N1c3RvbSdcIj57e2RhdGEuY2hlY2tMaXN0TmFtZX19IDxzcGFuICpuZ0lmPVwiZGF0YT8uY2hlY2tMaXN0VHlwZSAhPT0gJ2N1c3RvbSdcIiBjbGFzcz1cIm14LTJcIj7inKg8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2RhdGEuY3JlYXRlZEJ5TmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2RhdGE/LmNvdmVyYWdlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkID57e2RhdGEuc3RvcmVDb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCA+e3tkYXRhLnF1ZXN0aW9uQ291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9XCJiYWRnZVwiIFtuZ0NsYXNzXT1cImRhdGEucHVibGlzaCA/ICdiYWRnZS1saWdodC1zdWNjZXNzJyA6ICdiYWRnZS1saWdodC1wcmltYXJ5J1wiPnt7KGRhdGEucHVibGlzaCA/ICdQdWJsaXNoZWQnIDonZHJhZnQnKSB8IHRpdGxlY2FzZX19PC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS02XCIgW25nQ2xhc3NdPVwiKCFkYXRhPy5wdWJsaXNoICYmIGRhdGEuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbScgJiYgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvVHJheF9jaGVja2xpc3RfaXNFZGl0KSA/ICdjdXJzb3ItcG9pbnRlcicgOiAnJ1wiIChjbGljayk9XCJjaGVja1Blcm1pc3Npb24oJ2VkaXQnLGRhdGEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTAuODMyMDMxIDkuOTk5NjdDMC44MzIwMzEgOS45OTk2NyA0LjE2NTM2IDMuMzMzMDEgOS45OTg3IDMuMzMzMDFDMTUuODMyIDMuMzMzMDEgMTkuMTY1NCA5Ljk5OTY3IDE5LjE2NTQgOS45OTk2N0MxOS4xNjU0IDkuOTk5NjcgMTUuODMyIDE2LjY2NjMgOS45OTg3IDE2LjY2NjNDNC4xNjUzNiAxNi42NjYzIDAuODMyMDMxIDkuOTk5NjcgMC44MzIwMzEgOS45OTk2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCIoIWRhdGEucHVibGlzaCAmJiBkYXRhLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nICYmIChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5UYW5nb1RyYXhfY2hlY2tsaXN0X2lzRWRpdCkgPyAnIzY2NzA4NScgOiAnI0QwRDVERCdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05Ljk5ODcgMTIuNDk5N0MxMS4zNzk0IDEyLjQ5OTcgMTIuNDk4NyAxMS4zODA0IDEyLjQ5ODcgOS45OTk2N0MxMi40OTg3IDguNjE4OTYgMTEuMzc5NCA3LjQ5OTY3IDkuOTk4NyA3LjQ5OTY3QzguNjE3OTkgNy40OTk2NyA3LjQ5ODcgOC42MTg5NiA3LjQ5ODcgOS45OTk2N0M3LjQ5ODcgMTEuMzgwNCA4LjYxNzk5IDEyLjQ5OTcgOS45OTg3IDEyLjQ5OTdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiKCFkYXRhLnB1Ymxpc2ggJiYgZGF0YS5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJyAmJiAoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0VkaXQpID8gJyM2NjcwODUnIDogJyNEMEQ1REQnXCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTZcIiBbbmdDbGFzc109XCIoKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvVHJheF9jaGVja2xpc3RfaXNFZGl0KSA/ICdjdXJzb3ItcG9pbnRlcicgOiAnJ1wiICAoY2xpY2spPVwiY2hlY2tQZXJtaXNzaW9uKCdzZXR0aW5nJyxkYXRhKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjI1NF8yMDI2MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuOTk4NyAxMi40OTk3QzExLjM3OTQgMTIuNDk5NyAxMi40OTg3IDExLjM4MDQgMTIuNDk4NyA5Ljk5OTY3QzEyLjQ5ODcgOC42MTg5NiAxMS4zNzk0IDcuNDk5NjcgOS45OTg3IDcuNDk5NjdDOC42MTc5OSA3LjQ5OTY3IDcuNDk4NyA4LjYxODk2IDcuNDk4NyA5Ljk5OTY3QzcuNDk4NyAxMS4zODA0IDguNjE3OTkgMTIuNDk5NyA5Ljk5ODcgMTIuNDk5N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiKChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5UYW5nb1RyYXhfY2hlY2tsaXN0X2lzRWRpdCkgPyAnIzY2NzA4NScgOiAnI0QwRDVERCdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE2LjE2NTQgMTIuNDk5N0MxNi4wNTQ0IDEyLjc1MSAxNi4wMjEzIDEzLjAyOTggMTYuMDcwNCAxMy4zMDAyQzE2LjExOTQgMTMuNTcwNSAxNi4yNDgyIDEzLjgxOTkgMTYuNDQwNCAxNC4wMTYzTDE2LjQ5MDQgMTQuMDY2M0MxNi42NDUzIDE0LjIyMTEgMTYuNzY4MyAxNC40MDQ5IDE2Ljg1MjEgMTQuNjA3M0MxNi45MzYgMTQuODA5NiAxNi45NzkyIDE1LjAyNjUgMTYuOTc5MiAxNS4yNDU1QzE2Ljk3OTIgMTUuNDY0NSAxNi45MzYgMTUuNjgxNCAxNi44NTIxIDE1Ljg4MzdDMTYuNzY4MyAxNi4wODYxIDE2LjY0NTMgMTYuMjY5OSAxNi40OTA0IDE2LjQyNDdDMTYuMzM1NiAxNi41Nzk2IDE2LjE1MTggMTYuNzAyNiAxNS45NDk0IDE2Ljc4NjRDMTUuNzQ3MSAxNi44NzAzIDE1LjUzMDIgMTYuOTEzNSAxNS4zMTEyIDE2LjkxMzVDMTUuMDkyMiAxNi45MTM1IDE0Ljg3NTMgMTYuODcwMyAxNC42NzMgMTYuNzg2NEMxNC40NzA2IDE2LjcwMjYgMTQuMjg2OCAxNi41Nzk2IDE0LjEzMiAxNi40MjQ3TDE0LjA4MiAxNi4zNzQ3QzEzLjg4NTYgMTYuMTgyNiAxMy42MzYyIDE2LjA1MzcgMTMuMzY1OSAxNi4wMDQ3QzEzLjA5NTUgMTUuOTU1NyAxMi44MTY3IDE1Ljk4ODcgMTIuNTY1NCAxNi4wOTk3QzEyLjMxODkgMTYuMjA1MyAxMi4xMDg3IDE2LjM4MDcgMTEuOTYwNiAxNi42MDQzQzExLjgxMjYgMTYuODI3OSAxMS43MzMxIDE3LjA4OTkgMTEuNzMyIDE3LjM1OFYxNy40OTk3QzExLjczMiAxNy45NDE3IDExLjU1NjQgMTguMzY1NiAxMS4yNDM5IDE4LjY3ODJDMTAuOTMxMyAxOC45OTA3IDEwLjUwNzQgMTkuMTY2MyAxMC4wNjU0IDE5LjE2NjNDOS42MjMzNCAxOS4xNjYzIDkuMTk5NDEgMTguOTkwNyA4Ljg4Njg1IDE4LjY3ODJDOC41NzQyOSAxOC4zNjU2IDguMzk4NyAxNy45NDE3IDguMzk4NyAxNy40OTk3VjE3LjQyNDdDOC4zOTIyNSAxNy4xNDg4IDguMzAyOTYgMTYuODgxMyA4LjE0MjQ2IDE2LjY1NjlDNy45ODE5NSAxNi40MzI1IDcuNzU3NjQgMTYuMjYxNiA3LjQ5ODcgMTYuMTY2M0M3LjI0NzM1IDE2LjA1NTQgNi45Njg1NCAxNi4wMjIzIDYuNjk4MjEgMTYuMDcxM0M2LjQyNzg4IDE2LjEyMDQgNi4xNzg0MyAxNi4yNDkyIDUuOTgyMDMgMTYuNDQxM0w1LjkzMjAzIDE2LjQ5MTNDNS43NzcyNCAxNi42NDYzIDUuNTkzNDMgMTYuNzY5MiA1LjM5MTEgMTYuODUzMUM1LjE4ODc3IDE2LjkzNyA0Ljk3MTg5IDE2Ljk4MDIgNC43NTI4NiAxNi45ODAyQzQuNTMzODQgMTYuOTgwMiA0LjMxNjk2IDE2LjkzNyA0LjExNDYzIDE2Ljg1MzFDMy45MTIzIDE2Ljc2OTIgMy43Mjg0OSAxNi42NDYzIDMuNTczNyAxNi40OTEzQzMuNDE4NzQgMTYuMzM2NiAzLjI5NTgxIDE2LjE1MjcgMy4yMTE5MyAxNS45NTA0QzMuMTI4MDYgMTUuNzQ4MSAzLjA4NDg5IDE1LjUzMTIgMy4wODQ4OSAxNS4zMTIyQzMuMDg0ODkgMTUuMDkzMSAzLjEyODA2IDE0Ljg3NjMgMy4yMTE5MyAxNC42NzM5QzMuMjk1ODEgMTQuNDcxNiAzLjQxODc0IDE0LjI4NzggMy41NzM3IDE0LjEzM0wzLjYyMzcgMTQuMDgzQzMuODE1ODEgMTMuODg2NiAzLjk0NDY5IDEzLjYzNzIgMy45OTM3IDEzLjM2NjhDNC4wNDI3MiAxMy4wOTY1IDQuMDA5NjMgMTIuODE3NyAzLjg5ODcgMTIuNTY2M0MzLjc5MzA2IDEyLjMxOTkgMy42MTc2NiAxMi4xMDk3IDMuMzk0MDkgMTEuOTYxNkMzLjE3MDUxIDExLjgxMzUgMi45MDg1MiAxMS43MzQxIDIuNjQwMzYgMTEuNzMzSDIuNDk4N0MyLjA1NjY3IDExLjczMyAxLjYzMjc1IDExLjU1NzQgMS4zMjAxOSAxMS4yNDQ5QzEuMDA3NjMgMTAuOTMyMyAwLjgzMjAzMSAxMC41MDg0IDAuODMyMDMxIDEwLjA2NjNDMC44MzIwMzEgOS42MjQzMSAxLjAwNzYzIDkuMjAwMzkgMS4zMjAxOSA4Ljg4NzgzQzEuNjMyNzUgOC41NzUyNyAyLjA1NjY3IDguMzk5NjcgMi40OTg3IDguMzk5NjdIMi41NzM3QzIuODQ5NTMgOC4zOTMyMiAzLjExNzAzIDguMzAzOTQgMy4zNDE0NSA4LjE0MzQzQzMuNTY1ODYgNy45ODI5MyAzLjczNjc5IDcuNzU4NjIgMy44MzIwMyA3LjQ5OTY3QzMuOTQyOTYgNy4yNDgzMyAzLjk3NjA1IDYuOTY5NTEgMy45MjcwMyA2LjY5OTE4QzMuODc4MDIgNi40Mjg4NSAzLjc0OTE0IDYuMTc5NDEgMy41NTcwMyA1Ljk4MzAxTDMuNTA3MDMgNS45MzMwMUMzLjM1MjA3IDUuNzc4MjIgMy4yMjkxNCA1LjU5NDQgMy4xNDUyNiA1LjM5MjA3QzMuMDYxMzkgNS4xODk3NCAzLjAxODIyIDQuOTcyODcgMy4wMTgyMiA0Ljc1Mzg0QzMuMDE4MjIgNC41MzQ4MSAzLjA2MTM5IDQuMzE3OTQgMy4xNDUyNiA0LjExNTYxQzMuMjI5MTQgMy45MTMyOCAzLjM1MjA3IDMuNzI5NDYgMy41MDcwMyAzLjU3NDY3QzMuNjYxODIgMy40MTk3MSAzLjg0NTYzIDMuMjk2NzggNC4wNDc5NiAzLjIxMjkxQzQuMjUwMjkgMy4xMjkwMyA0LjQ2NzE3IDMuMDg1ODYgNC42ODYyIDMuMDg1ODZDNC45MDUyMiAzLjA4NTg2IDUuMTIyMSAzLjEyOTAzIDUuMzI0NDMgMy4yMTI5MUM1LjUyNjc2IDMuMjk2NzggNS43MTA1OCAzLjQxOTcxIDUuODY1MzYgMy41NzQ2N0w1LjkxNTM2IDMuNjI0NjdDNi4xMTE3NiAzLjgxNjc5IDYuMzYxMjEgMy45NDU2NiA2LjYzMTU0IDMuOTk0NjhDNi45MDE4NyA0LjA0MzY5IDcuMTgwNjggNC4wMTA2IDcuNDMyMDMgMy44OTk2N0g3LjQ5ODdDNy43NDUxNyAzLjc5NDA0IDcuOTU1MzggMy42MTg2NCA4LjEwMzQ0IDMuMzk1MDZDOC4yNTE1IDMuMTcxNDkgOC4zMzA5NiAyLjkwOTUgOC4zMzIwMyAyLjY0MTM0VjIuNDk5NjdDOC4zMzIwMyAyLjA1NzY1IDguNTA3NjMgMS42MzM3MiA4LjgyMDE5IDEuMzIxMTZDOS4xMzI3NSAxLjAwODYgOS41NTY2NyAwLjgzMzAwOCA5Ljk5ODcgMC44MzMwMDhDMTAuNDQwNyAwLjgzMzAwOCAxMC44NjQ2IDEuMDA4NiAxMS4xNzcyIDEuMzIxMTZDMTEuNDg5OCAxLjYzMzcyIDExLjY2NTQgMi4wNTc2NSAxMS42NjU0IDIuNDk5NjdWMi41NzQ2N0MxMS42NjY0IDIuODQyODMgMTEuNzQ1OSAzLjEwNDgyIDExLjg5NCAzLjMyODRDMTIuMDQyIDMuNTUxOTcgMTIuMjUyMiAzLjcyNzM3IDEyLjQ5ODcgMy44MzMwMUMxMi43NSAzLjk0Mzk0IDEzLjAyODkgMy45NzcwMyAxMy4yOTkyIDMuOTI4MDFDMTMuNTY5NSAzLjg3OSAxMy44MTkgMy43NTAxMiAxNC4wMTU0IDMuNTU4MDFMMTQuMDY1NCAzLjUwODAxQzE0LjIyMDIgMy4zNTMwNSAxNC40MDQgMy4yMzAxMiAxNC42MDYzIDMuMTQ2MjRDMTQuODA4NiAzLjA2MjM3IDE1LjAyNTUgMy4wMTkyIDE1LjI0NDUgMy4wMTkyQzE1LjQ2MzYgMy4wMTkyIDE1LjY4MDQgMy4wNjIzNyAxNS44ODI4IDMuMTQ2MjRDMTYuMDg1MSAzLjIzMDEyIDE2LjI2ODkgMy4zNTMwNSAxNi40MjM3IDMuNTA4MDFDMTYuNTc4NyAzLjY2MjggMTYuNzAxNiAzLjg0NjYxIDE2Ljc4NTUgNC4wNDg5NEMxNi44NjkzIDQuMjUxMjcgMTYuOTEyNSA0LjQ2ODE1IDE2LjkxMjUgNC42ODcxN0MxNi45MTI1IDQuOTA2MiAxNi44NjkzIDUuMTIzMDggMTYuNzg1NSA1LjMyNTQxQzE2LjcwMTYgNS41Mjc3NCAxNi41Nzg3IDUuNzExNTUgMTYuNDIzNyA1Ljg2NjM0TDE2LjM3MzcgNS45MTYzNEMxNi4xODE2IDYuMTEyNzQgMTYuMDUyNyA2LjM2MjE5IDE2LjAwMzcgNi42MzI1MkMxNS45NTQ3IDYuOTAyODUgMTUuOTg3OCA3LjE4MTY2IDE2LjA5ODcgNy40MzMwMVY3LjQ5OTY3QzE2LjIwNDMgNy43NDYxNSAxNi4zNzk3IDcuOTU2MzUgMTYuNjAzMyA4LjEwNDQyQzE2LjgyNjkgOC4yNTI0OCAxNy4wODg5IDguMzMxOTQgMTcuMzU3IDguMzMzMDFIMTcuNDk4N0MxNy45NDA3IDguMzMzMDEgMTguMzY0NiA4LjUwODYgMTguNjc3MiA4LjgyMTE2QzE4Ljk4OTggOS4xMzM3MiAxOS4xNjU0IDkuNTU3NjUgMTkuMTY1NCA5Ljk5OTY3QzE5LjE2NTQgMTAuNDQxNyAxOC45ODk4IDEwLjg2NTYgMTguNjc3MiAxMS4xNzgyQzE4LjM2NDYgMTEuNDkwNyAxNy45NDA3IDExLjY2NjMgMTcuNDk4NyAxMS42NjYzSDE3LjQyMzdDMTcuMTU1NSAxMS42Njc0IDE2Ljg5MzYgMTEuNzQ2OSAxNi42NyAxMS44OTQ5QzE2LjQ0NjQgMTIuMDQzIDE2LjI3MSAxMi4yNTMyIDE2LjE2NTQgMTIuNDk5N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvVHJheF9jaGVja2xpc3RfaXNFZGl0ID8gJyM2NjcwODUnIDogJyNEMEQ1REQnXCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMjU0XzIwMjYxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiXCIgW25nQ2xhc3NdPVwiKGRhdGEuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbScgJiYgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvVHJheF9jaGVja2xpc3RfaXNFZGl0KSA/ICdjdXJzb3ItcG9pbnRlcicgOiAnJ1wiICAoY2xpY2spPVwiY2hlY2tQZXJtaXNzaW9uKCdkdXBsaWNhdGUnLGRhdGEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMjU0XzIwMjY1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNC4xNjc5NyAxMi41MDAzSDMuMzM0NjRDMi44OTI2MSAxMi41MDAzIDIuNDY4NjggMTIuMzI0NyAyLjE1NjEyIDEyLjAxMjJDMS44NDM1NiAxMS42OTk2IDEuNjY3OTcgMTEuMjc1NyAxLjY2Nzk3IDEwLjgzMzdWMy4zMzM2NkMxLjY2Nzk3IDIuODkxNjMgMS44NDM1NiAyLjQ2NzcxIDIuMTU2MTIgMi4xNTUxNUMyLjQ2ODY4IDEuODQyNTkgMi44OTI2MSAxLjY2Njk5IDMuMzM0NjQgMS42NjY5OUgxMC44MzQ2QzExLjI3NjcgMS42NjY5OSAxMS43MDA2IDEuODQyNTkgMTIuMDEzMSAyLjE1NTE1QzEyLjMyNTcgMi40Njc3MSAxMi41MDEzIDIuODkxNjMgMTIuNTAxMyAzLjMzMzY2VjQuMTY2OTlNOS4xNjc5NyA3LjUwMDMzSDE2LjY2OEMxNy41ODg0IDcuNTAwMzMgMTguMzM0NiA4LjI0NjUyIDE4LjMzNDYgOS4xNjY5OVYxNi42NjdDMTguMzM0NiAxNy41ODc1IDE3LjU4ODQgMTguMzMzNyAxNi42NjggMTguMzMzN0g5LjE2Nzk3QzguMjQ3NDkgMTguMzMzNyA3LjUwMTMgMTcuNTg3NSA3LjUwMTMgMTYuNjY3VjkuMTY2OTlDNy41MDEzIDguMjQ2NTIgOC4yNDc0OSA3LjUwMDMzIDkuMTY3OTcgNy41MDAzM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiZGF0YS5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJyAmJiAoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0VkaXQgPyAnIzY2NzA4NScgOiAnI0QwRDVERCdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIyNTRfMjAyNjVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cImNoZWNrUGVybWlzc2lvbignZGVsZXRlJyxkYXRhKVwiIFtuZ0NsYXNzXT1cIiFkYXRhPy5wdWJsaXNoICYmIChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5UYW5nb1RyYXhfY2hlY2tsaXN0X2lzRWRpdCAgPyAnY3Vyc29yLXBvaW50ZXInIDogJydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDFcIiB2aWV3Qm94PVwiMCAwIDQwIDQxXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzMxNjJfMTA0MTQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi41IDE1LjAyMjhIMTQuMTY2N00xNC4xNjY3IDE1LjAyMjhIMjcuNU0xNC4xNjY3IDE1LjAyMjhWMjYuNjg5NUMxNC4xNjY3IDI3LjEzMTUgMTQuMzQyMyAyNy41NTU0IDE0LjY1NDggMjcuODY4QzE0Ljk2NzQgMjguMTgwNSAxNS4zOTEzIDI4LjM1NjEgMTUuODMzMyAyOC4zNTYxSDI0LjE2NjdDMjQuNjA4NyAyOC4zNTYxIDI1LjAzMjYgMjguMTgwNSAyNS4zNDUyIDI3Ljg2OEMyNS42NTc3IDI3LjU1NTQgMjUuODMzMyAyNy4xMzE1IDI1LjgzMzMgMjYuNjg5NVYxNS4wMjI4SDE0LjE2NjdaTTE2LjY2NjcgMTUuMDIyOFYxMy4zNTYxQzE2LjY2NjcgMTIuOTE0MSAxNi44NDIzIDEyLjQ5MDIgMTcuMTU0OCAxMi4xNzc2QzE3LjQ2NzQgMTEuODY1IDE3Ljg5MTMgMTEuNjg5NSAxOC4zMzMzIDExLjY4OTVIMjEuNjY2N0MyMi4xMDg3IDExLjY4OTUgMjIuNTMyNiAxMS44NjUgMjIuODQ1MiAxMi4xNzc2QzIzLjE1NzcgMTIuNDkwMiAyMy4zMzMzIDEyLjkxNDEgMjMuMzMzMyAxMy4zNTYxVjE1LjAyMjhNMTguMzMzMyAxOS4xODk1VjI0LjE4OTVNMjEuNjY2NyAxOS4xODk1VjI0LjE4OTVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiKCEoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0VkaXQgfHwgZGF0YS5wdWJsaXNoIHx8IGRhdGEuY2hlY2tMaXN0VHlwZSAhPT0gJ2N1c3RvbScpID8gJyNEMEQ1REQnIDonIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMxNjJfMTA0MTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwIDEwLjAyMzQpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1jaGVjayBmb3JtLXN3aXRjaFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgcm9sZT1cInN3aXRjaFwiIGlkPVwic3VwcG9ydFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBtdC0zIGN1cnNvci1wb2ludGVyXCIgKGNoYW5nZSk9XCJwdWJsaXNoKCRldmVudCwgZGF0YSxpKVwiIFtjaGVja2VkXT1cImRhdGE/LnB1Ymxpc2hcIiBbZGlzYWJsZWRdPVwiKCFkYXRhPy5zdG9yZUNvdW50ICYmIChkYXRhLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nIHx8ICFbJ2V5ZXRlc3QnLCAncmVtb3Rlb3B0b21ldHJpc3QnLCAnc3RvcmVoeWdpZW5lbW9uaXRvcmluZycsICdxdWV1ZWFsZXJ0JywgJ3N1c3BpY2lvdXNhY3Rpdml0eScsICdib3hhbGVydCcsICdzdXNwaWNpb3VzZm9vdGZhbGwnLCAnZHJpbmtpbmcnLCAnYmFnZGV0ZWN0aW9uJ10uaW5jbHVkZXMoZGF0YT8uY2hlY2tMaXN0VHlwZSkpKSB8fCAhKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvVHJheF9jaGVja2xpc3RfaXNFZGl0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cImR5bmFtaWNEYXRhLmxpbWl0XCIgW2N1cnJlbnRQYWdlXT1cImR5bmFtaWNEYXRhLm9mZnNldFwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgICAgICAgICAgW3BhZ2luYXRpb25TaXplc109XCJwYWdpbmF0aW9uU2l6ZXNcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIiAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4gLS0+Il19
|
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJheC9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tsaXN0L2NoZWNrbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2NoZWNrbGlzdC9jaGVja2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFTdEUsTUFBTSxPQUFPLGtCQUFrQjtJQW1CVDtJQUFtQztJQUFpQztJQUFnQztJQUE2QjtJQUF1QjtJQUEwQjtJQWxCdE0sT0FBTyxHQUFZLElBQUksQ0FBQztJQUN4QixNQUFNLEdBQVksS0FBSyxDQUFDO0lBQ3hCLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDdEIsVUFBVSxDQUFTO0lBQ25CLGVBQWUsR0FBUSxFQUFFLENBQUM7SUFDMUIsYUFBYSxHQUFRLEVBQUUsQ0FBQztJQUNoQixNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMvQixXQUFXLEdBQVE7UUFDakIsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUUsRUFBRTtRQUNiLE9BQU8sRUFBRSxFQUFFO1FBQ1gsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsQ0FBQztRQUNULFVBQVUsRUFBRSxFQUFFO1FBQ2QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUM7SUFD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QyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDL0MsV0FBVyxFQUFFO2dCQUNYLGtCQUFrQixFQUFFLFNBQVM7Z0JBQzdCLGFBQWEsRUFBRSxRQUFRO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0QsQ0FBQztJQUNDLFdBQVc7UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDL0MsV0FBVyxFQUFFO2dCQUNYLGtCQUFrQixFQUFFLG1CQUFtQjtnQkFDdkMsYUFBYSxFQUFFLElBQUk7YUFDcEI7U0FDRixDQUFDLENBQUM7SUFDRCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLDhCQUE4QixDQUFDLENBQUE7SUFFMUQsQ0FBQzt3R0F6U1Usa0JBQWtCOzRGQUFsQixrQkFBa0IscURDZC9CLG1sMUNBeWVVOzs0RkQzZEcsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UsIFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBtYXAsIFN1YmplY3QsIHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmF4cG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi90cmF4cG9wdXAvdHJheHBvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBUcmF4U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYXguc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jaGVja2xpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2xpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jaGVja2xpc3QuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja2xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgbm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcGFnZVNpemU6IG51bWJlciA9IDEwO1xyXG4gIHRvdGFsSXRlbXM6IG51bWJlcjtcclxuICBwYWdpbmF0aW9uU2l6ZXM6IGFueSA9IFtdO1xyXG4gIGNoZWNrbGlzdERhdGE6IGFueSA9IFtdO1xyXG4gIHByaXZhdGUgZGV0YWNoID0gbmV3IFN1YmplY3QoKTtcclxuICBkeW5hbWljRGF0YTogYW55ID0ge1xyXG4gICAgY2xpZW50SWQ6ICcnLFxyXG4gICAgc3RhcnREYXRlOiAnJyxcclxuICAgIGVuZERhdGU6ICcnLFxyXG4gICAgbGltaXQ6IDEwLFxyXG4gICAgb2Zmc2V0OiAxLFxyXG4gICAgc29ydENvbHVtbjogJycsXHJcbiAgICBzb3J0Qnk6ICcnLFxyXG4gICAgc2VhcmNoOiAnJ1xyXG4gIH07XHJcbiAgZW52aXJvbm1lbnQ6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UsIHByaXZhdGUgdHJheFNlcnZpY2U6IFRyYXhTZXJ2aWNlLCBwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSwgcHJpdmF0ZSB0b2FzdDogVG9hc3RTZXJ2aWNlLCBwcml2YXRlIHJvdXRlOiBSb3V0ZXIsIHByaXZhdGUgZGlhbG9nOiBOZ2JNb2RhbCwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQucGlwZSh0YWtlVW50aWwodGhpcy5kZXRhY2gpKS5zdWJzY3JpYmUoKGVudikgPT4ge1xyXG4gICAgICBpZiAoZW52KSB7XHJcbiAgICAgICAgdGhpcy5lbnZpcm9ubWVudCA9IGVudlxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBNdXRlIGFsbCA8YXVkaW8+IGFuZCA8dmlkZW8+IHBsYXllcnMgb24gdGhlIHBhZ2VcclxuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2F1ZGlvLCB2aWRlbycpLmZvckVhY2goKHBsYXllcjogYW55KSA9PiB7XHJcbiAgICAgIHBsYXllci5tdXRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRldGFjaCkpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDAwKSlcclxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGE/LmNsaWVudCkge1xyXG4gICAgICAgICAgdGhpcy5keW5hbWljRGF0YS5jbGllbnRJZCA9IGRhdGEuY2xpZW50O1xyXG4gICAgICAgICAgdGhpcy5nZXRDaGVja0xpc3QoKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgZGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2hlYWRlci1maWx0ZXJzJykgYXMgc3RyaW5nKTtcclxuICAgICAgICAgIHRoaXMuZHluYW1pY0RhdGEuY2xpZW50SWQgPSBkYXRhLmNsaWVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0Q2hlY2tMaXN0KClcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9KVxyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRldGFjaC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXRhY2guY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldFBhZ2VEYXRhKCkge1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZShcIkRhc2hib2FyZFwiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oXCJBdXRvbWF0ZSBvciBjcmVhdGUgY2hlY2tsaXN0cyB0byBpbXByb3ZlIG9wZXJhdGlvbmFsIGVmZmljaWVuY3lcIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogXCJEYXNoYm9hcmRcIiwgcGF0aDogXCIvbWFuYWdlL3RyYXgvY2hlY2tsaXN0XCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwiRGFzaGJvYXJkXCIsIHBhdGg6IFwiL21hbmFnZS90cmF4L2NoZWNrbGlzdFwiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlIH1cclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2hlY2tMaXN0KCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMudHJheFNlcnZpY2UuY2hlY2tsaXN0KHRoaXMuZHluYW1pY0RhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGV0YWNoKSk/LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhLnJlc3VsdC5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuY2hlY2tsaXN0RGF0YSA9IHJlcy5kYXRhLnJlc3VsdDtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhLmNvdW50O1xyXG4gICAgICAgICAgaWYgKHRoaXMudG90YWxJdGVtcyA8IDEwKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW3RoaXMudG90YWxJdGVtc107XHJcbiAgICAgICAgICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLmNoZWNrbGlzdERhdGEubGVuZ3RoO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudG9hc3QuZ2V0RXJyb3JUb2FzdChlcnJvci5lcnJvci5lcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU29ydChjb2x1bW46IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PSBjb2x1bW4pIHtcclxuICAgICAgdGhpcy5keW5hbWljRGF0YS5zb3J0QnkgPSB0aGlzLmR5bmFtaWNEYXRhLnNvcnRCeSA9PSAxID8gLTEgOiAxO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZHluYW1pY0RhdGEuc29ydENvbHVtbiA9IGNvbHVtbjtcclxuICAgICAgdGhpcy5keW5hbWljRGF0YS5zb3J0QnkgPSAxO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRDaGVja0xpc3QoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmR5bmFtaWNEYXRhLm9mZnNldCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRDaGVja0xpc3QoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5keW5hbWljRGF0YS5saW1pdCA9IGV2ZW50O1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5keW5hbWljRGF0YS5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy5nZXRDaGVja0xpc3QoKTtcclxuICB9XHJcblxyXG4gIHJlZGlyZWN0KGRhdGE6IGFueSwgZGV0YWlsczogYW55LCBjaGVja0xpc3RUeXBlPzogYW55KSB7XHJcbiAgICBpZiAoZGF0YSA9PSAnZWRpdCcpIHtcclxuICAgICAgdGhpcy5yb3V0ZS5uYXZpZ2F0ZUJ5VXJsKGAvbWFuYWdlL3RyYXgvY3JlYXRlQ2hlY2tsaXN0P2NoZWNrbGlzdElkPSR7ZGV0YWlsc31gKVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZGF0YSA9PSAnc2V0dGluZycgJiYgIWNoZWNrTGlzdFR5cGUpIHtcclxuICAgICAgdGhpcy5yb3V0ZS5uYXZpZ2F0ZUJ5VXJsKGAvbWFuYWdlL3RyYXgvY29uZmlndXJlP2NoZWNrTGlzdElkPSR7ZGV0YWlsc30mZGlzYWJsZWRRdWVzdGlvbj10cnVlYClcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGRhdGEgPT0gJ3NldHRpbmcnICYmIGNoZWNrTGlzdFR5cGUpIHtcclxuICAgICAgdGhpcy5yb3V0ZS5uYXZpZ2F0ZUJ5VXJsKGAvbWFuYWdlL3RyYXgvY29uZmlndXJlP2FpY2hlY2tMaXN0SWQ9JHtkZXRhaWxzfSZkaXNhYmxlZFF1ZXN0aW9uPXRydWUmdHlwZT0ke2NoZWNrTGlzdFR5cGV9YClcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGRhdGEgPT0gJ2R1cGxpY2F0ZScpIHtcclxuICAgICAgY29uc3QgcG9wdXBjb250ZW50ID0ge1xyXG4gICAgICAgIGRpc3BsYXlwcm9wOiBmYWxzZSxcclxuICAgICAgICBpbWFnZXNyYzogJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHZpZXdCb3g9XCIwIDAgMzYgMzZcIiBmaWxsPVwibm9uZVwiPjxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiByeD1cIjE2XCIgZmlsbD1cIiNEQUYxRkZcIi8+PGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81NTQ1XzY3NDMpXCI+PHBhdGggZD1cIk0xMy4zMzMgMjAuMDAwN0gxMi42NjYzQzEyLjMxMjcgMjAuMDAwNyAxMS45NzM2IDE5Ljg2MDIgMTEuNzIzNSAxOS42MTAxQzExLjQ3MzUgMTkuMzYwMSAxMS4zMzMgMTkuMDIwOSAxMS4zMzMgMTguNjY3M1YxMi42NjczQzExLjMzMyAxMi4zMTM3IDExLjQ3MzUgMTEuOTc0NiAxMS43MjM1IDExLjcyNDVDMTEuOTczNiAxMS40NzQ1IDEyLjMxMjcgMTEuMzM0IDEyLjY2NjMgMTEuMzM0SDE4LjY2NjNDMTkuMDIgMTEuMzM0IDE5LjM1OTEgMTEuNDc0NSAxOS42MDkyIDExLjcyNDVDMTkuODU5MiAxMS45NzQ2IDE5Ljk5OTcgMTIuMzEzNyAxOS45OTk3IDEyLjY2NzNWMTMuMzM0TTE3LjMzMyAxNi4wMDA3SDIzLjMzM0MyNC4wNjk0IDE2LjAwMDcgMjQuNjY2MyAxNi41OTc2IDI0LjY2NjMgMTcuMzM0VjIzLjMzNEMyNC42NjYzIDI0LjA3MDQgMjQuMDY5NCAyNC42NjczIDIzLjMzMyAyNC42NjczSDE3LjMzM0MxNi41OTY2IDI0LjY2NzMgMTUuOTk5NyAyNC4wNzA0IDE1Ljk5OTcgMjMuMzM0VjE3LjMzNEMxNS45OTk3IDE2LjU5NzYgMTYuNTk2NiAxNi4wMDA3IDE3LjMzMyAxNi4wMDA3WlwiIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvZz48cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgcng9XCIxNlwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCI0XCIvPjxkZWZzPjxjbGlwUGF0aCBpZD1cImNsaXAwXzU1NDVfNjc0M1wiPjxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMCAxMClcIi8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+JyxcclxuICAgICAgICB0aXRsZTogYER1cGxpY2F0ZSAnJHtkZXRhaWxzLmNoZWNrTGlzdE5hbWV9IFNlY3Rpb24nP2AsXHJcbiAgICAgICAgY29udGVudDogYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkdXBsaWNhdGUgPGI+JyR7ZGV0YWlscy5jaGVja0xpc3ROYW1lfSc/PC9iPiBUaGlzIGFjdGlvbiBjYW5ub3QgYmUgdW5kb25lLmAsXHJcbiAgICAgICAgYnV0dG9udHlwZTogJ2R1cGxpY2F0ZSdcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFRyYXhwb3B1cENvbXBvbmVudCwgeyBjZW50ZXJlZDogdHJ1ZSwgc2l6ZTogJ21kJyB9KTtcclxuICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLmRhdGEgPSBwb3B1cGNvbnRlbnQ7XHJcbiAgICAgIGRpYWxvZ1JlZi5yZXN1bHQudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyA9PSAnZHVwbGljYXRlJykge1xyXG4gICAgICAgICAgdGhpcy50cmF4U2VydmljZS5kdXBsaWNhdGVjaGVja2xpc3QoeyBjaGVja2xpc3RJZDogZGV0YWlscy5faWQsIGNsaWVudElkOiB0aGlzLmR5bmFtaWNEYXRhLmNsaWVudElkIH0pLnBpcGUodGFrZVVudGlsKHRoaXMuZGV0YWNoKSk/LnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldENoZWNrTGlzdCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdC5nZXRTdWNjZXNzVG9hc3QoYCR7ZGV0YWlscy5jaGVja0xpc3ROYW1lfSBoYXMgYmVlbiBkdXBsaWNhdGVkLmApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IGVyciA9IGVycm9yPy5lcnJvcj8uZXJyb3IgfHwgJ1NvbWV0aGluZyB3ZW50IHdyb25nJztcclxuICAgICAgICAgICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCBwb3B1cGNvbnRlbnQgPSB7XHJcbiAgICAgICAgZGlzcGxheXByb3A6IGZhbHNlLFxyXG4gICAgICAgIGltYWdlc3JjOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgdmlld0JveD1cIjAgMCAzNiAzNlwiIGZpbGw9XCJub25lXCI+PHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0ZFRTRFMlwiLz48cGF0aCBkPVwiTTEyIDE0LjAwMDdIMTMuMzMzM00xMy4zMzMzIDE0LjAwMDdIMjRNMTMuMzMzMyAxNC4wMDA3VjIzLjMzNEMxMy4zMzMzIDIzLjY4NzYgMTMuNDczOCAyNC4wMjY3IDEzLjcyMzkgMjQuMjc2OEMxMy45NzM5IDI0LjUyNjggMTQuMzEzIDI0LjY2NzMgMTQuNjY2NyAyNC42NjczSDIxLjMzMzNDMjEuNjg3IDI0LjY2NzMgMjIuMDI2MSAyNC41MjY4IDIyLjI3NjEgMjQuMjc2OEMyMi41MjYyIDI0LjAyNjcgMjIuNjY2NyAyMy42ODc2IDIyLjY2NjcgMjMuMzM0VjE0LjAwMDdIMTMuMzMzM1pNMTUuMzMzMyAxNC4wMDA3VjEyLjY2NzNDMTUuMzMzMyAxMi4zMTM3IDE1LjQ3MzggMTEuOTc0NiAxNS43MjM5IDExLjcyNDVDMTUuOTczOSAxMS40NzQ1IDE2LjMxMyAxMS4zMzQgMTYuNjY2NyAxMS4zMzRIMTkuMzMzM0MxOS42ODcgMTEuMzM0IDIwLjAyNjEgMTEuNDc0NSAyMC4yNzYxIDExLjcyNDVDMjAuNTI2MiAxMS45NzQ2IDIwLjY2NjcgMTIuMzEzNyAyMC42NjY3IDEyLjY2NzNWMTQuMDAwN00xNi42NjY3IDE3LjMzNFYyMS4zMzRNMTkuMzMzMyAxNy4zMzRWMjEuMzM0XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBzdHJva2U9XCIjRkVGM0YyXCIgc3Ryb2tlLXdpZHRoPVwiNFwiLz48L3N2Zz4nLFxyXG4gICAgICAgIHRpdGxlOiBgRGVsZXRlICcke2RldGFpbHMuY2hlY2tMaXN0TmFtZX0gU2VjdGlvbic/YCxcclxuICAgICAgICBjb250ZW50OiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSA8Yj4nJHtkZXRhaWxzLmNoZWNrTGlzdE5hbWV9Jz88L2I+IFRoaXMgYWN0aW9uIGNhbm5vdCBiZSB1bmRvbmUuYCxcclxuICAgICAgICBidXR0b250eXBlOiAnZGVsZXRlJ1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVHJheHBvcHVwQ29tcG9uZW50LCB7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnIH0pO1xyXG4gICAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UuZGF0YSA9IHBvcHVwY29udGVudDtcclxuICAgICAgZGlhbG9nUmVmLnJlc3VsdC50aGVuKChyZXMpID0+IHtcclxuICAgICAgICBpZiAocmVzID09ICdkZWxldGUnKSB7XHJcbiAgICAgICAgICB0aGlzLnRyYXhTZXJ2aWNlLmRlbGV0ZUNoZWNrbGlzdCh7IGlkOiBkZXRhaWxzLl9pZCwgY2xpZW50SWQ6IHRoaXMuZHluYW1pY0RhdGEuY2xpZW50SWQgfSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXRhY2gpKT8uc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2hlY2tMaXN0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LmdldFN1Y2Nlc3NUb2FzdChgJHtkZXRhaWxzLmNoZWNrTGlzdE5hbWV9IGhhcyBiZWVuIERlbGV0ZWQuYCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBsZXQgZXJyID0gZXJyb3I/LmVycm9yPy5lcnJvciB8fCAnU29tZXRoaW5nIHdlbnQgd3JvbmcnO1xyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3QuZ2V0RXJyb3JUb2FzdChlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGlzaChldmVudDogYW55LCBkYXRhOiBhbnksIGk6IG51bWJlcikge1xyXG4gICAgbGV0IHBvcHVwY29udGVudDtcclxuICAgIGxldCBodG1sQ29udGVudDogYW55O1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5jaGVja2VkKSB7XHJcbiAgICAgIHBvcHVwY29udGVudCA9IHtcclxuICAgICAgICBkaXNwbGF5cHJvcDogZmFsc2UsXHJcbiAgICAgICAgaW1hZ2VzcmM6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNTZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIj48cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIGZpbGw9XCIjRDFGQURGXCIvPjxwYXRoIGQ9XCJNMzggMjcuMDgxOFYyOC4wMDE4QzM3Ljk5ODggMzAuMTU4MiAzNy4zMDA1IDMyLjI1NjUgMzYuMDA5MyAzMy45ODM2QzM0LjcxODIgMzUuNzEwOCAzMi45MDMzIDM2Ljk3NDMgMzAuODM1NCAzNy41ODU3QzI4Ljc2NzQgMzguMTk3MSAyNi41NTczIDM4LjEyMzcgMjQuNTM0NSAzNy4zNzY0QzIyLjUxMTcgMzYuNjI5MSAyMC43ODQ3IDM1LjI0NzkgMTkuNjExIDMzLjQzODlDMTguNDM3MyAzMS42Mjk5IDE3Ljg3OTggMjkuNDg5OSAxOC4wMjE3IDI3LjMzODFDMTguMTYzNiAyNS4xODY0IDE4Ljk5NzIgMjMuMTM4MSAyMC4zOTgzIDIxLjQ5ODlDMjEuNzk5NCAxOS44NTk2IDIzLjY5MjggMTguNzE3MiAyNS43OTYyIDE4LjI0MkMyNy44OTk2IDE3Ljc2NjcgMzAuMTAwMyAxNy45ODQyIDMyLjA3IDE4Ljg2MThNMzggMjAuMDAxOEwyOCAzMC4wMTE4TDI1IDI3LjAxMThcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIHN0cm9rZT1cIiNFQ0ZERjNcIiBzdHJva2Utd2lkdGg9XCI4XCIvPjwvc3ZnPicsXHJcbiAgICAgICAgdGl0bGU6IGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcHVibGlzaCAnJHtkYXRhLmNoZWNrTGlzdE5hbWV9JyBjaGVja2xpc3Q/YCxcclxuICAgICAgICBjb250ZW50OiBgUHVibGlzaGluZyB3aWxsIG1ha2UgdGhpcyBjaGVja2xpc3QgbGl2ZSwgYW5kIGNoYW5nZXMgd2lsbCB0YWtlIGVmZmVjdCBpbW1lZGlhdGVseS5gLFxyXG4gICAgICAgIGJ1dHRvbnR5cGU6ICdjb25maXJtJ1xyXG4gICAgICB9XHJcbiAgICAgIGh0bWxDb250ZW50ID0gYCR7ZGF0YS5jaGVja0xpc3ROYW1lfSBoYXMgYmVlbiBwdWJsaXNoZWQ8L2Rpdj5gO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHBvcHVwY29udGVudCA9IHtcclxuICAgICAgICBkaXNwbGF5cHJvcDogZmFsc2UsXHJcbiAgICAgICAgaW1hZ2VzcmM6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNTZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIj48cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIGZpbGw9XCIjRkVGMEM3XCIvPjxwYXRoIGQ9XCJNMjcuOTk5OCAyNC4wMDEyVjI4LjAwMTJNMjcuOTk5OCAzMi4wMDEySDI4LjAwOThNMjYuMjg5OCAxOC44NjEyTDE3LjgxOTggMzMuMDAxMkMxNy42NDUxIDMzLjMwMzYgMTcuNTUyNyAzMy42NDY1IDE3LjU1MTggMzMuOTk1N0MxNy41NTA4IDM0LjM0NDkgMTcuNjQxMyAzNC42ODgzIDE3LjgxNDIgMzQuOTkxN0MxNy45ODcxIDM1LjI5NTEgMTguMjM2NSAzNS41NDc5IDE4LjUzNzUgMzUuNzI1QzE4LjgzODUgMzUuOTAyMSAxOS4xODA2IDM1Ljk5NzMgMTkuNTI5OCAzNi4wMDEySDM2LjQ2OThDMzYuODE5IDM1Ljk5NzMgMzcuMTYxMSAzNS45MDIxIDM3LjQ2MjEgMzUuNzI1QzM3Ljc2MzEgMzUuNTQ3OSAzOC4wMTI0IDM1LjI5NTEgMzguMTg1NCAzNC45OTE3QzM4LjM1ODMgMzQuNjg4MyAzOC40NDg4IDM0LjM0NDkgMzguNDQ3OCAzMy45OTU3QzM4LjQ0NjggMzMuNjQ2NSAzOC4zNTQ0IDMzLjMwMzYgMzguMTc5OCAzMy4wMDEyTDI5LjcwOTggMTguODYxMkMyOS41MzE1IDE4LjU2NzMgMjkuMjgwNSAxOC4zMjQzIDI4Ljk4MSAxOC4xNTU3QzI4LjY4MTQgMTcuOTg3IDI4LjM0MzUgMTcuODk4NCAyNy45OTk4IDE3Ljg5ODRDMjcuNjU2IDE3Ljg5ODQgMjcuMzE4MSAxNy45ODcgMjcuMDE4NiAxOC4xNTU3QzI2LjcxOTEgMTguMzI0MyAyNi40NjggMTguNTY3MyAyNi4yODk4IDE4Ljg2MTJaXCIgc3Ryb2tlPVwiI0RDNjgwM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBzdHJva2U9XCIjRkZGQUVCXCIgc3Ryb2tlLXdpZHRoPVwiOFwiLz48L3N2Zz4nLFxyXG4gICAgICAgIHRpdGxlOiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVucHVibGlzaCDigJgke2RhdGEuY2hlY2tMaXN0TmFtZX3igJkgY2hlY2tsaXN0P2AsXHJcbiAgICAgICAgY29udGVudDogYFVucHVibGlzaGluZyB3aWxsIHJlbW92ZSB0aGlzIGNoZWNrbGlzdCBpbW1lZGlhdGVseSwgYW5kIGl0IHdpbGwgbm8gbG9uZ2VyIGJlIHZpc2libGUgdG8gYXNzaWduZWQgbG9jYXRpb25zLmAsXHJcbiAgICAgICAgYnV0dG9udHlwZTogJ2NvbmZpcm0nXHJcbiAgICAgIH1cclxuICAgICAgaHRtbENvbnRlbnQgPSBgJHtkYXRhLmNoZWNrTGlzdE5hbWV9IGhhcyBiZWVuIHVucHVibGlzaGVkYDtcclxuICAgIH1cclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVHJheHBvcHVwQ29tcG9uZW50LCB7XHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnXHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5kYXRhID0gcG9wdXBjb250ZW50O1xyXG4gICAgZGlhbG9nUmVmLnJlc3VsdC50aGVuKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcyA9PSAnY29uZmlybScpIHtcclxuICAgICAgICB0aGlzLnRyYXhTZXJ2aWNlLnB1Ymxpc2goeyBwdWJsaXNoOiBldmVudC50YXJnZXQuY2hlY2tlZCwgY2xpZW50SWQ6IHRoaXMuZHluYW1pY0RhdGEuY2xpZW50SWQsIGNoZWNrbGlzdElkOiBkYXRhLl9pZCB9KS5waXBlKHRha2VVbnRpbCh0aGlzLmRldGFjaCkpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Q2hlY2tMaXN0KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmNoZWNrZWQgPSBkYXRhLnB1Ymxpc2hcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgZXZlbnQudGFyZ2V0LmNoZWNrZWQgPSBkYXRhLnB1Ymxpc2g7XHJcbiAgICAgICAgICBsZXQgZXJyID0gZXJyb3I/LmVycm9yPy5lcnJvciB8fCAnUGxlYXNlIHRyeSBhZnRlciBzb21ldGltZXMnO1xyXG4gICAgICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KGVycik7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGV2ZW50LnRhcmdldC5jaGVja2VkID0gZGF0YS5wdWJsaXNoO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIHNlYXJjaCgpIHtcclxuICAgIHRoaXMuZHluYW1pY0RhdGEub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMuZHluYW1pY0RhdGEubGltaXQgPSAxMDtcclxuICAgIHRoaXMucGFnZVNpemUgPSAxMDtcclxuICAgIHRoaXMuZHluYW1pY0RhdGEuc29ydENvbHVtbiA9ICcnO1xyXG4gICAgdGhpcy5keW5hbWljRGF0YS5zb3J0QnkgPSAnJztcclxuICAgIHRoaXMuZ2V0Q2hlY2tMaXN0KCk7XHJcbiAgfVxyXG5cclxuICByZWRpcmVjdFVybCh0eXBlOiBhbnkpIHtcclxuICAgIHRoaXMucm91dGUubmF2aWdhdGVCeVVybChgL21hbmFnZS90cmF4L2NoZWNrbGlzdC9tYW5hZ2VjaGVja2xpc3Q/dHlwZT0ke3R5cGV9YClcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvbih0eXBlOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgY29uc3Qgc3ViID0gdGhpcy5ncy51c2VyQWNjZXNzLnBpcGUobWFwKCh2YWwpID0+IHtcclxuICAgICAgaWYgKHZhbD8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0VkaXQpIHtcclxuICAgICAgICBpZiAoZGF0YS5jaGVja0xpc3RUeXBlID09ICdjdXN0b20nKSB7XHJcbiAgICAgICAgICBpZiAoWydlZGl0JywgJ2RlbGV0ZSddLmluY2x1ZGVzKHR5cGUpICYmICFkYXRhLnB1Ymxpc2gpIHtcclxuICAgICAgICAgICAgZGF0YSA9IHR5cGUgPT0gJ2VkaXQnID8gZGF0YS5faWQgOiBkYXRhO1xyXG4gICAgICAgICAgICB0aGlzLnJlZGlyZWN0KHR5cGUsIGRhdGEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoWydkdXBsaWNhdGUnLCAnc2V0dGluZyddLmluY2x1ZGVzKHR5cGUpKSB7XHJcbiAgICAgICAgICAgIGRhdGEgPSB0eXBlID09ICdzZXR0aW5nJyA/IGRhdGEuX2lkIDogZGF0YTtcclxuICAgICAgICAgICAgdGhpcy5yZWRpcmVjdCh0eXBlLCBkYXRhKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5jaGVja0xpc3RUeXBlICE9PSAnY3VzdG9tJykge1xyXG4gICAgICAgICAgY29uc3QgaWQgPSB0eXBlID09ICdzZXR0aW5nJyA/IGRhdGEuX2lkIDogZGF0YTtcclxuICAgICAgICAgIHRoaXMucmVkaXJlY3QodHlwZSwgaWQsIGRhdGE/LmNoZWNrTGlzdFR5cGUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KSkuc3Vic2NyaWJlKClcclxuXHJcbiAgICBzdWIudW5zdWJzY3JpYmUoKVxyXG4gIH1cclxuICBjYW1lcmFWaWV3KCkge1xyXG4gICB0aGlzLnJvdXRlLm5hdmlnYXRlKFsnL21hbmFnZS90cmF4L2dhbGxlcnknXSwge1xyXG4gIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICBzb3VyY2VDaGVja0xpc3RfaWQ6ICdleWV0ZXN0JyxcclxuICAgIGNoZWNrbGlzdFR5cGU6ICdBSSdcclxuICB9XHJcbn0pO1xyXG4gIH1cclxuICBjYW1lcmFWaWV3MSgpIHtcclxuICAgdGhpcy5yb3V0ZS5uYXZpZ2F0ZShbJy9tYW5hZ2UvdHJheC9nYWxsZXJ5J10sIHtcclxuICBxdWVyeVBhcmFtczoge1xyXG4gICAgc291cmNlQ2hlY2tMaXN0X2lkOiAnZmFjdG9yeScsXHJcbiAgICBjaGVja2xpc3RUeXBlOiAnY3VzdG9tJ1xyXG4gIH1cclxufSk7XHJcbiAgfVxyXG4gICAgY2FtZXJhVmlldzIoKSB7XHJcbiAgIHRoaXMucm91dGUubmF2aWdhdGUoWycvbWFuYWdlL3RyYXgvZ2FsbGVyeSddLCB7XHJcbiAgcXVlcnlQYXJhbXM6IHtcclxuICAgIHNvdXJjZUNoZWNrTGlzdF9pZDogJ3JlbW90ZW9wdG9tZXRyaXN0JyxcclxuICAgIGNoZWNrbGlzdFR5cGU6ICdBSSdcclxuICB9XHJcbn0pO1xyXG4gIH1cclxuIFxyXG4gIG1hbmFnZVZpZXcoKSB7XHJcbiAgICB0aGlzLnJvdXRlLm5hdmlnYXRlQnlVcmwoYC9tYW5hZ2UvdHJheC9tYW5hZ2VjaGVja2xpc3RgKVxyXG5cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInAtNSBtYi0xMFwiPlxyXG5cclxuICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgbXQtM1wiPlxyXG4gICAgICAgIDxoMSBjbGFzcz1cIiBteS0wIGNoZWNrbGlzdFRpdGxlXCI+XHJcbiAgICAgICAgICAgIE1hbmFnZSBZb3VyIENoZWNrbGlzdFxyXG4gICAgICAgIDwvaDE+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEgY2hlY2tsaXN0SGVhZFwiPllvdSBjYW4gY3JlYXRlIGFuZCBtYW5hZ2UgeW91ciBjaGVja2xpc3QgaGVyZTwvZGl2PlxyXG4gICAgPC9kaXY+IC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNoZWNrbGlzdEhlYWRcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQ3JlYXRlIHlvdXIgb3duICAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNTc2MyA3LjUwMDMzQzcuNzcyMjIgNi45NDMzOCA4LjE1ODkzIDYuNDczNzUgOC42Njc5MyA2LjE3NDZDOS4xNzY5MyA1Ljg3NTQ2IDkuNzc1MzggNS43NjYxMSAxMC4zNTczIDUuODY1OTJDMTAuOTM5MiA1Ljk2NTczIDExLjQ2NyA2LjI2ODI2IDExLjg0NzIgNi43MTk5M0MxMi4yMjc0IDcuMTcxNiAxMi40MzU1IDcuNzQzMjYgMTIuNDM0NiA4LjMzMzY2QzEyLjQzNDYgMTAuMDAwMyA5LjkzNDY0IDEwLjgzMzcgOS45MzQ2NCAxMC44MzM3TTEwLjAwMTMgMTQuMTY3SDEwLjAwOTZNMTguMzM0NiAxMC4wMDAzQzE4LjMzNDYgMTQuNjAyNyAxNC42MDM3IDE4LjMzMzcgMTAuMDAxMyAxOC4zMzM3QzUuMzk4OTMgMTguMzMzNyAxLjY2Nzk3IDE0LjYwMjcgMS42Njc5NyAxMC4wMDAzQzEuNjY3OTcgNS4zOTc5NSA1LjM5ODkzIDEuNjY2OTkgMTAuMDAxMyAxLjY2Njk5QzE0LjYwMzcgMS42NjY5OSAxOC4zMzQ2IDUuMzk3OTUgMTguMzM0NiAxMC4wMDAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1mbHVzaCByb3VuZGVkIHJvdW5kZWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1ibG9ja1wiIGRhdGEtZnNsaWdodGJveD1cImxpZ2h0Ym94LWhvdC1zYWxlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZpZGVvIGNsYXNzPVwidy0xMDAgYm9yZGVyQ2xhc3MgaC0yNTBweFwiIGNvbnRyb2xzIGF1dG9wbGF5IGxvb3Agc3R5bGU9XCJvYmplY3QtZml0OiBmaWxsO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgW3NyY109XCJlbnZpcm9ubWVudC5UcmF4QW5zd2VyQ0ROICsgJ2RlbW8tdmlkZW8vdGFuZ28gdHJhZmZpYyBuZXcgZmluYWwgNV8xLm1wNCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidmlkZW8vbXA0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmlkZW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL25ld0NoZWNrbGlzdC5zdmdcIiAgY2xhc3M9XCJ3LTEwMCBib3JkZXJDbGFzc1wiLz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZCBmbGV4LXN0YWNrIG10LTIgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBteC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrbGlzdFRleHQgY3Vyc29yLXBvaW50ZXJcIiA+Rm9vdGZhbGw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmQgbXgtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5XCIgIFtyb3V0ZXJMaW5rXT1cIicvbWFuYWdlL3RyYWZmaWMnXCI+VmlldyBNb3JlPC9hPlxyXG48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNoZWNrbGlzdEhlYWRcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQ29uZmlndXJlIFByZWRlZmluZWQgQ2hlY2tsaXN0IC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy41NzYzIDcuNTAwMzNDNy43NzIyMiA2Ljk0MzM4IDguMTU4OTMgNi40NzM3NSA4LjY2NzkzIDYuMTc0NkM5LjE3NjkzIDUuODc1NDYgOS43NzUzOCA1Ljc2NjExIDEwLjM1NzMgNS44NjU5MkMxMC45MzkyIDUuOTY1NzMgMTEuNDY3IDYuMjY4MjYgMTEuODQ3MiA2LjcxOTkzQzEyLjIyNzQgNy4xNzE2IDEyLjQzNTUgNy43NDMyNiAxMi40MzQ2IDguMzMzNjZDMTIuNDM0NiAxMC4wMDAzIDkuOTM0NjQgMTAuODMzNyA5LjkzNDY0IDEwLjgzMzdNMTAuMDAxMyAxNC4xNjdIMTAuMDA5Nk0xOC4zMzQ2IDEwLjAwMDNDMTguMzM0NiAxNC42MDI3IDE0LjYwMzcgMTguMzMzNyAxMC4wMDEzIDE4LjMzMzdDNS4zOTg5MyAxOC4zMzM3IDEuNjY3OTcgMTQuNjAyNyAxLjY2Nzk3IDEwLjAwMDNDMS42Njc5NyA1LjM5Nzk1IDUuMzk4OTMgMS42NjY5OSAxMC4wMDEzIDEuNjY2OTlDMTQuNjAzNyAxLjY2Njk5IDE4LjMzNDYgNS4zOTc5NSAxOC4zMzQ2IDEwLjAwMDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWZsdXNoIHJvdW5kZWQgcm91bmRlZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBocmVmPVwiL3NvcC9Db25maWd1cmU/dHlwZT1tb2JpbGV1c2FnZWRldGVjdGlvblwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1ibG9jayB3LTEwMFwiIGRhdGEtZnNsaWdodGJveD1cImxpZ2h0Ym94LWhvdC1zYWxlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZpZGVvIGNsYXNzPVwidy0xMDAgYm9yZGVyQ2xhc3MgaC0yNTBweFwiIGNvbnRyb2xzIGF1dG9wbGF5IGxvb3Agc3R5bGU9XCJvYmplY3QtZml0OiBmaWxsO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgW3NyY109XCJlbnZpcm9ubWVudC5UcmF4QW5zd2VyQ0ROICsgJ2RlbW8tdmlkZW8vem9uZSB0YW5nbyBmaW5hbCA0LTEubXA0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ2aWRlby9tcDRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92aWRlbz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvcHJlZGVmaW5lZC5zdmdcIiBjbGFzcz1cInctMTAwIGJvcmRlckNsYXNzXCIvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtZW5kIGZsZXgtc3RhY2sgbXQtMiBtYi00IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBteC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrbGlzdFRleHQgY3Vyc29yLXBvaW50ZXJcIiBbcm91dGVyTGlua109XCInL21hbmFnZS96b25lcy92MidcIj5ab25lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIG14LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiICBbcm91dGVyTGlua109XCInL21hbmFnZS96b25lcy92MidcIj5WaWV3IE1vcmU8L2E+XHJcbjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMiBjaGVja2xpc3RIZWFkIFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBDb25maWd1cmUgeW91ciBQcmVkZWZpbmVkIEFJIGNoZWNrbGlzdCAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNTc2MyA3LjUwMDMzQzcuNzcyMjIgNi45NDMzOCA4LjE1ODkzIDYuNDczNzUgOC42Njc5MyA2LjE3NDZDOS4xNzY5MyA1Ljg3NTQ2IDkuNzc1MzggNS43NjYxMSAxMC4zNTczIDUuODY1OTJDMTAuOTM5MiA1Ljk2NTczIDExLjQ2NyA2LjI2ODI2IDExLjg0NzIgNi43MTk5M0MxMi4yMjc0IDcuMTcxNiAxMi40MzU1IDcuNzQzMjYgMTIuNDM0NiA4LjMzMzY2QzEyLjQzNDYgMTAuMDAwMyA5LjkzNDY0IDEwLjgzMzcgOS45MzQ2NCAxMC44MzM3TTEwLjAwMTMgMTQuMTY3SDEwLjAwOTZNMTguMzM0NiAxMC4wMDAzQzE4LjMzNDYgMTQuNjAyNyAxNC42MDM3IDE4LjMzMzcgMTAuMDAxMyAxOC4zMzM3QzUuMzk4OTMgMTguMzMzNyAxLjY2Nzk3IDE0LjYwMjcgMS42Njc5NyAxMC4wMDAzQzEuNjY3OTcgNS4zOTc5NSA1LjM5ODkzIDEuNjY2OTkgMTAuMDAxMyAxLjY2Njk5QzE0LjYwMzcgMS42NjY5OSAxOC4zMzQ2IDUuMzk3OTUgMTguMzM0NiAxMC4wMDAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1mbHVzaCByb3VuZGVkIHJvdW5kZWQtNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gaHJlZj1cIi9zb3AvQ29uZmlndXJlP3R5cGU9bW9iaWxldXNhZ2VkZXRlY3Rpb25cIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImQtYmxvY2sgdy0xMDBcIiBkYXRhLWZzbGlnaHRib3g9XCJsaWdodGJveC1ob3Qtc2FsZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2aWRlbyBjbGFzcz1cInctMTAwIGJvcmRlckNsYXNzIGgtMjUwcHhcIiBjb250cm9scyBhdXRvcGxheSBsb29wIHN0eWxlPVwib2JqZWN0LWZpdDogZmlsbDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIFtzcmNdPVwiZW52aXJvbm1lbnQuVHJheEFuc3dlckNETiArICdkZW1vLXZpZGVvL01hbmFnZSBDaGVja2xpc3QgKDEpLm1vdidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidmlkZW8vbXA0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmlkZW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL2FpY2hlY2tsaXN0LnN2Z1wiIGNsYXNzPVwidy0xMDAgYm9yZGVyQ2xhc3NcIiAvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtZW5kIGZsZXgtc3RhY2sgbXQtMiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN0YXJ0IG14LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tsaXN0VGV4dCBjdXJzb3ItcG9pbnRlclwiID5TT1A8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmQgbXgtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5XCIgIChjbGljayk9XCJtYW5hZ2VWaWV3KClcIj5WaWV3IE1vcmU8L2E+XHJcbjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMiBjaGVja2xpc3RIZWFkXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIENyZWF0ZSB5b3VyIG93biAgLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03LjU3NjMgNy41MDAzM0M3Ljc3MjIyIDYuOTQzMzggOC4xNTg5MyA2LjQ3Mzc1IDguNjY3OTMgNi4xNzQ2QzkuMTc2OTMgNS44NzU0NiA5Ljc3NTM4IDUuNzY2MTEgMTAuMzU3MyA1Ljg2NTkyQzEwLjkzOTIgNS45NjU3MyAxMS40NjcgNi4yNjgyNiAxMS44NDcyIDYuNzE5OTNDMTIuMjI3NCA3LjE3MTYgMTIuNDM1NSA3Ljc0MzI2IDEyLjQzNDYgOC4zMzM2NkMxMi40MzQ2IDEwLjAwMDMgOS45MzQ2NCAxMC44MzM3IDkuOTM0NjQgMTAuODMzN00xMC4wMDEzIDE0LjE2N0gxMC4wMDk2TTE4LjMzNDYgMTAuMDAwM0MxOC4zMzQ2IDE0LjYwMjcgMTQuNjAzNyAxOC4zMzM3IDEwLjAwMTMgMTguMzMzN0M1LjM5ODkzIDE4LjMzMzcgMS42Njc5NyAxNC42MDI3IDEuNjY3OTcgMTAuMDAwM0MxLjY2Nzk3IDUuMzk3OTUgNS4zOTg5MyAxLjY2Njk5IDEwLjAwMTMgMS42NjY5OUMxNC42MDM3IDEuNjY2OTkgMTguMzM0NiA1LjM5Nzk1IDE4LjMzNDYgMTAuMDAwM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtZmx1c2ggcm91bmRlZCByb3VuZGVkLTRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImQtYmxvY2tcIiBkYXRhLWZzbGlnaHRib3g9XCJsaWdodGJveC1ob3Qtc2FsZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2aWRlbyBjbGFzcz1cInctMTAwIGJvcmRlckNsYXNzIGgtMjUwcHhcIiBjb250cm9scyBhdXRvcGxheSBsb29wIHN0eWxlPVwib2JqZWN0LWZpdDogZmlsbDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIFtzcmNdPVwiZW52aXJvbm1lbnQuVHJheEFuc3dlckNETiArICdkZW1vLXZpZGVvL0xheW91dC1WZXJpZmljYXRpb24ubXA0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ2aWRlby9tcDRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92aWRlbz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvbmV3Q2hlY2tsaXN0LnN2Z1wiICBjbGFzcz1cInctMTAwIGJvcmRlckNsYXNzXCIvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtZW5kIGZsZXgtc3RhY2sgbXQtMiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN0YXJ0IG14LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tsaXN0VGV4dCBjdXJzb3ItcG9pbnRlclwiID5QbGFub2dyYW08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmQgbXgtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5XCIgIFtyb3V0ZXJMaW5rXT1cIicvbWFuYWdlL3BsYW5vZ3JhbS9tYW5hZ2UtcGxhbm9ncmFtcy92ZXJpZmljYXRpb24nXCI+VmlldyBNb3JlPC9hPlxyXG48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMiBjaGVja2xpc3RIZWFkXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIENvbmZpZ3VyZSBQcmVkZWZpbmVkIENoZWNrbGlzdCAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuNTc2MyA3LjUwMDMzQzcuNzcyMjIgNi45NDMzOCA4LjE1ODkzIDYuNDczNzUgOC42Njc5MyA2LjE3NDZDOS4xNzY5MyA1Ljg3NTQ2IDkuNzc1MzggNS43NjYxMSAxMC4zNTczIDUuODY1OTJDMTAuOTM5MiA1Ljk2NTczIDExLjQ2NyA2LjI2ODI2IDExLjg0NzIgNi43MTk5M0MxMi4yMjc0IDcuMTcxNiAxMi40MzU1IDcuNzQzMjYgMTIuNDM0NiA4LjMzMzY2QzEyLjQzNDYgMTAuMDAwMyA5LjkzNDY0IDEwLjgzMzcgOS45MzQ2NCAxMC44MzM3TTEwLjAwMTMgMTQuMTY3SDEwLjAwOTZNMTguMzM0NiAxMC4wMDAzQzE4LjMzNDYgMTQuNjAyNyAxNC42MDM3IDE4LjMzMzcgMTAuMDAxMyAxOC4zMzM3QzUuMzk4OTMgMTguMzMzNyAxLjY2Nzk3IDE0LjYwMjcgMS42Njc5NyAxMC4wMDAzQzEuNjY3OTcgNS4zOTc5NSA1LjM5ODkzIDEuNjY2OTkgMTAuMDAxMyAxLjY2Njk5QzE0LjYwMzcgMS42NjY5OSAxOC4zMzQ2IDUuMzk3OTUgMTguMzM0NiAxMC4wMDAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1mbHVzaCByb3VuZGVkIHJvdW5kZWQtNCBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIGhyZWY9XCIvc29wL0NvbmZpZ3VyZT90eXBlPW1vYmlsZXVzYWdlZGV0ZWN0aW9uXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWJsb2NrIHctMTAwXCIgZGF0YS1mc2xpZ2h0Ym94PVwibGlnaHRib3gtaG90LXNhbGVzXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZpZGVvIGNsYXNzPVwidy0xMDAgYm9yZGVyQ2xhc3MgaC0yNTBweFwiIGNvbnRyb2xzIGF1dG9wbGF5IGxvb3Agc3R5bGU9XCJvYmplY3QtZml0OiBmaWxsO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgW3NyY109XCJlbnZpcm9ubWVudC5UcmF4QW5zd2VyQ0ROICsgJ2RlbW8tdmlkZW8vRXllIHRlc3QubXA0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ2aWRlby9tcDRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92aWRlbz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvcHJlZGVmaW5lZC5zdmdcIiBjbGFzcz1cInctMTAwIGJvcmRlckNsYXNzXCIvPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtZW5kIGZsZXgtc3RhY2sgbXQtMiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN0YXJ0IG14LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tsaXN0VGV4dCBjdXJzb3ItcG9pbnRlclwiID5FeWV0ZXN0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIG14LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiICAoY2xpY2spPVwiY2FtZXJhVmlldygpXCI+VmlldyBNb3JlPC9hPlxyXG48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNoZWNrbGlzdEhlYWRcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQ29uZmlndXJlIFByZWRlZmluZWQgQ2hlY2tsaXN0IC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy41NzYzIDcuNTAwMzNDNy43NzIyMiA2Ljk0MzM4IDguMTU4OTMgNi40NzM3NSA4LjY2NzkzIDYuMTc0NkM5LjE3NjkzIDUuODc1NDYgOS43NzUzOCA1Ljc2NjExIDEwLjM1NzMgNS44NjU5MkMxMC45MzkyIDUuOTY1NzMgMTEuNDY3IDYuMjY4MjYgMTEuODQ3MiA2LjcxOTkzQzEyLjIyNzQgNy4xNzE2IDEyLjQzNTUgNy43NDMyNiAxMi40MzQ2IDguMzMzNjZDMTIuNDM0NiAxMC4wMDAzIDkuOTM0NjQgMTAuODMzNyA5LjkzNDY0IDEwLjgzMzdNMTAuMDAxMyAxNC4xNjdIMTAuMDA5Nk0xOC4zMzQ2IDEwLjAwMDNDMTguMzM0NiAxNC42MDI3IDE0LjYwMzcgMTguMzMzNyAxMC4wMDEzIDE4LjMzMzdDNS4zOTg5MyAxOC4zMzM3IDEuNjY3OTcgMTQuNjAyNyAxLjY2Nzk3IDEwLjAwMDNDMS42Njc5NyA1LjM5Nzk1IDUuMzk4OTMgMS42NjY5OSAxMC4wMDEzIDEuNjY2OTlDMTQuNjAzNyAxLjY2Njk5IDE4LjMzNDYgNS4zOTc5NSAxOC4zMzQ2IDEwLjAwMDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWZsdXNoIHJvdW5kZWQgcm91bmRlZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBocmVmPVwiL3NvcC9Db25maWd1cmU/dHlwZT1tb2JpbGV1c2FnZWRldGVjdGlvblwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1ibG9jayB3LTEwMFwiIGRhdGEtZnNsaWdodGJveD1cImxpZ2h0Ym94LWhvdC1zYWxlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZpZGVvIGNsYXNzPVwidy0xMDAgYm9yZGVyQ2xhc3MgaC0yNTBweFwiIGNvbnRyb2xzIGF1dG9wbGF5IGxvb3Agc3R5bGU9XCJvYmplY3QtZml0OiBmaWxsO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgW3NyY109XCJlbnZpcm9ubWVudC5UcmF4QW5zd2VyQ0ROICsgJ2RlbW8tdmlkZW8vcmVvbW90ZSBvcHR1bSAyX0guMjY0LTEgKDEpLm1wNCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidmlkZW8vbXA0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmlkZW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3ByZWRlZmluZWQuc3ZnXCIgY2xhc3M9XCJ3LTEwMCBib3JkZXJDbGFzc1wiLz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZCBmbGV4LXN0YWNrIG10LTIgbWItNCBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc3RhcnQgbXgtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGVja2xpc3RUZXh0IGN1cnNvci1wb2ludGVyXCIgPlJlbW90ZSBFeWV0ZXN0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIG14LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiICAoY2xpY2spPVwiY2FtZXJhVmlldzIoKVwiPlZpZXcgTW9yZTwvYT5cclxuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IG10LTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTIgY2hlY2tsaXN0SGVhZFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBDcmVhdGUgeW91ciBvd24gIC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy41NzYzIDcuNTAwMzNDNy43NzIyMiA2Ljk0MzM4IDguMTU4OTMgNi40NzM3NSA4LjY2NzkzIDYuMTc0NkM5LjE3NjkzIDUuODc1NDYgOS43NzUzOCA1Ljc2NjExIDEwLjM1NzMgNS44NjU5MkMxMC45MzkyIDUuOTY1NzMgMTEuNDY3IDYuMjY4MjYgMTEuODQ3MiA2LjcxOTkzQzEyLjIyNzQgNy4xNzE2IDEyLjQzNTUgNy43NDMyNiAxMi40MzQ2IDguMzMzNjZDMTIuNDM0NiAxMC4wMDAzIDkuOTM0NjQgMTAuODMzNyA5LjkzNDY0IDEwLjgzMzdNMTAuMDAxMyAxNC4xNjdIMTAuMDA5Nk0xOC4zMzQ2IDEwLjAwMDNDMTguMzM0NiAxNC42MDI3IDE0LjYwMzcgMTguMzMzNyAxMC4wMDEzIDE4LjMzMzdDNS4zOTg5MyAxOC4zMzM3IDEuNjY3OTcgMTQuNjAyNyAxLjY2Nzk3IDEwLjAwMDNDMS42Njc5NyA1LjM5Nzk1IDUuMzk4OTMgMS42NjY5OSAxMC4wMDEzIDEuNjY2OTlDMTQuNjAzNyAxLjY2Njk5IDE4LjMzNDYgNS4zOTc5NSAxOC4zMzQ2IDEwLjAwMDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWZsdXNoIHJvdW5kZWQgcm91bmRlZC00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWJsb2NrXCIgZGF0YS1mc2xpZ2h0Ym94PVwibGlnaHRib3gtaG90LXNhbGVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmlkZW8gY2xhc3M9XCJ3LTEwMCBib3JkZXJDbGFzcyBoLTI1MHB4XCIgY29udHJvbHMgYXV0b3BsYXkgbG9vcCBzdHlsZT1cIm9iamVjdC1maXQ6IGZpbGw7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBbc3JjXT1cImVudmlyb25tZW50LlRyYXhBbnN3ZXJDRE4gKyAnZGVtby12aWRlby9GYWN0b3J5IHFjLm1wNCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidmlkZW8vbXA0XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmlkZW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL25ld0NoZWNrbGlzdC5zdmdcIiAgY2xhc3M9XCJ3LTEwMCBib3JkZXJDbGFzc1wiLz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZCBmbGV4LXN0YWNrIG10LTIgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBteC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrbGlzdFRleHQgY3Vyc29yLXBvaW50ZXJcIiA+RmFjdG9yeTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWVuZCBteC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIiAgKGNsaWNrKT1cImNhbWVyYVZpZXcxKClcIj5WaWV3IE1vcmU8L2E+XHJcbjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgXHJcbiAgICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48IS0tIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG10LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtMyBtYi01XCI+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtdGV4dCBtYi0yXCI+Q2hlY2tsaXN0IEluZm88L3NwYW4+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiMTcuMDM2NVwiIHk9XCIxNS4xMjIzXCIgd2lkdGg9XCI4LjE1NTQ2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExIDE5QzYuNTU1NTYgMTkgMyAxNS40NDQ0IDMgMTFDMyA2LjU1NTU2IDYuNTU1NTYgMyAxMSAzQzE1LjQ0NDQgMyAxOSA2LjU1NTU2IDE5IDExQzE5IDE1LjQ0NDQgMTUuNDQ0NCAxOSAxMSAxOVpNMTEgNUM3LjUzMzMzIDUgNSA3LjUzMzMzIDUgMTFDNSAxNC40NjY3IDcuNTMzMzMgMTcgMTEgMTdDMTQuNDY2NyAxNyAxNyAxNC40NjY3IDE3IDExQzE3IDcuNTMzMzMgMTQuNDY2NyA1IDExIDVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBwcy0xNCBtZS0yXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIiBbKG5nTW9kZWwpXT1cImR5bmFtaWNEYXRhLnNlYXJjaFwiIChjaGFuZ2UpPVwic2VhcmNoKClcIi8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCInL21hbmFnZS90cmF4L2NyZWF0ZUNoZWNrbGlzdCdcIiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCIhbm9EYXRhICYmIChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5UYW5nb1RyYXhfY2hlY2tsaXN0X2lzQWRkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuMDAxMyA0LjE2Njk5VjE1LjgzMzdNNC4xNjc5NyAxMC4wMDAzSDE1LjgzNDZcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJtcy0yXCI+Q3JlYXRlIENoZWNrbGlzdDwvc3Bhbj4gPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgcGItNVwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgbm9EYXRhXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIiBjbGFzcz1cInN0YXJ0Y2hlY2tsaXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tsaXN0X3RleHQgZnctc2VtaWJvbGQgbXQtNiBjaGVja1N0YXJ0XCI+U3RhcnQgYnkgY3JlYXRpbmcgYSBjaGVja2xpc3Q8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2xpc3Rfc3BhbiBtdC0xIGNoZWNrbGlzdEhlYWRcIj5BbnkgY2hlY2tsaXN0IGNyZWF0ZWQgd2lsbCBsaXZlIGhlcmUuPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGRhdGEta3Qtc3Vic2NyaXB0aW9uLXRhYmxlLXRvb2xiYXI9XCJiYXNlXCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vdGFuZ29leWUuYWkvXCIgY2xhc3M9XCJidG4tb3V0bGluZSBidG4tb3V0bGluZSBidG4gYnRuLWxpZ2h0IHVwbG9hZCBteC0zIHB4LTE2IGNoZWNrU3RhcnRcIj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVwbG9hZHRleHRcIj5Ib3cgVG9cclxuICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlPzwvc3Bhbj48L2E+XHJcblxyXG4gICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiJy9tYW5hZ2UvdHJheC9jcmVhdGVDaGVja2xpc3QnXCIgdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtMTYgbXgtMiBuZy1zdGFyLWluc2VydGVkIGNoZWNrU3RhcnRcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7XCIgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0FkZFwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuMDAwMSA0LjE2NjAyVjE1LjgzMjdNNC4xNjY3NSA5Ljk5OTM1SDE1LjgzMzRcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz1cImNyZWF0ZVwiPkNyZWF0ZSBOZXc8L3NwYW4+PC9hPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIW5vRGF0YSAmJiAhbG9hZGluZ1wiIGNhbHNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdjaGVja0xpc3ROYW1lJylcIj5DaGVja2xpc3QgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PT0gJ2NoZWNrTGlzdE5hbWUnICYmIGR5bmFtaWNEYXRhLnNvcnRCeSA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJkeW5hbWljRGF0YS5zb3J0Q29sdW1uID09PSAnY2hlY2tMaXN0TmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnY3JlYXRlZEJ5TmFtZScpXCI+Q2hlY2tsaXN0IE93bmVyIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImR5bmFtaWNEYXRhLnNvcnRDb2x1bW4gPT09ICdjcmVhdGVkQnlOYW1lJyAmJiBkeW5hbWljRGF0YS5zb3J0QnkgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PT0gJ2NyZWF0ZWRCeU5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2NvdmVyYWdlJylcIj5Db3ZlcmFnZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkeW5hbWljRGF0YS5zb3J0Q29sdW1uID09PSAnY292ZXJhZ2UnICYmIGR5bmFtaWNEYXRhLnNvcnRCeSA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJkeW5hbWljRGF0YS5zb3J0Q29sdW1uID09PSAnY292ZXJhZ2UnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3N0b3JlQ291bnQnKVwiPkFzc2lnbmVkIFRvIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImR5bmFtaWNEYXRhLnNvcnRDb2x1bW4gPT09ICdzdG9yZUNvdW50JyAmJiBkeW5hbWljRGF0YS5zb3J0QnkgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwiZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PT0gJ3N0b3JlQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3F1ZXN0aW9uQ291bnQnKVwiPk5vLiBvZiBxdWVzdGlvbnMgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PT0gJ3F1ZXN0aW9uQ291bnQnICYmIGR5bmFtaWNEYXRhLnNvcnRCeSA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJkeW5hbWljRGF0YS5zb3J0Q29sdW1uID09PSAncXVlc3Rpb25Db3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3RhdHVzJylcIj5TdGF0dXMgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZHluYW1pY0RhdGEuc29ydENvbHVtbiA9PT0gJ3N0YXR1cycgJiYgZHluYW1pY0RhdGEuc29ydEJ5ID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cImR5bmFtaWNEYXRhLnNvcnRDb2x1bW4gPT09ICdzdGF0dXMnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPkFjdGlvbnM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgncHVibGlzaCcpXCI+UHVibGlzaCA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkeW5hbWljRGF0YS5zb3J0Q29sdW1uID09PSAncHVibGlzaCcgJiYgZHluYW1pY0RhdGEuc29ydEJ5ID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cImR5bmFtaWNEYXRhLnNvcnRDb2x1bW4gPT09ICdwdWJsaXNoJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZGF0YSBvZiBjaGVja2xpc3REYXRhO2xldCBpPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWNhcGl0YWxpemVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC0zNXB4IHN5bWJvbC1jaXJjbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzeW1ib2wtbGFiZWwgYmctbGlnaHQtcHJpbWFyeSB0ZXh0LXByaW1hcnkgbWUtMlwiPnt7ZGF0YS5jaGVja0xpc3RDaGFyLnRvVXBwZXJDYXNlKCl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgdGV4dC1wcmltYXJ5XCIgKm5nSWY9XCJkYXRhPy5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJ1wiPjxhIFtyb3V0ZXJMaW5rXT1cIlsnL21hbmFnZS90cmF4L2Rhc2hib2FyZC9pbmZvJ11cIiBbcXVlcnlQYXJhbXNdPVwie3R5cGU6ICdDaGVja2xpc3QnLCBjaGVja2xpc3Q6IGRhdGEuX2lkIH1cIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+IHt7ZGF0YS5jaGVja0xpc3ROYW1lfX08L2E+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1wcmltYXJ5XCIgKm5nSWY9XCJkYXRhPy5jaGVja0xpc3RUeXBlICE9PSAnY3VzdG9tJ1wiPnt7ZGF0YS5jaGVja0xpc3ROYW1lfX0gPHNwYW4gKm5nSWY9XCJkYXRhPy5jaGVja0xpc3RUeXBlICE9PSAnY3VzdG9tJ1wiIGNsYXNzPVwibXgtMlwiPuKcqDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZGF0YS5jcmVhdGVkQnlOYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZGF0YT8uY292ZXJhZ2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgPnt7ZGF0YS5zdG9yZUNvdW50fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkID57e2RhdGEucXVlc3Rpb25Db3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cImJhZGdlXCIgW25nQ2xhc3NdPVwiZGF0YS5wdWJsaXNoID8gJ2JhZGdlLWxpZ2h0LXN1Y2Nlc3MnIDogJ2JhZGdlLWxpZ2h0LXByaW1hcnknXCI+e3soZGF0YS5wdWJsaXNoID8gJ1B1Ymxpc2hlZCcgOidkcmFmdCcpIHwgdGl0bGVjYXNlfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTZcIiBbbmdDbGFzc109XCIoIWRhdGE/LnB1Ymxpc2ggJiYgZGF0YS5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJyAmJiAoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0VkaXQpID8gJ2N1cnNvci1wb2ludGVyJyA6ICcnXCIgKGNsaWNrKT1cImNoZWNrUGVybWlzc2lvbignZWRpdCcsZGF0YSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMC44MzIwMzEgOS45OTk2N0MwLjgzMjAzMSA5Ljk5OTY3IDQuMTY1MzYgMy4zMzMwMSA5Ljk5ODcgMy4zMzMwMUMxNS44MzIgMy4zMzMwMSAxOS4xNjU0IDkuOTk5NjcgMTkuMTY1NCA5Ljk5OTY3QzE5LjE2NTQgOS45OTk2NyAxNS44MzIgMTYuNjY2MyA5Ljk5ODcgMTYuNjY2M0M0LjE2NTM2IDE2LjY2NjMgMC44MzIwMzEgOS45OTk2NyAwLjgzMjAzMSA5Ljk5OTY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cIighZGF0YS5wdWJsaXNoICYmIGRhdGEuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbScgJiYgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvVHJheF9jaGVja2xpc3RfaXNFZGl0KSA/ICcjNjY3MDg1JyA6ICcjRDBENUREJ1wiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuOTk4NyAxMi40OTk3QzExLjM3OTQgMTIuNDk5NyAxMi40OTg3IDExLjM4MDQgMTIuNDk4NyA5Ljk5OTY3QzEyLjQ5ODcgOC42MTg5NiAxMS4zNzk0IDcuNDk5NjcgOS45OTg3IDcuNDk5NjdDOC42MTc5OSA3LjQ5OTY3IDcuNDk4NyA4LjYxODk2IDcuNDk4NyA5Ljk5OTY3QzcuNDk4NyAxMS4zODA0IDguNjE3OTkgMTIuNDk5NyA5Ljk5ODcgMTIuNDk5N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCIoIWRhdGEucHVibGlzaCAmJiBkYXRhLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nICYmIChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5UYW5nb1RyYXhfY2hlY2tsaXN0X2lzRWRpdCkgPyAnIzY2NzA4NScgOiAnI0QwRDVERCdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtNlwiIFtuZ0NsYXNzXT1cIigoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0VkaXQpID8gJ2N1cnNvci1wb2ludGVyJyA6ICcnXCIgIChjbGljayk9XCJjaGVja1Blcm1pc3Npb24oJ3NldHRpbmcnLGRhdGEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMjU0XzIwMjYxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS45OTg3IDEyLjQ5OTdDMTEuMzc5NCAxMi40OTk3IDEyLjQ5ODcgMTEuMzgwNCAxMi40OTg3IDkuOTk5NjdDMTIuNDk4NyA4LjYxODk2IDExLjM3OTQgNy40OTk2NyA5Ljk5ODcgNy40OTk2N0M4LjYxNzk5IDcuNDk5NjcgNy40OTg3IDguNjE4OTYgNy40OTg3IDkuOTk5NjdDNy40OTg3IDExLjM4MDQgOC42MTc5OSAxMi40OTk3IDkuOTk4NyAxMi40OTk3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCIoKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvVHJheF9jaGVja2xpc3RfaXNFZGl0KSA/ICcjNjY3MDg1JyA6ICcjRDBENUREJ1wiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTYuMTY1NCAxMi40OTk3QzE2LjA1NDQgMTIuNzUxIDE2LjAyMTMgMTMuMDI5OCAxNi4wNzA0IDEzLjMwMDJDMTYuMTE5NCAxMy41NzA1IDE2LjI0ODIgMTMuODE5OSAxNi40NDA0IDE0LjAxNjNMMTYuNDkwNCAxNC4wNjYzQzE2LjY0NTMgMTQuMjIxMSAxNi43NjgzIDE0LjQwNDkgMTYuODUyMSAxNC42MDczQzE2LjkzNiAxNC44MDk2IDE2Ljk3OTIgMTUuMDI2NSAxNi45NzkyIDE1LjI0NTVDMTYuOTc5MiAxNS40NjQ1IDE2LjkzNiAxNS42ODE0IDE2Ljg1MjEgMTUuODgzN0MxNi43NjgzIDE2LjA4NjEgMTYuNjQ1MyAxNi4yNjk5IDE2LjQ5MDQgMTYuNDI0N0MxNi4zMzU2IDE2LjU3OTYgMTYuMTUxOCAxNi43MDI2IDE1Ljk0OTQgMTYuNzg2NEMxNS43NDcxIDE2Ljg3MDMgMTUuNTMwMiAxNi45MTM1IDE1LjMxMTIgMTYuOTEzNUMxNS4wOTIyIDE2LjkxMzUgMTQuODc1MyAxNi44NzAzIDE0LjY3MyAxNi43ODY0QzE0LjQ3MDYgMTYuNzAyNiAxNC4yODY4IDE2LjU3OTYgMTQuMTMyIDE2LjQyNDdMMTQuMDgyIDE2LjM3NDdDMTMuODg1NiAxNi4xODI2IDEzLjYzNjIgMTYuMDUzNyAxMy4zNjU5IDE2LjAwNDdDMTMuMDk1NSAxNS45NTU3IDEyLjgxNjcgMTUuOTg4NyAxMi41NjU0IDE2LjA5OTdDMTIuMzE4OSAxNi4yMDUzIDEyLjEwODcgMTYuMzgwNyAxMS45NjA2IDE2LjYwNDNDMTEuODEyNiAxNi44Mjc5IDExLjczMzEgMTcuMDg5OSAxMS43MzIgMTcuMzU4VjE3LjQ5OTdDMTEuNzMyIDE3Ljk0MTcgMTEuNTU2NCAxOC4zNjU2IDExLjI0MzkgMTguNjc4MkMxMC45MzEzIDE4Ljk5MDcgMTAuNTA3NCAxOS4xNjYzIDEwLjA2NTQgMTkuMTY2M0M5LjYyMzM0IDE5LjE2NjMgOS4xOTk0MSAxOC45OTA3IDguODg2ODUgMTguNjc4MkM4LjU3NDI5IDE4LjM2NTYgOC4zOTg3IDE3Ljk0MTcgOC4zOTg3IDE3LjQ5OTdWMTcuNDI0N0M4LjM5MjI1IDE3LjE0ODggOC4zMDI5NiAxNi44ODEzIDguMTQyNDYgMTYuNjU2OUM3Ljk4MTk1IDE2LjQzMjUgNy43NTc2NCAxNi4yNjE2IDcuNDk4NyAxNi4xNjYzQzcuMjQ3MzUgMTYuMDU1NCA2Ljk2ODU0IDE2LjAyMjMgNi42OTgyMSAxNi4wNzEzQzYuNDI3ODggMTYuMTIwNCA2LjE3ODQzIDE2LjI0OTIgNS45ODIwMyAxNi40NDEzTDUuOTMyMDMgMTYuNDkxM0M1Ljc3NzI0IDE2LjY0NjMgNS41OTM0MyAxNi43NjkyIDUuMzkxMSAxNi44NTMxQzUuMTg4NzcgMTYuOTM3IDQuOTcxODkgMTYuOTgwMiA0Ljc1Mjg2IDE2Ljk4MDJDNC41MzM4NCAxNi45ODAyIDQuMzE2OTYgMTYuOTM3IDQuMTE0NjMgMTYuODUzMUMzLjkxMjMgMTYuNzY5MiAzLjcyODQ5IDE2LjY0NjMgMy41NzM3IDE2LjQ5MTNDMy40MTg3NCAxNi4zMzY2IDMuMjk1ODEgMTYuMTUyNyAzLjIxMTkzIDE1Ljk1MDRDMy4xMjgwNiAxNS43NDgxIDMuMDg0ODkgMTUuNTMxMiAzLjA4NDg5IDE1LjMxMjJDMy4wODQ4OSAxNS4wOTMxIDMuMTI4MDYgMTQuODc2MyAzLjIxMTkzIDE0LjY3MzlDMy4yOTU4MSAxNC40NzE2IDMuNDE4NzQgMTQuMjg3OCAzLjU3MzcgMTQuMTMzTDMuNjIzNyAxNC4wODNDMy44MTU4MSAxMy44ODY2IDMuOTQ0NjkgMTMuNjM3MiAzLjk5MzcgMTMuMzY2OEM0LjA0MjcyIDEzLjA5NjUgNC4wMDk2MyAxMi44MTc3IDMuODk4NyAxMi41NjYzQzMuNzkzMDYgMTIuMzE5OSAzLjYxNzY2IDEyLjEwOTcgMy4zOTQwOSAxMS45NjE2QzMuMTcwNTEgMTEuODEzNSAyLjkwODUyIDExLjczNDEgMi42NDAzNiAxMS43MzNIMi40OTg3QzIuMDU2NjcgMTEuNzMzIDEuNjMyNzUgMTEuNTU3NCAxLjMyMDE5IDExLjI0NDlDMS4wMDc2MyAxMC45MzIzIDAuODMyMDMxIDEwLjUwODQgMC44MzIwMzEgMTAuMDY2M0MwLjgzMjAzMSA5LjYyNDMxIDEuMDA3NjMgOS4yMDAzOSAxLjMyMDE5IDguODg3ODNDMS42MzI3NSA4LjU3NTI3IDIuMDU2NjcgOC4zOTk2NyAyLjQ5ODcgOC4zOTk2N0gyLjU3MzdDMi44NDk1MyA4LjM5MzIyIDMuMTE3MDMgOC4zMDM5NCAzLjM0MTQ1IDguMTQzNDNDMy41NjU4NiA3Ljk4MjkzIDMuNzM2NzkgNy43NTg2MiAzLjgzMjAzIDcuNDk5NjdDMy45NDI5NiA3LjI0ODMzIDMuOTc2MDUgNi45Njk1MSAzLjkyNzAzIDYuNjk5MThDMy44NzgwMiA2LjQyODg1IDMuNzQ5MTQgNi4xNzk0MSAzLjU1NzAzIDUuOTgzMDFMMy41MDcwMyA1LjkzMzAxQzMuMzUyMDcgNS43NzgyMiAzLjIyOTE0IDUuNTk0NCAzLjE0NTI2IDUuMzkyMDdDMy4wNjEzOSA1LjE4OTc0IDMuMDE4MjIgNC45NzI4NyAzLjAxODIyIDQuNzUzODRDMy4wMTgyMiA0LjUzNDgxIDMuMDYxMzkgNC4zMTc5NCAzLjE0NTI2IDQuMTE1NjFDMy4yMjkxNCAzLjkxMzI4IDMuMzUyMDcgMy43Mjk0NiAzLjUwNzAzIDMuNTc0NjdDMy42NjE4MiAzLjQxOTcxIDMuODQ1NjMgMy4yOTY3OCA0LjA0Nzk2IDMuMjEyOTFDNC4yNTAyOSAzLjEyOTAzIDQuNDY3MTcgMy4wODU4NiA0LjY4NjIgMy4wODU4NkM0LjkwNTIyIDMuMDg1ODYgNS4xMjIxIDMuMTI5MDMgNS4zMjQ0MyAzLjIxMjkxQzUuNTI2NzYgMy4yOTY3OCA1LjcxMDU4IDMuNDE5NzEgNS44NjUzNiAzLjU3NDY3TDUuOTE1MzYgMy42MjQ2N0M2LjExMTc2IDMuODE2NzkgNi4zNjEyMSAzLjk0NTY2IDYuNjMxNTQgMy45OTQ2OEM2LjkwMTg3IDQuMDQzNjkgNy4xODA2OCA0LjAxMDYgNy40MzIwMyAzLjg5OTY3SDcuNDk4N0M3Ljc0NTE3IDMuNzk0MDQgNy45NTUzOCAzLjYxODY0IDguMTAzNDQgMy4zOTUwNkM4LjI1MTUgMy4xNzE0OSA4LjMzMDk2IDIuOTA5NSA4LjMzMjAzIDIuNjQxMzRWMi40OTk2N0M4LjMzMjAzIDIuMDU3NjUgOC41MDc2MyAxLjYzMzcyIDguODIwMTkgMS4zMjExNkM5LjEzMjc1IDEuMDA4NiA5LjU1NjY3IDAuODMzMDA4IDkuOTk4NyAwLjgzMzAwOEMxMC40NDA3IDAuODMzMDA4IDEwLjg2NDYgMS4wMDg2IDExLjE3NzIgMS4zMjExNkMxMS40ODk4IDEuNjMzNzIgMTEuNjY1NCAyLjA1NzY1IDExLjY2NTQgMi40OTk2N1YyLjU3NDY3QzExLjY2NjQgMi44NDI4MyAxMS43NDU5IDMuMTA0ODIgMTEuODk0IDMuMzI4NEMxMi4wNDIgMy41NTE5NyAxMi4yNTIyIDMuNzI3MzcgMTIuNDk4NyAzLjgzMzAxQzEyLjc1IDMuOTQzOTQgMTMuMDI4OSAzLjk3NzAzIDEzLjI5OTIgMy45MjgwMUMxMy41Njk1IDMuODc5IDEzLjgxOSAzLjc1MDEyIDE0LjAxNTQgMy41NTgwMUwxNC4wNjU0IDMuNTA4MDFDMTQuMjIwMiAzLjM1MzA1IDE0LjQwNCAzLjIzMDEyIDE0LjYwNjMgMy4xNDYyNEMxNC44MDg2IDMuMDYyMzcgMTUuMDI1NSAzLjAxOTIgMTUuMjQ0NSAzLjAxOTJDMTUuNDYzNiAzLjAxOTIgMTUuNjgwNCAzLjA2MjM3IDE1Ljg4MjggMy4xNDYyNEMxNi4wODUxIDMuMjMwMTIgMTYuMjY4OSAzLjM1MzA1IDE2LjQyMzcgMy41MDgwMUMxNi41Nzg3IDMuNjYyOCAxNi43MDE2IDMuODQ2NjEgMTYuNzg1NSA0LjA0ODk0QzE2Ljg2OTMgNC4yNTEyNyAxNi45MTI1IDQuNDY4MTUgMTYuOTEyNSA0LjY4NzE3QzE2LjkxMjUgNC45MDYyIDE2Ljg2OTMgNS4xMjMwOCAxNi43ODU1IDUuMzI1NDFDMTYuNzAxNiA1LjUyNzc0IDE2LjU3ODcgNS43MTE1NSAxNi40MjM3IDUuODY2MzRMMTYuMzczNyA1LjkxNjM0QzE2LjE4MTYgNi4xMTI3NCAxNi4wNTI3IDYuMzYyMTkgMTYuMDAzNyA2LjYzMjUyQzE1Ljk1NDcgNi45MDI4NSAxNS45ODc4IDcuMTgxNjYgMTYuMDk4NyA3LjQzMzAxVjcuNDk5NjdDMTYuMjA0MyA3Ljc0NjE1IDE2LjM3OTcgNy45NTYzNSAxNi42MDMzIDguMTA0NDJDMTYuODI2OSA4LjI1MjQ4IDE3LjA4ODkgOC4zMzE5NCAxNy4zNTcgOC4zMzMwMUgxNy40OTg3QzE3Ljk0MDcgOC4zMzMwMSAxOC4zNjQ2IDguNTA4NiAxOC42NzcyIDguODIxMTZDMTguOTg5OCA5LjEzMzcyIDE5LjE2NTQgOS41NTc2NSAxOS4xNjU0IDkuOTk5NjdDMTkuMTY1NCAxMC40NDE3IDE4Ljk4OTggMTAuODY1NiAxOC42NzcyIDExLjE3ODJDMTguMzY0NiAxMS40OTA3IDE3Ljk0MDcgMTEuNjY2MyAxNy40OTg3IDExLjY2NjNIMTcuNDIzN0MxNy4xNTU1IDExLjY2NzQgMTYuODkzNiAxMS43NDY5IDE2LjY3IDExLjg5NDlDMTYuNDQ2NCAxMi4wNDMgMTYuMjcxIDEyLjI1MzIgMTYuMTY1NCAxMi40OTk3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0VkaXQgPyAnIzY2NzA4NScgOiAnI0QwRDVERCdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIyNTRfMjAyNjFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJcIiBbbmdDbGFzc109XCIoZGF0YS5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJyAmJiAoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0VkaXQpID8gJ2N1cnNvci1wb2ludGVyJyA6ICcnXCIgIChjbGljayk9XCJjaGVja1Blcm1pc3Npb24oJ2R1cGxpY2F0ZScsZGF0YSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIyNTRfMjAyNjUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00LjE2Nzk3IDEyLjUwMDNIMy4zMzQ2NEMyLjg5MjYxIDEyLjUwMDMgMi40Njg2OCAxMi4zMjQ3IDIuMTU2MTIgMTIuMDEyMkMxLjg0MzU2IDExLjY5OTYgMS42Njc5NyAxMS4yNzU3IDEuNjY3OTcgMTAuODMzN1YzLjMzMzY2QzEuNjY3OTcgMi44OTE2MyAxLjg0MzU2IDIuNDY3NzEgMi4xNTYxMiAyLjE1NTE1QzIuNDY4NjggMS44NDI1OSAyLjg5MjYxIDEuNjY2OTkgMy4zMzQ2NCAxLjY2Njk5SDEwLjgzNDZDMTEuMjc2NyAxLjY2Njk5IDExLjcwMDYgMS44NDI1OSAxMi4wMTMxIDIuMTU1MTVDMTIuMzI1NyAyLjQ2NzcxIDEyLjUwMTMgMi44OTE2MyAxMi41MDEzIDMuMzMzNjZWNC4xNjY5OU05LjE2Nzk3IDcuNTAwMzNIMTYuNjY4QzE3LjU4ODQgNy41MDAzMyAxOC4zMzQ2IDguMjQ2NTIgMTguMzM0NiA5LjE2Njk5VjE2LjY2N0MxOC4zMzQ2IDE3LjU4NzUgMTcuNTg4NCAxOC4zMzM3IDE2LjY2OCAxOC4zMzM3SDkuMTY3OTdDOC4yNDc0OSAxOC4zMzM3IDcuNTAxMyAxNy41ODc1IDcuNTAxMyAxNi42NjdWOS4xNjY5OUM3LjUwMTMgOC4yNDY1MiA4LjI0NzQ5IDcuNTAwMzMgOS4xNjc5NyA3LjUwMDMzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJkYXRhLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nICYmIChncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5UYW5nb1RyYXhfY2hlY2tsaXN0X2lzRWRpdCA/ICcjNjY3MDg1JyA6ICcjRDBENUREJ1wiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjI1NF8yMDI2NVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwiY2hlY2tQZXJtaXNzaW9uKCdkZWxldGUnLGRhdGEpXCIgW25nQ2xhc3NdPVwiIWRhdGE/LnB1Ymxpc2ggJiYgKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvVHJheF9jaGVja2xpc3RfaXNFZGl0ICA/ICdjdXJzb3ItcG9pbnRlcicgOiAnJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MVwiIHZpZXdCb3g9XCIwIDAgNDAgNDFcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzE2Ml8xMDQxNClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyLjUgMTUuMDIyOEgxNC4xNjY3TTE0LjE2NjcgMTUuMDIyOEgyNy41TTE0LjE2NjcgMTUuMDIyOFYyNi42ODk1QzE0LjE2NjcgMjcuMTMxNSAxNC4zNDIzIDI3LjU1NTQgMTQuNjU0OCAyNy44NjhDMTQuOTY3NCAyOC4xODA1IDE1LjM5MTMgMjguMzU2MSAxNS44MzMzIDI4LjM1NjFIMjQuMTY2N0MyNC42MDg3IDI4LjM1NjEgMjUuMDMyNiAyOC4xODA1IDI1LjM0NTIgMjcuODY4QzI1LjY1NzcgMjcuNTU1NCAyNS44MzMzIDI3LjEzMTUgMjUuODMzMyAyNi42ODk1VjE1LjAyMjhIMTQuMTY2N1pNMTYuNjY2NyAxNS4wMjI4VjEzLjM1NjFDMTYuNjY2NyAxMi45MTQxIDE2Ljg0MjMgMTIuNDkwMiAxNy4xNTQ4IDEyLjE3NzZDMTcuNDY3NCAxMS44NjUgMTcuODkxMyAxMS42ODk1IDE4LjMzMzMgMTEuNjg5NUgyMS42NjY3QzIyLjEwODcgMTEuNjg5NSAyMi41MzI2IDExLjg2NSAyMi44NDUyIDEyLjE3NzZDMjMuMTU3NyAxMi40OTAyIDIzLjMzMzMgMTIuOTE0MSAyMy4zMzMzIDEzLjM1NjFWMTUuMDIyOE0xOC4zMzMzIDE5LjE4OTVWMjQuMTg5NU0yMS42NjY3IDE5LjE4OTVWMjQuMTg5NVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCIoIShncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5UYW5nb1RyYXhfY2hlY2tsaXN0X2lzRWRpdCB8fCBkYXRhLnB1Ymxpc2ggfHwgZGF0YS5jaGVja0xpc3RUeXBlICE9PSAnY3VzdG9tJykgPyAnI0QwRDVERCcgOicjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzE2Ml8xMDQxNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAgMTAuMDIzNClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiByb2xlPVwic3dpdGNoXCIgaWQ9XCJzdXBwb3J0XCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0IG10LTMgY3Vyc29yLXBvaW50ZXJcIiAoY2hhbmdlKT1cInB1Ymxpc2goJGV2ZW50LCBkYXRhLGkpXCIgW2NoZWNrZWRdPVwiZGF0YT8ucHVibGlzaFwiIFtkaXNhYmxlZF09XCIoIWRhdGE/LnN0b3JlQ291bnQgJiYgKGRhdGEuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbScgfHwgIVsnZXlldGVzdCcsICdyZW1vdGVvcHRvbWV0cmlzdCcsICdzdG9yZWh5Z2llbmVtb25pdG9yaW5nJywgJ3F1ZXVlYWxlcnQnLCAnc3VzcGljaW91c2FjdGl2aXR5JywgJ2JveGFsZXJ0JywgJ3N1c3BpY2lvdXNmb290ZmFsbCcsICdkcmlua2luZycsICdiYWdkZXRlY3Rpb24nXS5pbmNsdWRlcyhkYXRhPy5jaGVja0xpc3RUeXBlKSkpIHx8ICEoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uVGFuZ29UcmF4X2NoZWNrbGlzdF9pc0VkaXRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwiZHluYW1pY0RhdGEubGltaXRcIiBbY3VycmVudFBhZ2VdPVwiZHluYW1pY0RhdGEub2Zmc2V0XCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiAtLT4iXX0=
|