tango-app-ui-ticket-user 3.0.46-dev → 3.0.48-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/infratickets/infratickets.component.mjs +49 -9
- package/esm2022/lib/components/installation/installation.component.mjs +1 -2
- package/esm2022/lib/components/tango-ticket-users/tango-ticket-users.component.mjs +41 -7
- package/esm2022/lib/components/tickets/tickets.component.mjs +3 -3
- package/esm2022/lib/services/ticket-infra.service.mjs +4 -1
- package/fesm2022/tango-app-ui-ticket-user.mjs +161 -86
- package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
- package/lib/components/infratickets/infratickets.component.d.ts +4 -0
- package/lib/components/tango-ticket-users/tango-ticket-users.component.d.ts +10 -2
- package/lib/services/ticket-infra.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Component, HostListener, ViewChild } from '@angular/core';
|
|
2
2
|
import { ContactDetailsComponent } from '../contact-details/contact-details.component';
|
|
3
3
|
import { TakeremoteComponent } from '../takeremote/takeremote.component';
|
|
4
|
-
// import { GlobalStateService } from 'projects/tango-app-shared/src/public-api';
|
|
5
4
|
import { Subject, takeUntil } from 'rxjs';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
@@ -495,4 +494,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
495
494
|
type: HostListener,
|
|
496
495
|
args: ['document:click', ['$event']]
|
|
497
496
|
}] } });
|
|
498
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbnN0YWxsYXRpb24vaW5zdGFsbGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbnN0YWxsYXRpb24vaW5zdGFsbGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFRekUsaUZBQWlGO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLHFCQUFxQjtJQXdEWjtJQUFnQztJQUMxQztJQUNBO0lBQ0E7SUFDQTtJQUNEO0lBM0RULFdBQVcsR0FBUSxRQUFRLENBQUM7SUFDNUIsYUFBYSxHQUFRLGlCQUFpQixDQUFDO0lBQ3ZDLGdCQUFnQixHQUFZLEtBQUssQ0FBQTtJQUNqQyxlQUFlLENBQU07SUFDckIsV0FBVyxDQUFNO0lBQ2pCLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFDbkIsYUFBYSxDQUFNO0lBQ25CLGFBQWEsR0FBVSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkYsV0FBVyxHQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQTtJQUN2SCxXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLGdCQUFnQixHQUFZLElBQUksQ0FBQztJQUNqQyxVQUFVLEdBQVksSUFBSSxDQUFDO0lBQzNCLFlBQVksQ0FBTTtJQUNsQixLQUFLLENBQU07SUFDWCxPQUFPLEdBQVksSUFBSSxDQUFDO0lBQ3hCLE1BQU0sR0FBWSxLQUFLLENBQUM7SUFDeEIsZ0JBQWdCLEdBQVEsSUFBSSxDQUFDO0lBQzdCLEtBQUssR0FBUSxDQUFDLENBQUM7SUFDZixTQUFTLEdBQWMsRUFBRSxDQUFDO0lBQzFCLGFBQWEsR0FBWSxLQUFLLENBQUM7SUFDL0IsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixRQUFRLENBQWdCO0lBQ3hCLFVBQVUsQ0FBTTtJQUNoQixtQkFBbUIsQ0FBTTtJQUN6QixZQUFZLENBQU07SUFDbEIsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUMzQixZQUFZLENBQU07SUFDbEIsY0FBYyxDQUFNO0lBQ3BCLFdBQVcsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQy9CLFVBQVUsQ0FBTTtJQUNoQixhQUFhLEdBQVEsRUFBRSxDQUFDO0lBQ3hCLFNBQVMsR0FBZ0MsSUFBSSxDQUFDO0lBQzlDLHNCQUFzQixDQUFTO0lBRVAsU0FBUyxDQUFNO0lBQ1YsY0FBYyxDQUFjO0lBQ3hDLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFlBQVksQ0FBTTtJQUNsQixJQUFJLENBQU07SUFDVixXQUFXLENBQU87SUFDbEIsc0JBQXNCLENBQVU7SUFDaEMsT0FBTyxDQUFnQjtJQUN2QixhQUFhLEdBQVksS0FBSyxDQUFDO0lBQy9CLGNBQWMsQ0FBTTtJQUNwQixXQUFXLENBQU07SUFDakIsUUFBUSxDQUFNO0lBQ2QsaUJBQWlCLEdBQVksSUFBSSxDQUFDO0lBQ2xDLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFDN0Isa0JBQWtCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsU0FBUyxDQUFNO0lBQ2Ysb0JBQW9CLEdBQVUsRUFBRSxDQUFDO0lBQ2pDLFFBQVEsQ0FBTTtJQUNkLFlBQVksQ0FBUztJQUNyQixZQUFvQixZQUFzQixFQUFVLE1BQWMsRUFDeEQsT0FBdUIsRUFDdkIsRUFBcUIsRUFDckIsS0FBcUIsRUFDckIsWUFBMEIsRUFDM0IsRUFBc0I7UUFMWCxpQkFBWSxHQUFaLFlBQVksQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDeEQsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0IsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUdELE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixNQUNFLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQTtRQUNwRSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUE7UUFDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUM1RSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUMvRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1FBRUgsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLE1BQU0sR0FBRztZQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFBO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkUsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO29CQUUxQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDO29CQUM1QixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGtCQUFrQixJQUFJLG9CQUFvQixFQUFFO3dCQUM1RSxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQzt3QkFDekIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQzt3QkFDL0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztxQkFDaEM7eUJBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsSUFBSSxRQUFRLEVBQUU7d0JBQ3ZFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO3dCQUN4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO3dCQUMvQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO3FCQUNqQztvQkFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNoRSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO3dCQUNyQyxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNsRCxDQUFDLENBQUMsQ0FBQztvQkFDSCxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTt3QkFHL0MsSUFBSSxPQUFPLENBQUMsVUFBVSxJQUFJLHVCQUF1QixJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFdBQVcsSUFBSSxZQUFZLEVBQUU7NEJBRXpHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUE7eUJBQzdCO29CQUNILENBQUMsQ0FBQyxDQUFDO29CQUNILElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLElBQUksTUFBTSxFQUFFO3dCQUMvQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7cUJBQ3BCO2lCQUNGO2dCQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7WUFHekIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBRXZCLENBQUM7WUFDRCxRQUFRO1lBRVIsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsZ0JBQXFCO1FBQ2pDLElBQUksTUFBTSxHQUFHO1lBQ1gsTUFBTSxFQUFFLGdCQUFnQjtTQUN6QixDQUFBO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDMUUsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQTtvQkFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtpQkFDL0Q7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtRQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFpQjtRQUMvQixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFcEMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ1osT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUM7U0FDdEQ7YUFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxZQUFZLENBQUM7U0FDMUQ7YUFBTSxJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxjQUFjLENBQUM7U0FDbEU7YUFBTTtZQUNMLE9BQU8sVUFBVSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksR0FBRztZQUNULE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDckIsU0FBUyxFQUFFLGNBQWM7WUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLFNBQVM7WUFDNUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU87U0FDekMsQ0FBQTtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3ZFLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQztnQkFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO29CQUN2RSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDdkMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzFCLENBQUM7U0FFRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQVk7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUE7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFBO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUE7UUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGtDQUFrQyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQ2xHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGtDQUFrQyxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLE1BQU0sR0FBRztZQUNYLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYTtZQUMxQixPQUFPLEVBQUUsQ0FBQztTQUNYLENBQUE7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMxRSxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO29CQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztpQkFDdEI7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFFdkIsQ0FBQztZQUNELFFBQVE7WUFFUixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksTUFBTSxHQUFHLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFBO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzVFLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztpQkFDeEM7Z0JBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMxQixDQUFDO1lBQ0QsS0FBSyxDQUFDLEdBQUc7WUFFVCxDQUFDO1lBQ0QsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUNmLENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxJQUFJLENBQUE7UUFDUixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzVELElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxRQUFRLEVBQUU7Z0JBQ2xDLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxvQkFBb0IsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQztvQkFDMUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztpQkFDWDtxQkFBTTtvQkFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLHdCQUF3QixDQUFDO29CQUM5QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7aUJBQzdCO2dCQUNELDZGQUE2RjthQUM5RjtpQkFBTTtnQkFDTCxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMvRjtTQUNGO1FBQ0QscURBQXFEO1FBQ3JELG9QQUFvUDtRQUNwUCxvRUFBb0U7UUFDcEUsOE9BQThPO1FBQzlPLHFFQUFxRTtRQUNyRSxJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1NBQ2hFO1FBQ0QsSUFBSSxhQUFhLEdBQUc7WUFDbEIsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUM3QixXQUFXLEVBQUUsSUFBSTtZQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDekIsQ0FBQTtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hGLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO29CQUM5QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7b0JBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO29CQUNsQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQTtpQkFDeEI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2lCQUM3QztZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDNUMsQ0FBQztZQUNELFFBQVE7WUFFUixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBRUosQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksR0FBRztZQUNULFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN6QixRQUFRLEVBQUUsWUFBWTtTQUN2QixDQUFBO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkUsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDbEIsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQy9CLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQTtRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUN4QywrQ0FBK0M7UUFDL0MsNEJBQTRCO1FBQzVCLElBQUk7UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBQ0QsYUFBYSxDQUFDLEdBQVE7UUFDcEIsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxVQUFVO1FBQ1IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ3BHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEdBQUc7WUFDeEMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUztZQUN2QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRO1lBQ3JDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU87U0FDcEMsQ0FBQTtJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDN0UsQ0FBQztJQUNELGNBQWMsQ0FBQyxNQUFXO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVc7UUFFVCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFDN0Q7WUFDRSxRQUFRLEVBQUUsSUFBSTtZQUNkLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUNMLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUc7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUztZQUN0QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO1lBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVE7U0FDckM7WUFFQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBRWhDLENBQUMsQ0FBQyxDQUFBO0lBR04sQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFpQjtRQUM1QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFpQjtRQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQztJQUNELGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELElBQUksUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxJQUFJLEdBQVMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRywrQkFBK0IsQ0FBQztvQkFDcEQsT0FBTyxDQUFDLDBCQUEwQjtpQkFDbkM7Z0JBQ0QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7d0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDZixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNO3dCQUNwQixzQkFBc0IsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsY0FBYyxFQUFFO3FCQUNyRSxDQUFDLENBQUM7b0JBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDMUIsQ0FBQyxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDNUI7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQy9GLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTt3QkFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO3dCQUM5QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7cUJBQ2xCO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtxQkFDN0M7Z0JBQ0gsQ0FBQztnQkFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDYixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQzVDLENBQUM7Z0JBQ0QsUUFBUTtnQkFFUixDQUFDO2FBQ0YsQ0FBQyxDQUFBO1NBSUg7SUFDSCxDQUFDO0lBQ0QsVUFBVSxDQUFDLEdBQU87UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDdkcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBQyxXQUFXLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQy9ILElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO29CQUM5QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7aUJBQ2xCO3FCQUFNO29CQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtpQkFDN0M7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzVDLENBQUM7WUFDRCxRQUFRO1lBRVIsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsNkRBQTZELENBQUMsRUFBRTtZQUNwRixXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtTQUNoRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsNERBQTRELENBQUMsRUFBRTtZQUNuRixXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtTQUNoRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Qsa0JBQWtCO1FBRWhCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUNoRixDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDREQUE0RCxDQUFDLEVBQUU7WUFDbkYsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7U0FDaEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0E3ZlUscUJBQXFCOzRGQUFyQixxQkFBcUIsaVVDbkJsQyx3bGxEQXVqQlU7OzRGRHBpQkcscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjt3UEF3Q0osU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNPLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQStCM0IsT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIFZpZXdDaGlsZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JNb2RhbFJlZiwgTmdiQWN0aXZlTW9kYWwsIE5nYlRvb2x0aXAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IENvbnRhY3REZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi4vY29udGFjdC1kZXRhaWxzL2NvbnRhY3QtZGV0YWlscy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWtlcmVtb3RlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFrZXJlbW90ZS90YWtlcmVtb3RlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuLy8gaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAncHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvcHVibGljLWFwaSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0LWluZnJhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuLy8gaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAncHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvcHVibGljLWFwaSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItaW5zdGFsbGF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5zdGFsbGF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaW5zdGFsbGF0aW9uLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5zdGFsbGF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBTZWxlY3RlZFRhYjogYW55ID0gJ3RpY2tldCc7XHJcbiAgc2VsZWN0ZWRJc3N1ZTogYW55ID0gJ0ludGVybmV0IElzc3Vlcyc7XHJcbiAgcHJlcmVxdWVzdEZhaWxlZDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgc2Vjb25kYXJ5SXNzdWVzOiBhbnk7XHJcbiAgaXNzdWVTdGF0dXM6IGFueTtcclxuICBjb21tZW50czogYW55ID0gJyc7XHJcbiAgcHJpbWFyeUlzc3VlczogYW55O1xyXG4gIGRyb3Bkb3duSXRlbXM6IGFueVtdID0gWydJbnRlcm5ldCBJc3N1ZXMnLCAnQ2FtZXJhIElzc3VlcycsICdTeXN0ZW0gSXNzdWVzJywgJ090aGVycyddO1xyXG4gIG90aGVyc0lzc3VlOiBhbnlbXSA9IFt7IG5hbWU6ICdQb3dlciBTaHV0ZG93bicgfSwgeyBuYW1lOiAnU3RvcmUgVGVtcG9yYXJpbHkgQ2xvc2VkJyB9LCB7IG5hbWU6ICdBcHBsaWNhdGlvbiBJc3N1ZXMnIH1dXHJcbiAgY2FtZXJhSXNzdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYW1lcmFTZWxlY3RXb3JrOiBib29sZWFuID0gdHJ1ZTtcclxuICBzaG93U3VibWl0OiBib29sZWFuID0gdHJ1ZTtcclxuICBjYW1lcmFTZWxlY3Q6IGFueTtcclxuICBzdGF0ZTogYW55O1xyXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIG5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlucHV0SGliZXJuYXRpb246IGFueSA9ICcwMCc7XHJcbiAgY291bnQ6IGFueSA9IDA7XHJcbiAgaXNDaGVja2VkOiBib29sZWFuW10gPSBbXTtcclxuICByZXNvbHZlZElzc3VlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZHJvcERvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuICB0aWNrZXRJZDogc3RyaW5nIHwgbnVsbDtcclxuICB0aWNrZXRJbmZvOiBhbnk7XHJcbiAgYWN0aXZlVGlja2V0RGV0YWlsczogYW55O1xyXG4gIHN0b3JlQWRkcmVzczogYW55O1xyXG4gIHJlcGx5T3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHJlcGxpZWRJc3N1ZTogYW55O1xyXG4gIHZpZXdUaWNrZXREYXRhOiBhbnk7XHJcbiAgY3VycmVudFRpbWU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIHRhcmdldFRpbWU6IERhdGVcclxuICBzZWxlY3RlZEZpbGVzOiBhbnkgPSBbXTtcclxuICBicmFuZExvZ286IHN0cmluZyB8IEFycmF5QnVmZmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgbGFzdE1vZGlmaWVkRGF0ZVN0cmluZzogc3RyaW5nO1xyXG5cclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ6IGFueTtcclxuICBAVmlld0NoaWxkKCd0b29sdGlwQ29udGVudCcpIHRvb2x0aXBDb250ZW50ITogTmdiVG9vbHRpcDtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBoZWFkZXJGaWx0ZXI6IGFueTtcclxuICB1c2VyOiBhbnk7XHJcbiAgdXBkYXRlZERhdGU6IERhdGU7XHJcbiAgaXNHcmVhdGVyVGhhbjVfMzBIb3VyczogYm9vbGVhbjtcclxuICBzdG9yZUlkOiBzdHJpbmcgfCBudWxsO1xyXG4gIHN0b3JlRHJvcERvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWxlY3RlZE9wdGlvbjogYW55O1xyXG4gIEhpYmVybmF0aW9uOiBhbnk7XHJcbiAgY2xpZW50SWQ6IGFueTtcclxuICBpbnN0YWxsYXRpb25TdGFydDogYm9vbGVhbiA9IHRydWU7XHJcbiAgY29uZmlndXJpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpbnN0YWxsYXRpb25SZXN1bWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93Zm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHN0b3JlTmFtZTogYW55O1xyXG4gIG5vdHdvcmtpbmdDYW1hcmFsaXN0OiBhbnlbXSA9IFtdO1xyXG4gIHVzZXJUeXBlOiBhbnk7XHJcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBUaWNrZXRzU2VydmljZSxcclxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxyXG4gICAgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMudGlja2V0SWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgndGlja2V0SWQnKTtcclxuICAgIHRoaXMuc3RvcmVJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdzdG9yZUlkJyk7XHJcbiAgICB0aGlzLnZpZXdUaWNrZXQoKVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0XHJcbiAgICAgIHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5kcm9wRG93bicpKSB7XHJcbiAgICAgIHRoaXMuZHJvcERvd24gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5zdG9yZURyb3BEb3duJykpIHtcclxuICAgICAgdGhpcy5zdG9yZURyb3BEb3duID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGxldCB1c2VySW5mbyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpIHx8ICd7fScpXHJcbiAgICB0aGlzLnVzZXJUeXBlID0gdXNlckluZm8udXNlclR5cGVcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChkYXRhICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLnVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKSB8fCBcIlwiKVxyXG4gICAgICAgIHRoaXMuaGVhZGVyRmlsdGVyID0gZGF0YTtcclxuICAgICAgICB0aGlzLmFjdGl2ZVRpY2tldCgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHZpZXdUaWNrZXQoKSB7XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICB0aWNrZXRJZDogdGhpcy50aWNrZXRJZFxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLnZpZXdUaWNrZXQocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuXHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMudGlja2V0SW5mbyA9IHJlcz8uZGF0YTtcclxuICAgICAgICAgIGlmICh0aGlzLnRpY2tldEluZm8udGlja2V0RGV0YWlscy5pbnN0YWxsYXRpb25TdGF0dXMgPT0gJ2luc3RhbGxhdGlvbmZhaWxlZCcpIHtcclxuICAgICAgICAgICAgdGhpcy5jb25maWd1cmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbGxhdGlvblN0YXJ0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaW5zdGFsbGF0aW9uUmVzdW1lID0gdHJ1ZTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50aWNrZXRJbmZvLnRpY2tldERldGFpbHMuaW5zdGFsbGF0aW9uU3RhdHVzID09ICdwYWlyZWQnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbGxhdGlvblN0YXJ0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaW5zdGFsbGF0aW9uUmVzdW1lID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnZpZXdUaWNrZXREYXRhID0gcmVzLmRhdGEudGlja2V0QWN0aXZpdHkuc2xpY2UoKS5yZXZlcnNlKCk7XHJcbiAgICAgICAgICB0aGlzLnZpZXdUaWNrZXREYXRhLmZvckVhY2goKGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBlLnRpbWVTdGFtcCA9IHRoaXMuZ2V0UmVsYXRpdmVUaW1lKGUudGltZVN0YW1wKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmVzLmRhdGEudGlja2V0QWN0aXZpdHkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgaWYgKGVsZW1lbnQuYWN0aW9uVHlwZSA9PSAncHJlcmVxdWVzdGNoZWNrZmFpbGVkJyAmJiByZXMuZGF0YT8udGlja2V0RGV0YWlscz8uaXNzdWVTdGF0dXMgIT0gJ2lkZW50aWZpZWQnKSB7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMucHJlcmVxdWVzdEZhaWxlZCA9IHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAocmVzPy5kYXRhPy5zdGF0dXMgPT0gJ29wZW4nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzVXBkYXRlKClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuXHJcblxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGUoKSB7XHJcblxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2FtZXJhTGlzdChub3R3b3JraW5nQ2FtZXJhOiBhbnkpIHtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIGNhbWVyYTogbm90d29ya2luZ0NhbWVyYVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLmdldENhbWVyYUxpc3QocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMubm90d29ya2luZ0NhbWFyYWxpc3QgPSByZXMuZGF0YVxyXG4gICAgICAgICAgY29uc29sZS5sb2coJ25vdHdvcmtpbmdDYW1hcmFsaXN0JywgdGhpcy5ub3R3b3JraW5nQ2FtYXJhbGlzdClcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICB1cGRhdGVJc3N1ZSgpIHtcclxuICAgIHRoaXMuc2hvd2Zvcm0gPSB0cnVlXHJcbiAgICB0aGlzLnByaW1hcnlSZWFzb24oKTtcclxuICAgIHRoaXMuc2Vjb25kYXJ5UmVhc29uKHRoaXMuc2VsZWN0ZWRJc3N1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRSZWxhdGl2ZVRpbWUodGltZXN0YW1wOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRpbWVzdGFtcCk7XHJcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zdCBkaWZmZXJlbmNlID0gY3VycmVudERhdGUuZ2V0VGltZSgpIC0gZGF0ZS5nZXRUaW1lKCk7XHJcbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcihkaWZmZXJlbmNlIC8gMTAwMCk7XHJcbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApO1xyXG4gICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKG1pbnV0ZXMgLyA2MCk7XHJcbiAgICBjb25zdCBkYXlzID0gTWF0aC5mbG9vcihob3VycyAvIDI0KTtcclxuXHJcbiAgICBpZiAoZGF5cyA+IDApIHtcclxuICAgICAgcmV0dXJuIGRheXMgPT09IDEgPyAnMSBkYXkgYWdvJyA6IGAke2RheXN9IGRheXMgYWdvYDtcclxuICAgIH0gZWxzZSBpZiAoaG91cnMgPiAwKSB7XHJcbiAgICAgIHJldHVybiBob3VycyA9PT0gMSA/ICcxIGhvdXIgYWdvJyA6IGAke2hvdXJzfSBob3VycyBhZ29gO1xyXG4gICAgfSBlbHNlIGlmIChtaW51dGVzID4gMCkge1xyXG4gICAgICByZXR1cm4gbWludXRlcyA9PT0gMSA/ICcxIG1pbnV0ZSBhZ28nIDogYCR7bWludXRlc30gbWludXRlcyBhZ29gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdKdXN0IG5vdyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3RpdmVUaWNrZXQoKSB7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgdXNlcklkOiB0aGlzLnVzZXIuX2lkLFxyXG4gICAgICBpc3N1ZVR5cGU6IFwiaW5zdGFsbGF0aW9uXCIsXHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLmFjdGl2ZVRpY2tldChkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVUaWNrZXREZXRhaWxzID0gcmVzPy5kYXRhO1xyXG4gICAgICAgIHRoaXMuc3RvcmVBZGRyZXNzID0gdGhpcy5hY3RpdmVUaWNrZXREZXRhaWxzPy5kYXRhPy5maWx0ZXIoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGl0ZW0uc3RvcmVJZCA9PT0gdGhpcy5zdG9yZUlkO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc3RvcmVBZGRyZXNzID0gdGhpcy5zdG9yZUFkZHJlc3NbMF07XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcblxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldHN0b3JlQWRkcmVzcyhkZXRhaWxzOiBhbnkpIHtcclxuICAgIHRoaXMuc3RvcmVBZGRyZXNzID0gZGV0YWlsc1xyXG4gICAgdGhpcy5zdG9yZU5hbWUgPSB0aGlzLnN0b3JlQWRkcmVzcy5zdG9yZU5hbWU7XHJcbiAgICB0aGlzLnN0b3JlSWQgPSB0aGlzLnN0b3JlQWRkcmVzcy5zdG9yZUlkXHJcbiAgICB0aGlzLmNsaWVudElkID0gdGhpcy5zdG9yZUFkZHJlc3MuY2xpZW50SWRcclxuICAgIHRoaXMuc3RvcmVEcm9wRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy50aWNrZXRJZCA9IGRldGFpbHMudGlja2V0SWRcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYHRpY2tldHMvdXNlcnMvaW5zdGFsbGF0aW9uaW5mby8ke2RldGFpbHMudGlja2V0SWR9LyR7ZGV0YWlscy5zdG9yZUlkfWApXHJcbiAgICB0aGlzLnZpZXdUaWNrZXQoKTtcclxuICB9XHJcblxyXG4gIFByZXZSb3V0ZSgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy90aWNrZXRzL3VzZXJzP3R5cGU9aW5zdGFsbGF0aW9uJylcclxuICB9XHJcblxyXG4gIHByaW1hcnlSZWFzb24oKSB7XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICBcIm5hbWVcIjogdGhpcy5zZWxlY3RlZElzc3VlLFxyXG4gICAgICBcIm9yZGVyXCI6IDJcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS5wcmltYXJ5UmVhc29uKHBhcmFtcykucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnByaW1hcnlJc3N1ZXMgPSByZXM7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZSgpIHtcclxuXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzZWNvbmRhcnlSZWFzb24odmFsdWU6IGFueSkge1xyXG4gICAgbGV0IHBhcmFtcyA9IHsgXCJwcmltYXJ5SXNzdWVcIjogdmFsdWUgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLnNlY29uZGFyeVJlYXNvbihwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5zZWNvbmRhcnlJc3N1ZXMgPSByZXMuZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcihlcnIpIHtcclxuXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVGlja2V0KCkge1xyXG4gICAgdGhpcy5zaG93Zm9ybSA9IGZhbHNlO1xyXG4gICAgdGhpcy5wcmVyZXF1ZXN0RmFpbGVkID0gZmFsc2U7XHJcbiAgICBsZXQgZGF0YVxyXG4gICAgaWYgKHRoaXMuc2Vjb25kYXJ5SXNzdWVzICYmIHRoaXMuc2Vjb25kYXJ5SXNzdWVzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXNzdWUgPT0gJ090aGVycycpIHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbiA9PT0gJ0FwcGxpY2F0aW9uIElzc3VlcycpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9ICdBcHBsaWNhdGlvbiBJc3N1ZXMnO1xyXG4gICAgICAgICAgZGF0YSA9IFtdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSAnU3RvcmUgT3BlcmF0aW9uIElzc3Vlcyc7XHJcbiAgICAgICAgICBkYXRhID0gW3RoaXMuc2VsZWN0ZWRPcHRpb25dXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGRhdGEgPSB0aGlzLm90aGVyc0lzc3VlLmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtLmNoZWNrZWQpLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLm5hbWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRhdGEgPSB0aGlzLnNlY29uZGFyeUlzc3Vlcy5maWx0ZXIoKGl0ZW06IGFueSkgPT4gaXRlbS5jaGVja2VkKS5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbS5uYW1lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb24gIT0gJ0FwcGxpY2F0aW9uIElzc3VlcycpIHtcclxuICAgIC8vIGlmKHRoaXMudGlja2V0SW5mbz8udGlja2V0RGV0YWlscy5pc3N1ZVN0YXR1cyA9PT0nbm90aWRlbnRpZmllZCcmJmRhdGEmJmRhdGEubGVuZ3RoPT0wfHx0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHMudGlja2V0VHlwZT09J3JlZnJlc2h0aWNrZXQnJiZ0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHM/LnJlZnJlc2hUaWNrZXRTdGF0dXM9PT0nbm90aWRlbnRpZmllZCcmJmRhdGEmJmRhdGEubGVuZ3RoPT0wKXtcclxuICAgIC8vICAgcmV0dXJuICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KFwiUGxlYXNlIFNlbGVjdCBJc3N1ZXNcIilcclxuICAgIC8vIH1lbHNlIGlmKHRoaXMudGlja2V0SW5mbz8udGlja2V0RGV0YWlscy5pc3N1ZVN0YXR1cyA9PT0naWRlbnRpZmllZCcmJnRoaXMuY29tbWVudHMgPT0nJ3x8dGhpcy50aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzLnRpY2tldFR5cGU9PSdyZWZyZXNodGlja2V0JyYmdGhpcy50aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzPy5yZWZyZXNoVGlja2V0U3RhdHVzPT09J2lkZW50aWZpZWQnJiZ0aGlzLmNvbW1lbnRzPT0wKXtcclxuICAgIC8vICAgcmV0dXJuICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KFwiUGxlYXNlIEVudGVyIENvbW1lbnRzXCIpXHJcbiAgICAvLyB9XHJcbiAgICAvLyB9XHJcbiAgICBpZiAodGhpcy5jb21tZW50cyA9PSAnJykge1xyXG4gICAgICByZXR1cm4gdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChcIlBsZWFzZSBFbnRlciBDb21tZW50c1wiKVxyXG4gICAgfVxyXG4gICAgbGV0IHRpY2tldERldGFpbHMgPSB7XHJcbiAgICAgIFwidGlja2V0SWRcIjogdGhpcy50aWNrZXRJZCxcclxuICAgICAgXCJwcmltYXJ5XCI6IHRoaXMuc2VsZWN0ZWRJc3N1ZSxcclxuICAgICAgXCJzZWNvbmRhcnlcIjogZGF0YSxcclxuICAgICAgXCJjb21tZW50XCI6IHRoaXMuY29tbWVudHNcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS51cGRhdGVUaWNrZXQodGlja2V0RGV0YWlscykucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRTdWNjZXNzVG9hc3QocmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgICB0aGlzLnZpZXdUaWNrZXQoKVxyXG4gICAgICAgICAgdGhpcy5jb21tZW50cyA9ICcnXHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSBbXVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KGVyci5FcnJvcilcclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGUoKSB7XHJcblxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICBzdGF0dXNVcGRhdGUoKSB7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgXCJ0aWNrZXRJZFwiOiB0aGlzLnRpY2tldElkLFxyXG4gICAgICBcInN0YXR1c1wiOiBcImlucHJvZ3Jlc3NcIlxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLnN0YXR1c1VwZGF0ZShkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2cocmVzKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYWRkQ29tbWVudCgpIHtcclxuICAgIHRoaXMuY29tbWVudHMgPSB0aGlzLmNvbW1lbnRzXHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2hvd1N1Ym1pdCA9IHRydWVcclxuICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZWNvbmRhcnlSZWFzb24odGhpcy5zZWxlY3RlZElzc3VlKVxyXG4gICAgLy8gaWYgKHRoaXMuc2VsZWN0ZWRJc3N1ZSA9PSAnQ2FtZXJhIElzc3VlcycpIHtcclxuICAgIC8vICAgdGhpcy5zaG93U3VibWl0ID0gZmFsc2VcclxuICAgIC8vIH1cclxuICAgIHRoaXMuZHJvcERvd24gPSBmYWxzZTtcclxuICB9XHJcbiAgZG93bmxvYWRpbWFnZSh1cmw6IGFueSkge1xyXG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGEuaHJlZiA9IHVybDtcclxuICAgIGEuZG93bmxvYWQgPSB1cmw7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgYS5jbGljaygpO1xyXG4gIH1cclxuICBvcGVuUmVtb3RlKCkge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKFRha2VyZW1vdGVDb21wb25lbnQsIHsgY2VudGVyZWQ6IHRydWUsIHNjcm9sbGFibGU6IHRydWUsIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2Uuc3RvcmVEZXRhaWxzID0ge1xyXG4gICAgICBzdG9yZU5hbWU6IHRoaXMuc3RvcmVBZGRyZXNzPy5zdG9yZU5hbWUsXHJcbiAgICAgIGNsaWVudElkOiB0aGlzLnN0b3JlQWRkcmVzcz8uY2xpZW50SWQsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVBZGRyZXNzPy5zdG9yZUlkXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYW1lcmFTZWxlY3RlZCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmNhbWVyYVNlbGVjdCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJvY2VkZEltYWdlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2hvd1N1Ym1pdCA9IHRydWU7XHJcbiAgICB0aGlzLmNhbWVyYUlzc3VlID0gdHJ1ZTtcclxuICAgIHRoaXMuY2FtZXJhU2VsZWN0V29yayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgU2VsZWN0ZWRUYWJzKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuU2VsZWN0ZWRUYWIgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUNoZWNrYm94KGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2Vjb25kYXJ5SXNzdWVzW2luZGV4XS5jaGVja2VkID0gIXRoaXMuc2Vjb25kYXJ5SXNzdWVzW2luZGV4XS5jaGVja2VkO1xyXG4gIH1cclxuICB0b2dnbGVSYWRpb2JveChvdGhlcnM6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IG90aGVycy5uYW1lO1xyXG4gIH1cclxuICBkZWNyZXNlQ291bnQoKTogYW55IHtcclxuICAgIHRoaXMuY291bnQgLT0gMTtcclxuICB9XHJcblxyXG4gIGluY3JlYXNlQ291bnQoKTogYW55IHtcclxuICAgIHRoaXMuY291bnQgKz0gMTtcclxuICB9XHJcblxyXG4gIG9wZW5Db250YWN0KCkge1xyXG5cclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihDb250YWN0RGV0YWlsc0NvbXBvbmVudCxcclxuICAgICAge1xyXG4gICAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICAgIHNjcm9sbGFibGU6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudmFsdWUgPSB7XHJcbiAgICAgIHN0b3JlTmFtZTogdGhpcy5zdG9yZUFkZHJlc3Muc3RvcmVOYW1lLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlQWRkcmVzcy5zdG9yZUlkLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5zdG9yZUFkZHJlc3MuY2xpZW50SWRcclxuICAgIH0sXHJcblxyXG4gICAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICB9KVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBvcGVuRHJvcGRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5kcm9wRG93biA9ICF0aGlzLmRyb3BEb3duO1xyXG4gIH1cclxuICBzdG9yZUNoYW5nZShldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnN0b3JlRHJvcERvd24gPSAhdGhpcy5zdG9yZURyb3BEb3duO1xyXG4gIH1cclxuICBvcGVuRmlsZUlucHV0KCkge1xyXG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5maWxlcyAmJiBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZXQgZmlsZTogRmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1tpXTtcclxuICAgICAgICBpZiAoIWZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkge1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnT25seSBpbWFnZSBmaWxlcyBhcmUgYWxsb3dlZCEnO1xyXG4gICAgICAgICAgcmV0dXJuOyAvLyBTdG9wIGZ1cnRoZXIgcHJvY2Vzc2luZ1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ltZycsIGZpbGUpO1xyXG4gICAgICAgIGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXMucHVzaCh7XHJcbiAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcclxuICAgICAgICAgICAgdXJsOiBlLnRhcmdldC5yZXN1bHQsXHJcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZERhdGVTdHJpbmc6IG5ldyBEYXRlKGZpbGUubGFzdE1vZGlmaWVkKS50b0xvY2FsZVN0cmluZygpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZXJ2aWNlLnVwbG9hZEF0dGFjaG1lbnRzKHRoaXMudGlja2V0SWQsIGZvcm1EYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldFN1Y2Nlc3NUb2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICAgICAgdGhpcy52aWV3VGlja2V0KClcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QocmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChlcnIuRXJyb3IpXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZSgpIHtcclxuXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuXHJcblxyXG5cclxuICAgIH1cclxuICB9XHJcbiAgcmVtb3ZlRmlsZSh1cmw6YW55KXtcclxuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgIHRoaXMudGlja2V0SW5mby5hdHRhY2htZW50cyA9IHRoaXMudGlja2V0SW5mby5hdHRhY2htZW50cy5maWx0ZXIoKGZpbGU6YW55KSA9PiBmaWxlLnNpZ25lZFVybCAhPT0gdXJsKTtcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLnJlbW92ZUF0dGFjaG1lbnQodGhpcy50aWNrZXRJZCwge2F0dGFjaG1lbnRzOnRoaXMudGlja2V0SW5mby5hdHRhY2htZW50c30pLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0U3VjY2Vzc1RvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgICAgdGhpcy52aWV3VGlja2V0KClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChlcnIuRXJyb3IpXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlKCkge1xyXG5cclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG4gIGNsb3NlVG9vbHRpcCgpIHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBDb250ZW50KSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcENvbnRlbnQuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dUb29sdGlwKCkge1xyXG4gICAgaWYgKHRoaXMudG9vbHRpcENvbnRlbnQpIHtcclxuICAgICAgdGhpcy50b29sdGlwQ29udGVudC5vcGVuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGFydEluc3RhbGxhdGlvbigpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi90aWNrZXRzL3VzZXJzL2luc3RhbGxhdGlvbmluZm8vZWRnZS1hcHAvZWRnZS1lbWFpbC1qb3VybmV5XCJdLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCwgdGlja2V0SWQ6IHRoaXMudGlja2V0SWQgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBDb25maWd1cmluZygpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi90aWNrZXRzL3VzZXJzL2luc3RhbGxhdGlvbmluZm8vZWRnZS1hcHAvZWRnZS1pbnN0YWxsYXRpb25cIl0sIHtcclxuICAgICAgcXVlcnlQYXJhbXM6IHsgc3RvcmVJZDogdGhpcy5zdG9yZUlkLCB0aWNrZXRJZDogdGhpcy50aWNrZXRJZCB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVzdW1lSW5zdGFsbGF0aW9uKCkge1xyXG5cclxuICAgIHRoaXMuc2VydmljZS51cGRhdGVTdG9yZSh0aGlzLnRpY2tldElkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL3RpY2tldHMvdXNlcnMvaW5zdGFsbGF0aW9uaW5mby9lZGdlLWFwcC9lZGdlLWluc3RhbGxhdGlvblwiXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBzdG9yZUlkOiB0aGlzLnN0b3JlSWQsIHRpY2tldElkOiB0aGlzLnRpY2tldElkIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1iLTUgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtY29udGVudCBiZy13aGl0ZSBweC0zIHB5LTIgbWUtMyBjdXJzb3ItcG9pbnRlclwiIHN0eWxlPVwid2lkdGg6IGZpdC1jb250ZW50O1wiIChjbGljayk9XCJQcmV2Um91dGUoKVwiPiA8c3ZnXHJcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEyLjgzMjcgNi45OTkzNUgxLjE2NjAyTTEuMTY2MDIgNi45OTkzNUw2Ljk5OTM1IDEyLjgzMjdNMS4xNjYwMiA2Ljk5OTM1TDYuOTk5MzUgMS4xNjYwMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz48L2Rpdj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LXNlbWlib2xkIHN0b3JlLWxhYmVsXCI+IHt7c3RvcmVJZH19PC9zcGFuPiA8c3BhbiAqbmdJZj1cInN0b3JlQWRkcmVzcz8uYWRkcmVzc1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZnctYm9sZCBzdG9yZS1sYWJlbFwiPiB8XHJcbiAgICAgICAgICAgIHt7c3RvcmVBZGRyZXNzPy5hZGRyZXNzfX0gPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiPiB7e2FjdGl2ZVRpY2tldERldGFpbHM/LmNvdW50fX0ge3tzdG9yZUFkZHJlc3M/LnN0YXR1c319PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBwcy0zXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzdG9yZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IHctMTAwIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWwgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGJnLXdoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7e3N0b3JlSWQgPyBzdG9yZUlkIDogc3RvcmVBZGRyZXNzPy5zdG9yZUlkfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtM1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgNy41TDEwIDEyLjVMMTUgNy41XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3RvcmVEcm9wRG93blwiIGNsYXNzPVwiY2FyZCBweS0xIHotMSB3LTIwMHB4IHBvc2l0aW9uLWFic29sdXRlIHRvcC01MHB4IGVuZC0wIGgtMzAwcHggb3ZlcmZsb3ctYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBkZXRhaWxzIG9mIGFjdGl2ZVRpY2tldERldGFpbHM/LmRhdGFcIiBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwic3RvcmVBZGRyZXNzPy5zdG9yZUlkID09PSBkZXRhaWxzPy5zdG9yZUlkID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FtZXJhIHB4LTUgaXRlbXMgZnctc2VtaWJvbGQgY3Vyc29yLXBvaW50ZXIgcHktMlwiIChjbGljayk9XCJnZXRzdG9yZUFkZHJlc3MoZGV0YWlscylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxzPy5zdG9yZUlkfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yIGZ3LXNlbWlib2xkXCI+e3t0aWNrZXRJZH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIGZ3LWJvbGQgbWItMiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0XCI+PHN2ZyBjbGFzcz1cIm1lLTNcIlxyXG4gICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzM4NzdfOTY1NTIpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTggMVYzTTQgMVYzTTEuNSA1SDEwLjVNMi41IDJIOS41QzEwLjA1MjMgMiAxMC41IDIuNDQ3NzIgMTAuNSAzVjEwQzEwLjUgMTAuNTUyMyAxMC4wNTIzIDExIDkuNSAxMUgyLjVDMS45NDc3MiAxMSAxLjUgMTAuNTUyMyAxLjUgMTBWM0MxLjUgMi40NDc3MiAxLjk0NzcyIDIgMi41IDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzg3N185NjU1MlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz4ge3sgdGlja2V0SW5mbz8uY3JlYXRlZEF0fGN1c3RvbURhdGVGb3JtYXR9fTwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidGlja2V0SW5mbz8uc3RhdHVzIT09J2Nsb3NlZCcmJmluc3RhbGxhdGlvblN0YXJ0JiYoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNFZGl0XCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IHB4LTIwIG1lLTIgYnRuLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RhcnRJbnN0YWxsYXRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBTdGFydCBJbnN0YWxsYXRpb24gPHN2ZyBjbGFzcz1cIm1zLTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03LjUgMTVMMTIuNSAxMEw3LjUgNVwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInRpY2tldEluZm8/LnN0YXR1cyE9PSdjbG9zZWQnJiZjb25maWd1cmluZyYmKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzRWRpdFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBweC0yMCBtZS0yIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIkNvbmZpZ3VyaW5nKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQ29uZmlndXJpbmcgPHN2ZyBjbGFzcz1cIm1zLTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF83MTQ4XzE3NjA4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTAuMDAwMyAxLjY2Njc1VjUuMDAwMDhNMTAuMDAwMyAxNS4wMDAxVjE4LjMzMzRNNC4xMDg2NiA0LjEwODQxTDYuNDY2OTkgNi40NjY3NU0xMy41MzM3IDEzLjUzMzRMMTUuODkyIDE1Ljg5MTdNMS42NjY5OSAxMC4wMDAxSDUuMDAwMzNNMTUuMDAwMyAxMC4wMDAxSDE4LjMzMzdNNC4xMDg2NiAxNS44OTE3TDYuNDY2OTkgMTMuNTMzNE0xMy41MzM3IDYuNDY2NzVMMTUuODkyIDQuMTA4NDFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNzE0OF8xNzYwOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ0aWNrZXRJbmZvPy5zdGF0dXMhPT0nY2xvc2VkJyYmaW5zdGFsbGF0aW9uUmVzdW1lJiYoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNFZGl0XCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IHB4LTE1IG1lLTIgYnRuLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVzdW1lSW5zdGFsbGF0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVzdW1lIEluc3RhbGxhdGlvbiA8c3ZnIGNsYXNzPVwibXMtMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuNSAxNUwxMi41IDEwTDcuNSA1XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzVmlld1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3BlbkNvbnRhY3QoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzg3N18xMDIyMDMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi41NDE1IDQuMTY2NTlDMTMuMzU1NSA0LjMyNTM5IDE0LjEwMzUgNC43MjM0NyAxNC42ODk5IDUuMzA5ODZDMTUuMjc2MyA1Ljg5NjI2IDE1LjY3NDQgNi42NDQzMSAxNS44MzMyIDcuNDU4MjVNMTIuNTQxNSAwLjgzMzI1MkMxNC4yMzI2IDEuMDIxMTIgMTUuODA5NSAxLjc3ODQgMTcuMDEzNCAyLjk4MDc2QzE4LjIxNzMgNC4xODMxMiAxOC45NzY1IDUuNzU5MDkgMTkuMTY2NSA3LjQ0OTkyTTE4LjMzMzIgMTQuMDk5OVYxNi41OTk5QzE4LjMzNDEgMTYuODMyIDE4LjI4NjYgMTcuMDYxNyAxOC4xOTM2IDE3LjI3NDRDMTguMTAwNiAxNy40ODcgMTcuOTY0MyAxNy42Nzc5IDE3Ljc5MzMgMTcuODM0OEMxNy42MjIyIDE3Ljk5MTcgMTcuNDIwMyAxOC4xMTEyIDE3LjIwMDUgMTguMTg1NUMxNi45ODA2IDE4LjI1OTkgMTYuNzQ3NyAxOC4yODc1IDE2LjUxNjUgMTguMjY2NkMxMy45NTIyIDE3Ljk4OCAxMS40ODkgMTcuMTExNyA5LjMyNDg2IDE1LjcwODNDNy4zMTEzOSAxNC40Mjg4IDUuNjA0MzEgMTIuNzIxNyA0LjMyNDg2IDEwLjcwODNDMi45MTY1MSA4LjUzNDI2IDIuMDQwMDcgNi4wNTkwOCAxLjc2NjUzIDMuNDgzMjVDMS43NDU3IDMuMjUyODEgMS43NzMwOSAzLjAyMDU1IDEuODQ2OTUgMi44MDEyN0MxLjkyMDggMi41ODE5OSAyLjAzOTUxIDIuMzgwNDkgMi4xOTU1IDIuMjA5NkMyLjM1MTUgMi4wMzg3MSAyLjU0MTM3IDEuOTAyMTggMi43NTMwMiAxLjgwODY5QzIuOTY0NjggMS43MTUyIDMuMTkzNDggMS42NjY4IDMuNDI0ODYgMS42NjY1OUg1LjkyNDg2QzYuMzI5MjggMS42NjI2IDYuNzIxMzYgMS44MDU4MiA3LjAyOCAyLjA2OTUzQzcuMzM0NjQgMi4zMzMyNCA3LjUzNDkzIDIuNjk5NDYgNy41OTE1MyAzLjA5OTkyQzcuNjk3MDUgMy44OTk5NyA3Ljg5Mjc0IDQuNjg1NTIgOC4xNzQ4NiA1LjQ0MTU5QzguMjg2OTggNS43Mzk4NiA4LjMxMTI1IDYuMDY0MDEgOC4yNDQ3OCA2LjM3NTY1QzguMTc4MzIgNi42ODcyOSA4LjAyMzkyIDYuOTczMzQgNy43OTk4NiA3LjE5OTkyTDYuNzQxNTMgOC4yNTgyNUM3LjkyNzgzIDEwLjM0NDUgOS42NTUyNCAxMi4wNzIgMTEuNzQxNSAxMy4yNTgzTDEyLjc5OTkgMTIuMTk5OUMxMy4wMjY0IDExLjk3NTkgMTMuMzEyNSAxMS44MjE1IDEzLjYyNDEgMTEuNzU1QzEzLjkzNTggMTEuNjg4NSAxNC4yNTk5IDExLjcxMjggMTQuNTU4MiAxMS44MjQ5QzE1LjMxNDMgMTIuMTA3IDE2LjA5OTggMTIuMzAyNyAxNi44OTk5IDEyLjQwODNDMTcuMzA0NyAxMi40NjU0IDE3LjY3NDQgMTIuNjY5MyAxNy45Mzg2IDEyLjk4MTJDMTguMjAyOSAxMy4yOTMxIDE4LjM0MzMgMTMuNjkxMiAxOC4zMzMyIDE0LjA5OTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzg3N18xMDIyMDNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yXCI+Q29udGFjdCBEZXRhaWxzPC9zcGFuPiA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzVmlld1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib3BlblJlbW90ZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+PHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9kZXNrdG9wLnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ubmVjdCBSZW1vdGVseTwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLThcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcmVyZXF1ZXN0RmFpbGVkJiYoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNFZGl0XCIgY2xhc3M9XCJpbnN0YWwtZmFpbGVkIG1iLTUgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9fRmlsZSB1cGxvYWQgaWNvbi5zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLXRleHRcIj5JbnRhbGxhdGlvbiBGYWlsZWQgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLXRleHRcIj5QbGVhc2UgZW50ZXIgdGhlIHJlYXNvbiBiZWhpbmQgdGhlIGluc3RhbGxhdGlvbiBmYWlsZWQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwidXBkYXRlSXNzdWUoKVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFVwZGF0ZSBJc3N1ZVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd2Zvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3BlbmVkaXNzdWUgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtbGFiZWwgZnctc2VtaWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMSAxMkMyMSA3LjAyOTMgMTYuOTcwNyAzIDEyIDNDNy4wMjkzIDMgMyA3LjAyOTMgMyAxMkMzIDE2Ljk3MDcgNy4wMjkzIDIxIDEyIDIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyLjkgMy4wNDUwNEMxMi45IDMuMDQ1MDQgMTUuNiA2LjYwMDA0IDE1LjYgMTJMMTIuOSAzLjA0NTA0Wk0xMS4xIDIwLjk1NUMxMS4xIDIwLjk1NSA4LjQgMTcuNCA4LjQgMTJDOC40IDYuNjAwMDQgMTEuMSAzLjA0NTA0IDExLjEgMy4wNDUwNE0zLjU2NyAxNS4xNUgxMkgzLjU2N1pNMy41NjcgOC44NTAwNEgyMC40MzNIMy41NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIwLjg5MTEgMTcuMzI1MkMyMS4zMzU3IDE3LjU5ODggMjEuMzA3OCAxOC4yNjM5IDIwLjg1MDYgMTguMzE2MUwxOC41NDAzIDE4LjU3OEwxNy41MDQ0IDIwLjY1ODhDMTcuMjk5MiAyMS4wNzE5IDE2LjY2NDcgMjAuODY5NCAxNi41NTk0IDIwLjM1ODJMMTUuNDI5OSAxNC44NTM4QzE1LjM0MDggMTQuNDIxOCAxNS43Mjk2IDE0LjE1IDE2LjEwNDkgMTQuMzgxM0wyMC44OTExIDE3LjMyNTJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIwLjI1IDEyQzIwLjI1IDEyLjQxNDIgMjAuNTg1OCAxMi43NSAyMSAxMi43NUMyMS40MTQyIDEyLjc1IDIxLjc1IDEyLjQxNDIgMjEuNzUgMTJIMjAuMjVaTTEyIDIxLjc1QzEyLjQxNDIgMjEuNzUgMTIuNzUgMjEuNDE0MiAxMi43NSAyMUMxMi43NSAyMC41ODU4IDEyLjQxNDIgMjAuMjUgMTIgMjAuMjVWMjEuNzVaTTEzLjQ5NzMgMi41OTE0MkMxMy4yNDY3IDIuMjYxNTYgMTIuNzc2MiAyLjE5NzI1IDEyLjQ0NjQgMi40NDc3OEMxMi4xMTY1IDIuNjk4MyAxMi4wNTIyIDMuMTY4OCAxMi4zMDI3IDMuNDk4NjZMMTMuNDk3MyAyLjU5MTQyWk0xNC44NSAxMkMxNC44NSAxMi40MTQzIDE1LjE4NTggMTIuNzUgMTUuNiAxMi43NUMxNi4wMTQyIDEyLjc1IDE2LjM1IDEyLjQxNDMgMTYuMzUgMTJIMTQuODVaTTEwLjUwMjcgMjEuNDA4N0MxMC43NTMzIDIxLjczODUgMTEuMjIzOCAyMS44MDI4IDExLjU1MzYgMjEuNTUyM0MxMS44ODM1IDIxLjMwMTggMTEuOTQ3OCAyMC44MzEzIDExLjY5NzMgMjAuNTAxNEwxMC41MDI3IDIxLjQwODdaTTExLjY5NzMgMy40OTg2NkMxMS45NDc4IDMuMTY4OCAxMS44ODM1IDIuNjk4MyAxMS41NTM2IDIuNDQ3NzhDMTEuMjIzOCAyLjE5NzI1IDEwLjc1MzMgMi4yNjE1NiAxMC41MDI3IDIuNTkxNDJMMTEuNjk3MyAzLjQ5ODY2Wk0zLjU2NyAxNC40QzMuMTUyNzkgMTQuNCAyLjgxNyAxNC43MzU4IDIuODE3IDE1LjE1QzIuODE3IDE1LjU2NDMgMy4xNTI3OSAxNS45IDMuNTY3IDE1LjlWMTQuNFpNMTIgMTUuOUMxMi40MTQyIDE1LjkgMTIuNzUgMTUuNTY0MyAxMi43NSAxNS4xNUMxMi43NSAxNC43MzU4IDEyLjQxNDIgMTQuNCAxMiAxNC40VjE1LjlaTTMuNTY3IDguMTAwMDRDMy4xNTI3OSA4LjEwMDA0IDIuODE3IDguNDM1ODMgMi44MTcgOC44NTAwNEMyLjgxNyA5LjI2NDI2IDMuMTUyNzkgOS42MDAwNCAzLjU2NyA5LjYwMDA0VjguMTAwMDRaTTIwLjQzMyA5LjYwMDA0QzIwLjg0NzIgOS42MDAwNCAyMS4xODMgOS4yNjQyNiAyMS4xODMgOC44NTAwNEMyMS4xODMgOC40MzU4MyAyMC44NDcyIDguMTAwMDQgMjAuNDMzIDguMTAwMDRWOS42MDAwNFpNMjAuODkxMSAxNy4zMjUyTDIxLjI4NDIgMTYuNjg2NUwyMS4yODQgMTYuNjg2NEwyMC44OTExIDE3LjMyNTJaTTIwLjg1MDYgMTguMzE2MUwyMC45MzUxIDE5LjA2MTNMMjAuOTM1NyAxOS4wNjEzTDIwLjg1MDYgMTguMzE2MVpNMTguNTQwMyAxOC41NzhMMTguNDU1OCAxNy44MzI4TDE4LjA1MDYgMTcuODc4N0wxNy44Njg5IDE4LjI0MzhMMTguNTQwMyAxOC41NzhaTTE3LjUwNDQgMjAuNjU4OEwxNi44MzMgMjAuMzI0NkwxNi44MzI3IDIwLjMyNTJMMTcuNTA0NCAyMC42NTg4Wk0xNi41NTk0IDIwLjM1ODJMMTUuODI0NyAyMC41MDlMMTUuODI0OCAyMC41MDk1TDE2LjU1OTQgMjAuMzU4MlpNMTUuNDI5OSAxNC44NTM4TDE2LjE2NDYgMTQuNzAzTDE2LjE2NDQgMTQuNzAyM0wxNS40Mjk5IDE0Ljg1MzhaTTE2LjEwNDkgMTQuMzgxM0wxNS43MTE0IDE1LjAxOThMMTUuNzEyIDE1LjAyMDFMMTYuMTA0OSAxNC4zODEzWk0yMS43NSAxMkMyMS43NSA2LjYxNTA5IDE3LjM4NDkgMi4yNSAxMiAyLjI1VjMuNzVDMTYuNTU2NSAzLjc1IDIwLjI1IDcuNDQzNTEgMjAuMjUgMTJIMjEuNzVaTTEyIDIuMjVDNi42MTUwOSAyLjI1IDIuMjUgNi42MTUwOSAyLjI1IDEySDMuNzVDMy43NSA3LjQ0MzUxIDcuNDQzNTEgMy43NSAxMiAzLjc1VjIuMjVaTTIuMjUgMTJDMi4yNSAxNy4zODQ5IDYuNjE1MDkgMjEuNzUgMTIgMjEuNzVWMjAuMjVDNy40NDM1MSAyMC4yNSAzLjc1IDE2LjU1NjUgMy43NSAxMkgyLjI1Wk0xMi45IDMuMDQ1MDRDMTIuMzAyNyAzLjQ5ODY2IDEyLjMwMjYgMy40OTg0NiAxMi4zMDI0IDMuNDk4MjhDMTIuMzAyNCAzLjQ5ODIzIDEyLjMwMjMgMy40OTgwNiAxMi4zMDIyIDMuNDk3OTdDMTIuMzAyMSAzLjQ5Nzc5IDEyLjMwMiAzLjQ5NzY3IDEyLjMwMTkgMy40OTc2QzEyLjMwMTggMy40OTc0NiAxMi4zMDE5IDMuNDk3NTMgMTIuMzAyMSAzLjQ5NzgxQzEyLjMwMjUgMy40OTgzOCAxMi4zMDM2IDMuNDk5OCAxMi4zMDUzIDMuNTAyMDZDMTIuMzA4NiAzLjUwNjU4IDEyLjMxNDQgMy41MTQ0NyAxMi4zMjI1IDMuNTI1NjdDMTIuMzM4NyAzLjU0ODA5IDEyLjM2NDEgMy41ODM3NSAxMi4zOTczIDMuNjMyMjZDMTIuNDYzOCAzLjcyOTI5IDEyLjU2MTYgMy44Nzc1MiAxMi42ODA1IDQuMDczNjFDMTIuOTE4MyA0LjQ2NjA2IDEzLjIzOTMgNS4wNDg2MyAxMy41NjE0IDUuNzk0NzhDMTQuMjA2MSA3LjI4ODM3IDE0Ljg1IDkuNDI1MjYgMTQuODUgMTJIMTYuMzVDMTYuMzUgOS4xNzQ4MyAxNS42NDM5IDYuODM0MjIgMTQuOTM4NiA1LjIwMDMxQzE0LjU4NTcgNC4zODI3MSAxNC4yMzE3IDMuNzM5MDIgMTMuOTYzMyAzLjI5NjE2QzEzLjgyOSAzLjA3NDYgMTMuNzE1OSAyLjkwMjkxIDEzLjYzNDcgMi43ODQ0M0MxMy41OTQxIDIuNzI1MTggMTMuNTYxNSAyLjY3OTIgMTMuNTM4MSAyLjY0NjlDMTMuNTI2NSAyLjYzMDc1IDEzLjUxNzEgMi42MTgwMiAxMy41MTAyIDIuNjA4NzZDMTMuNTA2OCAyLjYwNDEzIDEzLjUwNCAyLjYwMDM2IDEzLjUwMTggMi41OTc0N0MxMy41MDA3IDIuNTk2MDIgMTMuNDk5OCAyLjU5NDggMTMuNDk5MSAyLjU5Mzc5QzEzLjQ5ODcgMi41OTMyOSAxMy40OTgzIDIuNTkyODQgMTMuNDk4IDIuNTkyNDRDMTMuNDk3OSAyLjU5MjI0IDEzLjQ5NzcgMi41OTE5OSAxMy40OTc2IDIuNTkxODlDMTMuNDk3NCAyLjU5MTY1IDEzLjQ5NzMgMi41OTE0MiAxMi45IDMuMDQ1MDRaTTExLjEgMjAuOTU1QzExLjY5NzMgMjAuNTAxNCAxMS42OTc0IDIwLjUwMTYgMTEuNjk3NiAyMC41MDE4QzExLjY5NzYgMjAuNTAxOSAxMS42OTc3IDIwLjUwMiAxMS42OTc4IDIwLjUwMjFDMTEuNjk3OSAyMC41MDIzIDExLjY5OCAyMC41MDI0IDExLjY5ODEgMjAuNTAyNUMxMS42OTgyIDIwLjUwMjYgMTEuNjk4MSAyMC41MDI2IDExLjY5NzkgMjAuNTAyM0MxMS42OTc1IDIwLjUwMTcgMTEuNjk2NCAyMC41MDAzIDExLjY5NDggMjAuNDk4QzExLjY5MTQgMjAuNDkzNSAxMS42ODU2IDIwLjQ4NTYgMTEuNjc3NSAyMC40NzQ0QzExLjY2MTMgMjAuNDUyIDExLjYzNTkgMjAuNDE2MyAxMS42MDI3IDIwLjM2NzhDMTEuNTM2MiAyMC4yNzA4IDExLjQzODQgMjAuMTIyNiAxMS4zMTk1IDE5LjkyNjVDMTEuMDgxNyAxOS41MzQgMTAuNzYwNyAxOC45NTE1IDEwLjQzODYgMTguMjA1M0M5Ljc5Mzg4IDE2LjcxMTcgOS4xNSAxNC41NzQ4IDkuMTUgMTJINy42NUM3LjY1IDE0LjgyNTMgOC4zNTYxMyAxNy4xNjU5IDkuMDYxNDIgMTguNzk5OEM5LjQxNDM0IDE5LjYxNzQgOS43NjgzMyAyMC4yNjExIDEwLjAzNjcgMjAuNzAzOUMxMC4xNzEgMjAuOTI1NSAxMC4yODQxIDIxLjA5NzIgMTAuMzY1MyAyMS4yMTU3QzEwLjQwNTkgMjEuMjc0OSAxMC40Mzg1IDIxLjMyMDkgMTAuNDYxOSAyMS4zNTMyQzEwLjQ3MzUgMjEuMzY5MyAxMC40ODI5IDIxLjM4MjEgMTAuNDg5OCAyMS4zOTEzQzEwLjQ5MzIgMjEuMzk2IDEwLjQ5NiAyMS4zOTk3IDEwLjQ5ODIgMjEuNDAyNkMxMC40OTkzIDIxLjQwNDEgMTAuNTAwMiAyMS40MDUzIDEwLjUwMDkgMjEuNDA2M0MxMC41MDEzIDIxLjQwNjggMTAuNTAxNyAyMS40MDczIDEwLjUwMiAyMS40MDc2QzEwLjUwMjEgMjEuNDA3OCAxMC41MDIzIDIxLjQwODEgMTAuNTAyNCAyMS40MDgyQzEwLjUwMjYgMjEuNDA4NCAxMC41MDI3IDIxLjQwODcgMTEuMSAyMC45NTVaTTkuMTUgMTJDOS4xNSA5LjQyNTI2IDkuNzkzODggNy4yODgzNyAxMC40Mzg2IDUuNzk0NzhDMTAuNzYwNyA1LjA0ODYzIDExLjA4MTcgNC40NjYwNiAxMS4zMTk1IDQuMDczNjFDMTEuNDM4NCAzLjg3NzUyIDExLjUzNjIgMy43MjkyOSAxMS42MDI3IDMuNjMyMjZDMTEuNjM1OSAzLjU4Mzc1IDExLjY2MTMgMy41NDgwOSAxMS42Nzc1IDMuNTI1NjdDMTEuNjg1NiAzLjUxNDQ3IDExLjY5MTQgMy41MDY1OCAxMS42OTQ4IDMuNTAyMDZDMTEuNjk2NCAzLjQ5OTggMTEuNjk3NSAzLjQ5ODM4IDExLjY5NzkgMy40OTc4MUMxMS42OTgxIDMuNDk3NTMgMTEuNjk4MiAzLjQ5NzQ2IDExLjY5ODEgMy40OTc2QzExLjY5OCAzLjQ5NzY3IDExLjY5NzkgMy40OTc3OSAxMS42OTc4IDMuNDk3OTdDMTEuNjk3NyAzLjQ5ODA2IDExLjY5NzYgMy40OTgyMyAxMS42OTc2IDMuNDk4MjhDMTEuNjk3NCAzLjQ5ODQ2IDExLjY5NzMgMy40OTg2NiAxMS4xIDMuMDQ1MDRDMTAuNTAyNyAyLjU5MTQyIDEwLjUwMjYgMi41OTE2NSAxMC41MDI0IDIuNTkxODlDMTAuNTAyMyAyLjU5MTk5IDEwLjUwMjEgMi41OTIyNCAxMC41MDIgMi41OTI0NEMxMC41MDE3IDIuNTkyODQgMTAuNTAxMyAyLjU5MzI5IDEwLjUwMDkgMi41OTM3OUMxMC41MDAyIDIuNTk0OCAxMC40OTkzIDIuNTk2MDIgMTAuNDk4MiAyLjU5NzQ3QzEwLjQ5NiAyLjYwMDM2IDEwLjQ5MzIgMi42MDQxMyAxMC40ODk4IDIuNjA4NzZDMTAuNDgyOSAyLjYxODAyIDEwLjQ3MzUgMi42MzA3NSAxMC40NjE5IDIuNjQ2OUMxMC40Mzg1IDIuNjc5MiAxMC40MDU5IDIuNzI1MTggMTAuMzY1MyAyLjc4NDQzQzEwLjI4NDEgMi45MDI5MSAxMC4xNzEgMy4wNzQ2IDEwLjAzNjcgMy4yOTYxNkM5Ljc2ODMzIDMuNzM5MDIgOS40MTQzNCA0LjM4MjcxIDkuMDYxNDIgNS4yMDAzMUM4LjM1NjEzIDYuODM0MjIgNy42NSA5LjE3NDgzIDcuNjUgMTJIOS4xNVpNMy41NjcgMTUuOUgxMlYxNC40SDMuNTY3VjE1LjlaTTMuNTY3IDkuNjAwMDRIMjAuNDMzVjguMTAwMDRIMy41NjdWOS42MDAwNFpNMjAuNDk4IDE3Ljk2MzlDMjAuNDc5MiAxNy45NTI0IDIwLjQ1NzUgMTcuOTI1MiAyMC40NTk3IDE3Ljg3MjdDMjAuNDYwOSAxNy44NDM0IDIwLjQ3MTUgMTcuNzc3MiAyMC41Mjk3IDE3LjcwNTRDMjAuNTk2MSAxNy42MjM1IDIwLjY4ODkgMTcuNTc5NyAyMC43NjU1IDE3LjU3MDlMMjAuOTM1NyAxOS4wNjEzQzIxLjYxNjcgMTguOTgzNSAyMS45Mzg0IDE4LjQxNzkgMjEuOTU4NCAxNy45MzQ2QzIxLjk3NzYgMTcuNDY4MiAyMS43NDc2IDE2Ljk3MTcgMjEuMjg0MiAxNi42ODY1TDIwLjQ5OCAxNy45NjM5Wk0yMC43NjYxIDE3LjU3MDlMMTguNDU1OCAxNy44MzI4TDE4LjYyNDggMTkuMzIzMkwyMC45MzUxIDE5LjA2MTNMMjAuNzY2MSAxNy41NzA5Wk0xNy44Njg5IDE4LjI0MzhMMTYuODMzIDIwLjMyNDZMMTguMTc1OCAyMC45OTMxTDE5LjIxMTcgMTguOTEyM0wxNy44Njg5IDE4LjI0MzhaTTE2LjgzMjcgMjAuMzI1MkMxNi44NjY4IDIwLjI1NjUgMTYuOTM5NSAyMC4xODM5IDE3LjAzOTggMjAuMTQ5MkMxNy4xMjc3IDIwLjExODggMTcuMTk0IDIwLjEzMTYgMTcuMjIyMSAyMC4xNDA1QzE3LjI3MiAyMC4xNTY0IDE3LjI4OTYgMjAuMTg1NyAxNy4yOTQgMjAuMjA2OUwxNS44MjQ4IDIwLjUwOTVDMTUuOTM0NSAyMS4wNDE5IDE2LjMyMiAyMS40MjgxIDE2Ljc2NjggMjEuNTY5N0MxNy4yMjg2IDIxLjcxNjggMTcuODcwNyAyMS42MDczIDE4LjE3NjEgMjAuOTkyNUwxNi44MzI3IDIwLjMyNTJaTTE3LjI5NDEgMjAuMjA3NEwxNi4xNjQ2IDE0LjcwM0wxNC42OTUyIDE1LjAwNDZMMTUuODI0NyAyMC41MDlMMTcuMjk0MSAyMC4yMDc0Wk0xNi4xNjQ0IDE0LjcwMjNDMTYuMTcyMyAxNC43NDA2IDE2LjE2NjYgMTQuODgzIDE2LjAyMzIgMTQuOTgzM0MxNS44OCAxNS4wODM1IDE1Ljc0NDYgMTUuMDQwMiAxNS43MTE0IDE1LjAxOThMMTYuNDk4NCAxMy43NDI4QzE2LjA4OTkgMTMuNDkxMSAxNS41NzI0IDEzLjQ2OCAxNS4xNjMzIDEzLjc1NDNDMTQuNzU0IDE0LjA0MDcgMTQuNTk4NCAxNC41MzUgMTQuNjk1NCAxNS4wMDUzTDE2LjE2NDQgMTQuNzAyM1pNMTUuNzEyIDE1LjAyMDFMMjAuNDk4MiAxNy45NjRMMjEuMjg0IDE2LjY4NjRMMTYuNDk3OCAxMy43NDI1TDE1LjcxMiAxNS4wMjAxWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjNDc1NDY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiB7e3NlbGVjdGVkSXNzdWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKGNsaWNrKT1cImNob29zZWFuaXNzdWUoJycpXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwib3BlbkRyb3Bkb3duKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFpbmNhcmQtY29udGVudCBjdXJzb3ItcG9pbnRlciBiZy13aGl0ZSBweC0zIHB5LTJcIj4gPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSA3LjVMMTAgMTIuNUwxNSA3LjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkcm9wRG93blwiIGNsYXNzPVwiY2FyZCBweS0xIHctMjAwcHggcG9zaXRpb24tYWJzb2x1dGUgdG9wLTUwcHggZW5kLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZHJvcGRvd25JdGVtc1wiIGNsYXNzPVwibGlzdC11bnN0eWxlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5zZWxlY3RlZElzc3VlID09PSBpdGVtID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJc3N1ZSA9PT0gJ0ludGVybmV0IElzc3Vlcyd8fHNlbGVjdGVkSXNzdWUgPT09ICdDYW1lcmEgSXNzdWVzJ3x8c2VsZWN0ZWRJc3N1ZSA9PT0gJ1N5c3RlbSBJc3N1ZXMnIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtY29udGVudCB3LTEwMCBtdC0yIHB4LTQgcHktMiBwYi00IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1sYWJlbCBmdy1zZW1pYm9sZCBweS0yXCIgKm5nSWY9XCJzZWNvbmRhcnlJc3N1ZXM/Lmxlbmd0aD4wXCI+IFBsZWFzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCB0aGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxldmFudCBwcm9ibGVtIGZhY2luZyBmcm9tIHRoZSBmb2xsb3dpbmcgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpc3N1ZSBvZiBzZWNvbmRhcnlJc3N1ZXM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1haW5jYXJkLWNvbnRlbnQgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciB3LTEwMCBtdC0yIHB4LTQgcHktNCBjdXJzb3ItcG9pbnRlciBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDaGVja2JveChpbmRleClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aW1nIGNsYXNzPVwicGUtM1wiIHNyYz0nLi9hc3NldHMvdGFuZ28vSW1hZ2VzL0ZlYXR1cmVkIGljb24ucG5nJz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZ3RleHRcIj57e2lzc3VlPy5uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0zMDBweFwiIFtuZ2JUb29sdGlwXT1cInRvb2x0aXBDb250ZW50XCIgdHJpZ2dlcnM9XCJtb3VzZWVudGVyOm1vdXNlbGVhdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cIm1zLTNcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE4MjZfNDQ4NzEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwNjUgMTAuNjY3M1Y4LjAwMDY1TTguMDAwNjUgNS4zMzM5OEg4LjAwNzMyTTE0LjY2NzMgOC4wMDA2NUMxNC42NjczIDExLjY4MjYgMTEuNjgyNiAxNC42NjczIDguMDAwNjUgMTQuNjY3M0M0LjMxODc1IDE0LjY2NzMgMS4zMzM5OCAxMS42ODI2IDEuMzMzOTggOC4wMDA2NUMxLjMzMzk4IDQuMzE4NzUgNC4zMTg3NSAxLjMzMzk4IDguMDAwNjUgMS4zMzM5OEMxMS42ODI2IDEuMzMzOTggMTQuNjY3MyA0LjMxODc1IDE0LjY2NzMgOC4wMDA2NVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE4MjZfNDQ4NzFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBEZWZpbmUgdG9vbHRpcCBjb250ZW50IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tdG9vbHRpcC1jb250ZW50IHRvb2x0aXAtY29udGVudCB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInctMTAwXCIgKm5nRm9yPVwibGV0IHRvb2x0aXBJdGVtIG9mIGlzc3VlPy50b29sVGlwc1wiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBJdGVtPy5uYW1lIH19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkY2hlY2sgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW2NoZWNrZWRdPVwiaXNzdWUuY2hlY2tlZFwiIGNsYXNzPVwicC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHB0LTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGliZXJudGlvblwiIGNsYXNzPVwiIG1haW5jYXJkLWxhYmVsIGZ3LXNlbWlib2xkIG1iLTJcIj5IaWJlcm5hdGlvbiAoaW4gZGF5cylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiB3LTI1MHB4IHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSB0cmFuc2xhdGUtbWlkZGxlLXkgdG9wLTUwIG1lLTUgcHMtMyB0aWNrZXREYXlzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHRvZ2dsZS1vZmYgc3ZnLWljb24tMVwiIFtuZ0NsYXNzXT1cImNvdW50ID09PSAwID8gJ3BlLW5vbmUnIDogJydcIiAoY2xpY2spPVwiZGVjcmVzZUNvdW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk00LjY2NjAyIDEwSDE2LjMzMjdcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImhpYmVybnRpb25cIiBbKG5nTW9kZWwpXT1cIkhpYmVybmF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiIHZhbHVlPVwie3tjb3VudH19XCIgcGxhY2Vob2xkZXI9XCIwXCIgcmVhZE9ubHkgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRyYW5zbGF0ZS1taWRkbGUteSB0b3AtNTAgZW5kLTAgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiB0b2dnbGUtb24gc3ZnLWljb24tMSB0aWNrZXREYXlzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVhc2VDb3VudCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMSAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNDk5MyA0LjE2NjVWMTUuODMzMk00LjY2NjAyIDkuOTk5ODRIMTYuMzMyN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRJc3N1ZSA9PT0gJ090aGVycydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW5jYXJkLWNvbnRlbnQgdy0xMDAgbXQtMiBweC00IHB5LTIgcGItNCBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtbGFiZWwgZnctc2VtaWJvbGQgcHktMlwiPlBsZWFzZSBzZWxlY3QgdGhlIHJlbGV2YW50IHByb2JsZW0gZmFjaW5nIGZyb21cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmc8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG90aGVycyBvZiBvdGhlcnNJc3N1ZTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYWluY2FyZC1jb250ZW50IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDAgbXQtMiBweC00IHB5LTQgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVSYWRpb2JveChvdGhlcnMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGltZyBjbGFzcz1cInBlLTNcIiBzcmM9Jy4vYXNzZXRzL3RhbmdvL0ltYWdlcy9GZWF0dXJlZCBpY29uLnBuZyc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRpbmd0ZXh0XCI+e3tvdGhlcnMubmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIGNsYXNzPVwibXMtM1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTgyNl80NDg3MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDA2NSAxMC42NjczVjguMDAwNjVNOC4wMDA2NSA1LjMzMzk4SDguMDA3MzJNMTQuNjY3MyA4LjAwMDY1QzE0LjY2NzMgMTEuNjgyNiAxMS42ODI2IDE0LjY2NzMgOC4wMDA2NSAxNC42NjczQzQuMzE4NzUgMTQuNjY3MyAxLjMzMzk4IDExLjY4MjYgMS4zMzM5OCA4LjAwMDY1QzEuMzMzOTggNC4zMTg3NSA0LjMxODc1IDEuMzMzOTggOC4wMDA2NSAxLjMzMzk4QzExLjY4MjYgMS4zMzM5OCAxNC42NjczIDQuMzE4NzUgMTQuNjY3MyA4LjAwMDY1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTgyNl80NDg3MVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWRjaGVjayBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBuYW1lPVwicmFkaW9Hcm91cHt7aX19XCIgW3ZhbHVlXT1cIm90aGVycy5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRPcHRpb25cIiBjbGFzcz1cInAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBwdC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhpYmVybnRpb25cIiBjbGFzcz1cIiBtYWluY2FyZC1sYWJlbCBmdy1zZW1pYm9sZCBtYi0yXCI+SGliZXJuYXRpb24gKGluIGRheXMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgdy0yNTBweCBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgdHJhbnNsYXRlLW1pZGRsZS15IHRvcC01MCBtZS01IHBzLTMgdGlja2V0RGF5c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiB0b2dnbGUtb2ZmIHN2Zy1pY29uLTFcIiBbbmdDbGFzc109XCJjb3VudCA9PT0gMCA/ICdwZS1ub25lJyA6ICcnXCIgKGNsaWNrKT1cImRlY3Jlc2VDb3VudCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMSAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNC42NjYwMiAxMEgxNi4zMzI3XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJoaWJlcm50aW9uXCIgWyhuZ01vZGVsKV09XCJIaWJlcm5hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIiB2YWx1ZT1cInt7Y291bnR9fVwiIHBsYWNlaG9sZGVyPVwiXCIgcmVhZE9ubHkgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRyYW5zbGF0ZS1taWRkbGUteSB0b3AtNTAgZW5kLTAgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiB0b2dnbGUtb24gc3ZnLWljb24tMSB0aWNrZXREYXlzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVhc2VDb3VudCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMSAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNDk5MyA0LjE2NjVWMTUuODMzMk00LjY2NjAyIDkuOTk5ODRIMTYuMzMyN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvYmogb2Ygdmlld1RpY2tldERhdGE7bGV0IGk9aW5kZXhcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSG9yaXpvbnRhbCBsaW5lIHdpdGggZGF5IC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlciBib3JkZXItMSBib3JkZXItZ3JheSBwLTAgdy0xMDAgbWUtM1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWRheSBmdy1ib2xkLTQwMFwiPlRvZGF5PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlciBib3JkZXItMSBib3JkZXItZ3JheSBwLTAgdy0xMDAgbXMtM1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFVzZXIgY29kZSBzdGFydCAgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uQnkgPT09ICdVc2VyJ1wiIGNsYXNzPVwiZC1mbGV4IG1zLTUgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC00OHB4IHN5bWJvbC1jaXJjbGVcIiAqbmdJZj1cIm9iaj8uSWRlbnRpZmllZEJ5JiZvYmo/LklkZW50aWZpZWRCeSE9PScnJiZvYmo/LklkZW50aWZpZWRCeSE9PSdUYW5nbydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1zeW1ib2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBmcy00IGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgZnctbm9ybWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b2JqPy5JZGVudGlmaWVkQnk/LnNsaWNlKDAsMikgfCB1cHBlcmNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiIW9iaj8uSWRlbnRpZmllZEJ5fHxvYmo/LklkZW50aWZpZWRCeT09PScnfHxvYmo/LklkZW50aWZpZWRCeT09PSdUYW5nbydcIiBjbGFzcz1cIm1zZ3Byb2ZpbGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29wcm9maWxlLnBuZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0wIGgtMTAwIG10LTMgYm9yZGVyIGJvcmRlci0xIGJvcmRlci1ncmF5IHZlcnRpY2FsTGluZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMyBwdC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkaW5ndGV4dCBmdy1zZW1pYm9sZFwiPnt7b2JqPy5JZGVudGlmaWVkQnk/b2JqPy5JZGVudGlmaWVkQnk6XCJUYW5nb1wifX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVwZGF0ZWRkYXRlIHB4LTMgcHQtMSBmdy1ib2xkLTQwMFwiPnt7b2JqPy50aW1lU3RhbXB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgIT09J3N0YXR1c0NoYW5nZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9maWxlLWxhYmVsIGZvbnQtYm9sZC00MDBcIj5Vc2VyIGhhcyByZXBsaWVkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0gJ3N0YXR1c0NoYW5nZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IHBlLTMgcHQtMSBmdy1ib2xkLTQwMFwiPlVwZGF0ZWQgdGhlIHN0YXR1czwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtcHJpbWFyeVwiPk9wZW4gLT4gSW5wcm9ncmVzczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdzdGF0dXNDaGVja1JlcGx5J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDAgbXQtM1wiPklzc3VlIGhhcyBiZWVuIDxiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwib2JqLnN0YXR1c0NoZWNrUmVwbHk9PT0nTm8nXCI+bm90PC9zcGFuPiByZXNvbHZlZC48L2I+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwXCIgKm5nSWY9XCJvYmouc3RhdHVzQ2hlY2tSZXBseT09PSdObydcIj4gSXQgdGFrZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b2JqPy5oaWJlcm5hdGlvbkRheXN9fSBtb3JlIGRheXMgdG8gcmVzb2x2ZS48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMlwiICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdjb21tZW50J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwIHRleHQtd3JhcFwiPnt7b2JqPy5jb21tZW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSdpc3N1ZVVwZGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcmVzIG9mIG9iaj8ucmVhc29uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LXNlbWlib2xkIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZSdyZSBjdXJyZW50bHkgZW5jb3VudGVyaW5nIGFuIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZnctYm9sZC03MDBcIj57e3Jlcy5wcmltYXJ5SXNzdWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlcy5wcmltYXJ5SXNzdWUgPT09J0NhbWVyYSBJc3N1ZXMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm5vdHdvcmtpbmdDYW1hcmFsaXN0ICYmIG5vdHdvcmtpbmdDYW1hcmFsaXN0Py5sZW5ndGhcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5vdHdvcmtpbmdDYW1hcmFsaXN0XCIgY2xhc3M9XCJjb2wtc20tMyBteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZC0zIG92ZXJmbG93LWhpZGRlbiBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYSBmdy1ib2xkXCI+e3tpdGVtLmNhbWVyYU5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaXRlbT8udGh1bWJuYWlsSW1hZ2VcIiBzdHlsZT1cImhlaWdodDoxODBweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDAgbXQtMyBtZS0yXCI+VGhlIGFib3ZlIGNhbWVyYSBzdHJlYW1pbmcgYXJlIG5vdCB3b3JraW5nIGR1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNzAwIG10LTNcIiAqbmdGb3I9XCJsZXQgaXNzdWUgb2YgcmVzPy5zZWNvbmRhcnlJc3N1ZTsgbGV0IGxhc3QgPSBsYXN0XCI+e3tpc3N1ZT8ubmFtZX19IDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGFzdFwiPiAsPC9uZy1jb250YWluZXI+PC9zcGFuPiB0byB0aGUgQ2FtZXJhPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVzPy5zZWNvbmRhcnlJc3N1ZSAmJiByZXM/LnNlY29uZGFyeUlzc3VlPy5sZW5ndGhcIiBjbGFzcz1cIm10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52ZXN0aWdhdGlvbiBmdy1ib2xkLTQwMCBtYi0zXCI+VGhlIGZvbGxvd2luZyBhcmUgdGhlIHJlbGV2YW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2JsZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFjaW5nPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGltaW5ndGV4dCBmdy1ib2xkLTQwMCBtYi0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWNJc3N1ZXMgb2YgcmVzPy5zZWNvbmRhcnlJc3N1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPnt7c2VjSXNzdWVzLm5hbWV9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVXNlciBjb2RlIGVuZCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUYW5nbyBjb2RlIHN0YXJ0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvbkJ5ID09PSAnVGFuZ28nXCIgY2xhc3M9XCJkLWZsZXggbWItNSBtcy01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHBlLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRyZSBqdXN0aWZ5LWNvbnRlbnQtY2VudHJlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2wgc3ltYm9sLTQ4cHggc3ltYm9sLWNpcmNsZVwiICpuZ0lmPVwib2JqPy5JZGVudGlmaWVkQnkmJm9iaj8uSWRlbnRpZmllZEJ5IT09JycmJm9iaj8uSWRlbnRpZmllZEJ5IT09J1RhbmdvJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzeW1ib2wtbGFiZWwgYmFkZ2UtbGlnaHQtcHJpbWFyeSB0ZXh0LXN5bWJvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1wcmltYXJ5IGZzLTQgYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeSBmdy1ub3JtYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tvYmo/LklkZW50aWZpZWRCeT8uc2xpY2UoMCwyKSB8IHVwcGVyY2FzZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCIhb2JqPy5JZGVudGlmaWVkQnl8fG9iaj8uSWRlbnRpZmllZEJ5PT09Jyd8fG9iaj8uSWRlbnRpZmllZEJ5PT09J1RhbmdvJ1wiIGNsYXNzPVwibXNncHJvZmlsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy90YW5nb3Byb2ZpbGUucG5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0wIGgtMTAwIG10LTMgYm9yZGVyIGJvcmRlci0xIGJvcmRlci1ncmF5IHZlcnRpY2FsTGluZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMyBwdC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHt7b2JqLmFjdGlvblR5cGV9fSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkaW5ndGV4dCBmdy1zZW1pYm9sZFwiPnt7b2JqPy5JZGVudGlmaWVkQnk/b2JqPy5JZGVudGlmaWVkQnk6XCJUYW5nb1wifX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXBkYXRlZGRhdGUgZnctYm9sZC00MDAgcHgtMyBwdC0xXCI+e3tvYmo/LnRpbWVTdGFtcH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gIGNsYXNzPVwicHJvZmlsZS1sYWJlbCBmdy1ib2xkLTQwMFwiPnRhbmdvIGhhcyByZXBsaWVkIHRvIHRoZSBpc3N1ZTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0gJ3N0YXR1c0NoYW5nZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBwZS0zIHB0LTEgZnctYm9sZC00MDBcIj5VcGRhdGVkIHRoZSBzdGF0dXM8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWluZ3RleHQgZnctc2VtaWJvbGQgdGV4dC1wcmltYXJ5XCI+T3BlbiAtPiBJbnByb2dyZXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMlwiICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdjb21tZW50J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwIHRleHQtd3JhcFwiPnt7b2JqPy5jb21tZW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAncHJlcmVxdWVzdGNoZWNrc3RhcnQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBwZS0zIHB0LTEgZnctYm9sZC00MDBcIj5TdGFydGVkIHRoZTwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtcHJpbWFyeVwiPlByZS1SZXF1aXNpdGUgQ2hlY2s8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAncHJlcmVxdWVzdGNoZWNrZmFpbGVkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwXCI+UHJvY2VzcyBmYWlsZWQgb248L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltaW5ndGV4dCBmdy1zZW1pYm9sZCB0ZXh0LXByaW1hcnlcIj5QcmUtUmVxdWlzaXRlIENoZWNrPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0gJ2ZldGNoY2FtZXJhJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwXCI+VXBkYXRlZCB0aGUgc3RhdHVzPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWluZ3RleHQgZnctc2VtaWJvbGQgdGV4dC1wcmltYXJ5XCI+UHJlLVJlcXVpc2l0ZSBDaGVjayAtPiBGZXRjaGNhbWVyYTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdjb25maWd1cmUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBwZS0zIHB0LTEgZnctYm9sZC00MDBcIj5VcGRhdGVkIHRoZSBzdGF0dXM8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltaW5ndGV4dCBmdy1zZW1pYm9sZCB0ZXh0LXByaW1hcnlcIj4gRmV0Y2hjYW1lcmEgLT4gQ29uZmlndXJpbmc8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSdpc3N1ZVVwZGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcmVzIG9mIG9iaj8ucmVhc29uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LXNlbWlib2xkIG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZSdyZSBjdXJyZW50bHkgZW5jb3VudGVyaW5nIGFuIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZnctYm9sZC03MDBcIj57e3Jlcy5wcmltYXJ5SXNzdWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlcy5wcmltYXJ5SXNzdWUgPT09J0NhbWVyYSBJc3N1ZXMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBteS01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm90d29ya2luZ0NhbWFyYWxpc3RcIiBjbGFzcz1cImNvbC1zbS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZC0zIG92ZXJmbG93LWhpZGRlbiBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYSBmdy1ib2xkXCI+e3tpdGVtLmNhbWVyYU5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiaXRlbT8udGh1bWJuYWlsSW1hZ2VcIiBzdHlsZT1cImhlaWdodDoxODBweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDAgbXQtMyBtZS0yXCI+VGhlIGFib3ZlIGNhbWVyYSBzdHJlYW1pbmcgYXJlIG5vdCB3b3JraW5nIGR1ZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNzAwIG10LTNcIiAqbmdGb3I9XCJsZXQgaXNzdWUgb2YgcmVzPy5zZWNvbmRhcnlJc3N1ZTsgbGV0IGxhc3QgPSBsYXN0XCI+e3tpc3N1ZT8ubmFtZX19IDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGFzdFwiPiAsPC9uZy1jb250YWluZXI+PC9zcGFuPiA8c3BhbiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTNcIj50byB0aGUgQ2FtZXJhPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52ZXN0aWdhdGlvbiBmdy1ib2xkLTQwMCBtYi0zXCI+VGhlIGZvbGxvd2luZyBhcmUgdGhlIHJlbGV2YW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2JsZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFjaW5nPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGltaW5ndGV4dCBmdy1ib2xkLTQwMCBtYi0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWNJc3N1ZXMgb2YgcmVzPy5zZWNvbmRhcnlJc3N1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPnt7c2VjSXNzdWVzLm5hbWV9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSdzdGVwc1RvUmVzb2x2ZSdcIiBjbGFzcz1cIm10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1ib2xkLTQwMFwiPlBsZWFzZSBmb2xsb3cgdGhlIGJlbG93IHN0ZXBzIHRvIHJlc29sdmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBhYm92ZSBpc3N1ZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcmVzIG9mIG9iaj8ucmVhc29uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTUgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5ndGV4dCBmdy1zZW1pYm9sZCBtYi0xXCI+e3tyZXMucHJpbWFyeUlzc3VlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LWJvbGQtNDAwIG1iLTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VjSXNzdWVzIG9mIHJlcz8uc2Vjb25kYXJ5SXNzdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPnt7c2VjSXNzdWVzLm5hbWV9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gVGFuZ28gY29kZSBlbmQgLS0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1N1Ym1pdCYmKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzRWRpdFwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiY29tbWVudHNcIiAoY2xpY2spPVwiYWRkQ29tbWVudCgpXCIgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkFkZCB5b3VyIGNvbW1lbnRzLi5cIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGVJbnB1dCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgYWNjZXB0PVwiaW1hZ2UvKlwiIG11bHRpcGxlIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInRpY2tldEluZm8/LnN0YXR1cyA9PT0gJ2Nsb3NlZCdcIiAoY2xpY2spPVwib3BlbkZpbGVJbnB1dCgpXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBidG4gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmUgbXMtM1wiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy44NjY2IDkuMjA4MzVMMTAuMjA4MiAxNi44NjY3QzkuMjcwMDUgMTcuODA0OSA3Ljk5NzU3IDE4LjMzMiA2LjY3MDc1IDE4LjMzMkM1LjM0MzkzIDE4LjMzMiA0LjA3MTQ1IDE3LjgwNDkgMy4xMzMyNSAxNi44NjY3QzIuMTk1MDUgMTUuOTI4NSAxLjY2Nzk3IDE0LjY1NiAxLjY2Nzk3IDEzLjMyOTJDMS42Njc5NyAxMi4wMDI0IDIuMTk1MDUgMTAuNzI5OSAzLjEzMzI1IDkuNzkxNjhMMTAuNzkxNiAyLjEzMzM1QzExLjQxNzEgMS41MDc4OCAxMi4yNjU0IDEuMTU2NDkgMTMuMTQ5OSAxLjE1NjQ5QzE0LjAzNDUgMS4xNTY0OSAxNC44ODI4IDEuNTA3ODggMTUuNTA4MiAyLjEzMzM1QzE2LjEzMzcgMi43NTg4MiAxNi40ODUxIDMuNjA3MTMgMTYuNDg1MSA0LjQ5MTY4QzE2LjQ4NTEgNS4zNzYyMyAxNi4xMzM3IDYuMjI0NTUgMTUuNTA4MiA2Ljg1MDAyTDcuODQxNTggMTQuNTA4M0M3LjUyODg1IDE0LjgyMTEgNy4xMDQ2OSAxNC45OTY4IDYuNjYyNDIgMTQuOTk2OEM2LjIyMDE0IDE0Ljk5NjggNS43OTU5OCAxNC44MjExIDUuNDgzMjUgMTQuNTA4M0M1LjE3MDUxIDE0LjE5NTYgNC45OTQ4MiAxMy43NzE1IDQuOTk0ODIgMTMuMzI5MkM0Ljk5NDgyIDEyLjg4NjkgNS4xNzA1MSAxMi40NjI3IDUuNDgzMjUgMTIuMTVMMTIuNTU4MiA1LjA4MzM1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJ0aWNrZXRJbmZvPy5zdGF0dXMgPT09ICdjbG9zZWQnXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXMtM1wiIChjbGljayk9XCJ1cGRhdGVUaWNrZXQoKVwiPiBTdWJtaXQgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgPnt7IGVycm9yTWVzc2FnZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIGJvcmRlci0xIGJvcmRlci1ncmF5IHJvdW5kZWQtMyBwLTUgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FtZXJhIGZ3LXNlbWlib2xkXCI+QXR0YWNobWVudHM8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGlja2V0SW5mbz8uYXR0YWNobWVudHMubGVuZ3RoID09PTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwIG10LTEwIG1iLTEwIG1oLTYwdmggZC1ncmlkIHRleHQtY2VudGVyIG14LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm14LWF1dG9cIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFrZXRpY2tldC5zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWtldGlja2V0IG10LTIgZnctYm9sZFwiPk5vIEF0dGFjaG1lbnRzIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGlja2V0SW5mbz8uYXR0YWNobWVudHMubGVuZ3RoID4gMFwiIGNsYXNzPVwicm93IG10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiBwb3NpdGlvbi1yZWxhdGl2ZSBcIiAqbmdGb3I9XCJsZXQgZmlsZSBvZiB0aWNrZXRJbmZvPy5hdHRhY2htZW50c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIkF0dGFjaG1lbnQgYm9yZGVyIGJvcmRlci0xIGJvcmRlci1ncmF5IHctMTAwIHJvdW5kZWQtMiBvdmVyZmxvdy1oaWRkZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaC0xNTBweFwiICAoY2xpY2spPVwiZG93bmxvYWRpbWFnZShmaWxlPy5zaWduZWRVcmwpXCIgW3NyY109XCJmaWxlPy5zaWduZWRVcmxcIiBhbHQ9XCJTZWxlY3RlZCBJbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWdyaWQgYm9yZGVyIGJvcmRlci10b3AtMSBweC01IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImltYWdlbmFtZSBmdy1ib2xkXCI+e3tmaWxlLmZpbGVuYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJmdy1ib2xkLTQwMCB1cGRhdGVkZGF0ZVwiPnt7ZmlsZS5sYXN0TW9kaWZpZWREYXRlU3RyaW5nfX08L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInJlbW92ZUZpbGUoZmlsZT8uc2lnbmVkVXJsKVwiIGNsYXNzPVwibWUtMyBwLTEgcG9zaXRpb24tYWJzb2x1dGUgd2lkdGgtMjBweCBoZWlnaHQtMjBweCByb3VuZGVkLTMgZW5kLTAgdG9wLTAgYm9yZGVyIGJvcmRlci0xIGJvcmRlci1wcmltYXJ5IGJnLWxpZ2h0LXByaW1hcnkgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE1IDVMNSAxNU01IDVMMTUgMTVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+Il19
|
|
497
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbnN0YWxsYXRpb24vaW5zdGFsbGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbnN0YWxsYXRpb24vaW5zdGFsbGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFNekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQU8xQyxNQUFNLE9BQU8scUJBQXFCO0lBd0RaO0lBQWdDO0lBQzFDO0lBQ0E7SUFDQTtJQUNBO0lBQ0Q7SUEzRFQsV0FBVyxHQUFRLFFBQVEsQ0FBQztJQUM1QixhQUFhLEdBQVEsaUJBQWlCLENBQUM7SUFDdkMsZ0JBQWdCLEdBQVksS0FBSyxDQUFBO0lBQ2pDLGVBQWUsQ0FBTTtJQUNyQixXQUFXLENBQU07SUFDakIsUUFBUSxHQUFRLEVBQUUsQ0FBQztJQUNuQixhQUFhLENBQU07SUFDbkIsYUFBYSxHQUFVLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RixXQUFXLEdBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLEVBQUUsRUFBRSxJQUFJ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LENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsNERBQTRELENBQUMsRUFBRTtZQUNuRixXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtTQUNoRSxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTdmVSxxQkFBcUI7NEZBQXJCLHFCQUFxQixpVUNoQmxDLHdsbERBdWpCVTs7NEZEdmlCRyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCO3dQQXdDSixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ08sY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBK0IzQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYk1vZGFsUmVmLCBOZ2JBY3RpdmVNb2RhbCwgTmdiVG9vbHRpcCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQ29udGFjdERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi9jb250YWN0LWRldGFpbHMvY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRha2VyZW1vdGVDb21wb25lbnQgfSBmcm9tICcuLi90YWtlcmVtb3RlL3Rha2VyZW1vdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWNrZXQtaW5mcmEuc2VydmljZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWluc3RhbGxhdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2luc3RhbGxhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2luc3RhbGxhdGlvbi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEluc3RhbGxhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgU2VsZWN0ZWRUYWI6IGFueSA9ICd0aWNrZXQnO1xyXG4gIHNlbGVjdGVkSXNzdWU6IGFueSA9ICdJbnRlcm5ldCBJc3N1ZXMnO1xyXG4gIHByZXJlcXVlc3RGYWlsZWQ6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIHNlY29uZGFyeUlzc3VlczogYW55O1xyXG4gIGlzc3VlU3RhdHVzOiBhbnk7XHJcbiAgY29tbWVudHM6IGFueSA9ICcnO1xyXG4gIHByaW1hcnlJc3N1ZXM6IGFueTtcclxuICBkcm9wZG93bkl0ZW1zOiBhbnlbXSA9IFsnSW50ZXJuZXQgSXNzdWVzJywgJ0NhbWVyYSBJc3N1ZXMnLCAnU3lzdGVtIElzc3VlcycsICdPdGhlcnMnXTtcclxuICBvdGhlcnNJc3N1ZTogYW55W10gPSBbeyBuYW1lOiAnUG93ZXIgU2h1dGRvd24nIH0sIHsgbmFtZTogJ1N0b3JlIFRlbXBvcmFyaWx5IENsb3NlZCcgfSwgeyBuYW1lOiAnQXBwbGljYXRpb24gSXNzdWVzJyB9XVxyXG4gIGNhbWVyYUlzc3VlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2FtZXJhU2VsZWN0V29yazogYm9vbGVhbiA9IHRydWU7XHJcbiAgc2hvd1N1Ym1pdDogYm9vbGVhbiA9IHRydWU7XHJcbiAgY2FtZXJhU2VsZWN0OiBhbnk7XHJcbiAgc3RhdGU6IGFueTtcclxuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBub0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpbnB1dEhpYmVybmF0aW9uOiBhbnkgPSAnMDAnO1xyXG4gIGNvdW50OiBhbnkgPSAwO1xyXG4gIGlzQ2hlY2tlZDogYm9vbGVhbltdID0gW107XHJcbiAgcmVzb2x2ZWRJc3N1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRyb3BEb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdGlja2V0SWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgdGlja2V0SW5mbzogYW55O1xyXG4gIGFjdGl2ZVRpY2tldERldGFpbHM6IGFueTtcclxuICBzdG9yZUFkZHJlc3M6IGFueTtcclxuICByZXBseU9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICByZXBsaWVkSXNzdWU6IGFueTtcclxuICB2aWV3VGlja2V0RGF0YTogYW55O1xyXG4gIGN1cnJlbnRUaW1lOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICB0YXJnZXRUaW1lOiBEYXRlXHJcbiAgc2VsZWN0ZWRGaWxlczogYW55ID0gW107XHJcbiAgYnJhbmRMb2dvOiBzdHJpbmcgfCBBcnJheUJ1ZmZlciB8IG51bGwgPSBudWxsO1xyXG4gIGxhc3RNb2RpZmllZERhdGVTdHJpbmc6IHN0cmluZztcclxuXHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0OiBhbnk7XHJcbiAgQFZpZXdDaGlsZCgndG9vbHRpcENvbnRlbnQnKSB0b29sdGlwQ29udGVudCE6IE5nYlRvb2x0aXA7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgaGVhZGVyRmlsdGVyOiBhbnk7XHJcbiAgdXNlcjogYW55O1xyXG4gIHVwZGF0ZWREYXRlOiBEYXRlO1xyXG4gIGlzR3JlYXRlclRoYW41XzMwSG91cnM6IGJvb2xlYW47XHJcbiAgc3RvcmVJZDogc3RyaW5nIHwgbnVsbDtcclxuICBzdG9yZURyb3BEb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRPcHRpb246IGFueTtcclxuICBIaWJlcm5hdGlvbjogYW55O1xyXG4gIGNsaWVudElkOiBhbnk7XHJcbiAgaW5zdGFsbGF0aW9uU3RhcnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGNvbmZpZ3VyaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaW5zdGFsbGF0aW9uUmVzdW1lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd2Zvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzdG9yZU5hbWU6IGFueTtcclxuICBub3R3b3JraW5nQ2FtYXJhbGlzdDogYW55W10gPSBbXTtcclxuICB1c2VyVHlwZTogYW55O1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgc2VydmljZTogVGlja2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnRpY2tldElkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ3RpY2tldElkJyk7XHJcbiAgICB0aGlzLnN0b3JlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnc3RvcmVJZCcpO1xyXG4gICAgdGhpcy52aWV3VGlja2V0KClcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdFxyXG4gICAgICB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAoIXRhcmdldC5jbG9zZXN0KCcuZHJvcERvd24nKSkge1xyXG4gICAgICB0aGlzLmRyb3BEb3duID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRhcmdldC5jbG9zZXN0KCcuc3RvcmVEcm9wRG93bicpKSB7XHJcbiAgICAgIHRoaXMuc3RvcmVEcm9wRG93biA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBsZXQgdXNlckluZm8gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKSB8fCAne30nKVxyXG4gICAgdGhpcy51c2VyVHlwZSA9IHVzZXJJbmZvLnVzZXJUeXBlXHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy51c2VyID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlci1pbmZvJykgfHwgXCJcIilcclxuICAgICAgICB0aGlzLmhlYWRlckZpbHRlciA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVUaWNrZXQoKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICB2aWV3VGlja2V0KCkge1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgdGlja2V0SWQ6IHRoaXMudGlja2V0SWRcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS52aWV3VGlja2V0KHBhcmFtcykucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcblxyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnRpY2tldEluZm8gPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICBpZiAodGhpcy50aWNrZXRJbmZvLnRpY2tldERldGFpbHMuaW5zdGFsbGF0aW9uU3RhdHVzID09ICdpbnN0YWxsYXRpb25mYWlsZWQnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5pbnN0YWxsYXRpb25TdGFydCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbGxhdGlvblJlc3VtZSA9IHRydWU7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGlja2V0SW5mby50aWNrZXREZXRhaWxzLmluc3RhbGxhdGlvblN0YXR1cyA9PSAncGFpcmVkJykge1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5pbnN0YWxsYXRpb25TdGFydCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbGxhdGlvblJlc3VtZSA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy52aWV3VGlja2V0RGF0YSA9IHJlcy5kYXRhLnRpY2tldEFjdGl2aXR5LnNsaWNlKCkucmV2ZXJzZSgpO1xyXG4gICAgICAgICAgdGhpcy52aWV3VGlja2V0RGF0YS5mb3JFYWNoKChlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgZS50aW1lU3RhbXAgPSB0aGlzLmdldFJlbGF0aXZlVGltZShlLnRpbWVTdGFtcCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJlcy5kYXRhLnRpY2tldEFjdGl2aXR5LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50LmFjdGlvblR5cGUgPT0gJ3ByZXJlcXVlc3RjaGVja2ZhaWxlZCcgJiYgcmVzLmRhdGE/LnRpY2tldERldGFpbHM/Lmlzc3VlU3RhdHVzICE9ICdpZGVudGlmaWVkJykge1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLnByZXJlcXVlc3RGYWlsZWQgPSB0cnVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKHJlcz8uZGF0YT8uc3RhdHVzID09ICdvcGVuJykge1xyXG4gICAgICAgICAgICB0aGlzLnN0YXR1c1VwZGF0ZSgpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcblxyXG5cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlKCkge1xyXG5cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldENhbWVyYUxpc3Qobm90d29ya2luZ0NhbWVyYTogYW55KSB7XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICBjYW1lcmE6IG5vdHdvcmtpbmdDYW1lcmFcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS5nZXRDYW1lcmFMaXN0KHBhcmFtcykucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLm5vdHdvcmtpbmdDYW1hcmFsaXN0ID0gcmVzLmRhdGFcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdub3R3b3JraW5nQ2FtYXJhbGlzdCcsIHRoaXMubm90d29ya2luZ0NhbWFyYWxpc3QpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlSXNzdWUoKSB7XHJcbiAgICB0aGlzLnNob3dmb3JtID0gdHJ1ZVxyXG4gICAgdGhpcy5wcmltYXJ5UmVhc29uKCk7XHJcbiAgICB0aGlzLnNlY29uZGFyeVJlYXNvbih0aGlzLnNlbGVjdGVkSXNzdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVsYXRpdmVUaW1lKHRpbWVzdGFtcDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApO1xyXG4gICAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IGN1cnJlbnREYXRlLmdldFRpbWUoKSAtIGRhdGUuZ2V0VGltZSgpO1xyXG4gICAgY29uc3Qgc2Vjb25kcyA9IE1hdGguZmxvb3IoZGlmZmVyZW5jZSAvIDEwMDApO1xyXG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIDYwKTtcclxuICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihtaW51dGVzIC8gNjApO1xyXG4gICAgY29uc3QgZGF5cyA9IE1hdGguZmxvb3IoaG91cnMgLyAyNCk7XHJcblxyXG4gICAgaWYgKGRheXMgPiAwKSB7XHJcbiAgICAgIHJldHVybiBkYXlzID09PSAxID8gJzEgZGF5IGFnbycgOiBgJHtkYXlzfSBkYXlzIGFnb2A7XHJcbiAgICB9IGVsc2UgaWYgKGhvdXJzID4gMCkge1xyXG4gICAgICByZXR1cm4gaG91cnMgPT09IDEgPyAnMSBob3VyIGFnbycgOiBgJHtob3Vyc30gaG91cnMgYWdvYDtcclxuICAgIH0gZWxzZSBpZiAobWludXRlcyA+IDApIHtcclxuICAgICAgcmV0dXJuIG1pbnV0ZXMgPT09IDEgPyAnMSBtaW51dGUgYWdvJyA6IGAke21pbnV0ZXN9IG1pbnV0ZXMgYWdvYDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnSnVzdCBub3cnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWN0aXZlVGlja2V0KCkge1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIHVzZXJJZDogdGhpcy51c2VyLl9pZCxcclxuICAgICAgaXNzdWVUeXBlOiBcImluc3RhbGxhdGlvblwiLFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS5hY3RpdmVUaWNrZXQoZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWN0aXZlVGlja2V0RGV0YWlscyA9IHJlcz8uZGF0YTtcclxuICAgICAgICB0aGlzLnN0b3JlQWRkcmVzcyA9IHRoaXMuYWN0aXZlVGlja2V0RGV0YWlscz8uZGF0YT8uZmlsdGVyKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiBpdGVtLnN0b3JlSWQgPT09IHRoaXMuc3RvcmVJZDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnN0b3JlQWRkcmVzcyA9IHRoaXMuc3RvcmVBZGRyZXNzWzBdO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG5cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRzdG9yZUFkZHJlc3MoZGV0YWlsczogYW55KSB7XHJcbiAgICB0aGlzLnN0b3JlQWRkcmVzcyA9IGRldGFpbHNcclxuICAgIHRoaXMuc3RvcmVOYW1lID0gdGhpcy5zdG9yZUFkZHJlc3Muc3RvcmVOYW1lO1xyXG4gICAgdGhpcy5zdG9yZUlkID0gdGhpcy5zdG9yZUFkZHJlc3Muc3RvcmVJZFxyXG4gICAgdGhpcy5jbGllbnRJZCA9IHRoaXMuc3RvcmVBZGRyZXNzLmNsaWVudElkXHJcbiAgICB0aGlzLnN0b3JlRHJvcERvd24gPSBmYWxzZTtcclxuICAgIHRoaXMudGlja2V0SWQgPSBkZXRhaWxzLnRpY2tldElkXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGB0aWNrZXRzL3VzZXJzL2luc3RhbGxhdGlvbmluZm8vJHtkZXRhaWxzLnRpY2tldElkfS8ke2RldGFpbHMuc3RvcmVJZH1gKVxyXG4gICAgdGhpcy52aWV3VGlja2V0KCk7XHJcbiAgfVxyXG5cclxuICBQcmV2Um91dGUoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvdGlja2V0cy91c2Vycz90eXBlPWluc3RhbGxhdGlvbicpXHJcbiAgfVxyXG5cclxuICBwcmltYXJ5UmVhc29uKCkge1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgXCJuYW1lXCI6IHRoaXMuc2VsZWN0ZWRJc3N1ZSxcclxuICAgICAgXCJvcmRlclwiOiAyXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlcnZpY2UucHJpbWFyeVJlYXNvbihwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5wcmltYXJ5SXNzdWVzID0gcmVzO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgfSxcclxuICAgICAgY29tcGxldGUoKSB7XHJcblxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc2Vjb25kYXJ5UmVhc29uKHZhbHVlOiBhbnkpIHtcclxuICAgIGxldCBwYXJhbXMgPSB7IFwicHJpbWFyeUlzc3VlXCI6IHZhbHVlIH1cclxuICAgIHRoaXMuc2VydmljZS5zZWNvbmRhcnlSZWFzb24ocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuc2Vjb25kYXJ5SXNzdWVzID0gcmVzLmRhdGEucmVzdWx0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3IoZXJyKSB7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZTogKCkgPT4ge1xyXG4gICAgICB9LFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHVwZGF0ZVRpY2tldCgpIHtcclxuICAgIHRoaXMuc2hvd2Zvcm0gPSBmYWxzZTtcclxuICAgIHRoaXMucHJlcmVxdWVzdEZhaWxlZCA9IGZhbHNlO1xyXG4gICAgbGV0IGRhdGFcclxuICAgIGlmICh0aGlzLnNlY29uZGFyeUlzc3VlcyAmJiB0aGlzLnNlY29uZGFyeUlzc3Vlcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZElzc3VlID09ICdPdGhlcnMnKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb24gPT09ICdBcHBsaWNhdGlvbiBJc3N1ZXMnKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSAnQXBwbGljYXRpb24gSXNzdWVzJztcclxuICAgICAgICAgIGRhdGEgPSBbXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gJ1N0b3JlIE9wZXJhdGlvbiBJc3N1ZXMnO1xyXG4gICAgICAgICAgZGF0YSA9IFt0aGlzLnNlbGVjdGVkT3B0aW9uXVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBkYXRhID0gdGhpcy5vdGhlcnNJc3N1ZS5maWx0ZXIoKGl0ZW06IGFueSkgPT4gaXRlbS5jaGVja2VkKS5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbS5uYW1lKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkYXRhID0gdGhpcy5zZWNvbmRhcnlJc3N1ZXMuZmlsdGVyKChpdGVtOiBhbnkpID0+IGl0ZW0uY2hlY2tlZCkubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0ubmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uICE9ICdBcHBsaWNhdGlvbiBJc3N1ZXMnKSB7XHJcbiAgICAvLyBpZih0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHMuaXNzdWVTdGF0dXMgPT09J25vdGlkZW50aWZpZWQnJiZkYXRhJiZkYXRhLmxlbmd0aD09MHx8dGhpcy50aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzLnRpY2tldFR5cGU9PSdyZWZyZXNodGlja2V0JyYmdGhpcy50aWNrZXRJbmZvPy50aWNrZXREZXRhaWxzPy5yZWZyZXNoVGlja2V0U3RhdHVzPT09J25vdGlkZW50aWZpZWQnJiZkYXRhJiZkYXRhLmxlbmd0aD09MCl7XHJcbiAgICAvLyAgIHJldHVybiAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChcIlBsZWFzZSBTZWxlY3QgSXNzdWVzXCIpXHJcbiAgICAvLyB9ZWxzZSBpZih0aGlzLnRpY2tldEluZm8/LnRpY2tldERldGFpbHMuaXNzdWVTdGF0dXMgPT09J2lkZW50aWZpZWQnJiZ0aGlzLmNvbW1lbnRzID09Jyd8fHRoaXMudGlja2V0SW5mbz8udGlja2V0RGV0YWlscy50aWNrZXRUeXBlPT0ncmVmcmVzaHRpY2tldCcmJnRoaXMudGlja2V0SW5mbz8udGlja2V0RGV0YWlscz8ucmVmcmVzaFRpY2tldFN0YXR1cz09PSdpZGVudGlmaWVkJyYmdGhpcy5jb21tZW50cz09MCl7XHJcbiAgICAvLyAgIHJldHVybiAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChcIlBsZWFzZSBFbnRlciBDb21tZW50c1wiKVxyXG4gICAgLy8gfVxyXG4gICAgLy8gfVxyXG4gICAgaWYgKHRoaXMuY29tbWVudHMgPT0gJycpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoXCJQbGVhc2UgRW50ZXIgQ29tbWVudHNcIilcclxuICAgIH1cclxuICAgIGxldCB0aWNrZXREZXRhaWxzID0ge1xyXG4gICAgICBcInRpY2tldElkXCI6IHRoaXMudGlja2V0SWQsXHJcbiAgICAgIFwicHJpbWFyeVwiOiB0aGlzLnNlbGVjdGVkSXNzdWUsXHJcbiAgICAgIFwic2Vjb25kYXJ5XCI6IGRhdGEsXHJcbiAgICAgIFwiY29tbWVudFwiOiB0aGlzLmNvbW1lbnRzXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlcnZpY2UudXBkYXRlVGlja2V0KHRpY2tldERldGFpbHMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0U3VjY2Vzc1RvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgICAgdGhpcy52aWV3VGlja2V0KClcclxuICAgICAgICAgIHRoaXMuY29tbWVudHMgPSAnJ1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gW11cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChlcnIuRXJyb3IpXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlKCkge1xyXG5cclxuICAgICAgfSxcclxuICAgIH0pXHJcblxyXG4gIH1cclxuXHJcbiAgc3RhdHVzVXBkYXRlKCkge1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIFwidGlja2V0SWRcIjogdGhpcy50aWNrZXRJZCxcclxuICAgICAgXCJzdGF0dXNcIjogXCJpbnByb2dyZXNzXCJcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS5zdGF0dXNVcGRhdGUoZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHJlcylcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGFkZENvbW1lbnQoKSB7XHJcbiAgICB0aGlzLmNvbW1lbnRzID0gdGhpcy5jb21tZW50c1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNob3dTdWJtaXQgPSB0cnVlXHJcbiAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2Vjb25kYXJ5UmVhc29uKHRoaXMuc2VsZWN0ZWRJc3N1ZSlcclxuICAgIC8vIGlmICh0aGlzLnNlbGVjdGVkSXNzdWUgPT0gJ0NhbWVyYSBJc3N1ZXMnKSB7XHJcbiAgICAvLyAgIHRoaXMuc2hvd1N1Ym1pdCA9IGZhbHNlXHJcbiAgICAvLyB9XHJcbiAgICB0aGlzLmRyb3BEb3duID0gZmFsc2U7XHJcbiAgfVxyXG4gIGRvd25sb2FkaW1hZ2UodXJsOiBhbnkpIHtcclxuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBhLmhyZWYgPSB1cmw7XHJcbiAgICBhLmRvd25sb2FkID0gdXJsO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcclxuICAgIGEuY2xpY2soKTtcclxuICB9XHJcbiAgb3BlblJlbW90ZSgpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihUYWtlcmVtb3RlQ29tcG9uZW50LCB7IGNlbnRlcmVkOiB0cnVlLCBzY3JvbGxhYmxlOiB0cnVlLCB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnN0b3JlRGV0YWlscyA9IHtcclxuICAgICAgc3RvcmVOYW1lOiB0aGlzLnN0b3JlQWRkcmVzcz8uc3RvcmVOYW1lLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5zdG9yZUFkZHJlc3M/LmNsaWVudElkLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlQWRkcmVzcz8uc3RvcmVJZFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FtZXJhU2VsZWN0ZWQodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5jYW1lcmFTZWxlY3QgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByb2NlZGRJbWFnZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNob3dTdWJtaXQgPSB0cnVlO1xyXG4gICAgdGhpcy5jYW1lcmFJc3N1ZSA9IHRydWU7XHJcbiAgICB0aGlzLmNhbWVyYVNlbGVjdFdvcmsgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIFNlbGVjdGVkVGFicyh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLlNlbGVjdGVkVGFiID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVDaGVja2JveChpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNlY29uZGFyeUlzc3Vlc1tpbmRleF0uY2hlY2tlZCA9ICF0aGlzLnNlY29uZGFyeUlzc3Vlc1tpbmRleF0uY2hlY2tlZDtcclxuICB9XHJcbiAgdG9nZ2xlUmFkaW9ib3gob3RoZXJzOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvdGhlcnMubmFtZTtcclxuICB9XHJcbiAgZGVjcmVzZUNvdW50KCk6IGFueSB7XHJcbiAgICB0aGlzLmNvdW50IC09IDE7XHJcbiAgfVxyXG5cclxuICBpbmNyZWFzZUNvdW50KCk6IGFueSB7XHJcbiAgICB0aGlzLmNvdW50ICs9IDE7XHJcbiAgfVxyXG5cclxuICBvcGVuQ29udGFjdCgpIHtcclxuXHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQ29udGFjdERldGFpbHNDb21wb25lbnQsXHJcbiAgICAgIHtcclxuICAgICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgICBzY3JvbGxhYmxlOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnZhbHVlID0ge1xyXG4gICAgICBzdG9yZU5hbWU6IHRoaXMuc3RvcmVBZGRyZXNzLnN0b3JlTmFtZSxcclxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUFkZHJlc3Muc3RvcmVJZCxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuc3RvcmVBZGRyZXNzLmNsaWVudElkXHJcbiAgICB9LFxyXG5cclxuICAgICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdCkgPT4ge1xyXG5cclxuICAgICAgfSlcclxuXHJcblxyXG4gIH1cclxuXHJcbiAgb3BlbkRyb3Bkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuZHJvcERvd24gPSAhdGhpcy5kcm9wRG93bjtcclxuICB9XHJcbiAgc3RvcmVDaGFuZ2UoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5zdG9yZURyb3BEb3duID0gIXRoaXMuc3RvcmVEcm9wRG93bjtcclxuICB9XHJcbiAgb3BlbkZpbGVJbnB1dCgpIHtcclxuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50YXJnZXQuZmlsZXMgJiYgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGV0IGZpbGU6IEZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbaV07XHJcbiAgICAgICAgaWYgKCFmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ09ubHkgaW1hZ2UgZmlsZXMgYXJlIGFsbG93ZWQhJztcclxuICAgICAgICAgIHJldHVybjsgLy8gU3RvcCBmdXJ0aGVyIHByb2Nlc3NpbmdcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdpbWcnLCBmaWxlKTtcclxuICAgICAgICBsZXQgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzLnB1c2goe1xyXG4gICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXHJcbiAgICAgICAgICAgIHVybDogZS50YXJnZXQucmVzdWx0LFxyXG4gICAgICAgICAgICBsYXN0TW9kaWZpZWREYXRlU3RyaW5nOiBuZXcgRGF0ZShmaWxlLmxhc3RNb2RpZmllZCkudG9Mb2NhbGVTdHJpbmcoKVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VydmljZS51cGxvYWRBdHRhY2htZW50cyh0aGlzLnRpY2tldElkLCBmb3JtRGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRTdWNjZXNzVG9hc3QocmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgICAgIHRoaXMudmlld1RpY2tldCgpXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KHJlcy5tZXNzYWdlKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoZXJyLkVycm9yKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGUoKSB7XHJcblxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcblxyXG5cclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbW92ZUZpbGUodXJsOmFueSl7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLnRpY2tldEluZm8uYXR0YWNobWVudHMgPSB0aGlzLnRpY2tldEluZm8uYXR0YWNobWVudHMuZmlsdGVyKChmaWxlOmFueSkgPT4gZmlsZS5zaWduZWRVcmwgIT09IHVybCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuc2VydmljZS5yZW1vdmVBdHRhY2htZW50KHRoaXMudGlja2V0SWQsIHthdHRhY2htZW50czp0aGlzLnRpY2tldEluZm8uYXR0YWNobWVudHN9KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldFN1Y2Nlc3NUb2FzdChyZXMubWVzc2FnZSlcclxuICAgICAgICAgIHRoaXMudmlld1RpY2tldCgpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QocmVzLm1lc3NhZ2UpXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoZXJyLkVycm9yKVxyXG4gICAgICB9LFxyXG4gICAgICBjb21wbGV0ZSgpIHtcclxuXHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG4gIH1cclxuICBjbG9zZVRvb2x0aXAoKSB7XHJcbiAgICBpZiAodGhpcy50b29sdGlwQ29udGVudCkge1xyXG4gICAgICB0aGlzLnRvb2x0aXBDb250ZW50LmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93VG9vbHRpcCgpIHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBDb250ZW50KSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcENvbnRlbnQub3BlbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhcnRJbnN0YWxsYXRpb24oKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvdGlja2V0cy91c2Vycy9pbnN0YWxsYXRpb25pbmZvL2VkZ2UtYXBwL2VkZ2UtZW1haWwtam91cm5leVwiXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBzdG9yZUlkOiB0aGlzLnN0b3JlSWQsIHRpY2tldElkOiB0aGlzLnRpY2tldElkIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgQ29uZmlndXJpbmcoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvdGlja2V0cy91c2Vycy9pbnN0YWxsYXRpb25pbmZvL2VkZ2UtYXBwL2VkZ2UtaW5zdGFsbGF0aW9uXCJdLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCwgdGlja2V0SWQ6IHRoaXMudGlja2V0SWQgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJlc3VtZUluc3RhbGxhdGlvbigpIHtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2UudXBkYXRlU3RvcmUodGhpcy50aWNrZXRJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi90aWNrZXRzL3VzZXJzL2luc3RhbGxhdGlvbmluZm8vZWRnZS1hcHAvZWRnZS1pbnN0YWxsYXRpb25cIl0sIHtcclxuICAgICAgcXVlcnlQYXJhbXM6IHsgc3RvcmVJZDogdGhpcy5zdG9yZUlkLCB0aWNrZXRJZDogdGhpcy50aWNrZXRJZCB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtYi01IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1haW5jYXJkLWNvbnRlbnQgYmctd2hpdGUgcHgtMyBweS0yIG1lLTMgY3Vyc29yLXBvaW50ZXJcIiBzdHlsZT1cIndpZHRoOiBmaXQtY29udGVudDtcIiAoY2xpY2spPVwiUHJldlJvdXRlKClcIj4gPHN2Z1xyXG4gICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMi44MzI3IDYuOTk5MzVIMS4xNjYwMk0xLjE2NjAyIDYuOTk5MzVMNi45OTkzNSAxMi44MzI3TTEuMTY2MDIgNi45OTkzNUw2Ljk5OTM1IDEuMTY2MDJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+PC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1zZW1pYm9sZCBzdG9yZS1sYWJlbFwiPiB7e3N0b3JlSWR9fTwvc3Bhbj4gPHNwYW4gKm5nSWY9XCJzdG9yZUFkZHJlc3M/LmFkZHJlc3NcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZ3LWJvbGQgc3RvcmUtbGFiZWxcIj4gfFxyXG4gICAgICAgICAgICB7e3N0b3JlQWRkcmVzcz8uYWRkcmVzc319IDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj4ge3thY3RpdmVUaWNrZXREZXRhaWxzPy5jb3VudH19IHt7c3RvcmVBZGRyZXNzPy5zdGF0dXN9fTwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgcHMtM1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic3RvcmVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCB3LTEwMCBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBiZy13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgICAge3tzdG9yZUlkID8gc3RvcmVJZCA6IHN0b3JlQWRkcmVzcz8uc3RvcmVJZH19XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTNcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDcuNUwxMCAxMi41TDE1IDcuNVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlRHJvcERvd25cIiBjbGFzcz1cImNhcmQgcHktMSB6LTEgdy0yMDBweCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtNTBweCBlbmQtMCBoLTMwMHB4IG92ZXJmbG93LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgIDx1bCAqbmdGb3I9XCJsZXQgZGV0YWlscyBvZiBhY3RpdmVUaWNrZXREZXRhaWxzPy5kYXRhXCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInN0b3JlQWRkcmVzcz8uc3RvcmVJZCA9PT0gZGV0YWlscz8uc3RvcmVJZCA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbWVyYSBweC01IGl0ZW1zIGZ3LXNlbWlib2xkIGN1cnNvci1wb2ludGVyIHB5LTJcIiAoY2xpY2spPVwiZ2V0c3RvcmVBZGRyZXNzKGRldGFpbHMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGV0YWlscz8uc3RvcmVJZH19PC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbWItMiBmdy1zZW1pYm9sZFwiPnt7dGlja2V0SWR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBmdy1ib2xkIG1iLTIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPjxzdmcgY2xhc3M9XCJtZS0zXCJcclxuICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zODc3Xzk2NTUyKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04IDFWM000IDFWM00xLjUgNUgxMC41TTIuNSAySDkuNUMxMC4wNTIzIDIgMTAuNSAyLjQ0NzcyIDEwLjUgM1YxMEMxMC41IDEwLjU1MjMgMTAuMDUyMyAxMSA5LjUgMTFIMi41QzEuOTQ3NzIgMTEgMS41IDEwLjU1MjMgMS41IDEwVjNDMS41IDIuNDQ3NzIgMS45NDc3MiAyIDIuNSAyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4xXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM4NzdfOTY1NTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+IHt7IHRpY2tldEluZm8/LmNyZWF0ZWRBdHxjdXN0b21EYXRlRm9ybWF0fX08L3NwYW4+XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInRpY2tldEluZm8/LnN0YXR1cyE9PSdjbG9zZWQnJiZpbnN0YWxsYXRpb25TdGFydCYmKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzRWRpdFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBweC0yMCBtZS0yIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN0YXJ0SW5zdGFsbGF0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgSW5zdGFsbGF0aW9uIDxzdmcgY2xhc3M9XCJtcy0yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNy41IDE1TDEyLjUgMTBMNy41IDVcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ0aWNrZXRJbmZvPy5zdGF0dXMhPT0nY2xvc2VkJyYmY29uZmlndXJpbmcmJihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0VkaXRcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgcHgtMjAgbWUtMiBidG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJDb25maWd1cmluZygpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIENvbmZpZ3VyaW5nIDxzdmcgY2xhc3M9XCJtcy0yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNzE0OF8xNzYwOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjAwMDMgMS42NjY3NVY1LjAwMDA4TTEwLjAwMDMgMTUuMDAwMVYxOC4zMzM0TTQuMTA4NjYgNC4xMDg0MUw2LjQ2Njk5IDYuNDY2NzVNMTMuNTMzNyAxMy41MzM0TDE1Ljg5MiAxNS44OTE3TTEuNjY2OTkgMTAuMDAwMUg1LjAwMDMzTTE1LjAwMDMgMTAuMDAwMUgxOC4zMzM3TTQuMTA4NjYgMTUuODkxN0w2LjQ2Njk5IDEzLjUzMzRNMTMuNTMzNyA2LjQ2Njc1TDE1Ljg5MiA0LjEwODQxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzcxNDhfMTc2MDhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidGlja2V0SW5mbz8uc3RhdHVzIT09J2Nsb3NlZCcmJmluc3RhbGxhdGlvblJlc3VtZSYmKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzRWRpdFwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBweC0xNSBtZS0yIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlc3VtZUluc3RhbGxhdGlvbigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlc3VtZSBJbnN0YWxsYXRpb24gPHN2ZyBjbGFzcz1cIm1zLTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk03LjUgMTVMMTIuNSAxMEw3LjUgNVwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc1ZpZXdcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5Db250YWN0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzM4NzdfMTAyMjAzKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIuNTQxNSA0LjE2NjU5QzEzLjM1NTUgNC4zMjUzOSAxNC4xMDM1IDQuNzIzNDcgMTQuNjg5OSA1LjMwOTg2QzE1LjI3NjMgNS44OTYyNiAxNS42NzQ0IDYuNjQ0MzEgMTUuODMzMiA3LjQ1ODI1TTEyLjU0MTUgMC44MzMyNTJDMTQuMjMyNiAxLjAyMTEyIDE1LjgwOTUgMS43Nzg0IDE3LjAxMzQgMi45ODA3NkMxOC4yMTczIDQuMTgzMTIgMTguOTc2NSA1Ljc1OTA5IDE5LjE2NjUgNy40NDk5Mk0xOC4zMzMyIDE0LjA5OTlWMTYuNTk5OUMxOC4zMzQxIDE2LjgzMiAxOC4yODY2IDE3LjA2MTcgMTguMTkzNiAxNy4yNzQ0QzE4LjEwMDYgMTcuNDg3IDE3Ljk2NDMgMTcuNjc3OSAxNy43OTMzIDE3LjgzNDhDMTcuNjIyMiAxNy45OTE3IDE3LjQyMDMgMTguMTExMiAxNy4yMDA1IDE4LjE4NTVDMTYuOTgwNiAxOC4yNTk5IDE2Ljc0NzcgMTguMjg3NSAxNi41MTY1IDE4LjI2NjZDMTMuOTUyMiAxNy45ODggMTEuNDg5IDE3LjExMTcgOS4zMjQ4NiAxNS43MDgzQzcuMzExMzkgMTQuNDI4OCA1LjYwNDMxIDEyLjcyMTcgNC4zMjQ4NiAxMC43MDgzQzIuOTE2NTEgOC41MzQyNiAyLjA0MDA3IDYuMDU5MDggMS43NjY1MyAzLjQ4MzI1QzEuNzQ1NyAzLjI1MjgxIDEuNzczMDkgMy4wMjA1NSAxLjg0Njk1IDIuODAxMjdDMS45MjA4IDIuNTgxOTkgMi4wMzk1MSAyLjM4MDQ5IDIuMTk1NSAyLjIwOTZDMi4zNTE1IDIuMDM4NzEgMi41NDEzNyAxLjkwMjE4IDIuNzUzMDIgMS44MDg2OUMyLjk2NDY4IDEuNzE1MiAzLjE5MzQ4IDEuNjY2OCAzLjQyNDg2IDEuNjY2NTlINS45MjQ4NkM2LjMyOTI4IDEuNjYyNiA2LjcyMTM2IDEuODA1ODIgNy4wMjggMi4wNjk1M0M3LjMzNDY0IDIuMzMzMjQgNy41MzQ5MyAyLjY5OTQ2IDcuNTkxNTMgMy4wOTk5MkM3LjY5NzA1IDMuODk5OTcgNy44OTI3NCA0LjY4NTUyIDguMTc0ODYgNS40NDE1OUM4LjI4Njk4IDUuNzM5ODYgOC4zMTEyNSA2LjA2NDAxIDguMjQ0NzggNi4zNzU2NUM4LjE3ODMyIDYuNjg3MjkgOC4wMjM5MiA2Ljk3MzM0IDcuNzk5ODYgNy4xOTk5Mkw2Ljc0MTUzIDguMjU4MjVDNy45Mjc4MyAxMC4zNDQ1IDkuNjU1MjQgMTIuMDcyIDExLjc0MTUgMTMuMjU4M0wxMi43OTk5IDEyLjE5OTlDMTMuMDI2NCAxMS45NzU5IDEzLjMxMjUgMTEuODIxNSAxMy42MjQxIDExLjc1NUMxMy45MzU4IDExLjY4ODUgMTQuMjU5OSAxMS43MTI4IDE0LjU1ODIgMTEuODI0OUMxNS4zMTQzIDEyLjEwNyAxNi4wOTk4IDEyLjMwMjcgMTYuODk5OSAxMi40MDgzQzE3LjMwNDcgMTIuNDY1NCAxNy42NzQ0IDEyLjY2OTMgMTcuOTM4NiAxMi45ODEyQzE4LjIwMjkgMTMuMjkzMSAxOC4zNDMzIDEzLjY5MTIgMTguMzMzMiAxNC4wOTk5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM4NzdfMTAyMjAzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMlwiPkNvbnRhY3QgRGV0YWlsczwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc1ZpZXdcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5SZW1vdGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvZGVza3RvcC5zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbm5lY3QgUmVtb3RlbHk8L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS04XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJlcmVxdWVzdEZhaWxlZCYmKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzRWRpdFwiIGNsYXNzPVwiaW5zdGFsLWZhaWxlZCBtYi01IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvX0ZpbGUgdXBsb2FkIGljb24uc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi10ZXh0XCI+SW50YWxsYXRpb24gRmFpbGVkIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi10ZXh0XCI+UGxlYXNlIGVudGVyIHRoZSByZWFzb24gYmVoaW5kIHRoZSBpbnN0YWxsYXRpb24gZmFpbGVkPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInVwZGF0ZUlzc3VlKClcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBVcGRhdGUgSXNzdWVcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wZW5lZGlzc3VlIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9maWxlLWxhYmVsIGZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjEgMTJDMjEgNy4wMjkzIDE2Ljk3MDcgMyAxMiAzQzcuMDI5MyAzIDMgNy4wMjkzIDMgMTJDMyAxNi45NzA3IDcuMDI5MyAyMSAxMiAyMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi45IDMuMDQ1MDRDMTIuOSAzLjA0NTA0IDE1LjYgNi42MDAwNCAxNS42IDEyTDEyLjkgMy4wNDUwNFpNMTEuMSAyMC45NTVDMTEuMSAyMC45NTUgOC40IDE3LjQgOC40IDEyQzguNCA2LjYwMDA0IDExLjEgMy4wNDUwNCAxMS4xIDMuMDQ1MDRNMy41NjcgMTUuMTVIMTJIMy41NjdaTTMuNTY3IDguODUwMDRIMjAuNDMzSDMuNTY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMC44OTExIDE3LjMyNTJDMjEuMzM1NyAxNy41OTg4IDIxLjMwNzggMTguMjYzOSAyMC44NTA2IDE4LjMxNjFMMTguNTQwMyAxOC41NzhMMTcuNTA0NCAyMC42NTg4QzE3LjI5OTIgMjEuMDcxOSAxNi42NjQ3IDIwLjg2OTQgMTYuNTU5NCAyMC4zNTgyTDE1LjQyOTkgMTQuODUzOEMxNS4zNDA4IDE0LjQyMTggMTUuNzI5NiAxNC4xNSAxNi4xMDQ5IDE0LjM4MTNMMjAuODkxMSAxNy4zMjUyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMC4yNSAxMkMyMC4yNSAxMi40MTQyIDIwLjU4NTggMTIuNzUgMjEgMTIuNzVDMjEuNDE0MiAxMi43NSAyMS43NSAxMi40MTQyIDIxLjc1IDEySDIwLjI1Wk0xMiAyMS43NUMxMi40MTQyIDIxLjc1IDEyLjc1IDIxLjQxNDIgMTIuNzUgMjFDMTIuNzUgMjAuNTg1OCAxMi40MTQyIDIwLjI1IDEyIDIwLjI1VjIxLjc1Wk0xMy40OTczIDIuNTkxNDJDMTMuMjQ2NyAyLjI2MTU2IDEyLjc3NjIgMi4xOTcyNSAxMi40NDY0IDIuNDQ3NzhDMTIuMTE2NSAyLjY5ODMgMTIuMDUyMiAzLjE2ODggMTIuMzAyNyAzLjQ5ODY2TDEzLjQ5NzMgMi41OTE0MlpNMTQuODUgMTJDMTQuODUgMTIuNDE0MyAxNS4xODU4IDEyLjc1IDE1LjYgMTIuNzVDMTYuMDE0MiAxMi43NSAxNi4zNSAxMi40MTQzIDE2LjM1IDEySDE0Ljg1Wk0xMC41MDI3IDIxLjQwODdDMTAuNzUzMyAyMS43Mzg1IDExLjIyMzggMjEuODAyOCAxMS41NTM2IDIxLjU1MjNDMTEuODgzNSAyMS4zMDE4IDExLjk0NzggMjAuODMxMyAxMS42OTczIDIwLjUwMTRMMTAuNTAyNyAyMS40MDg3Wk0xMS42OTczIDMuNDk4NjZDMTEuOTQ3OCAzLjE2ODggMTEuODgzNSAyLjY5ODMgMTEuNTUzNiAyLjQ0Nzc4QzExLjIyMzggMi4xOTcyNSAxMC43NTMzIDIuMjYxNTYgMTAuNTAyNyAyLjU5MTQyTDExLjY5NzMgMy40OTg2NlpNMy41NjcgMTQuNEMzLjE1Mjc5IDE0LjQgMi44MTcgMTQuNzM1OCAyLjgxNyAxNS4xNUMyLjgxNyAxNS41NjQzIDMuMTUyNzkgMTUuOSAzLjU2NyAxNS45VjE0LjRaTTEyIDE1LjlDMTIuNDE0MiAxNS45IDEyLjc1IDE1LjU2NDMgMTIuNzUgMTUuMTVDMTIuNzUgMTQuNzM1OCAxMi40MTQyIDE0LjQgMTIgMTQuNFYxNS45Wk0zLjU2NyA4LjEwMDA0QzMuMTUyNzkgOC4xMDAwNCAyLjgxNyA4LjQzNTgzIDIuODE3IDguODUwMDRDMi44MTcgOS4yNjQyNiAzLjE1Mjc5IDkuNjAwMDQgMy41NjcgOS42MDAwNFY4LjEwMDA0Wk0yMC40MzMgOS42MDAwNEMyMC44NDcyIDkuNjAwMDQgMjEuMTgzIDkuMjY0MjYgMjEuMTgzIDguODUwMDRDMjEuMTgzIDguNDM1ODMgMjAuODQ3MiA4LjEwMDA0IDIwLjQzMyA4LjEwMDA0VjkuNjAwMDRaTTIwLjg5MTEgMTcuMzI1MkwyMS4yODQyIDE2LjY4NjVMMjEuMjg0IDE2LjY4NjRMMjAuODkxMSAxNy4zMjUyWk0yMC44NTA2IDE4LjMxNjFMMjAuOTM1MSAxOS4wNjEzTDIwLjkzNTcgMTkuMDYxM0wyMC44NTA2IDE4LjMxNjFaTTE4LjU0MDMgMTguNTc4TDE4LjQ1NTggMTcuODMyOEwxOC4wNTA2IDE3Ljg3ODdMMTcuODY4OSAxOC4yNDM4TDE4LjU0MDMgMTguNTc4Wk0xNy41MDQ0IDIwLjY1ODhMMTYuODMzIDIwLjMyNDZMMTYuODMyNyAyMC4zMjUyTDE3LjUwNDQgMjAuNjU4OFpNMTYuNTU5NCAyMC4zNTgyTDE1LjgyNDcgMjAuNTA5TDE1LjgyNDggMjAuNTA5NUwxNi41NTk0IDIwLjM1ODJaTTE1LjQyOTkgMTQuODUzOEwxNi4xNjQ2IDE0LjcwM0wxNi4xNjQ0IDE0LjcwMjNMMTUuNDI5OSAxNC44NTM4Wk0xNi4xMDQ5IDE0LjM4MTNMMTUuNzExNCAxNS4wMTk4TDE1LjcxMiAxNS4wMjAxTDE2LjEwNDkgMTQuMzgxM1pNMjEuNzUgMTJDMjEuNzUgNi42MTUwOSAxNy4zODQ5IDIuMjUgMTIgMi4yNVYzLjc1QzE2LjU1NjUgMy43NSAyMC4yNSA3LjQ0MzUxIDIwLjI1IDEySDIxLjc1Wk0xMiAyLjI1QzYuNjE1MDkgMi4yNSAyLjI1IDYuNjE1MDkgMi4yNSAxMkgzLjc1QzMuNzUgNy40NDM1MSA3LjQ0MzUxIDMuNzUgMTIgMy43NVYyLjI1Wk0yLjI1IDEyQzIuMjUgMTcuMzg0OSA2LjYxNTA5IDIxLjc1IDEyIDIxLjc1VjIwLjI1QzcuNDQzNTEgMjAuMjUgMy43NSAxNi41NTY1IDMuNzUgMTJIMi4yNVpNMTIuOSAzLjA0NTA0QzEyLjMwMjcgMy40OTg2NiAxMi4zMDI2IDMuNDk4NDYgMTIuMzAyNCAzLjQ5ODI4QzEyLjMwMjQgMy40OTgyMyAxMi4zMDIzIDMuNDk4MDYgMTIuMzAyMiAzLjQ5Nzk3QzEyLjMwMjEgMy40OTc3OSAxMi4zMDIgMy40OTc2NyAxMi4zMDE5IDMuNDk3NkMxMi4zMDE4IDMuNDk3NDYgMTIuMzAxOSAzLjQ5NzUzIDEyLjMwMjEgMy40OTc4MUMxMi4zMDI1IDMuNDk4MzggMTIuMzAzNiAzLjQ5OTggMTIuMzA1MyAzLjUwMjA2QzEyLjMwODYgMy41MDY1OCAxMi4zMTQ0IDMuNTE0NDcgMTIuMzIyNSAzLjUyNTY3QzEyLjMzODcgMy41NDgwOSAxMi4zNjQxIDMuNTgzNzUgMTIuMzk3MyAzLjYzMjI2QzEyLjQ2MzggMy43MjkyOSAxMi41NjE2IDMuODc3NTIgMTIuNjgwNSA0LjA3MzYxQzEyLjkxODMgNC40NjYwNiAxMy4yMzkzIDUuMDQ4NjMgMTMuNTYxNCA1Ljc5NDc4QzE0LjIwNjEgNy4yODgzNyAxNC44NSA5LjQyNTI2IDE0Ljg1IDEySDE2LjM1QzE2LjM1IDkuMTc0ODMgMTUuNjQzOSA2LjgzNDIyIDE0LjkzODYgNS4yMDAzMUMxNC41ODU3IDQuMzgyNzEgMTQuMjMxNyAzLjczOTAyIDEzLjk2MzMgMy4yOTYxNkMxMy44MjkgMy4wNzQ2IDEzLjcxNTkgMi45MDI5MSAxMy42MzQ3IDIuNzg0NDNDMTMuNTk0MSAyLjcyNTE4IDEzLjU2MTUgMi42NzkyIDEzLjUzODEgMi42NDY5QzEzLjUyNjUgMi42MzA3NSAxMy41MTcxIDIuNjE4MDIgMTMuNTEwMiAyLjYwODc2QzEzLjUwNjggMi42MDQxMyAxMy41MDQgMi42MDAzNiAxMy41MDE4IDIuNTk3NDdDMTMuNTAwNyAyLjU5NjAyIDEzLjQ5OTggMi41OTQ4IDEzLjQ5OTEgMi41OTM3OUMxMy40OTg3IDIuNTkzMjkgMTMuNDk4MyAyLjU5Mjg0IDEzLjQ5OCAyLjU5MjQ0QzEzLjQ5NzkgMi41OTIyNCAxMy40OTc3IDIuNTkxOTkgMTMuNDk3NiAyLjU5MTg5QzEzLjQ5NzQgMi41OTE2NSAxMy40OTczIDIuNTkxNDIgMTIuOSAzLjA0NTA0Wk0xMS4xIDIwLjk1NUMxMS42OTczIDIwLjUwMTQgMTEuNjk3NCAyMC41MDE2IDExLjY5NzYgMjAuNTAxOEMxMS42OTc2IDIwLjUwMTkgMTEuNjk3NyAyMC41MDIgMTEuNjk3OCAyMC41MDIxQzExLjY5NzkgMjAuNTAyMyAxMS42OTggMjAuNTAyNCAxMS42OTgxIDIwLjUwMjVDMTEuNjk4MiAyMC41MDI2IDExLjY5ODEgMjAuNTAyNiAxMS42OTc5IDIwLjUwMjNDMTEuNjk3NSAyMC41MDE3IDExLjY5NjQgMjAuNTAwMyAxMS42OTQ4IDIwLjQ5OEMxMS42OTE0IDIwLjQ5MzUgMTEuNjg1NiAyMC40ODU2IDExLjY3NzUgMjAuNDc0NEMxMS42NjEzIDIwLjQ1MiAxMS42MzU5IDIwLjQxNjMgMTEuNjAyNyAyMC4zNjc4QzExLjUzNjIgMjAuMjcwOCAxMS40Mzg0IDIwLjEyMjYgMTEuMzE5NSAxOS45MjY1QzExLjA4MTcgMTkuNTM0IDEwLjc2MDcgMTguOTUxNSAxMC40Mzg2IDE4LjIwNTNDOS43OTM4OCAxNi43MTE3IDkuMTUgMTQuNTc0OCA5LjE1IDEySDcuNjVDNy42NSAxNC44MjUzIDguMzU2MTMgMTcuMTY1OSA5LjA2MTQyIDE4Ljc5OThDOS40MTQzNCAxOS42MTc0IDkuNzY4MzMgMjAuMjYxMSAxMC4wMzY3IDIwLjcwMzlDMTAuMTcxIDIwLjkyNTUgMTAuMjg0MSAyMS4wOTcyIDEwLjM2NTMgMjEuMjE1N0MxMC40MDU5IDIxLjI3NDkgMTAuNDM4NSAyMS4zMjA5IDEwLjQ2MTkgMjEuMzUzMkMxMC40NzM1IDIxLjM2OTMgMTAuNDgyOSAyMS4zODIxIDEwLjQ4OTggMjEuMzkxM0MxMC40OTMyIDIxLjM5NiAxMC40OTYgMjEuMzk5NyAxMC40OTgyIDIxLjQwMjZDMTAuNDk5MyAyMS40MDQxIDEwLjUwMDIgMjEuNDA1MyAxMC41MDA5IDIxLjQwNjNDMTAuNTAxMyAyMS40MDY4IDEwLjUwMTcgMjEuNDA3MyAxMC41MDIgMjEuNDA3NkMxMC41MDIxIDIxLjQwNzggMTAuNTAyMyAyMS40MDgxIDEwLjUwMjQgMjEuNDA4MkMxMC41MDI2IDIxLjQwODQgMTAuNTAyNyAyMS40MDg3IDExLjEgMjAuOTU1Wk05LjE1IDEyQzkuMTUgOS40MjUyNiA5Ljc5Mzg4IDcuMjg4MzcgMTAuNDM4NiA1Ljc5NDc4QzEwLjc2MDcgNS4wNDg2MyAxMS4wODE3IDQuNDY2MDYgMTEuMzE5NSA0LjA3MzYxQzExLjQzODQgMy44Nzc1MiAxMS41MzYyIDMuNzI5MjkgMTEuNjAyNyAzLjYzMjI2QzExLjYzNTkgMy41ODM3NSAxMS42NjEzIDMuNTQ4MDkgMTEuNjc3NSAzLjUyNTY3QzExLjY4NTYgMy41MTQ0NyAxMS42OTE0IDMuNTA2NTggMTEuNjk0OCAzLjUwMjA2QzExLjY5NjQgMy40OTk4IDExLjY5NzUgMy40OTgzOCAxMS42OTc5IDMuNDk3ODFDMTEuNjk4MSAzLjQ5NzUzIDExLjY5ODIgMy40OTc0NiAxMS42OTgxIDMuNDk3NkMxMS42OTggMy40OTc2NyAxMS42OTc5IDMuNDk3NzkgMTEuNjk3OCAzLjQ5Nzk3QzExLjY5NzcgMy40OTgwNiAxMS42OTc2IDMuNDk4MjMgMTEuNjk3NiAzLjQ5ODI4QzExLjY5NzQgMy40OTg0NiAxMS42OTczIDMuNDk4NjYgMTEuMSAzLjA0NTA0QzEwLjUwMjcgMi41OTE0MiAxMC41MDI2IDIuNTkxNjUgMTAuNTAyNCAyLjU5MTg5QzEwLjUwMjMgMi41OTE5OSAxMC41MDIxIDIuNTkyMjQgMTAuNTAyIDIuNTkyNDRDMTAuNTAxNyAyLjU5Mjg0IDEwLjUwMTMgMi41OTMyOSAxMC41MDA5IDIuNTkzNzlDMTAuNTAwMiAyLjU5NDggMTAuNDk5MyAyLjU5NjAyIDEwLjQ5ODIgMi41OTc0N0MxMC40OTYgMi42MDAzNiAxMC40OTMyIDIuNjA0MTMgMTAuNDg5OCAyLjYwODc2QzEwLjQ4MjkgMi42MTgwMiAxMC40NzM1IDIuNjMwNzUgMTAuNDYxOSAyLjY0NjlDMTAuNDM4NSAyLjY3OTIgMTAuNDA1OSAyLjcyNTE4IDEwLjM2NTMgMi43ODQ0M0MxMC4yODQxIDIuOTAyOTEgMTAuMTcxIDMuMDc0NiAxMC4wMzY3IDMuMjk2MTZDOS43NjgzMyAzLjczOTAyIDkuNDE0MzQgNC4zODI3MSA5LjA2MTQyIDUuMjAwMzFDOC4zNTYxMyA2LjgzNDIyIDcuNjUgOS4xNzQ4MyA3LjY1IDEySDkuMTVaTTMuNTY3IDE1LjlIMTJWMTQuNEgzLjU2N1YxNS45Wk0zLjU2NyA5LjYwMDA0SDIwLjQzM1Y4LjEwMDA0SDMuNTY3VjkuNjAwMDRaTTIwLjQ5OCAxNy45NjM5QzIwLjQ3OTIgMTcuOTUyNCAyMC40NTc1IDE3LjkyNTIgMjAuNDU5NyAxNy44NzI3QzIwLjQ2MDkgMTcuODQzNCAyMC40NzE1IDE3Ljc3NzIgMjAuNTI5NyAxNy43MDU0QzIwLjU5NjEgMTcuNjIzNSAyMC42ODg5IDE3LjU3OTcgMjAuNzY1NSAxNy41NzA5TDIwLjkzNTcgMTkuMDYxM0MyMS42MTY3IDE4Ljk4MzUgMjEuOTM4NCAxOC40MTc5IDIxLjk1ODQgMTcuOTM0NkMyMS45Nzc2IDE3LjQ2ODIgMjEuNzQ3NiAxNi45NzE3IDIxLjI4NDIgMTYuNjg2NUwyMC40OTggMTcuOTYzOVpNMjAuNzY2MSAxNy41NzA5TDE4LjQ1NTggMTcuODMyOEwxOC42MjQ4IDE5LjMyMzJMMjAuOTM1MSAxOS4wNjEzTDIwLjc2NjEgMTcuNTcwOVpNMTcuODY4OSAxOC4yNDM4TDE2LjgzMyAyMC4zMjQ2TDE4LjE3NTggMjAuOTkzMUwxOS4yMTE3IDE4LjkxMjNMMTcuODY4OSAxOC4yNDM4Wk0xNi44MzI3IDIwLjMyNTJDMTYuODY2OCAyMC4yNTY1IDE2LjkzOTUgMjAuMTgzOSAxNy4wMzk4IDIwLjE0OTJDMTcuMTI3NyAyMC4xMTg4IDE3LjE5NCAyMC4xMzE2IDE3LjIyMjEgMjAuMTQwNUMxNy4yNzIgMjAuMTU2NCAxNy4yODk2IDIwLjE4NTcgMTcuMjk0IDIwLjIwNjlMMTUuODI0OCAyMC41MDk1QzE1LjkzNDUgMjEuMDQxOSAxNi4zMjIgMjEuNDI4MSAxNi43NjY4IDIxLjU2OTdDMTcuMjI4NiAyMS43MTY4IDE3Ljg3MDcgMjEuNjA3MyAxOC4xNzYxIDIwLjk5MjVMMTYuODMyNyAyMC4zMjUyWk0xNy4yOTQxIDIwLjIwNzRMMTYuMTY0NiAxNC43MDNMMTQuNjk1MiAxNS4wMDQ2TDE1LjgyNDcgMjAuNTA5TDE3LjI5NDEgMjAuMjA3NFpNMTYuMTY0NCAxNC43MDIzQzE2LjE3MjMgMTQuNzQwNiAxNi4xNjY2IDE0Ljg4MyAxNi4wMjMyIDE0Ljk4MzNDMTUuODggMTUuMDgzNSAxNS43NDQ2IDE1LjA0MDIgMTUuNzExNCAxNS4wMTk4TDE2LjQ5ODQgMTMuNzQyOEMxNi4wODk5IDEzLjQ5MTEgMTUuNTcyNCAxMy40NjggMTUuMTYzMyAxMy43NTQzQzE0Ljc1NCAxNC4wNDA3IDE0LjU5ODQgMTQuNTM1IDE0LjY5NTQgMTUuMDA1M0wxNi4xNjQ0IDE0LjcwMjNaTTE1LjcxMiAxNS4wMjAxTDIwLjQ5ODIgMTcuOTY0TDIxLjI4NCAxNi42ODY0TDE2LjQ5NzggMTMuNzQyNUwxNS43MTIgMTUuMDIwMVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzQ3NTQ2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4ge3tzZWxlY3RlZElzc3VlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIChjbGljayk9XCJjaG9vc2Vhbmlzc3VlKCcnKVwiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1haW5jYXJkLWNvbnRlbnQgY3Vyc29yLXBvaW50ZXIgYmctd2hpdGUgcHgtMyBweS0yXCI+IDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgNy41TDEwIDEyLjVMMTUgNy41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZHJvcERvd25cIiBjbGFzcz1cImNhcmQgcHktMSB3LTIwMHB4IHBvc2l0aW9uLWFic29sdXRlIHRvcC01MHB4IGVuZC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRyb3Bkb3duSXRlbXNcIiBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cInRoaXMuc2VsZWN0ZWRJc3N1ZSA9PT0gaXRlbSA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYW1lcmEgcHgtNSBpdGVtcyBmdy1zZW1pYm9sZCBjdXJzb3ItcG9pbnRlciBweS0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2l0ZW19fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNlbGVjdGVkSXNzdWUgPT09ICdJbnRlcm5ldCBJc3N1ZXMnfHxzZWxlY3RlZElzc3VlID09PSAnQ2FtZXJhIElzc3Vlcyd8fHNlbGVjdGVkSXNzdWUgPT09ICdTeXN0ZW0gSXNzdWVzJyBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW5jYXJkLWNvbnRlbnQgdy0xMDAgbXQtMiBweC00IHB5LTIgcGItNCBtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbmNhcmQtbGFiZWwgZnctc2VtaWJvbGQgcHktMlwiICpuZ0lmPVwic2Vjb25kYXJ5SXNzdWVzPy5sZW5ndGg+MFwiPiBQbGVhc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgdGhlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsZXZhbnQgcHJvYmxlbSBmYWNpbmcgZnJvbSB0aGUgZm9sbG93aW5nIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXNzdWUgb2Ygc2Vjb25kYXJ5SXNzdWVzOyBsZXQgaW5kZXggPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYWluY2FyZC1jb250ZW50IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDAgbXQtMiBweC00IHB5LTQgY3Vyc29yLXBvaW50ZXIgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ2hlY2tib3goaW5kZXgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGltZyBjbGFzcz1cInBlLTNcIiBzcmM9Jy4vYXNzZXRzL3RhbmdvL0ltYWdlcy9GZWF0dXJlZCBpY29uLnBuZyc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRpbmd0ZXh0XCI+e3tpc3N1ZT8ubmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctMzAwcHhcIiBbbmdiVG9vbHRpcF09XCJ0b29sdGlwQ29udGVudFwiIHRyaWdnZXJzPVwibW91c2VlbnRlcjptb3VzZWxlYXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJtcy0zXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xODI2XzQ0ODcxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDY1IDEwLjY2NzNWOC4wMDA2NU04LjAwMDY1IDUuMzMzOThIOC4wMDczMk0xNC42NjczIDguMDAwNjVDMTQuNjY3MyAxMS42ODI2IDExLjY4MjYgMTQuNjY3MyA4LjAwMDY1IDE0LjY2NzNDNC4zMTg3NSAxNC42NjczIDEuMzMzOTggMTEuNjgyNiAxLjMzMzk4IDguMDAwNjVDMS4zMzM5OCA0LjMxODc1IDQuMzE4NzUgMS4zMzM5OCA4LjAwMDY1IDEuMzMzOThDMTEuNjgyNiAxLjMzMzk4IDE0LjY2NzMgNC4zMTg3NSAxNC42NjczIDguMDAwNjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM5OEEyQjNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xODI2XzQ0ODcxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gRGVmaW5lIHRvb2x0aXAgY29udGVudCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXRvb2x0aXAtY29udGVudCB0b29sdGlwLWNvbnRlbnQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJ3LTEwMFwiICpuZ0Zvcj1cImxldCB0b29sdGlwSXRlbSBvZiBpc3N1ZT8udG9vbFRpcHNcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwSXRlbT8ubmFtZSB9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZGNoZWNrIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImlzc3VlLmNoZWNrZWRcIiBjbGFzcz1cInAtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBwdC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhpYmVybnRpb25cIiBjbGFzcz1cIiBtYWluY2FyZC1sYWJlbCBmdy1zZW1pYm9sZCBtYi0yXCI+SGliZXJuYXRpb24gKGluIGRheXMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgdy0yNTBweCBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgdHJhbnNsYXRlLW1pZGRsZS15IHRvcC01MCBtZS01IHBzLTMgdGlja2V0RGF5c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiB0b2dnbGUtb2ZmIHN2Zy1pY29uLTFcIiBbbmdDbGFzc109XCJjb3VudCA9PT0gMCA/ICdwZS1ub25lJyA6ICcnXCIgKGNsaWNrKT1cImRlY3Jlc2VDb3VudCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMSAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNC42NjYwMiAxMEgxNi4zMzI3XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJoaWJlcm50aW9uXCIgWyhuZ01vZGVsKV09XCJIaWJlcm5hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIiB2YWx1ZT1cInt7Y291bnR9fVwiIHBsYWNlaG9sZGVyPVwiMFwiIHJlYWRPbmx5IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSB0cmFuc2xhdGUtbWlkZGxlLXkgdG9wLTUwIGVuZC0wIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gdG9nZ2xlLW9uIHN2Zy1pY29uLTEgdGlja2V0RGF5c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImluY3JlYXNlQ291bnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjEgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjQ5OTMgNC4xNjY1VjE1LjgzMzJNNC42NjYwMiA5Ljk5OTg0SDE2LjMzMjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkSXNzdWUgPT09ICdPdGhlcnMnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluY2FyZC1jb250ZW50IHctMTAwIG10LTIgcHgtNCBweS0yIHBiLTQgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW5jYXJkLWxhYmVsIGZ3LXNlbWlib2xkIHB5LTJcIj5QbGVhc2Ugc2VsZWN0IHRoZSByZWxldmFudCBwcm9ibGVtIGZhY2luZyBmcm9tXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvdGhlcnMgb2Ygb3RoZXJzSXNzdWU7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFpbmNhcmQtY29udGVudCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHctMTAwIG10LTIgcHgtNCBweS00IGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUmFkaW9ib3gob3RoZXJzKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxpbWcgY2xhc3M9XCJwZS0zXCIgc3JjPScuL2Fzc2V0cy90YW5nby9JbWFnZXMvRmVhdHVyZWQgaWNvbi5wbmcnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkaW5ndGV4dFwiPnt7b3RoZXJzLm5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyBjbGFzcz1cIm1zLTNcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE4MjZfNDQ4NzEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwNjUgMTAuNjY3M1Y4LjAwMDY1TTguMDAwNjUgNS4zMzM5OEg4LjAwNzMyTTE0LjY2NzMgOC4wMDA2NUMxNC42NjczIDExLjY4MjYgMTEuNjgyNiAxNC42NjczIDguMDAwNjUgMTQuNjY3M0M0LjMxODc1IDE0LjY2NzMgMS4zMzM5OCAxMS42ODI2IDEuMzMzOTggOC4wMDA2NUMxLjMzMzk4IDQuMzE4NzUgNC4zMTg3NSAxLjMzMzk4IDguMDAwNjUgMS4zMzM5OEMxMS42ODI2IDEuMzMzOTggMTQuNjY3MyA0LjMxODc1IDE0LjY2NzMgOC4wMDA2NVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE4MjZfNDQ4NzFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3VuZGVkY2hlY2sgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgbmFtZT1cInJhZGlvR3JvdXB7e2l9fVwiIFt2YWx1ZV09XCJvdGhlcnMubmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkT3B0aW9uXCIgY2xhc3M9XCJwLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcHQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoaWJlcm50aW9uXCIgY2xhc3M9XCIgbWFpbmNhcmQtbGFiZWwgZnctc2VtaWJvbGQgbWItMlwiPkhpYmVybmF0aW9uIChpbiBkYXlzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHctMjUwcHggcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRyYW5zbGF0ZS1taWRkbGUteSB0b3AtNTAgbWUtNSBwcy0zIHRpY2tldERheXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gdG9nZ2xlLW9mZiBzdmctaWNvbi0xXCIgW25nQ2xhc3NdPVwiY291bnQgPT09IDAgPyAncGUtbm9uZScgOiAnJ1wiIChjbGljayk9XCJkZWNyZXNlQ291bnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjEgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQuNjY2MDIgMTBIMTYuMzMyN1wiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiaGliZXJudGlvblwiIFsobmdNb2RlbCldPVwiSGliZXJuYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCIgdmFsdWU9XCJ7e2NvdW50fX1cIiBwbGFjZWhvbGRlcj1cIlwiIHJlYWRPbmx5IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSB0cmFuc2xhdGUtbWlkZGxlLXkgdG9wLTUwIGVuZC0wIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gdG9nZ2xlLW9uIHN2Zy1pY29uLTEgdGlja2V0RGF5c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImluY3JlYXNlQ291bnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjEgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjQ5OTMgNC4xNjY1VjE1LjgzMzJNNC42NjYwMiA5Ljk5OTg0SDE2LjMzMjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb2JqIG9mIHZpZXdUaWNrZXREYXRhO2xldCBpPWluZGV4XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEhvcml6b250YWwgbGluZSB3aXRoIGRheSAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXkgcC0wIHctMTAwIG1lLTNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYXkgZnctYm9sZC00MDBcIj5Ub2RheTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLTEgYm9yZGVyLWdyYXkgcC0wIHctMTAwIG1zLTNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBVc2VyIGNvZGUgc3RhcnQgIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvbkJ5ID09PSAnVXNlcidcIiBjbGFzcz1cImQtZmxleCBtcy01IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgcGUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudHJlIGp1c3RpZnktY29udGVudC1jZW50cmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN5bWJvbCBzeW1ib2wtNDhweCBzeW1ib2wtY2lyY2xlXCIgKm5nSWY9XCJvYmo/LklkZW50aWZpZWRCeSYmb2JqPy5JZGVudGlmaWVkQnkhPT0nJyYmb2JqPy5JZGVudGlmaWVkQnkhPT0nVGFuZ28nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN5bWJvbC1sYWJlbCBiYWRnZS1saWdodC1wcmltYXJ5IHRleHQtc3ltYm9sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZnMtNCBiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IGZ3LW5vcm1hbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e29iaj8uSWRlbnRpZmllZEJ5Py5zbGljZSgwLDIpIHwgdXBwZXJjYXNlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIiFvYmo/LklkZW50aWZpZWRCeXx8b2JqPy5JZGVudGlmaWVkQnk9PT0nJ3x8b2JqPy5JZGVudGlmaWVkQnk9PT0nVGFuZ28nXCIgY2xhc3M9XCJtc2dwcm9maWxlXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3RhbmdvcHJvZmlsZS5wbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMCBoLTEwMCBtdC0zIGJvcmRlciBib3JkZXItMSBib3JkZXItZ3JheSB2ZXJ0aWNhbExpbmVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTMgcHQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZ3RleHQgZnctc2VtaWJvbGRcIj57e29iaj8uSWRlbnRpZmllZEJ5P29iaj8uSWRlbnRpZmllZEJ5OlwiVGFuZ29cIn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1cGRhdGVkZGF0ZSBweC0zIHB0LTEgZnctYm9sZC00MDBcIj57e29iaj8udGltZVN0YW1wfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlICE9PSdzdGF0dXNDaGFuZ2UnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZmlsZS1sYWJlbCBmb250LWJvbGQtNDAwXCI+VXNlciBoYXMgcmVwbGllZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdzdGF0dXNDaGFuZ2UnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGltaW5ndGV4dCBwZS0zIHB0LTEgZnctYm9sZC00MDBcIj5VcGRhdGVkIHRoZSBzdGF0dXM8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltaW5ndGV4dCBmdy1zZW1pYm9sZCB0ZXh0LXByaW1hcnlcIj5PcGVuIC0+IElucHJvZ3Jlc3M8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnc3RhdHVzQ2hlY2tSZXBseSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTNcIj5Jc3N1ZSBoYXMgYmVlbiA8Yj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iai5zdGF0dXNDaGVja1JlcGx5PT09J05vJ1wiPm5vdDwvc3Bhbj4gcmVzb2x2ZWQuPC9iPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1ib2xkLTQwMFwiICpuZ0lmPVwib2JqLnN0YXR1c0NoZWNrUmVwbHk9PT0nTm8nXCI+IEl0IHRha2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e29iaj8uaGliZXJuYXRpb25EYXlzfX0gbW9yZSBkYXlzIHRvIHJlc29sdmUuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnY29tbWVudCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IHBlLTMgcHQtMSBmdy1ib2xkLTQwMCB0ZXh0LXdyYXBcIj57e29iaj8uY29tbWVudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0naXNzdWVVcGRhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJlcyBvZiBvYmo/LnJlYXNvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1zZW1pYm9sZCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UncmUgY3VycmVudGx5IGVuY291bnRlcmluZyBhbiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZ3LWJvbGQtNzAwXCI+e3tyZXMucHJpbWFyeUlzc3VlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZXMucHJpbWFyeUlzc3VlID09PSdDYW1lcmEgSXNzdWVzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub3R3b3JraW5nQ2FtYXJhbGlzdCAmJiBub3R3b3JraW5nQ2FtYXJhbGlzdD8ubGVuZ3RoXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBub3R3b3JraW5nQ2FtYXJhbGlzdFwiIGNsYXNzPVwiY29sLXNtLTMgbXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtMyBvdmVyZmxvdy1oaWRkZW4gbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYW1lcmEgZnctYm9sZFwiPnt7aXRlbS5jYW1lcmFOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cIml0ZW0/LnRodW1ibmFpbEltYWdlXCIgc3R5bGU9XCJoZWlnaHQ6MTgwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTMgbWUtMlwiPlRoZSBhYm92ZSBjYW1lcmEgc3RyZWFtaW5nIGFyZSBub3Qgd29ya2luZyBkdWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1ib2xkLTcwMCBtdC0zXCIgKm5nRm9yPVwibGV0IGlzc3VlIG9mIHJlcz8uc2Vjb25kYXJ5SXNzdWU7IGxldCBsYXN0ID0gbGFzdFwiPnt7aXNzdWU/Lm5hbWV9fSA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxhc3RcIj4gLDwvbmctY29udGFpbmVyPjwvc3Bhbj4gdG8gdGhlIENhbWVyYTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlcz8uc2Vjb25kYXJ5SXNzdWUgJiYgcmVzPy5zZWNvbmRhcnlJc3N1ZT8ubGVuZ3RoXCIgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludmVzdGlnYXRpb24gZnctYm9sZC00MDAgbWItM1wiPlRoZSBmb2xsb3dpbmcgYXJlIHRoZSByZWxldmFudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ibGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhY2luZzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInRpbWluZ3RleHQgZnctYm9sZC00MDAgbWItMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VjSXNzdWVzIG9mIHJlcz8uc2Vjb25kYXJ5SXNzdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT57e3NlY0lzc3Vlcy5uYW1lfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFVzZXIgY29kZSBlbmQgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVGFuZ28gY29kZSBzdGFydCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25CeSA9PT0gJ1RhbmdvJ1wiIGNsYXNzPVwiZC1mbGV4IG1iLTUgbXMtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC00OHB4IHN5bWJvbC1jaXJjbGVcIiAqbmdJZj1cIm9iaj8uSWRlbnRpZmllZEJ5JiZvYmo/LklkZW50aWZpZWRCeSE9PScnJiZvYmo/LklkZW50aWZpZWRCeSE9PSdUYW5nbydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1zeW1ib2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBmcy00IGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgZnctbm9ybWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b2JqPy5JZGVudGlmaWVkQnk/LnNsaWNlKDAsMikgfCB1cHBlcmNhc2UgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiIW9iaj8uSWRlbnRpZmllZEJ5fHxvYmo/LklkZW50aWZpZWRCeT09PScnfHxvYmo/LklkZW50aWZpZWRCeT09PSdUYW5nbydcIiBjbGFzcz1cIm1zZ3Byb2ZpbGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFuZ29wcm9maWxlLnBuZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMCBoLTEwMCBtdC0zIGJvcmRlciBib3JkZXItMSBib3JkZXItZ3JheSB2ZXJ0aWNhbExpbmVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTMgcHQtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSB7e29iai5hY3Rpb25UeXBlfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGluZ3RleHQgZnctc2VtaWJvbGRcIj57e29iaj8uSWRlbnRpZmllZEJ5P29iaj8uSWRlbnRpZmllZEJ5OlwiVGFuZ29cIn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVwZGF0ZWRkYXRlIGZ3LWJvbGQtNDAwIHB4LTMgcHQtMVwiPnt7b2JqPy50aW1lU3RhbXB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuICBjbGFzcz1cInByb2ZpbGUtbGFiZWwgZnctYm9sZC00MDBcIj50YW5nbyBoYXMgcmVwbGllZCB0byB0aGUgaXNzdWU8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdzdGF0dXNDaGFuZ2UnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwXCI+VXBkYXRlZCB0aGUgc3RhdHVzPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtcHJpbWFyeVwiPk9wZW4gLT4gSW5wcm9ncmVzczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnY29tbWVudCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IHBlLTMgcHQtMSBmdy1ib2xkLTQwMCB0ZXh0LXdyYXBcIj57e29iaj8uY29tbWVudH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0gJ3ByZXJlcXVlc3RjaGVja3N0YXJ0J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwXCI+U3RhcnRlZCB0aGU8L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltaW5ndGV4dCBmdy1zZW1pYm9sZCB0ZXh0LXByaW1hcnlcIj5QcmUtUmVxdWlzaXRlIENoZWNrPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0gJ3ByZXJlcXVlc3RjaGVja2ZhaWxlZCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IHBlLTMgcHQtMSBmdy1ib2xkLTQwMFwiPlByb2Nlc3MgZmFpbGVkIG9uPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWluZ3RleHQgZnctc2VtaWJvbGQgdGV4dC1wcmltYXJ5XCI+UHJlLVJlcXVpc2l0ZSBDaGVjazwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmFjdGlvblR5cGUgPT09ICdmZXRjaGNhbWVyYSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aW1pbmd0ZXh0IHBlLTMgcHQtMSBmdy1ib2xkLTQwMFwiPlVwZGF0ZWQgdGhlIHN0YXR1czwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1pbmd0ZXh0IGZ3LXNlbWlib2xkIHRleHQtcHJpbWFyeVwiPlByZS1SZXF1aXNpdGUgQ2hlY2sgLT4gRmV0Y2hjYW1lcmE8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iai5hY3Rpb25UeXBlID09PSAnY29uZmlndXJlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWluZ3RleHQgcGUtMyBwdC0xIGZ3LWJvbGQtNDAwXCI+VXBkYXRlZCB0aGUgc3RhdHVzPC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWluZ3RleHQgZnctc2VtaWJvbGQgdGV4dC1wcmltYXJ5XCI+IEZldGNoY2FtZXJhIC0+IENvbmZpZ3VyaW5nPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0naXNzdWVVcGRhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJlcyBvZiBvYmo/LnJlYXNvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1zZW1pYm9sZCBtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UncmUgY3VycmVudGx5IGVuY291bnRlcmluZyBhbiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZ3LWJvbGQtNzAwXCI+e3tyZXMucHJpbWFyeUlzc3VlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZXMucHJpbWFyeUlzc3VlID09PSdDYW1lcmEgSXNzdWVzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXktNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5vdHdvcmtpbmdDYW1hcmFsaXN0XCIgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtMyBvdmVyZmxvdy1oaWRkZW4gbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYW1lcmEgZnctYm9sZFwiPnt7aXRlbS5jYW1lcmFOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cIml0ZW0/LnRodW1ibmFpbEltYWdlXCIgc3R5bGU9XCJoZWlnaHQ6MTgwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHR1cGRhdGVzIGZ3LWJvbGQtNDAwIG10LTMgbWUtMlwiPlRoZSBhYm92ZSBjYW1lcmEgc3RyZWFtaW5nIGFyZSBub3Qgd29ya2luZyBkdWU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1ib2xkLTcwMCBtdC0zXCIgKm5nRm9yPVwibGV0IGlzc3VlIG9mIHJlcz8uc2Vjb25kYXJ5SXNzdWU7IGxldCBsYXN0ID0gbGFzdFwiPnt7aXNzdWU/Lm5hbWV9fSA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxhc3RcIj4gLDwvbmctY29udGFpbmVyPjwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJ0ZXh0dXBkYXRlcyBmdy1ib2xkLTQwMCBtdC0zXCI+dG8gdGhlIENhbWVyYTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludmVzdGlnYXRpb24gZnctYm9sZC00MDAgbWItM1wiPlRoZSBmb2xsb3dpbmcgYXJlIHRoZSByZWxldmFudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ibGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhY2luZzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInRpbWluZ3RleHQgZnctYm9sZC00MDAgbWItMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VjSXNzdWVzIG9mIHJlcz8uc2Vjb25kYXJ5SXNzdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT57e3NlY0lzc3Vlcy5uYW1lfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouYWN0aW9uVHlwZSA9PT0nc3RlcHNUb1Jlc29sdmUnXCIgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dHVwZGF0ZXMgZnctYm9sZC00MDBcIj5QbGVhc2UgZm9sbG93IHRoZSBiZWxvdyBzdGVwcyB0byByZXNvbHZlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgYWJvdmUgaXNzdWU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJlcyBvZiBvYmo/LnJlYXNvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC01IG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZ3RleHQgZnctc2VtaWJvbGQgbWItMVwiPnt7cmVzLnByaW1hcnlJc3N1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidGltaW5ndGV4dCBmdy1ib2xkLTQwMCBtYi0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNlY0lzc3VlcyBvZiByZXM/LnNlY29uZGFyeUlzc3VlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT57e3NlY0lzc3Vlcy5uYW1lfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFRhbmdvIGNvZGUgZW5kIC0tPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub0RhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dTdWJtaXQmJihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0VkaXRcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImNvbW1lbnRzXCIgKGNsaWNrKT1cImFkZENvbW1lbnQoKVwiIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJBZGQgeW91ciBjb21tZW50cy4uXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIGFjY2VwdD1cImltYWdlLypcIiBtdWx0aXBsZSAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJ0aWNrZXRJbmZvPy5zdGF0dXMgPT09ICdjbG9zZWQnXCIgKGNsaWNrKT1cIm9wZW5GaWxlSW5wdXQoKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgYnRuIGJ0bi1kZWZhdWx0IGJ0bi1vdXRsaW5lIG1zLTNcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTcuODY2NiA5LjIwODM1TDEwLjIwODIgMTYuODY2N0M5LjI3MDA1IDE3LjgwNDkgNy45OTc1NyAxOC4zMzIgNi42NzA3NSAxOC4zMzJDNS4zNDM5MyAxOC4zMzIgNC4wNzE0NSAxNy44MDQ5IDMuMTMzMjUgMTYuODY2N0MyLjE5NTA1IDE1LjkyODUgMS42Njc5NyAxNC42NTYgMS42Njc5NyAxMy4zMjkyQzEuNjY3OTcgMTIuMDAyNCAyLjE5NTA1IDEwLjcyOTkgMy4xMzMyNSA5Ljc5MTY4TDEwLjc5MTYgMi4xMzMzNUMxMS40MTcxIDEuNTA3ODggMTIuMjY1NCAxLjE1NjQ5IDEzLjE0OTkgMS4xNTY0OUMxNC4wMzQ1IDEuMTU2NDkgMTQuODgyOCAxLjUwNzg4IDE1LjUwODIgMi4xMzMzNUMxNi4xMzM3IDIuNzU4ODIgMTYuNDg1MSAzLjYwNzEzIDE2LjQ4NTEgNC40OTE2OEMxNi40ODUxIDUuMzc2MjMgMTYuMTMzNyA2LjIyNDU1IDE1LjUwODIgNi44NTAwMkw3Ljg0MTU4IDE0LjUwODNDNy41Mjg4NSAxNC44MjExIDcuMTA0NjkgMTQuOTk2OCA2LjY2MjQyIDE0Ljk5NjhDNi4yMjAxNCAxNC45OTY4IDUuNzk1OTggMTQuODIxMSA1LjQ4MzI1IDE0LjUwODNDNS4xNzA1MSAxNC4xOTU2IDQuOTk0ODIgMTMuNzcxNSA0Ljk5NDgyIDEzLjMyOTJDNC45OTQ4MiAxMi44ODY5IDUuMTcwNTEgMTIuNDYyNyA1LjQ4MzI1IDEyLjE1TDEyLjU1ODIgNS4wODMzNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwidGlja2V0SW5mbz8uc3RhdHVzID09PSAnY2xvc2VkJ1wiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG1zLTNcIiAoY2xpY2spPVwidXBkYXRlVGlja2V0KClcIj4gU3VibWl0IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXJcIiAqbmdJZj1cImVycm9yTWVzc2FnZVwiID57eyBlcnJvck1lc3NhZ2UgfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlciBib3JkZXItMSBib3JkZXItZ3JheSByb3VuZGVkLTMgcC01IGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhbWVyYSBmdy1zZW1pYm9sZFwiPkF0dGFjaG1lbnRzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRpY2tldEluZm8/LmF0dGFjaG1lbnRzLmxlbmd0aCA9PT0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMCBtdC0xMCBtYi0xMCBtaC02MHZoIGQtZ3JpZCB0ZXh0LWNlbnRlciBteC1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJteC1hdXRvXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3Rha2V0aWNrZXQuc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFrZXRpY2tldCBtdC0yIGZ3LWJvbGRcIj5ObyBBdHRhY2htZW50cyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRpY2tldEluZm8/LmF0dGFjaG1lbnRzLmxlbmd0aCA+IDBcIiBjbGFzcz1cInJvdyBtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTYgcG9zaXRpb24tcmVsYXRpdmUgXCIgKm5nRm9yPVwibGV0IGZpbGUgb2YgdGlja2V0SW5mbz8uYXR0YWNobWVudHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJBdHRhY2htZW50IGJvcmRlciBib3JkZXItMSBib3JkZXItZ3JheSB3LTEwMCByb3VuZGVkLTIgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImgtMTUwcHhcIiAgKGNsaWNrKT1cImRvd25sb2FkaW1hZ2UoZmlsZT8uc2lnbmVkVXJsKVwiIFtzcmNdPVwiZmlsZT8uc2lnbmVkVXJsXCIgYWx0PVwiU2VsZWN0ZWQgSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ncmlkIGJvcmRlciBib3JkZXItdG9wLTEgcHgtNSBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbWFnZW5hbWUgZnctYm9sZFwiPnt7ZmlsZS5maWxlbmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiZnctYm9sZC00MDAgdXBkYXRlZGRhdGVcIj57e2ZpbGUubGFzdE1vZGlmaWVkRGF0ZVN0cmluZ319PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJyZW1vdmVGaWxlKGZpbGU/LnNpZ25lZFVybClcIiBjbGFzcz1cIm1lLTMgcC0xIHBvc2l0aW9uLWFic29sdXRlIHdpZHRoLTIwcHggaGVpZ2h0LTIwcHggcm91bmRlZC0zIGVuZC0wIHRvcC0wIGJvcmRlciBib3JkZXItMSBib3JkZXItcHJpbWFyeSBiZy1saWdodC1wcmltYXJ5IGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNSA1TDUgMTVNNSA1TDE1IDE1XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PiJdfQ==
|