tango-app-ui-ticket-user 3.5.0 → 3.5.2
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/README.md +28 -28
- package/esm2022/lib/components/audit-management/audit-management.component.mjs +1 -1
- package/esm2022/lib/components/contact-details/contact-details.component.mjs +3 -3
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/lib/components/edge-cameraview/edge-cameraview.component.mjs +3 -3
- package/esm2022/lib/components/edgeapp-log/edgeapp-log.component.mjs +3 -3
- package/esm2022/lib/components/edit-details/edit-details.component.mjs +3 -3
- package/esm2022/lib/components/infratickets/infratickets.component.mjs +8 -3
- package/esm2022/lib/components/installation/installation.component.mjs +30 -3
- package/esm2022/lib/components/preinstallation-info/preinstallation-info.component.mjs +178 -0
- package/esm2022/lib/components/store-activity/store-activity.component.mjs +3 -3
- package/esm2022/lib/components/store-info/store-info.component.mjs +3 -3
- package/esm2022/lib/components/takeremote/takeremote.component.mjs +3 -3
- package/esm2022/lib/components/tango-ticket-users/tango-ticket-users.component.mjs +3 -3
- package/esm2022/lib/components/tickets/tickets.component.mjs +3 -3
- package/esm2022/lib/components/viewhistory/viewhistory.component.mjs +3 -3
- package/esm2022/lib/route-wrappers/edge-wrapper.module.mjs +2 -1
- package/esm2022/lib/services/data.service.mjs +1 -1
- package/esm2022/lib/services/excel.service.mjs +1 -1
- package/esm2022/lib/services/ticket-infra.service.mjs +13 -1
- package/esm2022/lib/tango-ticket-users-routing.module.mjs +6 -1
- package/esm2022/lib/tango-ticket-users.module.mjs +4 -3
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/tango-app-ui-ticket-user-edge-wrapper.module-CFDk0tvS.mjs.map +1 -1
- package/fesm2022/tango-app-ui-ticket-user.mjs +277 -59
- package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
- package/lib/components/installation/installation.component.d.ts +3 -0
- package/lib/components/preinstallation-info/preinstallation-info.component.d.ts +56 -0
- package/lib/services/ticket-infra.service.d.ts +5 -0
- package/lib/tango-ticket-users.module.d.ts +8 -7
- package/package.json +1 -1
|
@@ -680,12 +680,12 @@ export class StoreInfoComponent {
|
|
|
680
680
|
}
|
|
681
681
|
}
|
|
682
682
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StoreInfoComponent, deps: [{ token: i1.TicketsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
683
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StoreInfoComponent, selector: "lib-store-info", inputs: { storeId: "storeId" }, ngImport: i0, template: "<div class=\"card\">\n <div class=\"card-body\">\n <div class=\"\">\n <div class=\"d-flex align-items-center\">\n <span class=\"title\">Store Info</span>\n </div>\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate | customDateFormat }}</span>\n </div>\n <div class=\"my-5 timeRange fw-semibold\">Total : {{totalDownTime}} mins Downtime </div>\n <div class=\" mt-2 mx-2\" *ngIf=\"timeSeries?.length\">\n <div class=\"flex-container d-flex justify-content-between\">\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\n <!-- normal -->\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'normal'\"\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\n viewBox=\"0 0 4 53\" fill=\"none\">\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\n stroke-linecap=\"round\" />\n </svg>\n\n <!-- Present hour for live -->\n <!-- <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\n stroke-linecap=\"round\" />\n </svg> -->\n\n <!-- positive -->\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'positive'\"\n class=\"timeItem\"\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\n fill=\"none\">\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\n stroke-linecap=\"round\" />\n </svg>\n\n <!-- negative -->\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'negative'\"\n class=\"timeItem\"\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\n fill=\"none\">\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\n stroke-linecap=\"round\" />\n </svg>\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex === Index\">\n <!-- (mouseleave)=\"hideDialogBox()\" -->\n <!-- -ve -->\n <ng-container *ngIf=\"showIncidentOptions.neg\">\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <g filter=\"url(#filter0_dd_5752_36075)\">\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\n rx=\"7.90676\" fill=\"#FEF3F2\" />\n <path\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\n fill=\"#F04438\" />\n <path\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\n fill=\"#F04438\" />\n <path\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\n fill=\"#F04438\" />\n <path\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\n fill=\"#F04438\" />\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\n <path\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\n fill=\"white\" />\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\n </g>\n <defs>\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\n color-interpolation-filters=\"sRGB\">\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\" />\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\n result=\"effect1_dropShadow_5752_36075\" />\n <feOffset />\n <feColorMatrix type=\"matrix\"\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\n result=\"effect1_dropShadow_5752_36075\" />\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\" />\n <feOffset dy=\"1\" />\n <feGaussianBlur stdDeviation=\"1\" />\n <feColorMatrix type=\"matrix\"\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\n result=\"effect2_dropShadow_5752_36075\" />\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\n </filter>\n </defs>\n </svg>\n <!-- <div class=\"d-flex justify-content-center flex-column\">\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\n {{time?.time12Hour}}</div>\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\n </div> -->\n </ng-container>\n \n <!-- +ve -->\n <ng-container *ngIf=\"showIncidentOptions.pos\">\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\n fill=\"#D1FADF\" />\n <path\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\n </svg>\n <!-- <div class=\"d-flex justify-content-center flex-column\">\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\n {{time?.time12Hour}}</div>\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\n (click)=\"scrollTo_Submituser();\">Submitted by\n {{time?.incidents[0]?.userName}}</div>\n </div> -->\n </ng-container>\n \n <!-- store op -->\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <g filter=\"url(#filter0_dd_5752_36067)\">\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\n rx=\"7.90676\" fill=\"#EAF8FF\" />\n <path\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\n fill=\"#009BF3\" />\n <path\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\n fill=\"#009BF3\" />\n <path\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\n fill=\"#009BF3\" />\n <path\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\n fill=\"#009BF3\" />\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\n <path\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\n fill=\"white\" />\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\n </g>\n <defs>\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\n color-interpolation-filters=\"sRGB\">\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\" />\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\n result=\"effect1_dropShadow_5752_36067\" />\n <feOffset />\n <feColorMatrix type=\"matrix\"\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\n result=\"effect1_dropShadow_5752_36067\" />\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\" />\n <feOffset dy=\"1\" />\n <feGaussianBlur stdDeviation=\"1\" />\n <feColorMatrix type=\"matrix\"\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\n result=\"effect2_dropShadow_5752_36067\" />\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\n </filter>\n </defs>\n </svg>\n <!-- <div class=\"d-flex justify-content-center flex-column\">\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\n {{time?.time12Hour}}</div>\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\n class=\"supporting-text\">On time opening/closing</div>\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\n </div> -->\n </ng-container>\n </div>\n </span>\n </div>\n <div class=\"flex-container d-flex justify-content-between\">\n <span *ngFor=\"let time of timeSeries;let i=index;\">\n <span class=\"hourText\" *ngIf=\"showHours(time)\">{{showHours(time)}}</span>\n </span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"card mt-5\">\n <div class=\"card-header\">\n <div class=\"card-title\">\n <div class=\"card-body p-0 \">\n <div class=\"d-flex align-items-center\">\n <span class=\"title\">Camera Info</span>\n </div>\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate|customDateFormat }}</span>\n </div>\n </div>\n <div class=\"card-toolbar\">\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </span>\n\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"row mt-7\">\n <div class=\"col-sm-6\">\n <div *ngIf=\"totalImageUrl?.length && !loading && !noData\">\n <div class=\"d-flex align-items-center\"><div *ngIf=\"selectedUrl?.cameraNumber || imageUrl[0]?.cameraNumber\" [ngClass]=\"((selectedUrl?.isActivated && selectedUrl?.isUp) || (imageUrl[0]?.isActivated && imageUrl[0]?.isUp))?'bg-success':'bg-danger'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div>\n <span class=\"camera-title\">{{selectedUrl?.cameraNumber ? selectedUrl?.cameraNumber : imageUrl[0]?.cameraNumber}}</span> <span *ngIf=\"selectedUrl?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">\n {{selectedUrl?.cameraName ? selectedUrl?.cameraName : imageUrl[0]?.cameraName}}\n </span></div>\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\n <img *ngIf=\"selectedUrl?.thumbnailImage !== null || selectedUrl?.thumbnailImage !== '' || imageUrl[0]?.thumbnailImage !== ''\" class=\"w-100 mh-350px\" [src]=\"selectedUrl?.thumbnailImage ? selectedUrl?.thumbnailImage : imageUrl[0]?.thumbnailImage\">\n <div *ngIf=\"selectedUrl?.thumbnailImage === null || selectedUrl?.thumbnailImage === '' || imageUrl[0]?.thumbnailImage === '' || selectedUrl === ''\" class=\"w-100 h-300px rounded-2 overflow-hidden Nopreview align-content-center\">\n <div class=\"previewTitle text-center mb-5\">\n Preview not available\n </div>\n <div class=\"previewsubTitle fw-semibold\">\n The selected camera is not available at the moment.\n </div>\n </div>\n </div>\n <div class=\"row mt-3 position-relative\">\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4 cursor-pointer\" (click)=\"selectedImg(url)\">\n <img *ngIf=\"url?.thumbnailImage !== null || url?.thumbnailImage !== ''\" class=\"w-100 rounded-2 mh-100px\" [src]=\"url?.thumbnailImage\">\n <div *ngIf=\"url?.thumbnailImage === null || url?.thumbnailImage === ''\" class=\"w-100 rounded-2 h-100px Nopreview align-content-center\">\n <div class=\"previewTitle text-center fs-4 mb-2\">\n Preview not available\n </div>\n <!-- <div class=\"previewsubTitle fw-semibold\">\n The selected camera is not available at the moment.\n </div> -->\n </div>\n </div>\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg></div>\n <div *ngIf=\"showNext && totalImageUrl.length > 3\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg></div>\n </div>\n </div>\n <ng-container *ngIf=\"loading\" >\n <div class=\"row loader d-flex justify-content-center align-items-center\">\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n \n </div>\n </ng-container>\n <ng-container *ngIf=\"(noData || !totalImageUrl?.length) && (anglechangeData?.anglechange && this.anglechangeData?.resolution) || (noData || !totalImageUrl?.length) && (anglechangeData?.anglechange || this.anglechangeData?.resolution)\">\n <div class=\"row\">\n <div class=\"col-lg-12 mb-3\">\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"col-sm-6\">\n <div class=\"mt-10\">\n <div class=\"d-flex align-items-center\" *ngIf=\"anglechangeData?.anglechange\">\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\n <div class=\"ms-3\">\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\n </div>\n </div>\n <div class=\"row mt-5\">\n <img class=\"w-100 mh-150px\" [src]=\"anglechangeData?.angleChangeImage\">\n <!-- <div class=\"col-sm-6\">\n <div class=\"w-100 rounded-3 overflow-hidden\">\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\n <span class=\"actualspan\">Expected</span>\n </div>\n </div>\n </div>\n <div class=\"col-sm-6\">\n <div class=\"w-100 rounded-3 overflow-hidden\">\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\n <span class=\"actualspan\">Actual</span>\n </div>\n </div>\n </div> -->\n </div>\n <div class=\"row p-0\" *ngIf=\"anglechangeData?.anglechange\">\n <div class=\"col-md-6 m-0 pe-0\">\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\n <span class=\"actualspan\">Expected</span>\n </div>\n </div>\n <div class=\"col-md-6 m-0 ps-0\">\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\n <span class=\"actualspan\">Actual</span>\n </div>\n </div>\n </div>\n <div class=\"w-100 mt-10 table-responsive\" *ngIf=\"this.anglechangeData?.resolution\">\n <table class=\"w-100 table bottom-border\">\n <thead>\n <tr>\n <th>Instances</th>\n <th>Expected</th>\n <th>Actual</th>\n <th>Results</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\n <td>1080 x 900</td>\n <td>{{this.anglechangeData?.resolution}}</td>\n <td>\n <span class=\"badge badge-light-success text-success px-1\" *ngIf=\"resolutiontype\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\n <g clip-path=\"url(#clip0_4623_18201)\">\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_4623_18201\">\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\n </clipPath>\n </defs>\n </svg>\n </span>\n <span class=\"badge badge-light-danger text-danger px-1\" *ngIf=\"!resolutiontype\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\n <g clip-path=\"url(#clip0_4623_2326)\">\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_4623_2326\">\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\n </clipPath>\n </defs>\n </svg>\n </span></td>\n </tr>\n <!-- <tr>\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\n <td>200mins</td>\n <td>140mins</td>\n <td><span class=\"badge badge-light-success text-success px-1\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\n <g clip-path=\"url(#clip0_4623_18201)\">\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_4623_18201\">\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\n </clipPath>\n </defs>\n </svg>\n </span></td>\n </tr> -->\n </tbody>\n </table>\n </div>\n\n </div>\n </div>\n <ng-container *ngIf=\"noData && !totalImageUrl?.length && !anglechangeData?.anglechange && !this.anglechangeData?.resolution\">\n <div class=\"row\">\n <div class=\"col-lg-12 mb-3\">\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n\n </div>\n\n</div>\n\n<div class=\"mt-5\">\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\n</div>\n<div class=\"mt-5\">\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.Nopreview{border:1px solid var(--Gray-500, #667085);background:var(--Gray-100, #F2F4F7);color:var(--Gray-500, #667085)}.Nopreview .previewTitle{font-size:20px;font-weight:700;line-height:20px}.Nopreview .previewsubTitle{text-align:center;font-size:12px;line-height:18px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }, { kind: "component", type: i5.EdgeappLogComponent, selector: "lib-edgeapp-log", inputs: ["storeId"] }, { kind: "component", type: i6.StoreActivityComponent, selector: "lib-store-activity", inputs: ["storeId"] }, { kind: "pipe", type: i7.CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
683
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StoreInfoComponent, selector: "lib-store-info", inputs: { storeId: "storeId" }, ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Store Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate | customDateFormat }}</span>\r\n </div>\r\n <div class=\"my-5 timeRange fw-semibold\">Total : {{totalDownTime}} mins Downtime </div>\r\n <div class=\" mt-2 mx-2\" *ngIf=\"timeSeries?.length\">\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'normal'\"\r\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\r\n viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- Present hour for live -->\r\n <!-- <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg> -->\r\n\r\n <!-- positive -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'positive'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- negative -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'negative'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex === Index\">\r\n <!-- (mouseleave)=\"hideDialogBox()\" -->\r\n <!-- -ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.neg\">\r\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36075)\">\r\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#FEF3F2\" />\r\n <path\r\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\r\n fill=\"#F04438\" />\r\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\r\n <path\r\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\r\n fill=\"white\" />\r\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\r\n result=\"effect2_dropShadow_5752_36075\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- +ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.pos\">\r\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n fill=\"#D1FADF\" />\r\n <path\r\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\r\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\r\n (click)=\"scrollTo_Submituser();\">Submitted by\r\n {{time?.incidents[0]?.userName}}</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- store op -->\r\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\r\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36067)\">\r\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\r\n fill=\"#009BF3\" />\r\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\r\n <path\r\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\r\n fill=\"white\" />\r\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\r\n result=\"effect2_dropShadow_5752_36067\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\r\n class=\"supporting-text\">On time opening/closing</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\r\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\r\n </div> -->\r\n </ng-container>\r\n </div>\r\n </span>\r\n </div>\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let i=index;\">\r\n <span class=\"hourText\" *ngIf=\"showHours(time)\">{{showHours(time)}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"card mt-5\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <div class=\"card-body p-0 \">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Camera Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\r\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div *ngIf=\"totalImageUrl?.length && !loading && !noData\">\r\n <div class=\"d-flex align-items-center\"><div *ngIf=\"selectedUrl?.cameraNumber || imageUrl[0]?.cameraNumber\" [ngClass]=\"((selectedUrl?.isActivated && selectedUrl?.isUp) || (imageUrl[0]?.isActivated && imageUrl[0]?.isUp))?'bg-success':'bg-danger'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div>\r\n <span class=\"camera-title\">{{selectedUrl?.cameraNumber ? selectedUrl?.cameraNumber : imageUrl[0]?.cameraNumber}}</span> <span *ngIf=\"selectedUrl?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">\r\n {{selectedUrl?.cameraName ? selectedUrl?.cameraName : imageUrl[0]?.cameraName}}\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img *ngIf=\"selectedUrl?.thumbnailImage !== null || selectedUrl?.thumbnailImage !== '' || imageUrl[0]?.thumbnailImage !== ''\" class=\"w-100 mh-350px\" [src]=\"selectedUrl?.thumbnailImage ? selectedUrl?.thumbnailImage : imageUrl[0]?.thumbnailImage\">\r\n <div *ngIf=\"selectedUrl?.thumbnailImage === null || selectedUrl?.thumbnailImage === '' || imageUrl[0]?.thumbnailImage === '' || selectedUrl === ''\" class=\"w-100 h-300px rounded-2 overflow-hidden Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center mb-5\">\r\n Preview not available\r\n </div>\r\n <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mt-3 position-relative\">\r\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4 cursor-pointer\" (click)=\"selectedImg(url)\">\r\n <img *ngIf=\"url?.thumbnailImage !== null || url?.thumbnailImage !== ''\" class=\"w-100 rounded-2 mh-100px\" [src]=\"url?.thumbnailImage\">\r\n <div *ngIf=\"url?.thumbnailImage === null || url?.thumbnailImage === ''\" class=\"w-100 rounded-2 h-100px Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center fs-4 mb-2\">\r\n Preview not available\r\n </div>\r\n <!-- <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div> -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n <div *ngIf=\"showNext && totalImageUrl.length > 3\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"(noData || !totalImageUrl?.length) && (anglechangeData?.anglechange && this.anglechangeData?.resolution) || (noData || !totalImageUrl?.length) && (anglechangeData?.anglechange || this.anglechangeData?.resolution)\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\" *ngIf=\"anglechangeData?.anglechange\">\r\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\r\n </div>\r\n </div>\r\n <div class=\"row mt-5\">\r\n <img class=\"w-100 mh-150px\" [src]=\"anglechangeData?.angleChangeImage\">\r\n <!-- <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div class=\"row p-0\" *ngIf=\"anglechangeData?.anglechange\">\r\n <div class=\"col-md-6 m-0 pe-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 m-0 ps-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"w-100 mt-10 table-responsive\" *ngIf=\"this.anglechangeData?.resolution\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Instances</th>\r\n <th>Expected</th>\r\n <th>Actual</th>\r\n <th>Results</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\r\n <td>1080 x 900</td>\r\n <td>{{this.anglechangeData?.resolution}}</td>\r\n <td>\r\n <span class=\"badge badge-light-success text-success px-1\" *ngIf=\"resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"badge badge-light-danger text-danger px-1\" *ngIf=\"!resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_2326)\">\r\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_2326\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n <!-- <tr>\r\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\r\n <td>200mins</td>\r\n <td>140mins</td>\r\n <td><span class=\"badge badge-light-success text-success px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr> -->\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"noData && !totalImageUrl?.length && !anglechangeData?.anglechange && !this.anglechangeData?.resolution\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"mt-5\">\r\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\r\n</div>\r\n<div class=\"mt-5\">\r\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\r\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.Nopreview{border:1px solid var(--Gray-500, #667085);background:var(--Gray-100, #F2F4F7);color:var(--Gray-500, #667085)}.Nopreview .previewTitle{font-size:20px;font-weight:700;line-height:20px}.Nopreview .previewsubTitle{text-align:center;font-size:12px;line-height:18px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }, { kind: "component", type: i5.EdgeappLogComponent, selector: "lib-edgeapp-log", inputs: ["storeId"] }, { kind: "component", type: i6.StoreActivityComponent, selector: "lib-store-activity", inputs: ["storeId"] }, { kind: "pipe", type: i7.CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
684
684
|
}
|
|
685
685
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StoreInfoComponent, decorators: [{
|
|
686
686
|
type: Component,
|
|
687
|
-
args: [{ selector: 'lib-store-info', template: "<div class=\"card\">\n <div class=\"card-body\">\n <div class=\"\">\n <div class=\"d-flex align-items-center\">\n <span class=\"title\">Store Info</span>\n </div>\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate | customDateFormat }}</span>\n </div>\n <div class=\"my-5 timeRange fw-semibold\">Total : {{totalDownTime}} mins Downtime </div>\n <div class=\" mt-2 mx-2\" *ngIf=\"timeSeries?.length\">\n <div class=\"flex-container d-flex justify-content-between\">\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\n <!-- normal -->\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'normal'\"\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\n viewBox=\"0 0 4 53\" fill=\"none\">\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\n stroke-linecap=\"round\" />\n </svg>\n\n <!-- Present hour for live -->\n <!-- <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\n stroke-linecap=\"round\" />\n </svg> -->\n\n <!-- positive -->\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'positive'\"\n class=\"timeItem\"\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\n fill=\"none\">\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\n stroke-linecap=\"round\" />\n </svg>\n\n <!-- negative -->\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'negative'\"\n class=\"timeItem\"\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\n fill=\"none\">\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\n stroke-linecap=\"round\" />\n </svg>\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex === Index\">\n <!-- (mouseleave)=\"hideDialogBox()\" -->\n <!-- -ve -->\n <ng-container *ngIf=\"showIncidentOptions.neg\">\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <g filter=\"url(#filter0_dd_5752_36075)\">\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\n rx=\"7.90676\" fill=\"#FEF3F2\" />\n <path\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\n fill=\"#F04438\" />\n <path\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\n fill=\"#F04438\" />\n <path\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\n fill=\"#F04438\" />\n <path\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\n fill=\"#F04438\" />\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\n <path\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\n fill=\"white\" />\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\n </g>\n <defs>\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\n color-interpolation-filters=\"sRGB\">\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\" />\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\n result=\"effect1_dropShadow_5752_36075\" />\n <feOffset />\n <feColorMatrix type=\"matrix\"\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\n result=\"effect1_dropShadow_5752_36075\" />\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\" />\n <feOffset dy=\"1\" />\n <feGaussianBlur stdDeviation=\"1\" />\n <feColorMatrix type=\"matrix\"\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\n result=\"effect2_dropShadow_5752_36075\" />\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\n </filter>\n </defs>\n </svg>\n <!-- <div class=\"d-flex justify-content-center flex-column\">\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\n {{time?.time12Hour}}</div>\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\n </div> -->\n </ng-container>\n \n <!-- +ve -->\n <ng-container *ngIf=\"showIncidentOptions.pos\">\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\n fill=\"#D1FADF\" />\n <path\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\n </svg>\n <!-- <div class=\"d-flex justify-content-center flex-column\">\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\n {{time?.time12Hour}}</div>\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\n (click)=\"scrollTo_Submituser();\">Submitted by\n {{time?.incidents[0]?.userName}}</div>\n </div> -->\n </ng-container>\n \n <!-- store op -->\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <g filter=\"url(#filter0_dd_5752_36067)\">\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\n rx=\"7.90676\" fill=\"#EAF8FF\" />\n <path\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\n fill=\"#009BF3\" />\n <path\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\n fill=\"#009BF3\" />\n <path\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\n fill=\"#009BF3\" />\n <path\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\n fill=\"#009BF3\" />\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\n <path\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\n fill=\"white\" />\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\n </g>\n <defs>\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\n color-interpolation-filters=\"sRGB\">\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\" />\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\n result=\"effect1_dropShadow_5752_36067\" />\n <feOffset />\n <feColorMatrix type=\"matrix\"\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\n result=\"effect1_dropShadow_5752_36067\" />\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\" />\n <feOffset dy=\"1\" />\n <feGaussianBlur stdDeviation=\"1\" />\n <feColorMatrix type=\"matrix\"\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\n result=\"effect2_dropShadow_5752_36067\" />\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\n </filter>\n </defs>\n </svg>\n <!-- <div class=\"d-flex justify-content-center flex-column\">\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\n {{time?.time12Hour}}</div>\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\n class=\"supporting-text\">On time opening/closing</div>\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\n </div> -->\n </ng-container>\n </div>\n </span>\n </div>\n <div class=\"flex-container d-flex justify-content-between\">\n <span *ngFor=\"let time of timeSeries;let i=index;\">\n <span class=\"hourText\" *ngIf=\"showHours(time)\">{{showHours(time)}}</span>\n </span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"card mt-5\">\n <div class=\"card-header\">\n <div class=\"card-title\">\n <div class=\"card-body p-0 \">\n <div class=\"d-flex align-items-center\">\n <span class=\"title\">Camera Info</span>\n </div>\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate|customDateFormat }}</span>\n </div>\n </div>\n <div class=\"card-toolbar\">\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </span>\n\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"row mt-7\">\n <div class=\"col-sm-6\">\n <div *ngIf=\"totalImageUrl?.length && !loading && !noData\">\n <div class=\"d-flex align-items-center\"><div *ngIf=\"selectedUrl?.cameraNumber || imageUrl[0]?.cameraNumber\" [ngClass]=\"((selectedUrl?.isActivated && selectedUrl?.isUp) || (imageUrl[0]?.isActivated && imageUrl[0]?.isUp))?'bg-success':'bg-danger'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div>\n <span class=\"camera-title\">{{selectedUrl?.cameraNumber ? selectedUrl?.cameraNumber : imageUrl[0]?.cameraNumber}}</span> <span *ngIf=\"selectedUrl?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">\n {{selectedUrl?.cameraName ? selectedUrl?.cameraName : imageUrl[0]?.cameraName}}\n </span></div>\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\n <img *ngIf=\"selectedUrl?.thumbnailImage !== null || selectedUrl?.thumbnailImage !== '' || imageUrl[0]?.thumbnailImage !== ''\" class=\"w-100 mh-350px\" [src]=\"selectedUrl?.thumbnailImage ? selectedUrl?.thumbnailImage : imageUrl[0]?.thumbnailImage\">\n <div *ngIf=\"selectedUrl?.thumbnailImage === null || selectedUrl?.thumbnailImage === '' || imageUrl[0]?.thumbnailImage === '' || selectedUrl === ''\" class=\"w-100 h-300px rounded-2 overflow-hidden Nopreview align-content-center\">\n <div class=\"previewTitle text-center mb-5\">\n Preview not available\n </div>\n <div class=\"previewsubTitle fw-semibold\">\n The selected camera is not available at the moment.\n </div>\n </div>\n </div>\n <div class=\"row mt-3 position-relative\">\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4 cursor-pointer\" (click)=\"selectedImg(url)\">\n <img *ngIf=\"url?.thumbnailImage !== null || url?.thumbnailImage !== ''\" class=\"w-100 rounded-2 mh-100px\" [src]=\"url?.thumbnailImage\">\n <div *ngIf=\"url?.thumbnailImage === null || url?.thumbnailImage === ''\" class=\"w-100 rounded-2 h-100px Nopreview align-content-center\">\n <div class=\"previewTitle text-center fs-4 mb-2\">\n Preview not available\n </div>\n <!-- <div class=\"previewsubTitle fw-semibold\">\n The selected camera is not available at the moment.\n </div> -->\n </div>\n </div>\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg></div>\n <div *ngIf=\"showNext && totalImageUrl.length > 3\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg></div>\n </div>\n </div>\n <ng-container *ngIf=\"loading\" >\n <div class=\"row loader d-flex justify-content-center align-items-center\">\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n <div class=\"shimmer\">\n <div class=\"wrapper\">\n <div class=\"stroke animate title\"></div>\n <div class=\"stroke animate link\"></div>\n <div class=\"stroke animate description\"></div>\n </div>\n </div>\n \n </div>\n </ng-container>\n <ng-container *ngIf=\"(noData || !totalImageUrl?.length) && (anglechangeData?.anglechange && this.anglechangeData?.resolution) || (noData || !totalImageUrl?.length) && (anglechangeData?.anglechange || this.anglechangeData?.resolution)\">\n <div class=\"row\">\n <div class=\"col-lg-12 mb-3\">\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"col-sm-6\">\n <div class=\"mt-10\">\n <div class=\"d-flex align-items-center\" *ngIf=\"anglechangeData?.anglechange\">\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\n <div class=\"ms-3\">\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\n </div>\n </div>\n <div class=\"row mt-5\">\n <img class=\"w-100 mh-150px\" [src]=\"anglechangeData?.angleChangeImage\">\n <!-- <div class=\"col-sm-6\">\n <div class=\"w-100 rounded-3 overflow-hidden\">\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\n <span class=\"actualspan\">Expected</span>\n </div>\n </div>\n </div>\n <div class=\"col-sm-6\">\n <div class=\"w-100 rounded-3 overflow-hidden\">\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\n <span class=\"actualspan\">Actual</span>\n </div>\n </div>\n </div> -->\n </div>\n <div class=\"row p-0\" *ngIf=\"anglechangeData?.anglechange\">\n <div class=\"col-md-6 m-0 pe-0\">\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\n <span class=\"actualspan\">Expected</span>\n </div>\n </div>\n <div class=\"col-md-6 m-0 ps-0\">\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\n <span class=\"actualspan\">Actual</span>\n </div>\n </div>\n </div>\n <div class=\"w-100 mt-10 table-responsive\" *ngIf=\"this.anglechangeData?.resolution\">\n <table class=\"w-100 table bottom-border\">\n <thead>\n <tr>\n <th>Instances</th>\n <th>Expected</th>\n <th>Actual</th>\n <th>Results</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\n <td>1080 x 900</td>\n <td>{{this.anglechangeData?.resolution}}</td>\n <td>\n <span class=\"badge badge-light-success text-success px-1\" *ngIf=\"resolutiontype\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\n <g clip-path=\"url(#clip0_4623_18201)\">\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_4623_18201\">\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\n </clipPath>\n </defs>\n </svg>\n </span>\n <span class=\"badge badge-light-danger text-danger px-1\" *ngIf=\"!resolutiontype\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\n <g clip-path=\"url(#clip0_4623_2326)\">\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_4623_2326\">\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\n </clipPath>\n </defs>\n </svg>\n </span></td>\n </tr>\n <!-- <tr>\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\n <td>200mins</td>\n <td>140mins</td>\n <td><span class=\"badge badge-light-success text-success px-1\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\n <g clip-path=\"url(#clip0_4623_18201)\">\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_4623_18201\">\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\n </clipPath>\n </defs>\n </svg>\n </span></td>\n </tr> -->\n </tbody>\n </table>\n </div>\n\n </div>\n </div>\n <ng-container *ngIf=\"noData && !totalImageUrl?.length && !anglechangeData?.anglechange && !this.anglechangeData?.resolution\">\n <div class=\"row\">\n <div class=\"col-lg-12 mb-3\">\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n\n </div>\n\n</div>\n\n<div class=\"mt-5\">\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\n</div>\n<div class=\"mt-5\">\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.Nopreview{border:1px solid var(--Gray-500, #667085);background:var(--Gray-100, #F2F4F7);color:var(--Gray-500, #667085)}.Nopreview .previewTitle{font-size:20px;font-weight:700;line-height:20px}.Nopreview .previewsubTitle{text-align:center;font-size:12px;line-height:18px}\n"] }]
|
|
687
|
+
args: [{ selector: 'lib-store-info', template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Store Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate | customDateFormat }}</span>\r\n </div>\r\n <div class=\"my-5 timeRange fw-semibold\">Total : {{totalDownTime}} mins Downtime </div>\r\n <div class=\" mt-2 mx-2\" *ngIf=\"timeSeries?.length\">\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'normal'\"\r\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\r\n viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- Present hour for live -->\r\n <!-- <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg> -->\r\n\r\n <!-- positive -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'positive'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- negative -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'negative'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex === Index\">\r\n <!-- (mouseleave)=\"hideDialogBox()\" -->\r\n <!-- -ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.neg\">\r\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36075)\">\r\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#FEF3F2\" />\r\n <path\r\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\r\n fill=\"#F04438\" />\r\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\r\n <path\r\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\r\n fill=\"white\" />\r\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\r\n result=\"effect2_dropShadow_5752_36075\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- +ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.pos\">\r\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n fill=\"#D1FADF\" />\r\n <path\r\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\r\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\r\n (click)=\"scrollTo_Submituser();\">Submitted by\r\n {{time?.incidents[0]?.userName}}</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- store op -->\r\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\r\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36067)\">\r\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\r\n fill=\"#009BF3\" />\r\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\r\n <path\r\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\r\n fill=\"white\" />\r\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\r\n result=\"effect2_dropShadow_5752_36067\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\r\n class=\"supporting-text\">On time opening/closing</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\r\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\r\n </div> -->\r\n </ng-container>\r\n </div>\r\n </span>\r\n </div>\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let i=index;\">\r\n <span class=\"hourText\" *ngIf=\"showHours(time)\">{{showHours(time)}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"card mt-5\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <div class=\"card-body p-0 \">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Camera Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\r\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\" (startDateChanged)=\"onStartDateChange($event)\" [isCustomDate]=\"isCustomDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" [readonly]=\"true\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div *ngIf=\"totalImageUrl?.length && !loading && !noData\">\r\n <div class=\"d-flex align-items-center\"><div *ngIf=\"selectedUrl?.cameraNumber || imageUrl[0]?.cameraNumber\" [ngClass]=\"((selectedUrl?.isActivated && selectedUrl?.isUp) || (imageUrl[0]?.isActivated && imageUrl[0]?.isUp))?'bg-success':'bg-danger'\" class=\"w-10px h-10px border-0 rounded-3 me-2\"></div>\r\n <span class=\"camera-title\">{{selectedUrl?.cameraNumber ? selectedUrl?.cameraNumber : imageUrl[0]?.cameraNumber}}</span> <span *ngIf=\"selectedUrl?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">\r\n {{selectedUrl?.cameraName ? selectedUrl?.cameraName : imageUrl[0]?.cameraName}}\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img *ngIf=\"selectedUrl?.thumbnailImage !== null || selectedUrl?.thumbnailImage !== '' || imageUrl[0]?.thumbnailImage !== ''\" class=\"w-100 mh-350px\" [src]=\"selectedUrl?.thumbnailImage ? selectedUrl?.thumbnailImage : imageUrl[0]?.thumbnailImage\">\r\n <div *ngIf=\"selectedUrl?.thumbnailImage === null || selectedUrl?.thumbnailImage === '' || imageUrl[0]?.thumbnailImage === '' || selectedUrl === ''\" class=\"w-100 h-300px rounded-2 overflow-hidden Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center mb-5\">\r\n Preview not available\r\n </div>\r\n <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mt-3 position-relative\">\r\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4 cursor-pointer\" (click)=\"selectedImg(url)\">\r\n <img *ngIf=\"url?.thumbnailImage !== null || url?.thumbnailImage !== ''\" class=\"w-100 rounded-2 mh-100px\" [src]=\"url?.thumbnailImage\">\r\n <div *ngIf=\"url?.thumbnailImage === null || url?.thumbnailImage === ''\" class=\"w-100 rounded-2 h-100px Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center fs-4 mb-2\">\r\n Preview not available\r\n </div>\r\n <!-- <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div> -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n <div *ngIf=\"showNext && totalImageUrl.length > 3\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-5 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"(noData || !totalImageUrl?.length) && (anglechangeData?.anglechange && this.anglechangeData?.resolution) || (noData || !totalImageUrl?.length) && (anglechangeData?.anglechange || this.anglechangeData?.resolution)\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\" *ngIf=\"anglechangeData?.anglechange\">\r\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\r\n </div>\r\n </div>\r\n <div class=\"row mt-5\">\r\n <img class=\"w-100 mh-150px\" [src]=\"anglechangeData?.angleChangeImage\">\r\n <!-- <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div class=\"row p-0\" *ngIf=\"anglechangeData?.anglechange\">\r\n <div class=\"col-md-6 m-0 pe-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 m-0 ps-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"w-100 mt-10 table-responsive\" *ngIf=\"this.anglechangeData?.resolution\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Instances</th>\r\n <th>Expected</th>\r\n <th>Actual</th>\r\n <th>Results</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\r\n <td>1080 x 900</td>\r\n <td>{{this.anglechangeData?.resolution}}</td>\r\n <td>\r\n <span class=\"badge badge-light-success text-success px-1\" *ngIf=\"resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"badge badge-light-danger text-danger px-1\" *ngIf=\"!resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_2326)\">\r\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_2326\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n <!-- <tr>\r\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\r\n <td>200mins</td>\r\n <td>140mins</td>\r\n <td><span class=\"badge badge-light-success text-success px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr> -->\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"noData && !totalImageUrl?.length && !anglechangeData?.anglechange && !this.anglechangeData?.resolution\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"mt-5\">\r\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\r\n</div>\r\n<div class=\"mt-5\">\r\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\r\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}.Nopreview{border:1px solid var(--Gray-500, #667085);background:var(--Gray-100, #F2F4F7);color:var(--Gray-500, #667085)}.Nopreview .previewTitle{font-size:20px;font-weight:700;line-height:20px}.Nopreview .previewsubTitle{text-align:center;font-size:12px;line-height:18px}\n"] }]
|
|
688
688
|
}], ctorParameters: () => [{ type: i1.TicketsService }, { type: i0.ChangeDetectorRef }], propDecorators: { storeId: [{
|
|
689
689
|
type: Input
|
|
690
690
|
}] } });
|
|
691
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvc3RvcmUtaW5mby9zdG9yZS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9zdG9yZS1pbmZvL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQTZDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDO0FBRTdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFDMUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBT3RCLE1BQU0sT0FBTyxrQkFBa0I7SUF3ZFQ7SUFBK0I7SUF2ZG5ELFFBQVEsR0FBUyxFQUFFLENBQUM7SUFDcEIseUJBQXlCO0lBQ3pCLFdBQVcsQ0FBSztJQUNoQixVQUFVLEdBQU8sQ0FBQyxDQUFDO0lBQ25CLFNBQVMsR0FBTyxDQUFDLENBQUM7SUFDbEIsUUFBUSxHQUFXLEtBQUssQ0FBQztJQUN6QixPQUFPLEdBQVcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sR0FBVyxLQUFLLENBQUM7SUFDdkIsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGlCQUFpQixHQUFLLEVBQUUsQ0FBQztJQUV6QixvQkFBb0IsQ0FBUztJQUM3QixtQkFBbUIsR0FBUTtRQUN6QixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFBO0lBQ2dCLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFVBQVUsR0FBTztRQUNmO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtTQUNqQztRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtLQUNKLENBQUE7SUFDQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ2Is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QUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN0RSxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDOUMsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO3dHQTdwQlUsa0JBQWtCOzRGQUFsQixrQkFBa0Isc0ZDZi9CLGsxakNBMmFNOzs0RkQ1Wk8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjttSEFzZGxCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCxPbkluaXQsT3V0cHV0LENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgJ2RheWpzL2xvY2FsZS9lbic7XG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xuaW1wb3J0IHRpbWV6b25lIGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuZGF5anMuZXh0ZW5kKHV0Yyk7XG5kYXlqcy5leHRlbmQodGltZXpvbmUpXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zdG9yZS1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc3RvcmUtaW5mby5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgU3RvcmVJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XG4gIGltYWdlVXJsOmFueVtdID0gW107XG4gIC8vIHRpbWVTZXJpZXM6YW55W10gPSBbXTtcbiAgc3RvcmVUaWNrZXQ6YW55O1xuICBmaXJzdEluZGV4OmFueSA9IDA7XG4gIGxhc3RJbmRleDphbnkgPSAzO1xuICBzaG93UHJldjpib29sZWFuID0gZmFsc2U7XG4gIGxvYWRpbmc6Ym9vbGVhbiA9IGZhbHNlO1xuICBub0RhdGE6Ym9vbGVhbiA9IGZhbHNlO1xuICBzaG93TmV4dDpib29sZWFuID0gdHJ1ZTtcbiAgc2hvd0luY2lkZW50UG9wID0gZmFsc2U7XG4gIHNlbGVjdGVkRGF0ZVJhbmdlOmFueT17fTtcbiAgXG4gIHNob3dJbmNpZGVudFBvcEluZGV4OiBudW1iZXI7XG4gIHNob3dJbmNpZGVudE9wdGlvbnM6IGFueSA9IHtcbiAgICBuZWc6IGZhbHNlLFxuICAgIHBvczogZmFsc2UsXG4gICAgc3RvcmVvcDogZmFsc2VcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgdGltZVNlcmllczphbnlbXT1bXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDowMCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMDowMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDoxMCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMDoxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDoyMCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMDoyMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDozMCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMDozMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDo0MCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMDo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDo1MCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMDo1MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTowMCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMTowMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTFBTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMToxMCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMToxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTFBTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMToyMCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMToyMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTFBTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTozMCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMTozMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTFBTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTo0MCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMTo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTFBTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTo1MCBBTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMTo1MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTFBTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjowMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjowMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTJQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjoxMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjoxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTJQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjoyMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjoyMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTJQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjozMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjozMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTJQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjo0MCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTJQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjo1MCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjo1MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTJQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxOjAwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEzOjAwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxUE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMToxMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMzoxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMVBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjE6MjAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTM6MjA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjFQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxOjMwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEzOjMwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxUE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTo0MCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMzo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMVBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjE6NTAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTM6NTA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjFQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIyOjAwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE0OjAwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIyUE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMjoxMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNDoxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMlBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjI6MjAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTQ6MjA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjJQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIyOjMwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE0OjMwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIyUE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMjo0MCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNDo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMlBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjI6NTAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTQ6NTA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjJQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIzOjAwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE1OjAwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIzUE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMzoxMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNToxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiM1BNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjM6MjAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTU6MjA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjNQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIzOjMwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE1OjMwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIzUE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMzo0MCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNTo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiM1BNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjM6NTAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTU6NTA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjNQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI0OjAwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE2OjAwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI0UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNDoxMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNjoxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNFBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjQ6MjAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTY6MjA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjRQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI0OjMwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE2OjMwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI0UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNDo0MCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNjo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNFBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjQ6NTAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTY6NTA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjRQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI1OjAwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE3OjAwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI1UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNToxMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNzoxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNVBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjU6MjAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTc6MjA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjVQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI1OjMwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE3OjMwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI1UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNTo0MCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNzo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNVBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjU6NTAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTc6NTA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjVQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI2OjAwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE4OjAwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI2UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNjoxMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxODoxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNlBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjY6MjAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTg6MjA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjZQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI2OjMwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE4OjMwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI2UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNjo0MCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxODo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNlBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjY6NTAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTg6NTA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjZQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI3OjAwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE5OjAwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI3UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNzoxMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxOToxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiN1BNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjc6MjAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTk6MjA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjdQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI3OjMwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE5OjMwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI3UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNzo0MCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxOTo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiN1BNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjc6NTAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTk6NTA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjdQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI4OjAwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIwOjAwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI4UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiODoxMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMDoxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOFBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjg6MjAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjA6MjA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjhQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI4OjMwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIwOjMwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI4UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiODo0MCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMDo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOFBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjg6NTAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjA6NTA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjhQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI5OjAwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIxOjAwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI5UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiOToxMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMToxMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOVBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjk6MjAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjE6MjA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjlQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI5OjMwIFBNXCIsXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIxOjMwOjAwXCIsXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI5UE1cIixcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiOTo0MCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMTo0MDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOVBNXCIsXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjk6NTAgUE1cIixcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjE6NTA6MDBcIixcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjlQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDowMCBQTVwiLFxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMjowMDowMFwiLFxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBQTVwiLFxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxuICAgIH1cbl1cbiAgZGF5anMgPSBkYXlqc1xuICB0b3RhbEltYWdlVXJsOmFueVtdO1xuIHNlbGVjdGVkVXJsOmFueTtcbiBcbiBhbmdsZWNoYW5nZURhdGE6IGFueTtcbiB0b3RhbERvd250aW1lOiBudW1iZXIgPSAwO1xuIHJlc29sdXRpb250eXBlOiBib29sZWFuPXRydWU7XG4gQElucHV0KCkgc3RvcmVJZDpzdHJpbmc7IFxuICAgIERvd21UaW1lQXJyYXk6IGFueVtdOyBcbiAgICBjYW1lcmFJbWFnZXM6IGFueTtcbiAgICBzZWxlY3RlZERhdGU6IHN0cmluZztcbiAgICB0b3RhbERvd25UaW1lOiBhbnkgPSAwO1xuICAgIGlzQ3VzdG9tRGF0ZTogKG06IGRheWpzLkRheWpzKSA9PiBmYWxzZSB8IFwiaW52YWxpZC1kYXRlXCI7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTpUaWNrZXRzU2VydmljZSxwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmKXtcbiAgICAgXG4gIH1cblxubmdPbkluaXQoKXtcbiAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xuICAgICAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9ICBtID4gdGhpcy5kYXlqcygpOyAgICBcbiAgICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gJ2ludmFsaWQtZGF0ZScgOiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSB0aGlzLmRheWpzKCkudXRjKCkuZm9ybWF0KCdERC1NTS1ZWVlZJyk7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0aGlzLmRheWpzKCkudXRjKCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG4gICAgdGhpcy5nZXRDYW1lcmFJbWFnZXMoKTtcbiAgICB0aGlzLkRvd21UaW1lKCk7XG59XG5cbm5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbmdldENhbWVyYUltYWdlcygpe1xuICAgdGhpcy5zZXJ2aWNlLmNhbWVyYUxpc3QodGhpcy5zdG9yZUlkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgICBuZXh0OihyZXM6YW55KT0+IHtcbiAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09IDIwMCl7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNhbWVyYUltYWdlcyA9IHJlcy5kYXRhO1xuICAgICAgICAgICAgdGhpcy50b3RhbEltYWdlVXJsID0gdGhpcy5jYW1lcmFJbWFnZXNcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VVcmwgPSB0aGlzLnRvdGFsSW1hZ2VVcmwuc2xpY2UodGhpcy5maXJzdEluZGV4LHRoaXMubGFzdEluZGV4KTtcbiAgICAgICAgICAgIHRoaXMuZ2V0QW5nbGVDaGFuZ2UodGhpcy5pbWFnZVVybFswXT8uc3RyZWFtTmFtZSlcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTsgIFxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0sXG4gICB9KVxuICB9XG4gIGdldEFuZ2xlQ2hhbmdlKHN0cmVhbTogYW55KSB7XG4gICAgbGV0IHBheWxvYWQgPSB7XG4gICAgICAgIFwic3RvcmVJZFwiOiB0aGlzLnN0b3JlSWQsXG4gICAgICAgIFwiRGF0ZVwiOiB0aGlzLnNlbGVjdGVkRGF0ZSxcbiAgICAgICAgXCJTdHJlYW1OYW1lXCI6IHN0cmVhbVxuICAgIH1cbiAgICB0aGlzLnNlcnZpY2UuY2FtZXJhQW5nbGVDaGFuZ2UocGF5bG9hZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYW5nbGVjaGFuZ2VEYXRhID0gcmVzLmRhdGFcbiAgICAgICAgICAgICAgICBpZih0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbi5zcGxpdCgnKicpWzBdPDcyMCYmdGhpcy5hbmdsZWNoYW5nZURhdGE/LnJlc29sdXRpb24uc3BsaXQoJyonKVsxXTw3MjApe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc29sdXRpb250eXBlID0gZmFsc2VcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0sXG4gICAgfSlcblxufVxuICBEb3dtVGltZSgpe1xuICAgIGxldCBkYXRhPXtcbiAgICAgIFwic3RvcmVJZFwiOiB0aGlzLnN0b3JlSWQsXG4gICAgLy8gICBcInN0b3JlSWRcIjpcIjExLTEwMTNcIixcbiAgICBcIkRhdGVcIjp0aGlzLnNlbGVjdGVkRGF0ZSxcbiAgICB9XG4gICAgdGhpcy5zZXJ2aWNlLmVkZ2VBcHBMb2dUYWJsZShkYXRhKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDoocmVzOmFueSk9PiB7XG4gICAgICAgIHRoaXMuRG93bVRpbWVBcnJheSA9IHJlcy5kYXRhO1xuICAgICAgICB0aGlzLnRvdGFsRG93blRpbWUgPSAwXG4gICAgICAgIHRoaXMuRG93bVRpbWVBcnJheS5mb3JFYWNoKChpdGVtOmFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0/LmRvd250aW1lICE9ICcnKSB7XG4gICAgICAgICAgICB0aGlzLnRvdGFsRG93blRpbWUgKz0gaXRlbS5kb3dudGltZVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG5cbmhpZGVEaWFsb2dCb3goKSB7XG4gIHRoaXMuc2hvd0luY2lkZW50UG9wID0gZmFsc2U7XG59XG5cbmdldFN0eWxlKCl7XG4gIHJldHVybiB7XG4gIC8vICdtYXJnaW4tbGVmdCc6ICh0aGlzLnNob3dJbmNpZGVudFBvcEluZGV4IDw9IDUpID8gJzBweCcgOiAoKHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPj0gNTgpID8gJy0xNjBweCcgOiAnLTExNXB4JylcbiAgfVxufVxuXG5zaG93SW5jaWRlbnRUeXBlKHRpbWVTZXJpZXM6IGFueSxpOmFueSkge1xuICAgIGxldCBub3dIb3VyID0gdGhpcy5kYXlqcygpLmhvdXIoKTtcbiAgICBsZXQgbm93bWludXRlcyA9IHRoaXMuZGF5anMoKS5taW51dGUoKTtcbiAgICBsZXQgZGF0ZSA9IGRheWpzKCkuZm9ybWF0KCdZWVlZLU1NLUREJylcbiAgICBcbiAgICBsZXQgdGltZVJhbmdlID0gdGltZVNlcmllcy5zcGxpdCgnICcpWzBdO1xuICAgIGxldCB0aW1lID0gdGltZVJhbmdlLnNwbGl0KCc6JylcbiAgICBpZih0aW1lWzBdID09IG5vd0hvdXIgKSB7XG4gICAgICAgIHRoaXMudGltZVNlcmllc1tpXS5hY3RpdmVIciA9IG5vd0hvdXI7XG4gICAgfVxuICAgIFxuICAgIGlmICh0aGlzLkRvd21UaW1lQXJyYXk/Lmxlbmd0aCAmJiB0aGlzLkRvd21UaW1lQXJyYXkuZmlsdGVyKCh4OiBhbnkpID0+IHguaG91ciA9PSBwYXJzZUludCh0aW1lWzBdKSAmJiB4LmRvd250aW1lID4gMCAmJiAgeC5kb3dudGltZSA+IHBhcnNlSW50KHRpbWVbMV0pKS5sZW5ndGgpIHsgXG4gICAgICAgIHJldHVybiAnbmVnYXRpdmUnO1xuICAgICAgfSBcbiAgICAgIGVsc2UgaWYgKHRoaXMuRG93bVRpbWVBcnJheT8ubGVuZ3RoICYmIHRoaXMuRG93bVRpbWVBcnJheS5maWx0ZXIoKHg6IGFueSkgPT4geC5ob3VyID09IHBhcnNlSW50KHRpbWVbMF0pJiYgeC5kb3dudGltZSAhPT0gJycmJih0aGlzLnNlbGVjdGVkRGF0ZSA8IGRhdGUgfHwgKHRoaXMuc2VsZWN0ZWREYXRlID09IGRhdGUgJiYgKHguaG91ciA8IG5vd0hvdXIgIHx8IChub3dIb3VyID09IHguaG91ciAmJiBub3dtaW51dGVzID49IHBhcnNlSW50KHRpbWVbMV0pKSkpKSkubGVuZ3RoKXtcbiAgICAgICAgICAgICAgcmV0dXJuICdwb3NpdGl2ZSc7XG4gICAgICB9XG4gICAgICAgZWxzZSB7XG4gICAgICAgIHJldHVybiAnbm9ybWFsJztcbiAgICAgIH1cbn1cblxuc2hvd0RpYWxvZ0JveCh0aW1lOiBhbnksIGluZGV4OiBudW1iZXIpIHtcbiAgdGhpcy5zaG93SW5jaWRlbnRQb3AgPSBmYWxzZTtcbiAgdGhpcy5zaG93SW5jaWRlbnRQb3BJbmRleCA9IGluZGV4O1xuICBpZiAodGltZS5pbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSBcIm5lZ2F0aXZlXCIpLmxlbmd0aCkge1xuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5uZWcgPSB0cnVlO1xuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5wb3MgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IGZhbHNlO1xuICB9IGVsc2UgaWYgKHRpbWUuaW5jaWRlbnRzLmZpbHRlcigoeDogYW55KSA9PiB4LnR5cGUgPT0gXCJwb3NpdGl2ZVwiKS5sZW5ndGgpIHtcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMubmVnID0gZmFsc2U7XG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnBvcyA9IHRydWU7XG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnN0b3Jlb3AgPSBmYWxzZTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMubmVnID0gZmFsc2U7XG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnBvcyA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5zdG9yZW9wID0gdHJ1ZTtcbiAgfVxuICAvLyB0aGlzLnNob3dJbmNpZGVudFBvcCA9IHRydWU7XG59XG5cbmRpc3BsYXlDYXRlZ29yeShjYXRlZ29yeTogYW55LCB0eXBlOiBhbnkpIHtcbiAgaWYgKGNhdGVnb3J5ID09ICdtb2JpbGV1c2FnZWRldGVjdGlvbicpIHtcbiAgICByZXR1cm4gJ01vYmlsZSBVc2FnZSBEZXRlY3Rpb24nO1xuICB9IGVsc2UgaWYgKGNhdGVnb3J5ID09ICdjdXN0b20nKSB7XG4gICAgaWYgKHR5cGUgPT0gJ3Bvc2l0aXZlJylcbiAgICAgIHJldHVybiAnQ2hlY2tsaXN0IFN1Ym1pc3Npb24nO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiAnU3VibWlzc2lvbiBEZWxheWVkJztcbiAgfSBlbHNlIGlmIChjYXRlZ29yeSA9PSAnc3RvcmVvcGVuYW5kY2xvc2UnKSB7XG4gICAgcmV0dXJuICdTdG9yZSBPcGVuIENsb3NlJztcbiAgfSBlbHNlIGlmIChjYXRlZ29yeSA9PSAndW5pZm9ybWRldGVjdGlvbicpIHtcbiAgICByZXR1cm4gJ1VuaWZvcm0gRGV0ZWN0aW9uJztcbiAgfVxufVxuXG5zZWxlY3RlZEltZyhkYXRhOmFueSl7XG4gICB0aGlzLnNlbGVjdGVkVXJsID1kYXRhO1xuICAgdGhpcy5nZXRBbmdsZUNoYW5nZSh0aGlzLnNlbGVjdGVkVXJsLnN0cmVhbU5hbWUpXG59XG5wcmV2SW1hZ2VzKCl7IFxuICB0aGlzLnNlbGVjdGVkVXJsID0gJyc7XG4gIHRoaXMuc2hvd05leHQgPSB0cnVlO1xuICB0aGlzLmZpcnN0SW5kZXggLT0gMztcbiAgdGhpcy5sYXN0SW5kZXggLT0gMzsgXG4gIHRoaXMuaW1hZ2VVcmwgPSB0aGlzLnRvdGFsSW1hZ2VVcmwuc2xpY2UodGhpcy5maXJzdEluZGV4LHRoaXMubGFzdEluZGV4KTtcbiAgaWYodGhpcy5maXJzdEluZGV4ID09IDAgJiYgdGhpcy5sYXN0SW5kZXggPT0gMyl7XG4gICAgdGhpcy5zaG93UHJldiA9IGZhbHNlO1xuICB9XG59XG5uZXh0SW1hZ2VzKCl7XG4gIHRoaXMuc2hvd1ByZXYgPSB0cnVlO1xuICB0aGlzLnNlbGVjdGVkVXJsID0gJyc7XG4gIHRoaXMuZmlyc3RJbmRleCArPSAzO1xuICB0aGlzLmxhc3RJbmRleCArPSAzOyBcbiAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xuICBpZih0aGlzLmxhc3RJbmRleCA9PSB0aGlzLnRvdGFsSW1hZ2VVcmwubGVuZ3RoIHx8IHRoaXMuaW1hZ2VVcmwubGVuZ3RoIDwgMyl7XG4gIHRoaXMuc2hvd05leHQgPSBmYWxzZTtcbiAgfVxufVxuXG5kYXRlY2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgaWYgKGV2ZW50ICYmIGV2ZW50LnN0YXJ0RGF0ZSkge1xuICAgIGlmICh0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLnV0YygpLmZvcm1hdCgnREQtTU0tWVlZWScpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS51dGMoKS5mb3JtYXQoJ1lZWVktTU0tREQnKTtcbiAgICAgICAgdGhpcy5Eb3dtVGltZSgpO1xuICAgICAgICB0aGlzLmdldENhbWVyYUltYWdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGRhdGVzIHByb3ZpZGVkOicsIGV2ZW50LnN0YXJ0RGF0ZSwgZXZlbnQuZW5kRGF0ZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZXZlbnQgb2JqZWN0OicsIGV2ZW50KTtcbiAgfVxuIH1cblxuc2hvd0hvdXJzKHRpbWU6IGFueSkge1xuICAgIGxldCBob3VyOiBhbnkgPSBmYWxzZTtcbiAgICBob3VyID0gdGltZS50aW1lMjRIb3VyLnNwbGl0KCc6JylbMV0gPT0gJzAwJyA/IHRpbWUudGltZVN0cmluZzEySG91ck9ubHkgOiBmYWxzZTtcbiAgICByZXR1cm4gaG91cjtcbiAgfVxuICBvblN0YXJ0RGF0ZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlID1cbiAgICAgICAgICBtID4gdGhpcy5kYXlqcygpIHx8IG0gPiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZS5hZGQoOTAsIFwiZGF5c1wiKSk7XG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/IFwiaW52YWxpZC1kYXRlXCIgOiBmYWxzZTtcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+U3RvcmUgSW5mbzwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkLTQwMCBzdWJUaXRsZVwiPkFuIG92ZXJ2aWV3IG9mIHRoZSBzdG9yZSBpc3N1ZXMgYW5kIHRoZSBkb3dudGltZSBmb3Ige3tzZWxlY3RlZERhdGUgfCBjdXN0b21EYXRlRm9ybWF0IH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm15LTUgdGltZVJhbmdlIGZ3LXNlbWlib2xkXCI+VG90YWwgOiB7e3RvdGFsRG93blRpbWV9fSBtaW5zIERvd250aW1lIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiIG10LTIgbXgtMlwiICpuZ0lmPVwidGltZVNlcmllcz8ubGVuZ3RoXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHRpbWUgb2YgdGltZVNlcmllcztsZXQgSW5kZXg9aW5kZXhcIiBjbGFzcz1cInN2Zy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBub3JtYWwgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzaG93SW5jaWRlbnRUeXBlKHRpbWU/LnRpbWUyNEhvdXIsSW5kZXgpID09PSAnbm9ybWFsJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWVJdGVtIG15LTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjUzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNCA1M1wiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuMDgwMzIgMi41TDIuMDgwMzIgNTAuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiBzdHJva2Utd2lkdGg9XCI0LjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIFByZXNlbnQgaG91ciBmb3IgbGl2ZSAtLT5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3ZnICpuZ0lmPVwidGltZS5hY3RpdmVIclwiIGNsYXNzPVwidGltZUl0ZW0gbXktMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjUzXCIgdmlld0JveD1cIjAgMCA0IDUzXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMi4wODAzMiAyLjVMMi4wODAzMiA1MC41XCIgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPiAtLT5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIHBvc2l0aXZlIC0tPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIChtb3VzZWVudGVyKT1cInNob3dEaWFsb2dCb3godGltZSxJbmRleClcIiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInNob3dJbmNpZGVudFR5cGUodGltZT8udGltZTI0SG91cixJbmRleCkgPT09ICdwb3NpdGl2ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lSXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjY4XCIgdmlld0JveD1cIjAgMCA1IDY4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuNDAwMTUgMi41TDIuNDAwMTQgNjYuNVwiIHN0cm9rZT1cIiMwMzk4NTVcIiBzdHJva2Utd2lkdGg9XCI0LjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIG5lZ2F0aXZlIC0tPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIChtb3VzZWVudGVyKT1cInNob3dEaWFsb2dCb3godGltZSxJbmRleClcIiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInNob3dJbmNpZGVudFR5cGUodGltZT8udGltZTI0SG91cixJbmRleCkgPT09ICduZWdhdGl2ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lSXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjY4XCIgdmlld0JveD1cIjAgMCA1IDY4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuNDg2ODIgMkwyLjQ4NjgyIDY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWJveFwiIFtuZ1N0eWxlXT1cImdldFN0eWxlKClcIiAqbmdJZj1cInNob3dJbmNpZGVudFBvcCAmJiBzaG93SW5jaWRlbnRQb3BJbmRleCA9PT0gSW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKG1vdXNlbGVhdmUpPVwiaGlkZURpYWxvZ0JveCgpXCIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC12ZSAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SW5jaWRlbnRPcHRpb25zLm5lZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI2NVwiIGhlaWdodD1cIjY0XCIgdmlld0JveD1cIjAgMCA2NSA2NFwiIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZGRfNTc1Ml8zNjA3NSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjgyNjQyXCIgeT1cIjQuMzI2MTdcIiB3aWR0aD1cIjU1LjM0NzNcIiBoZWlnaHQ9XCI1NS4zNDczXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjcuOTA2NzZcIiBmaWxsPVwiI0ZFRjNGMlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuOTQ0NiAyNS41OTg3QzMwLjIyMjEgMjUuODc2MSAzMC4yMjIxIDI2LjMyNTkgMjkuOTQ0NiAyNi42MDMzTDI3LjEwMzIgMjkuNDQ0OEMyNi44MjU3IDI5LjcyMjIgMjYuMzc2IDI5LjcyMjIgMjYuMDk4NSAyOS40NDQ4TDI0LjY3NzggMjguMDI0MUMyNC40MDA0IDI3Ljc0NjYgMjQuNDAwNCAyNy4yOTY5IDI0LjY3NzggMjcuMDE5NEMyNC45NTUyIDI2Ljc0MiAyNS40MDUgMjYuNzQyIDI1LjY4MjQgMjcuMDE5NEwyNi42MDA4IDI3LjkzNzlMMjguOTQgMjUuNTk4N0MyOS4yMTc1IDI1LjMyMTMgMjkuNjY3MiAyNS4zMjEzIDI5Ljk0NDYgMjUuNTk4N1pcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRjA0NDM4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS45NDQ2IDMyLjcwMjZDMzAuMjIyMSAzMi45ODAxIDMwLjIyMjEgMzMuNDI5OSAyOS45NDQ2IDMzLjcwNzRMMjcuMTAzMiAzNi41NDg5QzI2LjgyNTcgMzYuODI2MiAyNi4zNzYgMzYuODI2MiAyNi4wOTg1IDM2LjU0ODlMMjQuNjc3OCAzNS4xMjgxQzI0LjQwMDQgMzQuODUwNyAyNC40MDA0IDM0LjQwMDggMjQuNjc3OCAzNC4xMjM0QzI0Ljk1NTIgMzMuODQ2IDI1LjQwNSAzMy44NDYgMjUuNjgyNCAzNC4xMjM0TDI2LjYwMDggMzUuMDQxOUwyOC45NCAzMi43MDI2QzI5LjIxNzUgMzIuNDI1MyAyOS42NjcyIDMyLjQyNTMgMjkuOTQ0NiAzMi43MDI2WlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGMDQ0MzhcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMxLjU3MzUgMjcuNTIxOUMzMS41NzM1IDI3LjEyOTYgMzEuODkxNiAyNi44MTE1IDMyLjI4MzkgMjYuODExNUgzNi41NDYxQzM2LjkzODQgMjYuODExNSAzNy4yNTY1IDI3LjEyOTYgMzcuMjU2NSAyNy41MjE5QzM3LjI1NjUgMjcuOTE0MiAzNi45Mzg0IDI4LjIzMjMgMzYuNTQ2MSAyOC4yMzIzSDMyLjI4MzlDMzEuODkxNiAyOC4yMzIzIDMxLjU3MzUgMjcuOTE0MiAzMS41NzM1IDI3LjUyMTlaXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0YwNDQzOFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjUuMTggMjEuMTI4NEMyMy4yMTg0IDIxLjEyODQgMjEuNjI4MiAyMi43MTg2IDIxLjYyODIgMjQuNjgwM1YzNy40NjdDMjEuNjI4MiAzOS40Mjg2IDIzLjIxODQgNDEuMDE4OSAyNS4xOCA0MS4wMTg5SDMxLjAwNDdDMzAuNzc0NiA0MC41Njg4IDMwLjU4NjkgNDAuMDkzNCAzMC40NDY4IDM5LjU5ODFIMjUuMThDMjQuMDAzMSAzOS41OTgxIDIzLjA0ODkgMzguNjQzOSAyMy4wNDg5IDM3LjQ2N1YyNC42ODAzQzIzLjA0ODkgMjMuNTAzMyAyNC4wMDMxIDIyLjU0OTIgMjUuMTggMjIuNTQ5MkgzNy45NjY4QzM5LjE0MzcgMjIuNTQ5MiA0MC4wOTc5IDIzLjUwMzMgNDAuMDk3OSAyNC42ODAzVjI5Ljk0N0M0MC41OTMxIDMwLjA4NzEgNDEuMDY4NSAzMC4yNzQ5IDQxLjUxODYgMzAuNTA0OVYyNC42ODAzQzQxLjUxODYgMjIuNzE4NiAzOS45Mjg0IDIxLjEyODQgMzcuOTY2OCAyMS4xMjg0SDI1LjE4WlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGMDQ0MzhcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjM3LjkzNlwiIGN5PVwiMzcuNDM2XCIgcj1cIjYuNDI0MjRcIiBmaWxsPVwiI0YwNDQzOFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzguNzQxNSAzNS41MjY1VjQwLjU1ODFIMzcuNjc3N1YzNi41MzYzSDM3LjY0ODJMMzYuNDk2IDM3LjI1ODZWMzYuMzE1MkwzNy43NDE2IDM1LjUyNjVIMzguNzQxNVpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNS4zMjA1OVwiIHk9XCI0LjgyMDM0XCIgd2lkdGg9XCI1NC4zNTlcIiBoZWlnaHQ9XCI1NC4zNTlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiNy40MTI1OVwiIHN0cm9rZT1cIiNGRUYzRjJcIiBzdHJva2Utd2lkdGg9XCIwLjk4ODM0NVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kZF81NzUyXzM2MDc1XCIgeD1cIjAuODI2NDE2XCIgeT1cIjAuMzI2MTcyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjYzLjM0NzRcIiBoZWlnaHQ9XCI2My4zNDcyXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImRpbGF0ZVwiIGluPVwiU291cmNlQWxwaGFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC45OTcwNTkgMCAwIDAgMCAwLjg5Mjc0NSAwIDAgMCAwIDAuODg1Mjk0IDAgMCAwIDEgMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDc1XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzU3NTJfMzYwNzVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluMj1cImVmZmVjdDJfZHJvcFNoYWRvd181NzUyXzM2MDc1XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8udGltZTEySG91cn19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgc3VwcG9ydGluZy10ZXh0XCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgKGNsaWNrKT1cInNjcm9sbFRvX21vYmRldGVjdGlvbnNlY3Rpb24odGltZT8uaW5jaWRlbnRzWzBdPy5jYXRlZ29yeSk7XCI+Q2xpY2sgdG8gdmlldyBkZXRhaWxzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tICt2ZSAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SW5jaWRlbnRPcHRpb25zLnBvc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI1N1wiIGhlaWdodD1cIjU3XCIgdmlld0JveD1cIjAgMCA1NyA1N1wiIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNC41XCIgeT1cIjQuODM2OTFcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDFGQURGXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzguNSAyNy45MTdWMjguODM3QzM4LjQ5ODggMzAuOTkzNCAzNy44MDA1IDMzLjA5MTcgMzYuNTA5MyAzNC44MTg4QzM1LjIxODIgMzYuNTQ2IDMzLjQwMzMgMzcuODA5NSAzMS4zMzU0IDM4LjQyMDlDMjkuMjY3NCAzOS4wMzIzIDI3LjA1NzMgMzguOTU4OSAyNS4wMzQ1IDM4LjIxMTZDMjMuMDExNyAzNy40NjQzIDIxLjI4NDcgMzYuMDgzMSAyMC4xMTEgMzQuMjc0MUMxOC45MzczIDMyLjQ2NTEgMTguMzc5OCAzMC4zMjUxIDE4LjUyMTcgMjguMTczM0MxOC42NjM2IDI2LjAyMTYgMTkuNDk3MiAyMy45NzMzIDIwLjg5ODMgMjIuMzM0MUMyMi4yOTk0IDIwLjY5NDggMjQuMTkyOCAxOS41NTI0IDI2LjI5NjIgMTkuMDc3MkMyOC4zOTk2IDE4LjYwMTkgMzAuNjAwMyAxOC44MTk0IDMyLjU3IDE5LjY5N00zOC41IDIwLjgzN0wyOC41IDMwLjg0N0wyNS41IDI3Ljg0N1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNC41XCIgeT1cIjQuODM2OTFcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNFQ0ZERjNcIiBzdHJva2Utd2lkdGg9XCI4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8udGltZTEySG91cn19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdXBwb3J0aW5nLXRleHQgdGV4dC1wcmltYXJ5XCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNjcm9sbFRvX1N1Ym1pdHVzZXIoKTtcIj5TdWJtaXR0ZWQgYnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8uaW5jaWRlbnRzWzBdPy51c2VyTmFtZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0b3JlIG9wIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI2NFwiIGhlaWdodD1cIjY0XCIgdmlld0JveD1cIjAgMCA2NCA2NFwiIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZGRfNTc1Ml8zNjA2NylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjMyNjQyXCIgeT1cIjRcIiB3aWR0aD1cIjU1LjM0NzNcIiBoZWlnaHQ9XCI1NS4zNDczXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjcuOTA2NzZcIiBmaWxsPVwiI0VBRjhGRlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNDQ0OSAyNS4yNzJDMjkuNzIyMyAyNS41NDk1IDI5LjcyMjMgMjUuOTk5MiAyOS40NDQ5IDI2LjI3NjZMMjYuNjAzNCAyOS4xMTgxQzI2LjMyNiAyOS4zOTU2IDI1Ljg3NjIgMjkuMzk1NiAyNS41OTg4IDI5LjExODFMMjQuMTc4IDI3LjY5NzRDMjMuOTAwNiAyNy40MiAyMy45MDA2IDI2Ljk3MDIgMjQuMTc4IDI2LjY5MjhDMjQuNDU1NSAyNi40MTU0IDI0LjkwNTIgMjYuNDE1NCAyNS4xODI3IDI2LjY5MjhMMjYuMTAxMSAyNy42MTEyTDI4LjQ0MDMgMjUuMjcyQzI4LjcxNzcgMjQuOTk0NiAyOS4xNjc1IDI0Ljk5NDYgMjkuNDQ0OSAyNS4yNzJaXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwOUJGM1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNDQ0OSAzMi4zNzZDMjkuNzIyMyAzMi42NTM0IDI5LjcyMjMgMzMuMTAzMiAyOS40NDQ5IDMzLjM4MDdMMjYuNjAzNCAzNi4yMjIyQzI2LjMyNiAzNi40OTk1IDI1Ljg3NjIgMzYuNDk5NSAyNS41OTg4IDM2LjIyMjJMMjQuMTc4IDM0LjgwMTVDMjMuOTAwNiAzNC41MjQgMjMuOTAwNiAzNC4wNzQyIDI0LjE3OCAzMy43OTY3QzI0LjQ1NTUgMzMuNTE5NCAyNC45MDUyIDMzLjUxOTQgMjUuMTgyNyAzMy43OTY3TDI2LjEwMTEgMzQuNzE1MkwyOC40NDAzIDMyLjM3NkMyOC43MTc3IDMyLjA5ODYgMjkuMTY3NSAzMi4wOTg2IDI5LjQ0NDkgMzIuMzc2WlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMxLjA3MzcgMjcuMTk1MkMzMS4wNzM3IDI2LjgwMjkgMzEuMzkxOCAyNi40ODQ5IDMxLjc4NDEgMjYuNDg0OUgzNi4wNDYzQzM2LjQzODYgMjYuNDg0OSAzNi43NTY3IDI2LjgwMjkgMzYuNzU2NyAyNy4xOTUyQzM2Ljc1NjcgMjcuNTg3NiAzNi40Mzg2IDI3LjkwNTYgMzYuMDQ2MyAyNy45MDU2SDMxLjc4NDFDMzEuMzkxOCAyNy45MDU2IDMxLjA3MzcgMjcuNTg3NiAzMS4wNzM3IDI3LjE5NTJaXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwOUJGM1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjQuNjgwMyAyMC44MDE4QzIyLjcxODYgMjAuODAxOCAyMS4xMjg0IDIyLjM5MiAyMS4xMjg0IDI0LjM1MzZWMzcuMTQwM0MyMS4xMjg0IDM5LjEwMiAyMi43MTg2IDQwLjY5MjIgMjQuNjgwMyA0MC42OTIySDMwLjUwNDlDMzAuMjc0OSA0MC4yNDIxIDMwLjA4NzEgMzkuNzY2NyAyOS45NDcgMzkuMjcxNUgyNC42ODAzQzIzLjUwMzMgMzkuMjcxNSAyMi41NDkyIDM4LjMxNzMgMjIuNTQ5MiAzNy4xNDAzVjI0LjM1MzZDMjIuNTQ5MiAyMy4xNzY2IDIzLjUwMzMgMjIuMjIyNSAyNC42ODAzIDIyLjIyMjVIMzcuNDY3QzM4LjY0MzkgMjIuMjIyNSAzOS41OTgxIDIzLjE3NjYgMzkuNTk4MSAyNC4zNTM2VjI5LjYyMDRDNDAuMDkzNCAyOS43NjA1IDQwLjU2ODggMjkuOTQ4MiA0MS4wMTg5IDMwLjE3ODNWMjQuMzUzNkM0MS4wMTg5IDIyLjM5MiAzOS40Mjg2IDIwLjgwMTggMzcuNDY3IDIwLjgwMThIMjQuNjgwM1pcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIzNy40MzZcIiBjeT1cIjM3LjEwOThcIiByPVwiNi40MjQyNFwiIGZpbGw9XCIjMDA5QkYzXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zOC4yNDE3IDM1LjIwMDRWNDAuMjMxOUgzNy4xNzc5VjM2LjIxMDFIMzcuMTQ4NUwzNS45OTYyIDM2LjkzMjRWMzUuOTg5TDM3LjI0MTggMzUuMjAwNEgzOC4yNDE3WlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjgyMDU5XCIgeT1cIjQuNDk0MTdcIiB3aWR0aD1cIjU0LjM1OVwiIGhlaWdodD1cIjU0LjM1OVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCI3LjQxMjU5XCIgc3Ryb2tlPVwiI0VBRjhGRlwiIHN0cm9rZS13aWR0aD1cIjAuOTg4MzQ1XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RkXzU3NTJfMzYwNjdcIiB4PVwiMC4zMjY0MTZcIiB5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI2My4zNDc0XCIgaGVpZ2h0PVwiNjMuMzQ3MlwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJkaWxhdGVcIiBpbj1cIlNvdXJjZUFscGhhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuODM2MzcgMCAwIDAgMCAwLjkzODM3NyAwIDAgMCAwIDAuOTk2NjY3IDAgMCAwIDEgMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDY3XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluMj1cImVmZmVjdDJfZHJvcFNoYWRvd181NzUyXzM2MDY3XCIgcmVzdWx0PVwic2hhcGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8udGltZTEySG91cn19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUgPT0gJ3Bvc2l0aXZlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cHBvcnRpbmctdGV4dFwiPk9uIHRpbWUgb3BlbmluZy9jbG9zaW5nPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUgPT0gJ25lZ2F0aXZlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cHBvcnRpbmctdGV4dFwiPlN0b3JlIE9wZW4vQ2xvc2UgRGVsYXllZD9FYXJseTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lciBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdGltZSBvZiB0aW1lU2VyaWVzO2xldCBpPWluZGV4O1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhvdXJUZXh0XCIgKm5nSWY9XCJzaG93SG91cnModGltZSlcIj57e3Nob3dIb3Vycyh0aW1lKX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiY2FyZCBtdC01XCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+Q2FtZXJhIEluZm88L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkLTQwMCBzdWJUaXRsZVwiPkFuIG92ZXJ2aWV3IG9mIHRoZSBzdG9yZSBpc3N1ZXMgYW5kIHRoZSBkb3dudGltZSBmb3Ige3tzZWxlY3RlZERhdGV8Y3VzdG9tRGF0ZUZvcm1hdCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMSBtcy0zXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZ4LWRhdGUtcmFuZ2UgZm9ybS1jb250cm9sIHBzLTE0XCIgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBuZ3hEYXRlcmFuZ2VwaWNrZXJNZCBbc2luZ2xlRGF0ZVBpY2tlcl09XCJ0cnVlXCIgW2Ryb3BzXT1cIidkb3duJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtvcGVuc109XCIncmlnaHQnXCIgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBba2VlcENhbGVuZGFyT3BlbmluZ1dpdGhSYW5nZV09XCJ0cnVlXCIgW3Nob3dDYW5jZWxdPVwidHJ1ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlUmFuZ2VcIiAoc3RhcnREYXRlQ2hhbmdlZCk9XCJvblN0YXJ0RGF0ZUNoYW5nZSgkZXZlbnQpXCIgIFtpc0N1c3RvbURhdGVdPVwiaXNDdXN0b21EYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXG4gICAgICAgICAgICAgICAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZWNoYW5nZSgkZXZlbnQpXCIgbmFtZT1cImRhdGVyYW5nZVwiIFtyZWFkb25seV09XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtN1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvdGFsSW1hZ2VVcmw/Lmxlbmd0aCAmJiAhbG9hZGluZyAmJiAhbm9EYXRhXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+PGRpdiAqbmdJZj1cInNlbGVjdGVkVXJsPy5jYW1lcmFOdW1iZXIgfHwgaW1hZ2VVcmxbMF0/LmNhbWVyYU51bWJlclwiIFtuZ0NsYXNzXT1cIigoc2VsZWN0ZWRVcmw/LmlzQWN0aXZhdGVkICYmIHNlbGVjdGVkVXJsPy5pc1VwKSB8fCAoaW1hZ2VVcmxbMF0/LmlzQWN0aXZhdGVkICYmIGltYWdlVXJsWzBdPy5pc1VwKSk/J2JnLXN1Y2Nlc3MnOidiZy1kYW5nZXInXCIgY2xhc3M9XCJ3LTEwcHggaC0xMHB4IGJvcmRlci0wIHJvdW5kZWQtMyBtZS0yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYS10aXRsZVwiPnt7c2VsZWN0ZWRVcmw/LmNhbWVyYU51bWJlciA/IHNlbGVjdGVkVXJsPy5jYW1lcmFOdW1iZXIgOiBpbWFnZVVybFswXT8uY2FtZXJhTnVtYmVyfX08L3NwYW4+IDxzcGFuICpuZ0lmPVwic2VsZWN0ZWRVcmw/LmNhbWVyYU5hbWVcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IG1zLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3NlbGVjdGVkVXJsPy5jYW1lcmFOYW1lID8gc2VsZWN0ZWRVcmw/LmNhbWVyYU5hbWUgOiBpbWFnZVVybFswXT8uY2FtZXJhTmFtZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLTIgdy0xMDAgbWgtMzUwcHggb3ZlcmZsb3ctaGlkZGVuIG10LTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgIT09IG51bGwgfHwgc2VsZWN0ZWRVcmw/LnRodW1ibmFpbEltYWdlICE9PSAnJyB8fCBpbWFnZVVybFswXT8udGh1bWJuYWlsSW1hZ2UgIT09ICcnXCIgY2xhc3M9XCJ3LTEwMCBtaC0zNTBweFwiIFtzcmNdPVwic2VsZWN0ZWRVcmw/LnRodW1ibmFpbEltYWdlID8gc2VsZWN0ZWRVcmw/LnRodW1ibmFpbEltYWdlIDogaW1hZ2VVcmxbMF0/LnRodW1ibmFpbEltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRVcmw/LnRodW1ibmFpbEltYWdlID09PSBudWxsIHx8IHNlbGVjdGVkVXJsPy50aHVtYm5haWxJbWFnZSA9PT0gJycgfHwgaW1hZ2VVcmxbMF0/LnRodW1ibmFpbEltYWdlID09PSAnJyB8fCBzZWxlY3RlZFVybCA9PT0gJydcIiBjbGFzcz1cInctMTAwICBoLTMwMHB4IHJvdW5kZWQtMiBvdmVyZmxvdy1oaWRkZW4gTm9wcmV2aWV3IGFsaWduLWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXdUaXRsZSB0ZXh0LWNlbnRlciBtYi01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmV2aWV3IG5vdCBhdmFpbGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlld3N1YlRpdGxlIGZ3LXNlbWlib2xkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgc2VsZWN0ZWQgY2FtZXJhIGlzIG5vdCBhdmFpbGFibGUgYXQgdGhlIG1vbWVudC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0zIHBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB1cmwgb2YgaW1hZ2VVcmw7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImNvbC1zbS00IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNlbGVjdGVkSW1nKHVybClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwidXJsPy50aHVtYm5haWxJbWFnZSAhPT0gbnVsbCB8fCB1cmw/LnRodW1ibmFpbEltYWdlICE9PSAnJ1wiIGNsYXNzPVwidy0xMDAgcm91bmRlZC0yIG1oLTEwMHB4XCIgW3NyY109XCJ1cmw/LnRodW1ibmFpbEltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVybD8udGh1bWJuYWlsSW1hZ2UgPT09IG51bGwgfHwgdXJsPy50aHVtYm5haWxJbWFnZSA9PT0gJydcIiBjbGFzcz1cInctMTAwIHJvdW5kZWQtMiBoLTEwMHB4IE5vcHJldmlldyBhbGlnbi1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3VGl0bGUgdGV4dC1jZW50ZXIgZnMtNCBtYi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmV2aWV3IG5vdCBhdmFpbGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJwcmV2aWV3c3ViVGl0bGUgZnctc2VtaWJvbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93UHJldlwiIChjbGljayk9XCJwcmV2SW1hZ2VzKClcIiBjbGFzcz1cInctMzVweCBoLTM1cHggYmctbGlnaHQtcHJpbWFyeSByb3VuZGVkLTUgY3Vyc29yLXBvaW50ZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tYWJzb2x1dGUgbGVmdC0wIG1zLTUgbXQtNSB0b3AtMjVcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuNSAxNS4wMjY0TDcuNSAxMC4wMjY0TDEyLjUgNS4wMjYzN1wiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93TmV4dCAmJiB0b3RhbEltYWdlVXJsLmxlbmd0aCA+IDNcIiAoY2xpY2spPVwibmV4dEltYWdlcygpXCIgY2xhc3M9XCJ3LTM1cHggaC0zNXB4IGJnLWxpZ2h0LXByaW1hcnkgcm91bmRlZC01IGN1cnNvci1wb2ludGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLWFic29sdXRlIGVuZC0wIG1lLTUgbXQtNSB0b3AtMjVcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy41IDE1LjAyNjRMMTIuNSAxMC4wMjY0TDcuNSA1LjAyNjM3XCIgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIobm9EYXRhIHx8ICF0b3RhbEltYWdlVXJsPy5sZW5ndGgpICYmIChhbmdsZWNoYW5nZURhdGE/LmFuZ2xlY2hhbmdlICYmIHRoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9uKSB8fCAobm9EYXRhIHx8ICF0b3RhbEltYWdlVXJsPy5sZW5ndGgpICYmIChhbmdsZWNoYW5nZURhdGE/LmFuZ2xlY2hhbmdlIHx8IHRoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9uKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMTBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiAqbmdJZj1cImFuZ2xlY2hhbmdlRGF0YT8uYW5nbGVjaGFuZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhLWFjdHVhbCBmdy1ib2xkXCI+Q2FtZXJhIEFuZ2xlPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlciB0ZXh0LWRhbmdlclwiPiA8aW5wdXQgY2xhc3M9XCJ3LTEwcHggaC0xMHB4IGJvcmRlci0wIHJvdW5kZWQtMiBiZy1kYW5nZXIgbWUtMlwiPkNoYW5nZWQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTE1MHB4XCIgW3NyY109XCJhbmdsZWNoYW5nZURhdGE/LmFuZ2xlQ2hhbmdlSW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTMgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCBtaC0xNTBweFwiIHNyYz1cImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgYmctbGlnaHQtcHJpbWFyeSBweS0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdHVhbHNwYW5cIj5FeHBlY3RlZDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcm91bmRlZC0zIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0xMDAgbWgtMTUwcHhcIiBzcmM9XCJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGJnLWxpZ2h0LXByaW1hcnkgcHktM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdHVhbHNwYW5cIj5BY3R1YWw8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTBcIiAgKm5nSWY9XCJhbmdsZWNoYW5nZURhdGE/LmFuZ2xlY2hhbmdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbS0wIHBlLTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGJnLWxpZ2h0LXByaW1hcnkgcHktM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdHVhbHNwYW5cIj5FeHBlY3RlZDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG0tMCBwcy0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3R1YWxzcGFuXCI+QWN0dWFsPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgbXQtMTAgdGFibGUtcmVzcG9uc2l2ZVwiICAqbmdJZj1cInRoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5JbnN0YW5jZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+RXhwZWN0ZWQ8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+QWN0dWFsPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlJlc3VsdHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwic3ViVGl0bGUgZnctc2VtaWJvbGRcIj4gQ2FtZXJhIFJlc29sdXRpb24gPC9zcGFuPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4xMDgwIHggOTAwPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7dGhpcy5hbmdsZWNoYW5nZURhdGE/LnJlc29sdXRpb259fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyB0ZXh0LXN1Y2Nlc3MgcHgtMVwiICpuZ0lmPVwicmVzb2x1dGlvbnR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80NjIzXzE4MjAxKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExIDUuNTY2M1Y2LjAyNjNDMTAuOTk5NCA3LjEwNDUxIDEwLjY1MDMgOC4xNTM2NCAxMC4wMDQ3IDkuMDE3MjFDOS4zNTkwOCA5Ljg4MDc5IDguNDUxNjQgMTAuNTEyNSA3LjQxNzY4IDEwLjgxODJDNi4zODM3MiAxMS4xMjQgNS4yNzg2MyAxMS4wODcyIDQuMjY3MjQgMTAuNzEzNkMzLjI1NTg0IDEwLjMzOTkgMi4zOTIzMyA5LjY0OTM1IDEuODA1NDggOC43NDQ4M0MxLjIxODYzIDcuODQwMzIgMC45Mzk4OTYgNi43NzAzMyAxLjAxMDg0IDUuNjk0NDZDMS4wODE3OCA0LjYxODU4IDEuNDk4NiAzLjU5NDQ2IDIuMTk5MTQgMi43NzQ4NEMyLjg5OTY4IDEuOTU1MjEgMy44NDYzOSAxLjM4Mzk5IDQuODk4MDkgMS4xNDYzN0M1Ljk0OTggMC45MDg3NTQgNy4wNTAxMyAxLjAxNzQ3IDguMDM1IDEuNDU2M00xMSAyLjAyNjNMNiA3LjAzMTNMNC41IDUuNTMxM1wiIHN0cm9rZT1cIiMxMkI3NkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ2MjNfMTgyMDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4wMjYzNjcyKVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIHRleHQtZGFuZ2VyIHB4LTFcIiAgKm5nSWY9XCIhcmVzb2x1dGlvbnR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTIgMTNcIiBmaWxsPVwibm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDYyM18yMzI2KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNiA4LjAyNjM3VjYuMDI2MzdNNiA0LjAyNjM3SDYuMDA1TTExIDYuMDI2MzdDMTEgOC43ODc3OSA4Ljc2MTQyIDExLjAyNjQgNiAxMS4wMjY0QzMuMjM4NTggMTEuMDI2NCAxIDguNzg3NzkgMSA2LjAyNjM3QzEgMy4yNjQ5NCAzLjIzODU4IDEuMDI2MzcgNiAxLjAyNjM3QzguNzYxNDIgMS4wMjYzNyAxMSAzLjI2NDk0IDExIDYuMDI2MzdaXCIgc3Ryb2tlPVwiI0YwNDQzOFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDYyM18yMzI2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4wMjYzNjcyKVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwic3ViVGl0bGUgZnctc2VtaWJvbGRcIj5Eb3dudGltZTwvc3Bhbj48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MjAwbWluczwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4xNDBtaW5zPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyB0ZXh0LXN1Y2Nlc3MgcHgtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80NjIzXzE4MjAxKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEgNS41NjYzVjYuMDI2M0MxMC45OTk0IDcuMTA0NTEgMTAuNjUwMyA4LjE1MzY0IDEwLjAwNDcgOS4wMTcyMUM5LjM1OTA4IDkuODgwNzkgOC40NTE2NCAxMC41MTI1IDcuNDE3NjggMTAuODE4MkM2LjM4MzcyIDExLjEyNCA1LjI3ODYzIDExLjA4NzIgNC4yNjcyNCAxMC43MTM2QzMuMjU1ODQgMTAuMzM5OSAyLjM5MjMzIDkuNjQ5MzUgMS44MDU0OCA4Ljc0NDgzQzEuMjE4NjMgNy44NDAzMiAwLjkzOTg5NiA2Ljc3MDMzIDEuMDEwODQgNS42OTQ0NkMxLjA4MTc4IDQuNjE4NTggMS40OTg2IDMuNTk0NDYgMi4xOTkxNCAyLjc3NDg0QzIuODk5NjggMS45NTUyMSAzLjg0NjM5IDEuMzgzOTkgNC44OTgwOSAxLjE0NjM3QzUuOTQ5OCAwLjkwODc1NCA3LjA1MDEzIDEuMDE3NDcgOC4wMzUgMS40NTYzTTExIDIuMDI2M0w2IDcuMDMxM0w0LjUgNS41MzEzXCIgc3Ryb2tlPVwiIzEyQjc2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDYyM18xODIwMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YSAmJiAhdG90YWxJbWFnZVVybD8ubGVuZ3RoICYmICFhbmdsZWNoYW5nZURhdGE/LmFuZ2xlY2hhbmdlICYmICF0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjIHctMjVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cblxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJtdC01XCI+XG4gICAgPGxpYi1lZGdlYXBwLWxvZyBbc3RvcmVJZF0gPSBcInN0b3JlSWRcIj48L2xpYi1lZGdlYXBwLWxvZz5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm10LTVcIj5cbiAgICA8bGliLXN0b3JlLWFjdGl2aXR5IFtzdG9yZUlkXT1cInN0b3JlSWRcIj48L2xpYi1zdG9yZS1hY3Rpdml0eT5cbjwvZGl2PiJdfQ==
|
|
691
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvc3RvcmUtaW5mby9zdG9yZS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9zdG9yZS1pbmZvL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQTZDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDO0FBRTdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFDMUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBT3RCLE1BQU0sT0FBTyxrQkFBa0I7SUF3ZFQ7SUFBK0I7SUF2ZG5ELFFBQVEsR0FBUyxFQUFFLENBQUM7SUFDcEIseUJBQXlCO0lBQ3pCLFdBQVcsQ0FBSztJQUNoQixVQUFVLEdBQU8sQ0FBQyxDQUFDO0lBQ25CLFNBQVMsR0FBTyxDQUFDLENBQUM7SUFDbEIsUUFBUSxHQUFXLEtBQUssQ0FBQztJQUN6QixPQUFPLEdBQVcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sR0FBVyxLQUFLLENBQUM7SUFDdkIsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGlCQUFpQixHQUFLLEVBQUUsQ0FBQztJQUV6QixvQkFBb0IsQ0FBUztJQUM3QixtQkFBbUIsR0FBUTtRQUN6QixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFBO0lBQ2dCLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFVBQVUsR0FBTztRQUNmO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtTQUNqQztRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtLQUNKLENBQUE7SUFDQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ2Is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QUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN0RSxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDOUMsQ0FBQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO3dHQTdwQlUsa0JBQWtCOzRGQUFsQixrQkFBa0Isc0ZDZi9CLHdxbENBMmFNOzs0RkQ1Wk8sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjttSEFzZGxCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCxPbkluaXQsT3V0cHV0LENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZW4nO1xyXG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xyXG5pbXBvcnQgdGltZXpvbmUgZnJvbSAnZGF5anMvcGx1Z2luL3RpbWV6b25lJztcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWNrZXQtaW5mcmEuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5kYXlqcy5leHRlbmQodXRjKTtcclxuZGF5anMuZXh0ZW5kKHRpbWV6b25lKVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc3RvcmUtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zdG9yZS1pbmZvLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvcmVJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgaW1hZ2VVcmw6YW55W10gPSBbXTtcclxuICAvLyB0aW1lU2VyaWVzOmFueVtdID0gW107XHJcbiAgc3RvcmVUaWNrZXQ6YW55O1xyXG4gIGZpcnN0SW5kZXg6YW55ID0gMDtcclxuICBsYXN0SW5kZXg6YW55ID0gMztcclxuICBzaG93UHJldjpib29sZWFuID0gZmFsc2U7XHJcbiAgbG9hZGluZzpib29sZWFuID0gZmFsc2U7XHJcbiAgbm9EYXRhOmJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93TmV4dDpib29sZWFuID0gdHJ1ZTtcclxuICBzaG93SW5jaWRlbnRQb3AgPSBmYWxzZTtcclxuICBzZWxlY3RlZERhdGVSYW5nZTphbnk9e307XHJcbiAgXHJcbiAgc2hvd0luY2lkZW50UG9wSW5kZXg6IG51bWJlcjtcclxuICBzaG93SW5jaWRlbnRPcHRpb25zOiBhbnkgPSB7XHJcbiAgICBuZWc6IGZhbHNlLFxyXG4gICAgcG9zOiBmYWxzZSxcclxuICAgIHN0b3Jlb3A6IGZhbHNlXHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHRpbWVTZXJpZXM6YW55W109W1xyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjEwOjAwIEFNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTA6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjEwOjEwIEFNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTA6MTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjEwOjIwIEFNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTA6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMTBBTVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDozMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDo0MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDo1MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjUwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTowMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMToxMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMToyMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjIwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTozMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTo0MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMTo1MCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjExOjUwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjExQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjoyMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjIwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMjo1MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEyOjUwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxOjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTM6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMToxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEzOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjFQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjE6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMzoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxOjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTM6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEzOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjFQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjE6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMzo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIyOjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTQ6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMjoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE0OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjJQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjI6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNDoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIyOjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTQ6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMjo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE0OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjJQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjI6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNDo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIzOjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTU6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiM1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMzoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE1OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjNQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjM6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNToyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIzUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIzOjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTU6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiM1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMzo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE1OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjNQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjM6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNTo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIzUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI0OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTY6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNDoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE2OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjRQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjQ6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNjoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI0UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI0OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTY6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNDo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE2OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjRQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjQ6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNjo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI0UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI1OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTc6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNToxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE3OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjVQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjU6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNzoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI1UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI1OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTc6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNTo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE3OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjVQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjU6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNzo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI1UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI2OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTg6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNjoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE4OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjZQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjY6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxODoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI2UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI2OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTg6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNjo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE4OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjZQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjY6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxODo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI2UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI3OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTk6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiN1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNzoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE5OjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjdQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjc6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxOToyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI3UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI3OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTk6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiN1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNzo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE5OjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjdQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjc6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxOTo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI3UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI4OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjA6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiODoxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIwOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjhQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjg6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMDoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI4UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI4OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjA6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiODo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIwOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjhQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjg6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMDo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI4UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI5OjAwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjE6MDA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiOToxMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIxOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjlQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjk6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMToyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI5UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI5OjMwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjE6MzA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiOTo0MCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIxOjQwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjlQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjk6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMTo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI5UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIyOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfVxyXG5dXHJcbiAgZGF5anMgPSBkYXlqc1xyXG4gIHRvdGFsSW1hZ2VVcmw6YW55W107XHJcbiBzZWxlY3RlZFVybDphbnk7XHJcbiBcclxuIGFuZ2xlY2hhbmdlRGF0YTogYW55O1xyXG4gdG90YWxEb3dudGltZTogbnVtYmVyID0gMDtcclxuIHJlc29sdXRpb250eXBlOiBib29sZWFuPXRydWU7XHJcbiBASW5wdXQoKSBzdG9yZUlkOnN0cmluZzsgXHJcbiAgICBEb3dtVGltZUFycmF5OiBhbnlbXTsgXHJcbiAgICBjYW1lcmFJbWFnZXM6IGFueTtcclxuICAgIHNlbGVjdGVkRGF0ZTogc3RyaW5nO1xyXG4gICAgdG90YWxEb3duVGltZTogYW55ID0gMDtcclxuICAgIGlzQ3VzdG9tRGF0ZTogKG06IGRheWpzLkRheWpzKSA9PiBmYWxzZSB8IFwiaW52YWxpZC1kYXRlXCI7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOlRpY2tldHNTZXJ2aWNlLHByaXZhdGUgY2Q6Q2hhbmdlRGV0ZWN0b3JSZWYpe1xyXG4gICAgIFxyXG4gIH1cclxuXHJcbm5nT25Jbml0KCl7XHJcbiAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlID0gIG0gPiB0aGlzLmRheWpzKCk7ICAgIFxyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/ICdpbnZhbGlkLWRhdGUnIDogZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoKS51dGMoKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5kYXlqcygpLnV0YygpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xyXG4gICAgdGhpcy5nZXRDYW1lcmFJbWFnZXMoKTtcclxuICAgIHRoaXMuRG93bVRpbWUoKTtcclxufVxyXG5cclxubmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5nZXRDYW1lcmFJbWFnZXMoKXtcclxuICAgdGhpcy5zZXJ2aWNlLmNhbWVyYUxpc3QodGhpcy5zdG9yZUlkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6KHJlczphbnkpPT4ge1xyXG4gICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PSAyMDApe1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jYW1lcmFJbWFnZXMgPSByZXMuZGF0YTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEltYWdlVXJsID0gdGhpcy5jYW1lcmFJbWFnZXNcclxuICAgICAgICAgICAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xyXG4gICAgICAgICAgICB0aGlzLmdldEFuZ2xlQ2hhbmdlKHRoaXMuaW1hZ2VVcmxbMF0/LnN0cmVhbU5hbWUpXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LFxyXG4gICB9KVxyXG4gIH1cclxuICBnZXRBbmdsZUNoYW5nZShzdHJlYW06IGFueSkge1xyXG4gICAgbGV0IHBheWxvYWQgPSB7XHJcbiAgICAgICAgXCJzdG9yZUlkXCI6IHRoaXMuc3RvcmVJZCxcclxuICAgICAgICBcIkRhdGVcIjogdGhpcy5zZWxlY3RlZERhdGUsXHJcbiAgICAgICAgXCJTdHJlYW1OYW1lXCI6IHN0cmVhbVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLmNhbWVyYUFuZ2xlQ2hhbmdlKHBheWxvYWQpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFuZ2xlY2hhbmdlRGF0YSA9IHJlcy5kYXRhXHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbi5zcGxpdCgnKicpWzBdPDcyMCYmdGhpcy5hbmdsZWNoYW5nZURhdGE/LnJlc29sdXRpb24uc3BsaXQoJyonKVsxXTw3MjApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzb2x1dGlvbnR5cGUgPSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICB9KVxyXG5cclxufVxyXG4gIERvd21UaW1lKCl7XHJcbiAgICBsZXQgZGF0YT17XHJcbiAgICAgIFwic3RvcmVJZFwiOiB0aGlzLnN0b3JlSWQsXHJcbiAgICAvLyAgIFwic3RvcmVJZFwiOlwiMTEtMTAxM1wiLFxyXG4gICAgXCJEYXRlXCI6dGhpcy5zZWxlY3RlZERhdGUsXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlcnZpY2UuZWRnZUFwcExvZ1RhYmxlKGRhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlczphbnkpPT4ge1xyXG4gICAgICAgIHRoaXMuRG93bVRpbWVBcnJheSA9IHJlcy5kYXRhO1xyXG4gICAgICAgIHRoaXMudG90YWxEb3duVGltZSA9IDBcclxuICAgICAgICB0aGlzLkRvd21UaW1lQXJyYXkuZm9yRWFjaCgoaXRlbTphbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0/LmRvd250aW1lICE9ICcnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxEb3duVGltZSArPSBpdGVtLmRvd250aW1lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG5cclxuaGlkZURpYWxvZ0JveCgpIHtcclxuICB0aGlzLnNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG59XHJcblxyXG5nZXRTdHlsZSgpe1xyXG4gIHJldHVybiB7XHJcbiAgLy8gJ21hcmdpbi1sZWZ0JzogKHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPD0gNSkgPyAnMHB4JyA6ICgodGhpcy5zaG93SW5jaWRlbnRQb3BJbmRleCA+PSA1OCkgPyAnLTE2MHB4JyA6ICctMTE1cHgnKVxyXG4gIH1cclxufVxyXG5cclxuc2hvd0luY2lkZW50VHlwZSh0aW1lU2VyaWVzOiBhbnksaTphbnkpIHtcclxuICAgIGxldCBub3dIb3VyID0gdGhpcy5kYXlqcygpLmhvdXIoKTtcclxuICAgIGxldCBub3dtaW51dGVzID0gdGhpcy5kYXlqcygpLm1pbnV0ZSgpO1xyXG4gICAgbGV0IGRhdGUgPSBkYXlqcygpLmZvcm1hdCgnWVlZWS1NTS1ERCcpXHJcbiAgICBcclxuICAgIGxldCB0aW1lUmFuZ2UgPSB0aW1lU2VyaWVzLnNwbGl0KCcgJylbMF07XHJcbiAgICBsZXQgdGltZSA9IHRpbWVSYW5nZS5zcGxpdCgnOicpXHJcbiAgICBpZih0aW1lWzBdID09IG5vd0hvdXIgKSB7XHJcbiAgICAgICAgdGhpcy50aW1lU2VyaWVzW2ldLmFjdGl2ZUhyID0gbm93SG91cjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYgKHRoaXMuRG93bVRpbWVBcnJheT8ubGVuZ3RoICYmIHRoaXMuRG93bVRpbWVBcnJheS5maWx0ZXIoKHg6IGFueSkgPT4geC5ob3VyID09IHBhcnNlSW50KHRpbWVbMF0pICYmIHguZG93bnRpbWUgPiAwICYmICB4LmRvd250aW1lID4gcGFyc2VJbnQodGltZVsxXSkpLmxlbmd0aCkgeyBcclxuICAgICAgICByZXR1cm4gJ25lZ2F0aXZlJztcclxuICAgICAgfSBcclxuICAgICAgZWxzZSBpZiAodGhpcy5Eb3dtVGltZUFycmF5Py5sZW5ndGggJiYgdGhpcy5Eb3dtVGltZUFycmF5LmZpbHRlcigoeDogYW55KSA9PiB4LmhvdXIgPT0gcGFyc2VJbnQodGltZVswXSkmJiB4LmRvd250aW1lICE9PSAnJyYmKHRoaXMuc2VsZWN0ZWREYXRlIDwgZGF0ZSB8fCAodGhpcy5zZWxlY3RlZERhdGUgPT0gZGF0ZSAmJiAoeC5ob3VyIDwgbm93SG91ciAgfHwgKG5vd0hvdXIgPT0geC5ob3VyICYmIG5vd21pbnV0ZXMgPj0gcGFyc2VJbnQodGltZVsxXSkpKSkpKS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgIHJldHVybiAncG9zaXRpdmUnO1xyXG4gICAgICB9XHJcbiAgICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ25vcm1hbCc7XHJcbiAgICAgIH1cclxufVxyXG5cclxuc2hvd0RpYWxvZ0JveCh0aW1lOiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICB0aGlzLnNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG4gIHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPSBpbmRleDtcclxuICBpZiAodGltZS5pbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSBcIm5lZ2F0aXZlXCIpLmxlbmd0aCkge1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLm5lZyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMucG9zID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IGZhbHNlO1xyXG4gIH0gZWxzZSBpZiAodGltZS5pbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSBcInBvc2l0aXZlXCIpLmxlbmd0aCkge1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLm5lZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnBvcyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IGZhbHNlO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMubmVnID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMucG9zID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IHRydWU7XHJcbiAgfVxyXG4gIC8vIHRoaXMuc2hvd0luY2lkZW50UG9wID0gdHJ1ZTtcclxufVxyXG5cclxuZGlzcGxheUNhdGVnb3J5KGNhdGVnb3J5OiBhbnksIHR5cGU6IGFueSkge1xyXG4gIGlmIChjYXRlZ29yeSA9PSAnbW9iaWxldXNhZ2VkZXRlY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gJ01vYmlsZSBVc2FnZSBEZXRlY3Rpb24nO1xyXG4gIH0gZWxzZSBpZiAoY2F0ZWdvcnkgPT0gJ2N1c3RvbScpIHtcclxuICAgIGlmICh0eXBlID09ICdwb3NpdGl2ZScpXHJcbiAgICAgIHJldHVybiAnQ2hlY2tsaXN0IFN1Ym1pc3Npb24nO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gJ1N1Ym1pc3Npb24gRGVsYXllZCc7XHJcbiAgfSBlbHNlIGlmIChjYXRlZ29yeSA9PSAnc3RvcmVvcGVuYW5kY2xvc2UnKSB7XHJcbiAgICByZXR1cm4gJ1N0b3JlIE9wZW4gQ2xvc2UnO1xyXG4gIH0gZWxzZSBpZiAoY2F0ZWdvcnkgPT0gJ3VuaWZvcm1kZXRlY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gJ1VuaWZvcm0gRGV0ZWN0aW9uJztcclxuICB9XHJcbn1cclxuXHJcbnNlbGVjdGVkSW1nKGRhdGE6YW55KXtcclxuICAgdGhpcy5zZWxlY3RlZFVybCA9ZGF0YTtcclxuICAgdGhpcy5nZXRBbmdsZUNoYW5nZSh0aGlzLnNlbGVjdGVkVXJsLnN0cmVhbU5hbWUpXHJcbn1cclxucHJldkltYWdlcygpeyBcclxuICB0aGlzLnNlbGVjdGVkVXJsID0gJyc7XHJcbiAgdGhpcy5zaG93TmV4dCA9IHRydWU7XHJcbiAgdGhpcy5maXJzdEluZGV4IC09IDM7XHJcbiAgdGhpcy5sYXN0SW5kZXggLT0gMzsgXHJcbiAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xyXG4gIGlmKHRoaXMuZmlyc3RJbmRleCA9PSAwICYmIHRoaXMubGFzdEluZGV4ID09IDMpe1xyXG4gICAgdGhpcy5zaG93UHJldiA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5uZXh0SW1hZ2VzKCl7XHJcbiAgdGhpcy5zaG93UHJldiA9IHRydWU7XHJcbiAgdGhpcy5zZWxlY3RlZFVybCA9ICcnO1xyXG4gIHRoaXMuZmlyc3RJbmRleCArPSAzO1xyXG4gIHRoaXMubGFzdEluZGV4ICs9IDM7IFxyXG4gIHRoaXMuaW1hZ2VVcmwgPSB0aGlzLnRvdGFsSW1hZ2VVcmwuc2xpY2UodGhpcy5maXJzdEluZGV4LHRoaXMubGFzdEluZGV4KTtcclxuICBpZih0aGlzLmxhc3RJbmRleCA9PSB0aGlzLnRvdGFsSW1hZ2VVcmwubGVuZ3RoIHx8IHRoaXMuaW1hZ2VVcmwubGVuZ3RoIDwgMyl7XHJcbiAgdGhpcy5zaG93TmV4dCA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgaWYgKGV2ZW50ICYmIGV2ZW50LnN0YXJ0RGF0ZSkge1xyXG4gICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS51dGMoKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS51dGMoKS5mb3JtYXQoJ1lZWVktTU0tREQnKTtcclxuICAgICAgICB0aGlzLkRvd21UaW1lKCk7XHJcbiAgICAgICAgdGhpcy5nZXRDYW1lcmFJbWFnZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZGF0ZXMgcHJvdmlkZWQ6JywgZXZlbnQuc3RhcnREYXRlLCBldmVudC5lbmREYXRlKTtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgY29uc29sZS5lcnJvcignSW52YWxpZCBldmVudCBvYmplY3Q6JywgZXZlbnQpO1xyXG4gIH1cclxuIH1cclxuXHJcbnNob3dIb3Vycyh0aW1lOiBhbnkpIHtcclxuICAgIGxldCBob3VyOiBhbnkgPSBmYWxzZTtcclxuICAgIGhvdXIgPSB0aW1lLnRpbWUyNEhvdXIuc3BsaXQoJzonKVsxXSA9PSAnMDAnID8gdGltZS50aW1lU3RyaW5nMTJIb3VyT25seSA6IGZhbHNlO1xyXG4gICAgcmV0dXJuIGhvdXI7XHJcbiAgfVxyXG4gIG9uU3RhcnREYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpKSB7XHJcbiAgICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPVxyXG4gICAgICAgICAgbSA+IHRoaXMuZGF5anMoKSB8fCBtID4gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUuYWRkKDkwLCBcImRheXNcIikpO1xyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/IFwiaW52YWxpZC1kYXRlXCIgOiBmYWxzZTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+U3RvcmUgSW5mbzwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnctYm9sZC00MDAgc3ViVGl0bGVcIj5BbiBvdmVydmlldyBvZiB0aGUgc3RvcmUgaXNzdWVzIGFuZCB0aGUgZG93bnRpbWUgZm9yIHt7c2VsZWN0ZWREYXRlIHwgY3VzdG9tRGF0ZUZvcm1hdCB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXktNSB0aW1lUmFuZ2UgZnctc2VtaWJvbGRcIj5Ub3RhbCA6IHt7dG90YWxEb3duVGltZX19IG1pbnMgRG93bnRpbWUgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIiBtdC0yIG14LTJcIiAqbmdJZj1cInRpbWVTZXJpZXM/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdGltZSBvZiB0aW1lU2VyaWVzO2xldCBJbmRleD1pbmRleFwiIGNsYXNzPVwic3ZnLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gbm9ybWFsIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzaG93SW5jaWRlbnRUeXBlKHRpbWU/LnRpbWUyNEhvdXIsSW5kZXgpID09PSAnbm9ybWFsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZUl0ZW0gbXktMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiNTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQgNTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuMDgwMzIgMi41TDIuMDgwMzIgNTAuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiBzdHJva2Utd2lkdGg9XCI0LjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gUHJlc2VudCBob3VyIGZvciBsaXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPHN2ZyAqbmdJZj1cInRpbWUuYWN0aXZlSHJcIiBjbGFzcz1cInRpbWVJdGVtIG15LTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjUzXCIgdmlld0JveD1cIjAgMCA0IDUzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjA4MDMyIDIuNUwyLjA4MDMyIDUwLjVcIiBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiNC41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBwb3NpdGl2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIChtb3VzZWVudGVyKT1cInNob3dEaWFsb2dCb3godGltZSxJbmRleClcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2hvd0luY2lkZW50VHlwZSh0aW1lPy50aW1lMjRIb3VyLEluZGV4KSA9PT0gJ3Bvc2l0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZUl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjY4XCIgdmlld0JveD1cIjAgMCA1IDY4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjQwMDE1IDIuNUwyLjQwMDE0IDY2LjVcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiNC41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIG5lZ2F0aXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gKG1vdXNlZW50ZXIpPVwic2hvd0RpYWxvZ0JveCh0aW1lLEluZGV4KVwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzaG93SW5jaWRlbnRUeXBlKHRpbWU/LnRpbWUyNEhvdXIsSW5kZXgpID09PSAnbmVnYXRpdmUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lSXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiNjhcIiB2aWV3Qm94PVwiMCAwIDUgNjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuNDg2ODIgMkwyLjQ4NjgyIDY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWJveFwiIFtuZ1N0eWxlXT1cImdldFN0eWxlKClcIiAqbmdJZj1cInNob3dJbmNpZGVudFBvcCAmJiBzaG93SW5jaWRlbnRQb3BJbmRleCA9PT0gSW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAobW91c2VsZWF2ZSk9XCJoaWRlRGlhbG9nQm94KClcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAtdmUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SW5jaWRlbnRPcHRpb25zLm5lZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjY1XCIgaGVpZ2h0PVwiNjRcIiB2aWV3Qm94PVwiMCAwIDY1IDY0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZGRfNTc1Ml8zNjA3NSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuODI2NDJcIiB5PVwiNC4zMjYxN1wiIHdpZHRoPVwiNTUuMzQ3M1wiIGhlaWdodD1cIjU1LjM0NzNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCI3LjkwNjc2XCIgZmlsbD1cIiNGRUYzRjJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS45NDQ2IDI1LjU5ODdDMzAuMjIyMSAyNS44NzYxIDMwLjIyMjEgMjYuMzI1OSAyOS45NDQ2IDI2LjYwMzNMMjcuMTAzMiAyOS40NDQ4QzI2LjgyNTcgMjkuNzIyMiAyNi4zNzYgMjkuNzIyMiAyNi4wOTg1IDI5LjQ0NDhMMjQuNjc3OCAyOC4wMjQxQzI0LjQwMDQgMjcuNzQ2NiAyNC40MDA0IDI3LjI5NjkgMjQuNjc3OCAyNy4wMTk0QzI0Ljk1NTIgMjYuNzQyIDI1LjQwNSAyNi43NDIgMjUuNjgyNCAyNy4wMTk0TDI2LjYwMDggMjcuOTM3OUwyOC45NCAyNS41OTg3QzI5LjIxNzUgMjUuMzIxMyAyOS42NjcyIDI1LjMyMTMgMjkuOTQ0NiAyNS41OTg3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI5Ljk0NDYgMzIuNzAyNkMzMC4yMjIxIDMyLjk4MDEgMzAuMjIyMSAzMy40Mjk5IDI5Ljk0NDYgMzMuNzA3NEwyNy4xMDMyIDM2LjU0ODlDMjYuODI1NyAzNi44MjYyIDI2LjM3NiAzNi44MjYyIDI2LjA5ODUgMzYuNTQ4OUwyNC42Nzc4IDM1LjEyODFDMjQuNDAwNCAzNC44NTA3IDI0LjQwMDQgMzQuNDAwOCAyNC42Nzc4IDM0LjEyMzRDMjQuOTU1MiAzMy44NDYgMjUuNDA1IDMzLjg0NiAyNS42ODI0IDM0LjEyMzRMMjYuNjAwOCAzNS4wNDE5TDI4Ljk0IDMyLjcwMjZDMjkuMjE3NSAzMi40MjUzIDI5LjY2NzIgMzIuNDI1MyAyOS45NDQ2IDMyLjcwMjZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRjA0NDM4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzEuNTczNSAyNy41MjE5QzMxLjU3MzUgMjcuMTI5NiAzMS44OTE2IDI2LjgxMTUgMzIuMjgzOSAyNi44MTE1SDM2LjU0NjFDMzYuOTM4NCAyNi44MTE1IDM3LjI1NjUgMjcuMTI5NiAzNy4yNTY1IDI3LjUyMTlDMzcuMjU2NSAyNy45MTQyIDM2LjkzODQgMjguMjMyMyAzNi41NDYxIDI4LjIzMjNIMzIuMjgzOUMzMS44OTE2IDI4LjIzMjMgMzEuNTczNSAyNy45MTQyIDMxLjU3MzUgMjcuNTIxOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNS4xOCAyMS4xMjg0QzIzLjIxODQgMjEuMTI4NCAyMS42MjgyIDIyLjcxODYgMjEuNjI4MiAyNC42ODAzVjM3LjQ2N0MyMS42MjgyIDM5LjQyODYgMjMuMjE4NCA0MS4wMTg5IDI1LjE4IDQxLjAxODlIMzEuMDA0N0MzMC43NzQ2IDQwLjU2ODggMzAuNTg2OSA0MC4wOTM0IDMwLjQ0NjggMzkuNTk4MUgyNS4xOEMyNC4wMDMxIDM5LjU5ODEgMjMuMDQ4OSAzOC42NDM5IDIzLjA0ODkgMzcuNDY3VjI0LjY4MDNDMjMuMDQ4OSAyMy41MDMzIDI0LjAwMzEgMjIuNTQ5MiAyNS4xOCAyMi41NDkySDM3Ljk2NjhDMzkuMTQzNyAyMi41NDkyIDQwLjA5NzkgMjMuNTAzMyA0MC4wOTc5IDI0LjY4MDNWMjkuOTQ3QzQwLjU5MzEgMzAuMDg3MSA0MS4wNjg1IDMwLjI3NDkgNDEuNTE4NiAzMC41MDQ5VjI0LjY4MDNDNDEuNTE4NiAyMi43MTg2IDM5LjkyODQgMjEuMTI4NCAzNy45NjY4IDIxLjEyODRIMjUuMThaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRjA0NDM4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjM3LjkzNlwiIGN5PVwiMzcuNDM2XCIgcj1cIjYuNDI0MjRcIiBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTM4Ljc0MTUgMzUuNTI2NVY0MC41NTgxSDM3LjY3NzdWMzYuNTM2M0gzNy42NDgyTDM2LjQ5NiAzNy4yNTg2VjM2LjMxNTJMMzcuNzQxNiAzNS41MjY1SDM4Ljc0MTVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI1LjMyMDU5XCIgeT1cIjQuODIwMzRcIiB3aWR0aD1cIjU0LjM1OVwiIGhlaWdodD1cIjU0LjM1OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjcuNDEyNTlcIiBzdHJva2U9XCIjRkVGM0YyXCIgc3Ryb2tlLXdpZHRoPVwiMC45ODgzNDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZGRfNTc1Ml8zNjA3NVwiIHg9XCIwLjgyNjQxNlwiIHk9XCIwLjMyNjE3MlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjYzLjM0NzRcIiBoZWlnaHQ9XCI2My4zNDcyXCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVNb3JwaG9sb2d5IHJhZGl1cz1cIjRcIiBvcGVyYXRvcj1cImRpbGF0ZVwiIGluPVwiU291cmNlQWxwaGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDc1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjk5NzA1OSAwIDAgMCAwIDAuODkyNzQ1IDAgMCAwIDAgMC44ODUyOTQgMCAwIDAgMSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDc1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDc1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkXCI+e3tkaXNwbGF5Q2F0ZWdvcnkodGltZT8uaW5jaWRlbnRzWzBdPy5jYXRlZ29yeSx0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUpfX0gOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RpbWU/LnRpbWUxMkhvdXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgc3VwcG9ydGluZy10ZXh0XCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgKGNsaWNrKT1cInNjcm9sbFRvX21vYmRldGVjdGlvbnNlY3Rpb24odGltZT8uaW5jaWRlbnRzWzBdPy5jYXRlZ29yeSk7XCI+Q2xpY2sgdG8gdmlldyBkZXRhaWxzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gK3ZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0luY2lkZW50T3B0aW9ucy5wb3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI1N1wiIGhlaWdodD1cIjU3XCIgdmlld0JveD1cIjAgMCA1NyA1N1wiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuNVwiIHk9XCI0LjgzNjkxXCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDFGQURGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTM4LjUgMjcuOTE3VjI4LjgzN0MzOC40OTg4IDMwLjk5MzQgMzcuODAwNSAzMy4wOTE3IDM2LjUwOTMgMzQuODE4OEMzNS4yMTgyIDM2LjU0NiAzMy40MDMzIDM3LjgwOTUgMzEuMzM1NCAzOC40MjA5QzI5LjI2NzQgMzkuMDMyMyAyNy4wNTczIDM4Ljk1ODkgMjUuMDM0NSAzOC4yMTE2QzIzLjAxMTcgMzcuNDY0MyAyMS4yODQ3IDM2LjA4MzEgMjAuMTExIDM0LjI3NDFDMTguOTM3MyAzMi40NjUxIDE4LjM3OTggMzAuMzI1MSAxOC41MjE3IDI4LjE3MzNDMTguNjYzNiAyNi4wMjE2IDE5LjQ5NzIgMjMuOTczMyAyMC44OTgzIDIyLjMzNDFDMjIuMjk5NCAyMC42OTQ4IDI0LjE5MjggMTkuNTUyNCAyNi4yOTYyIDE5LjA3NzJDMjguMzk5NiAxOC42MDE5IDMwLjYwMDMgMTguODE5NCAzMi41NyAxOS42OTdNMzguNSAyMC44MzdMMjguNSAzMC44NDdMMjUuNSAyNy44NDdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuNVwiIHk9XCI0LjgzNjkxXCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNFQ0ZERjNcIiBzdHJva2Utd2lkdGg9XCI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy50aW1lMTJIb3VyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VwcG9ydGluZy10ZXh0IHRleHQtcHJpbWFyeVwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNjcm9sbFRvX1N1Ym1pdHVzZXIoKTtcIj5TdWJtaXR0ZWQgYnlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy5pbmNpZGVudHNbMF0/LnVzZXJOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdG9yZSBvcCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjY0XCIgaGVpZ2h0PVwiNjRcIiB2aWV3Qm94PVwiMCAwIDY0IDY0XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZGRfNTc1Ml8zNjA2NylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuMzI2NDJcIiB5PVwiNFwiIHdpZHRoPVwiNTUuMzQ3M1wiIGhlaWdodD1cIjU1LjM0NzNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCI3LjkwNjc2XCIgZmlsbD1cIiNFQUY4RkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS40NDQ5IDI1LjI3MkMyOS43MjIzIDI1LjU0OTUgMjkuNzIyMyAyNS45OTkyIDI5LjQ0NDkgMjYuMjc2NkwyNi42MDM0IDI5LjExODFDMjYuMzI2IDI5LjM5NTYgMjUuODc2MiAyOS4zOTU2IDI1LjU5ODggMjkuMTE4MUwyNC4xNzggMjcuNjk3NEMyMy45MDA2IDI3LjQyIDIzLjkwMDYgMjYuOTcwMiAyNC4xNzggMjYuNjkyOEMyNC40NTU1IDI2LjQxNTQgMjQuOTA1MiAyNi40MTU0IDI1LjE4MjcgMjYuNjkyOEwyNi4xMDExIDI3LjYxMTJMMjguNDQwMyAyNS4yNzJDMjguNzE3NyAyNC45OTQ2IDI5LjE2NzUgMjQuOTk0NiAyOS40NDQ5IDI1LjI3MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS40NDQ5IDMyLjM3NkMyOS43MjIzIDMyLjY1MzQgMjkuNzIyMyAzMy4xMDMyIDI5LjQ0NDkgMzMuMzgwN0wyNi42MDM0IDM2LjIyMjJDMjYuMzI2IDM2LjQ5OTUgMjUuODc2MiAzNi40OTk1IDI1LjU5ODggMzYuMjIyMkwyNC4xNzggMzQuODAxNUMyMy45MDA2IDM0LjUyNCAyMy45MDA2IDM0LjA3NDIgMjQuMTc4IDMzLjc5NjdDMjQuNDU1NSAzMy41MTk0IDI0LjkwNTIgMzMuNTE5NCAyNS4xODI3IDMzLjc5NjdMMjYuMTAxMSAzNC43MTUyTDI4LjQ0MDMgMzIuMzc2QzI4LjcxNzcgMzIuMDk4NiAyOS4xNjc1IDMyLjA5ODYgMjkuNDQ0OSAzMi4zNzZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzEuMDczNyAyNy4xOTUyQzMxLjA3MzcgMjYuODAyOSAzMS4zOTE4IDI2LjQ4NDkgMzEuNzg0MSAyNi40ODQ5SDM2LjA0NjNDMzYuNDM4NiAyNi40ODQ5IDM2Ljc1NjcgMjYuODAyOSAzNi43NTY3IDI3LjE5NTJDMzYuNzU2NyAyNy41ODc2IDM2LjQzODYgMjcuOTA1NiAzNi4wNDYzIDI3LjkwNTZIMzEuNzg0MUMzMS4zOTE4IDI3LjkwNTYgMzEuMDczNyAyNy41ODc2IDMxLjA3MzcgMjcuMTk1MlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNC42ODAzIDIwLjgwMThDMjIuNzE4NiAyMC44MDE4IDIxLjEyODQgMjIuMzkyIDIxLjEyODQgMjQuMzUzNlYzNy4xNDAzQzIxLjEyODQgMzkuMTAyIDIyLjcxODYgNDAuNjkyMiAyNC42ODAzIDQwLjY5MjJIMzAuNTA0OUMzMC4yNzQ5IDQwLjI0MjEgMzAuMDg3MSAzOS43NjY3IDI5Ljk0NyAzOS4yNzE1SDI0LjY4MDNDMjMuNTAzMyAzOS4yNzE1IDIyLjU0OTIgMzguMzE3MyAyMi41NDkyIDM3LjE0MDNWMjQuMzUzNkMyMi41NDkyIDIzLjE3NjYgMjMuNTAzMyAyMi4yMjI1IDI0LjY4MDMgMjIuMjIyNUgzNy40NjdDMzguNjQzOSAyMi4yMjI1IDM5LjU5ODEgMjMuMTc2NiAzOS41OTgxIDI0LjM1MzZWMjkuNjIwNEM0MC4wOTM0IDI5Ljc2MDUgNDAuNTY4OCAyOS45NDgyIDQxLjAxODkgMzAuMTc4M1YyNC4zNTM2QzQxLjAxODkgMjIuMzkyIDM5LjQyODYgMjAuODAxOCAzNy40NjcgMjAuODAxOEgyNC42ODAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwOUJGM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIzNy40MzZcIiBjeT1cIjM3LjEwOThcIiByPVwiNi40MjQyNFwiIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzguMjQxNyAzNS4yMDA0VjQwLjIzMTlIMzcuMTc3OVYzNi4yMTAxSDM3LjE0ODVMMzUuOTk2MiAzNi45MzI0VjM1Ljk4OUwzNy4yNDE4IDM1LjIwMDRIMzguMjQxN1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjQuODIwNTlcIiB5PVwiNC40OTQxN1wiIHdpZHRoPVwiNTQuMzU5XCIgaGVpZ2h0PVwiNTQuMzU5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiNy40MTI1OVwiIHN0cm9rZT1cIiNFQUY4RkZcIiBzdHJva2Utd2lkdGg9XCIwLjk4ODM0NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kZF81NzUyXzM2MDY3XCIgeD1cIjAuMzI2NDE2XCIgeT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI2My4zNDc0XCIgaGVpZ2h0PVwiNjMuMzQ3MlwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJkaWxhdGVcIiBpbj1cIlNvdXJjZUFscGhhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC44MzYzNyAwIDAgMCAwIDAuOTM4Mzc3IDAgMCAwIDAgMC45OTY2NjcgMCAwIDAgMSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd181NzUyXzM2MDY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbjI9XCJlZmZlY3QyX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkXCI+e3tkaXNwbGF5Q2F0ZWdvcnkodGltZT8uaW5jaWRlbnRzWzBdPy5jYXRlZ29yeSx0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUpfX0gOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RpbWU/LnRpbWUxMkhvdXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aW1lPy5pbmNpZGVudHNbMF0/LnR5cGUgPT0gJ3Bvc2l0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VwcG9ydGluZy10ZXh0XCI+T24gdGltZSBvcGVuaW5nL2Nsb3Npbmc8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGltZT8uaW5jaWRlbnRzWzBdPy50eXBlID09ICduZWdhdGl2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cHBvcnRpbmctdGV4dFwiPlN0b3JlIE9wZW4vQ2xvc2UgRGVsYXllZD9FYXJseTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lciBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCB0aW1lIG9mIHRpbWVTZXJpZXM7bGV0IGk9aW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJob3VyVGV4dFwiICpuZ0lmPVwic2hvd0hvdXJzKHRpbWUpXCI+e3tzaG93SG91cnModGltZSl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiY2FyZCBtdC01XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMCBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPkNhbWVyYSBJbmZvPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQtNDAwIHN1YlRpdGxlXCI+QW4gb3ZlcnZpZXcgb2YgdGhlIHN0b3JlIGlzc3VlcyBhbmQgdGhlIGRvd250aW1lIGZvciB7e3NlbGVjdGVkRGF0ZXxjdXN0b21EYXRlRm9ybWF0IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTEgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmeC1kYXRlLXJhbmdlIGZvcm0tY29udHJvbCBwcy0xNFwiIHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgbmd4RGF0ZXJhbmdlcGlja2VyTWQgW3NpbmdsZURhdGVQaWNrZXJdPVwidHJ1ZVwiIFtkcm9wc109XCInZG93bidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtvcGVuc109XCIncmlnaHQnXCIgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtrZWVwQ2FsZW5kYXJPcGVuaW5nV2l0aFJhbmdlXT1cInRydWVcIiBbc2hvd0NhbmNlbF09XCJ0cnVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVSYW5nZVwiIChzdGFydERhdGVDaGFuZ2VkKT1cIm9uU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIiAgW2lzQ3VzdG9tRGF0ZV09XCJpc0N1c3RvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZWNoYW5nZSgkZXZlbnQpXCIgbmFtZT1cImRhdGVyYW5nZVwiIFtyZWFkb25seV09XCJ0cnVlXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG90YWxJbWFnZVVybD8ubGVuZ3RoICYmICFsb2FkaW5nICYmICFub0RhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPjxkaXYgKm5nSWY9XCJzZWxlY3RlZFVybD8uY2FtZXJhTnVtYmVyIHx8IGltYWdlVXJsWzBdPy5jYW1lcmFOdW1iZXJcIiBbbmdDbGFzc109XCIoKHNlbGVjdGVkVXJsPy5pc0FjdGl2YXRlZCAmJiBzZWxlY3RlZFVybD8uaXNVcCkgfHwgKGltYWdlVXJsWzBdPy5pc0FjdGl2YXRlZCAmJiBpbWFnZVVybFswXT8uaXNVcCkpPydiZy1zdWNjZXNzJzonYmctZGFuZ2VyJ1wiIGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTMgbWUtMlwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYS10aXRsZVwiPnt7c2VsZWN0ZWRVcmw/LmNhbWVyYU51bWJlciA/IHNlbGVjdGVkVXJsPy5jYW1lcmFOdW1iZXIgOiBpbWFnZVVybFswXT8uY2FtZXJhTnVtYmVyfX08L3NwYW4+IDxzcGFuICpuZ0lmPVwic2VsZWN0ZWRVcmw/LmNhbWVyYU5hbWVcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c2VsZWN0ZWRVcmw/LmNhbWVyYU5hbWUgPyBzZWxlY3RlZFVybD8uY2FtZXJhTmFtZSA6IGltYWdlVXJsWzBdPy5jYW1lcmFOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkLTIgdy0xMDAgbWgtMzUwcHggb3ZlcmZsb3ctaGlkZGVuIG10LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInNlbGVjdGVkVXJsPy50aHVtYm5haWxJbWFnZSAhPT0gbnVsbCB8fCBzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgIT09ICcnIHx8IGltYWdlVXJsWzBdPy50aHVtYm5haWxJbWFnZSAhPT0gJydcIiBjbGFzcz1cInctMTAwIG1oLTM1MHB4XCIgW3NyY109XCJzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgPyBzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgOiBpbWFnZVVybFswXT8udGh1bWJuYWlsSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkVXJsPy50aHVtYm5haWxJbWFnZSA9PT0gbnVsbCB8fCBzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgPT09ICcnIHx8IGltYWdlVXJsWzBdPy50aHVtYm5haWxJbWFnZSA9PT0gJycgfHwgc2VsZWN0ZWRVcmwgPT09ICcnXCIgY2xhc3M9XCJ3LTEwMCAgaC0zMDBweCByb3VuZGVkLTIgb3ZlcmZsb3ctaGlkZGVuIE5vcHJldmlldyBhbGlnbi1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXdUaXRsZSB0ZXh0LWNlbnRlciBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpZXcgbm90IGF2YWlsYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlld3N1YlRpdGxlIGZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB1cmwgb2YgaW1hZ2VVcmw7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImNvbC1zbS00IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNlbGVjdGVkSW1nKHVybClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJ1cmw/LnRodW1ibmFpbEltYWdlICE9PSBudWxsIHx8IHVybD8udGh1bWJuYWlsSW1hZ2UgIT09ICcnXCIgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTIgbWgtMTAwcHhcIiBbc3JjXT1cInVybD8udGh1bWJuYWlsSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1cmw/LnRodW1ibmFpbEltYWdlID09PSBudWxsIHx8IHVybD8udGh1bWJuYWlsSW1hZ2UgPT09ICcnXCIgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTIgaC0xMDBweCBOb3ByZXZpZXcgYWxpZ24tY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3VGl0bGUgdGV4dC1jZW50ZXIgZnMtNCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZXZpZXcgbm90IGF2YWlsYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJwcmV2aWV3c3ViVGl0bGUgZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHNlbGVjdGVkIGNhbWVyYSBpcyBub3QgYXZhaWxhYmxlIGF0IHRoZSBtb21lbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1ByZXZcIiAoY2xpY2spPVwicHJldkltYWdlcygpXCIgY2xhc3M9XCJ3LTM1cHggaC0zNXB4IGJnLWxpZ2h0LXByaW1hcnkgcm91bmRlZC01IGN1cnNvci1wb2ludGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLWFic29sdXRlIGxlZnQtMCBtcy01IG10LTUgdG9wLTI1XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIxXCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuNSAxNS4wMjY0TDcuNSAxMC4wMjY0TDEyLjUgNS4wMjYzN1wiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd05leHQgJiYgdG90YWxJbWFnZVVybC5sZW5ndGggPiAzXCIgKGNsaWNrKT1cIm5leHRJbWFnZXMoKVwiIGNsYXNzPVwidy0zNXB4IGgtMzVweCBiZy1saWdodC1wcmltYXJ5IHJvdW5kZWQtNSBjdXJzb3ItcG9pbnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1hYnNvbHV0ZSBlbmQtMCBtZS01IG10LTUgdG9wLTI1XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIxXCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy41IDE1LjAyNjRMMTIuNSAxMC4wMjY0TDcuNSA1LjAyNjM3XCIgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKG5vRGF0YSB8fCAhdG90YWxJbWFnZVVybD8ubGVuZ3RoKSAmJiAoYW5nbGVjaGFuZ2VEYXRhPy5hbmdsZWNoYW5nZSAmJiB0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbikgfHwgKG5vRGF0YSB8fCAhdG90YWxJbWFnZVVybD8ubGVuZ3RoKSAmJiAoYW5nbGVjaGFuZ2VEYXRhPy5hbmdsZWNoYW5nZSB8fCB0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgKm5nSWY9XCJhbmdsZWNoYW5nZURhdGE/LmFuZ2xlY2hhbmdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FtZXJhLWFjdHVhbCBmdy1ib2xkXCI+Q2FtZXJhIEFuZ2xlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXJcIj4gPGlucHV0IGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTIgYmctZGFuZ2VyIG1lLTJcIj5DaGFuZ2VkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTE1MHB4XCIgW3NyY109XCJhbmdsZWNoYW5nZURhdGE/LmFuZ2xlQ2hhbmdlSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcm91bmRlZC0zIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCBtaC0xNTBweFwiIHNyYz1cImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3R1YWxzcGFuXCI+RXhwZWN0ZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTMgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTE1MHB4XCIgc3JjPVwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGJnLWxpZ2h0LXByaW1hcnkgcHktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0dWFsc3BhblwiPkFjdHVhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTBcIiAgKm5nSWY9XCJhbmdsZWNoYW5nZURhdGE/LmFuZ2xlY2hhbmdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtLTAgcGUtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdHVhbHNwYW5cIj5FeHBlY3RlZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IG0tMCBwcy0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGJnLWxpZ2h0LXByaW1hcnkgcHktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0dWFsc3BhblwiPkFjdHVhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgbXQtMTAgdGFibGUtcmVzcG9uc2l2ZVwiICAqbmdJZj1cInRoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkluc3RhbmNlczwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkV4cGVjdGVkPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+QWN0dWFsPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+UmVzdWx0czwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwic3ViVGl0bGUgZnctc2VtaWJvbGRcIj4gQ2FtZXJhIFJlc29sdXRpb24gPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjEwODAgeCA5MDA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e3RoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9ufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIHRleHQtc3VjY2VzcyBweC0xXCIgKm5nSWY9XCJyZXNvbHV0aW9udHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80NjIzXzE4MjAxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEgNS41NjYzVjYuMDI2M0MxMC45OTk0IDcuMTA0NTEgMTAuNjUwMyA4LjE1MzY0IDEwLjAwNDcgOS4wMTcyMUM5LjM1OTA4IDkuODgwNzkgOC40NTE2NCAxMC41MTI1IDcuNDE3NjggMTAuODE4MkM2LjM4MzcyIDExLjEyNCA1LjI3ODYzIDExLjA4NzIgNC4yNjcyNCAxMC43MTM2QzMuMjU1ODQgMTAuMzM5OSAyLjM5MjMzIDkuNjQ5MzUgMS44MDU0OCA4Ljc0NDgzQzEuMjE4NjMgNy44NDAzMiAwLjkzOTg5NiA2Ljc3MDMzIDEuMDEwODQgNS42OTQ0NkMxLjA4MTc4IDQuNjE4NTggMS40OTg2IDMuNTk0NDYgMi4xOTkxNCAyLjc3NDg0QzIuODk5NjggMS45NTUyMSAzLjg0NjM5IDEuMzgzOTkgNC44OTgwOSAxLjE0NjM3QzUuOTQ5OCAwLjkwODc1NCA3LjA1MDEzIDEuMDE3NDcgOC4wMzUgMS40NTYzTTExIDIuMDI2M0w2IDcuMDMxM0w0LjUgNS41MzEzXCIgc3Ryb2tlPVwiIzEyQjc2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDYyM18xODIwMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXIgcHgtMVwiICAqbmdJZj1cIiFyZXNvbHV0aW9udHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDYyM18yMzI2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDguMDI2MzdWNi4wMjYzN002IDQuMDI2MzdINi4wMDVNMTEgNi4wMjYzN0MxMSA4Ljc4Nzc5IDguNzYxNDIgMTEuMDI2NCA2IDExLjAyNjRDMy4yMzg1OCAxMS4wMjY0IDEgOC43ODc3OSAxIDYuMDI2MzdDMSAzLjI2NDk0IDMuMjM4NTggMS4wMjYzNyA2IDEuMDI2MzdDOC43NjE0MiAxLjAyNjM3IDExIDMuMjY0OTQgMTEgNi4wMjYzN1pcIiBzdHJva2U9XCIjRjA0NDM4XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80NjIzXzIzMjZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwic3ViVGl0bGUgZnctc2VtaWJvbGRcIj5Eb3dudGltZTwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4yMDBtaW5zPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MTQwbWluczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyB0ZXh0LXN1Y2Nlc3MgcHgtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDYyM18xODIwMSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEgNS41NjYzVjYuMDI2M0MxMC45OTk0IDcuMTA0NTEgMTAuNjUwMyA4LjE1MzY0IDEwLjAwNDcgOS4wMTcyMUM5LjM1OTA4IDkuODgwNzkgOC40NTE2NCAxMC41MTI1IDcuNDE3NjggMTAuODE4MkM2LjM4MzcyIDExLjEyNCA1LjI3ODYzIDExLjA4NzIgNC4yNjcyNCAxMC43MTM2QzMuMjU1ODQgMTAuMzM5OSAyLjM5MjMzIDkuNjQ5MzUgMS44MDU0OCA4Ljc0NDgzQzEuMjE4NjMgNy44NDAzMiAwLjkzOTg5NiA2Ljc3MDMzIDEuMDEwODQgNS42OTQ0NkMxLjA4MTc4IDQuNjE4NTggMS40OTg2IDMuNTk0NDYgMi4xOTkxNCAyLjc3NDg0QzIuODk5NjggMS45NTUyMSAzLjg0NjM5IDEuMzgzOTkgNC44OTgwOSAxLjE0NjM3QzUuOTQ5OCAwLjkwODc1NCA3LjA1MDEzIDEuMDE3NDcgOC4wMzUgMS40NTYzTTExIDIuMDI2M0w2IDcuMDMxM0w0LjUgNS41MzEzXCIgc3Ryb2tlPVwiIzEyQjc2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDYyM18xODIwMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4wMjYzNjcyKVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhICYmICF0b3RhbEltYWdlVXJsPy5sZW5ndGggJiYgIWFuZ2xlY2hhbmdlRGF0YT8uYW5nbGVjaGFuZ2UgJiYgIXRoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyYyB3LTI1XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm10LTVcIj5cclxuICAgIDxsaWItZWRnZWFwcC1sb2cgW3N0b3JlSWRdID0gXCJzdG9yZUlkXCI+PC9saWItZWRnZWFwcC1sb2c+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgPGxpYi1zdG9yZS1hY3Rpdml0eSBbc3RvcmVJZF09XCJzdG9yZUlkXCI+PC9saWItc3RvcmUtYWN0aXZpdHk+XHJcbjwvZGl2PiJdfQ==
|