tango-app-ui-manage-settings 3.0.27-dev → 3.0.28-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/brand-details/brand-info/brand-info.component.mjs +3 -2
- package/esm2022/lib/components/contact-directory/contact-directory.component.mjs +6 -5
- package/fesm2022/tango-app-ui-manage-settings.mjs +7 -5
- package/fesm2022/tango-app-ui-manage-settings.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -45,8 +45,9 @@ export class BrandInfoComponent {
|
|
|
45
45
|
];
|
|
46
46
|
status = [
|
|
47
47
|
{ value: "active", label: "Active" },
|
|
48
|
+
{ value: "hold", label: "Hold" },
|
|
49
|
+
{ value: "suspended", label: "Suspend" },
|
|
48
50
|
{ value: "deactive", label: "Deactive" },
|
|
49
|
-
{ value: "hold", label: "Hold" }
|
|
50
51
|
];
|
|
51
52
|
constructor(fb, apiService, cd, gs) {
|
|
52
53
|
this.fb = fb;
|
|
@@ -140,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
140
141
|
type: ViewChild,
|
|
141
142
|
args: ['imageInput']
|
|
142
143
|
}] } });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmQtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2JyYW5kLWRldGFpbHMvYnJhbmQtaW5mby9icmFuZC1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYnJhbmQtZGV0YWlscy9icmFuZC1pbmZvL2JyYW5kLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVExQyxNQUFNLE9BQU8sa0JBQWtCO0lBMkNUO0lBQXlCO0lBQXNDO0lBQThCO0lBekNqSCxhQUFhLENBQVc7SUFDQyxXQUFXLENBQTBCO0lBQzlELFNBQVMsQ0FBSztJQUNkLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDTCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQyxRQUFRLENBQU87SUFDZixRQUFRLEdBQUc7UUFDVCxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtRQUN0QyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtRQUN4QyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtRQUN4QyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7UUFDeEQsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUU7UUFD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RUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUE7UUFDekMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUE7UUFDOUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUE7UUFDM0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUE7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUE7SUFDOUcsQ0FBQzt1R0F0SVUsa0JBQWtCOzJGQUFsQixrQkFBa0IsaUtDWC9CLHM4WEFzSE87OzJGRDNHTSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO2dMQU9ELFdBQVc7c0JBQW5DLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENsaWVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbGllbnQtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1icmFuZC1pbmZvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJhbmQtaW5mby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JyYW5kLWluZm8uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmFuZEluZm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBicmFuZEluZm9Gb3JtOiBGb3JtR3JvdXBcclxuICBAVmlld0NoaWxkKCdpbWFnZUlucHV0JykgdXBsb2FkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIGJyYW5kTG9nbzogYW55XHJcbiAgY291bnRyeUxpc3Q6IGFueSA9IFtdO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGxvZ29GaWxlOiBGaWxlO1xyXG4gIGluZHVzdHJ5ID0gW1xyXG4gICAgeyB2YWx1ZTogXCJhcHBhcmVsXCIsIGxhYmVsOiBcIkFwcGFyZWxcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmb290d2VhclwiLCBsYWJlbDogXCJGb290d2VhclwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInNraW5jYXJlXCIsIGxhYmVsOiBcIlNraW5jYXJlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZm9vZGFuZGJldmVyYWdlXCIsIGxhYmVsOiBcIkZvb2QgYW5kIEJldmVyYWdlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwidGVjaHN0YXJ0dXBcIiwgbGFiZWw6IFwiVGVjaCBTdGFydHVwXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZ3Jvb21pbmdcIiwgbGFiZWw6IFwiR3Jvb21pbmdcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJsZWF0aGVyXCIsIGxhYmVsOiBcIkxlYXRoZXJcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmdXJuaXR1cmVcIiwgbGFiZWw6IFwiRnVybml0dXJlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwibWF0dHJlc3NcIiwgbGFiZWw6IFwiTWF0dHJlc3NcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJjdXN0b21lcmVsZWN0cm9uaWNzXCIsIGxhYmVsOiBcIkN1c3RvbWVyIEVsZWN0cm9uaWNzXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiaW50ZXJpb3JkZXNpZ25cIiwgbGFiZWw6IFwiSW50ZXJpb3IgRGVzaWduXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZXZcIiwgbGFiZWw6IFwiRVZcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmaW50ZWNoXCIsIGxhYmVsOiBcIkZpbnRlY2hcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJwZXJmdW1lXCIsIGxhYmVsOiBcIlBlcmZ1bWVcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmYXNoaW9uYWNjZXNzb3JpZXNcIiwgbGFiZWw6IFwiRmFzaGlvbiBBY2Nlc3Nvcmllc1wiIH0sXHJcbiAgICB7IHZhbHVlOiBcIm51dHJpdGlvblwiLCBsYWJlbDogXCJOdXRyaXRpb25cIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmYXNoaW9uYW5kbGlmZXN0eWxlXCIsIGxhYmVsOiBcIkZhc2hpb24gQW5kIExpZmVzdHlsZVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImV5ZXdlYXJcIiwgbGFiZWw6IFwiRXlld2VhclwiIH0sXHJcbiAgXVxyXG5cclxuICBjbGllbnRUeXBlID0gW1xyXG4gICAgeyB2YWx1ZTogXCJwYXJ0bmVyc2hpcFwiLCBsYWJlbDogXCJQYXJ0bmVyc2hpcFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInByb3ByaWV0b3JzaGlwXCIsIGxhYmVsOiBcIlByb3ByaWV0b3JzaGlwXCIgfSxcclxuICAgIHsgdmFsdWU6IFwicHZ0bHRkXCIsIGxhYmVsOiBcIlB2dC4gTHRkXCIgfSxcclxuICAgIHsgdmFsdWU6IFwicGVyc29uXCIsIGxhYmVsOiBcIlBlcnNvblwiIH0sXHJcbiAgXVxyXG5cclxuICBzdGF0dXMgPSBbXHJcbiAgICB7IHZhbHVlOiBcImFjdGl2ZVwiLCBsYWJlbDogXCJBY3RpdmVcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJkZWFjdGl2ZVwiLCBsYWJlbDogXCJEZWFjdGl2ZVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImhvbGRcIiwgbGFiZWw6IFwiSG9sZFwiIH1cclxuICBdXHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBDbGllbnRBcGlTZXJ2aWNlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuaW5pdEZvcm0oKVxyXG4gICAgdGhpcy5nZXRDb3VudHJ5Q29kZXMoKVxyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmNsaWVudEZvcm1EYXRhLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgaWYgKHJlcy50eXBlID09PSAnaW5wdXQnICYmIHJlcy5mb3JtID09PSAnYnJhbmQtaW5mbycpIHtcclxuICAgICAgICAgIHRoaXMucGF0Y2hGb3JtKHJlcy52YWx1ZSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG5cclxuICBpbml0Rm9ybSgpIHtcclxuICAgIHRoaXMuYnJhbmRJbmZvRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBicmFuZE5hbWU6IFsnJ10sXHJcbiAgICAgIHJlZ2lzdGVyZWRDb21wYW55TmFtZTogWycnXSxcclxuICAgICAgaW5kdXN0cnk6IFsnJ10sXHJcbiAgICAgIGNsaWVudFR5cGU6IFsnJ10sXHJcbiAgICAgIGNvcnBvcmF0ZUVtYWlsOiBbJyddLFxyXG4gICAgICBjb3VudHJ5Q29kZTogWycnXSxcclxuICAgICAgbW9iaWxlTnVtYmVyOiBbJyddLFxyXG4gICAgICByZWdpc3RlcmVkQWRkcmVzczogWycnXSxcclxuICAgICAgaGVhZFF1YXJ0ZXJzOiBbJyddLFxyXG4gICAgICB3ZWJzaXRlOiBbJyddLFxyXG4gICAgICBzdGF0dXM6IFsnJ10sXHJcbiAgICAgIGxvZ286IFsnJ11cclxuICAgIH0pO1xyXG4gICAgdGhpcy5icmFuZEluZm9Gb3JtLmRpc2FibGUoKVxyXG4gIH1cclxuXHJcbiAgZ2V0Q291bnRyeUNvZGVzKCkge1xyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmdldEFsbENvdW50cmllcygpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNvdW50cnlMaXN0ID0gcmVzLmRhdGFcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwYXRjaEZvcm0oZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLmJyYW5kSW5mb0Zvcm0ucGF0Y2hWYWx1ZShcclxuICAgICAge1xyXG4gICAgICAgIC4uLmRhdGFcclxuICAgICAgfVxyXG4gICAgKVxyXG5cclxuICAgIHRoaXMuYnJhbmRMb2dvID0gZGF0YS5sb2dvXHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgdHJpZ2dlckZpbGVJbnB1dCgpIHtcclxuICAgIHRoaXMudXBsb2FkSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpXHJcbiAgfVxyXG5cclxuICBvbkZpbGVTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5maWxlcyAmJiBldmVudC50YXJnZXQuZmlsZXNbMF0pIHtcclxuICAgICAgbGV0IGZpbGU6IEZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XHJcbiAgICAgIHRoaXMubG9nb0ZpbGUgPSBmaWxlXHJcbiAgICAgIHZhciByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYnJhbmRMb2dvID0gZS50YXJnZXQucmVzdWx0O1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZXZlbnQudGFyZ2V0LmZpbGVzWzBdKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNhbmNlbCgpIHtcclxuICAgIHRoaXMuYnJhbmRJbmZvRm9ybS5kaXNhYmxlKClcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IG51bGwsIHR5cGU6ICdjYW5jZWwnLCBmb3JtOiAnYnJhbmQtaW5mbycgfSlcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgaWYgKHRoaXMubG9nb0ZpbGUpIHtcclxuICAgICAgdGhpcy5icmFuZEluZm9Gb3JtLnZhbHVlLmxvZ28gPSB0aGlzLmxvZ29GaWxlXHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlIHRoaXMuYnJhbmRJbmZvRm9ybS52YWx1ZS5icmFuZE5hbWVcclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUuY29ycG9yYXRlRW1haWxcclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUuY291bnRyeUNvZGVcclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUubW9iaWxlTnVtYmVyXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUsIHR5cGU6ICdzdWJtaXQnLCBmb3JtOiAnYnJhbmQtaW5mbycgfSlcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImJyYW5kSW5mb0Zvcm1cIiA+XHJcbjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uc2V0dGluZ3NfYnJhbmREZXRhaWxzX2lzRWRpdCBcIj5cclxuICAgIDxkaXYgKm5nSWY9XCJicmFuZEluZm9Gb3JtLmRpc2FibGVkXCIgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYnJhbmRJbmZvRm9ybS5kaXNhYmxlZCA/IGJyYW5kSW5mb0Zvcm0uZW5hYmxlKCkgOiBicmFuZEluZm9Gb3JtLmRpc2FibGUoKVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBhbGlnbi1pdGVtcy1lbmRcIj48c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yNTc5XzI1MTI1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjE2NyAyLjQ5OTkzQzE0LjM4NTkgMi4yODEwNiAxNC42NDU3IDIuMTA3NDQgMTQuOTMxNyAxLjk4ODk5QzE1LjIxNzYgMS44NzA1NCAxNS41MjQxIDEuODA5NTcgMTUuODMzNyAxLjgwOTU3QzE2LjE0MzIgMS44MDk1NyAxNi40NDk3IDEuODcwNTQgMTYuNzM1NyAxLjk4ODk5QzE3LjAyMTYgMi4xMDc0NCAxNy4yODE1IDIuMjgxMDYgMTcuNTAwMyAyLjQ5OTkzQzE3LjcxOTIgMi43MTg4IDE3Ljg5MjggMi45Nzg2MyAxOC4wMTEzIDMuMjY0NkMxOC4xMjk3IDMuNTUwNTcgMTguMTkwNyAzLjg1NzA2IDE4LjE5MDcgNC4xNjY1OUMxOC4xOTA3IDQuNDc2MTIgMTguMTI5NyA0Ljc4MjYyIDE4LjAxMTMgNS4wNjg1OUMxNy44OTI4IDUuMzU0NTUgMTcuNzE5MiA1LjYxNDM5IDE3LjUwMDMgNS44MzMyNkw2LjI1MDMzIDE3LjA4MzNMMS42NjY5OSAxOC4zMzMzTDIuOTE2OTkgMTMuNzQ5OUwxNC4xNjcgMi40OTk5M1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzI1NzlfMjUxMjVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5FZGl0IERldGFpbHM8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PiAgICAgICAgXHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiQnJhbmRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5CcmFuZCBMb2dvIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgI2ltYWdlSW5wdXQgYWNjZXB0PVwiLnBuZywgLmpwZywgLmpwZWdcIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImJyYW5kSW5mb0Zvcm0uZGlzYWJsZWRcIiAgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIHR5cGU9XCJmaWxlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImJyYW5kTG9nb1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICA8c3ZnIChjbGljayk9XCJ0cmlnZ2VyRmlsZUlucHV0KClcIiBjbGFzcz1cInVwbG9hZC1pY29uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0NlwiIHZpZXdCb3g9XCIwIDAgNDggNDZcIlxyXG4gICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzJfNDE3NTUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjEwXCIgeT1cIjEwXCIgd2lkdGg9XCIyNy44MDM3XCIgaGVpZ2h0PVwiMjUuOTUwMVwiIHJ4PVwiMTIuOTc1MVwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE3Ljk0MzQgMjYuMjE3NVYyOC41MzQ4SDIwLjQyNjJMMjcuNzUyMSAyMS42OTcyTDI1LjI2OTMgMTkuMzc5OUwxNy45NDM0IDI2LjIxNzVaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzk4QTJCM1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNjY3MSAxOS4wMzc3TDI4LjEyMTEgMTcuNTk0OEMyNy44NjI5IDE3LjM1MzggMjcuNDQyNSAxNy4zNTM4IDI3LjE4NDMgMTcuNTk0OEwyNS45NzI3IDE4LjcyNTdMMjguNDU1NSAyMS4wNDI5TDI5LjY2NzEgMTkuOTEyMUMyOS45MjUzIDE5LjY3MTEgMjkuOTI1MyAxOS4yNzg3IDI5LjY2NzEgMTkuMDM3N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMl80MTc1NVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQ3LjgwMzdcIiBoZWlnaHQ9XCI0NS45NTAyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjI4ODMzMyAwIDAgMCAwIDAuMzEyOSAwIDAgMCAwIDAuNCAwIDAgMCAwLjE0IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzJfNDE3NTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzJfNDE3NTVcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWJyYW5kTG9nb1wiIGNsYXNzPVwidXBsb2FkLXBsYWNlaG9sZGVyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zLjUgMzJDMi41NzE3NCAzMiAxLjY4MTUgMzEuNjMxMyAxLjAyNTEzIDMwLjk3NDlDMC4zNjg3NDkgMzAuMzE4NSAwIDI5LjQyODMgMCAyOC41TDAgMy41QzAgMS41NjggMS41NjggMCAzLjUgMEgyMC41QzIyLjQzMiAwIDI0IDEuNTY4IDI0IDMuNVYyOC41QzI0IDI4LjY3IDIzLjk4OCAyOC44MzYgMjMuOTY0IDI5SDI4LjVDMjguNjMyNiAyOSAyOC43NTk4IDI4Ljk0NzMgMjguODUzNiAyOC44NTM2QzI4Ljk0NzMgMjguNzU5OCAyOSAyOC42MzI2IDI5IDI4LjVWMTYuNTdDMjkuMDAwMSAxNi40ODc3IDI4Ljk3OTggMTYuNDA2OCAyOC45NDExIDE2LjMzNDJDMjguOTAyNCAxNi4yNjE2IDI4Ljg0NjQgMTYuMTk5NyAyOC43NzggMTYuMTU0TDI2LjY2OCAxNC43NDhDMjYuNTA0MSAxNC42Mzg3IDI2LjM2MzMgMTQuNDk4MyAyNi4yNTM3IDE0LjMzNDZDMjYuMTQ0MSAxNC4xNzA5IDI2LjA2NzggMTMuOTg3MyAyNi4wMjkyIDEzLjc5NDJDMjUuOTkwNiAxMy42MDEgMjUuOTkwNCAxMy40MDIxIDI2LjAyODYgMTMuMjA4OUMyNi4wNjY4IDEzLjAxNTcgMjYuMTQyNyAxMi44MzE5IDI2LjI1MiAxMi42NjhDMjYuMzYxMyAxMi41MDQxIDI2LjUwMTcgMTIuMzYzMyAyNi42NjU0IDEyLjI1MzdDMjYuODI5MSAxMi4xNDQxIDI3LjAxMjcgMTIuMDY3OCAyNy4yMDU4IDEyLjAyOTJDMjcuMzk5IDExLjk5MDYgMjcuNTk3OSAxMS45OTA0IDI3Ljc5MTEgMTIuMDI4NkMyNy45ODQzIDEyLjA2NjggMjguMTY4MSAxMi4xNDI3IDI4LjMzMiAxMi4yNTJMMzAuNDQyIDEzLjY1OEMzMS40MTYgMTQuMzA4IDMyIDE1LjQgMzIgMTYuNTdWMjguNUMzMiAyOS40MjgzIDMxLjYzMTMgMzAuMzE4NSAzMC45NzQ5IDMwLjk3NDlDMzAuMzE4NSAzMS42MzEzIDI5LjQyODMgMzIgMjguNSAzMkgyMS41QzIxLjM2NyAzMS45OTk4IDIxLjIzNDUgMzEuOTgyNCAyMS4xMDYgMzEuOTQ4QzIwLjkwOCAzMS45ODIgMjAuNzA2IDMyIDIwLjUgMzJIMTQuNUMxNC4xMDIyIDMyIDEzLjcyMDYgMzEuODQyIDEzLjQzOTMgMzEuNTYwN0MxMy4xNTggMzEuMjc5NCAxMyAzMC44OTc4IDEzIDMwLjVWMjhIMTFWMzAuNUMxMSAzMC44OTc4IDEwLjg0MiAzMS4yNzk0IDEwLjU2MDcgMzEuNTYwN0MxMC4yNzk0IDMxLjg0MiA5Ljg5NzgzIDMyIDkuNSAzMkgzLjVaTTMgMjguNUMzIDI4Ljc3NiAzLjIyNCAyOSAzLjUgMjlIOFYyNi41QzggMjYuMTAyMiA4LjE1ODA0IDI1LjcyMDYgOC40MzkzNCAyNS40MzkzQzguNzIwNjQgMjUuMTU4IDkuMTAyMTggMjUgOS41IDI1SDE0LjVDMTQuODk3OCAyNSAxNS4yNzk0IDI1LjE1OCAxNS41NjA3IDI1LjQzOTNDMTUuODQyIDI1LjcyMDYgMTYgMjYuMTAyMiAxNiAyNi41VjI5SDIwLjVDMjAuNjMyNiAyOSAyMC43NTk4IDI4Ljk0NzMgMjAuODUzNiAyOC44NTM2QzIwLjk0NzMgMjguNzU5OCAyMSAyOC42MzI2IDIxIDI4LjVWMy41QzIxIDMuMzY3MzkgMjAuOTQ3MyAzLjI0MDIyIDIwLjg1MzYgMy4xNDY0NUMyMC43NTk4IDMuMDUyNjggMjAuNjMyNiAzIDIwLjUgM0gzLjVDMy4zNjczOSAzIDMuMjQwMjIgMy4wNTI2OCAzLjE0NjQ1IDMuMTQ2NDVDMy4wNTI2OCAzLjI0MDIyIDMgMy4zNjczOSAzIDMuNVYyOC41Wk03LjUgMTJIOC41QzguODk3ODIgMTIgOS4yNzkzNiAxMi4xNTggOS41NjA2NiAxMi40MzkzQzkuODQxOTYgMTIuNzIwNiAxMCAxMy4xMDIyIDEwIDEzLjVDMTAgMTMuODk3OCA5Ljg0MTk2IDE0LjI3OTQgOS41NjA2NiAxNC41NjA3QzkuMjc5MzYgMTQuODQyIDguODk3ODIgMTUgOC41IDE1SDcuNUM3LjEwMjE4IDE1IDYuNzIwNjQgMTQuODQyIDYuNDM5MzQgMTQuNTYwN0M2LjE1ODA0IDE0LjI3OTQgNiAxMy44OTc4IDYgMTMuNUM2IDEzLjEwMjIgNi4xNTgwNCAxMi43MjA2IDYuNDM5MzQgMTIuNDM5M0M2LjcyMDY0IDEyLjE1OCA3LjEwMjE4IDEyIDcuNSAxMlpNNiA3LjVDNiA3LjEwMjE4IDYuMTU4MDQgNi43MjA2NCA2LjQzOTM0IDYuNDM5MzRDNi43MjA2NCA2LjE1ODA0IDcuMTAyMTggNiA3LjUgNkg4LjVDOC44OTc4MiA2IDkuMjc5MzYgNi4xNTgwNCA5LjU2MDY2IDYuNDM5MzRDOS44NDE5NiA2LjcyMDY0IDEwIDcuMTAyMTggMTAgNy41QzEwIDcuODk3ODIgOS44NDE5NiA4LjI3OTM2IDkuNTYwNjYgOC41NjA2NkM5LjI3OTM2IDguODQxOTYgOC44OTc4MiA5IDguNSA5SDcuNUM3LjEwMjE4IDkgNi43MjA2NCA4Ljg0MTk2IDYuNDM5MzQgOC41NjA2NkM2LjE1ODA0IDguMjc5MzYgNiA3Ljg5NzgyIDYgNy41Wk0xNCAxMy41QzE0IDEzLjEwMjIgMTQuMTU4IDEyLjcyMDYgMTQuNDM5MyAxMi40MzkzQzE0LjcyMDYgMTIuMTU4IDE1LjEwMjIgMTIgMTUuNSAxMkgxNi41QzE2Ljg5NzggMTIgMTcuMjc5NCAxMi4xNTggMTcuNTYwNyAxMi40MzkzQzE3Ljg0MiAxMi43MjA2IDE4IDEzLjEwMjIgMTggMTMuNUMxOCAxMy44OTc4IDE3Ljg0MiAxNC4yNzk0IDE3LjU2MDcgMTQuNTYwN0MxNy4yNzk0IDE0Ljg0MiAxNi44OTc4IDE1IDE2LjUgMTVIMTUuNUMxNS4xMDIyIDE1IDE0LjcyMDYgMTQuODQyIDE0LjQzOTMgMTQuNTYwN0MxNC4xNTggMTQuMjc5NCAxNCAxMy44OTc4IDE0IDEzLjVaTTE1LjUgNkgxNi41QzE2Ljg5NzggNiAxNy4yNzk0IDYuMTU4MDQgMTcuNTYwNyA2LjQzOTM0QzE3Ljg0MiA2LjcyMDY0IDE4IDcuMTAyMTggMTggNy41QzE4IDcuODk3ODIgMTcuODQyIDguMjc5MzYgMTcuNTYwNyA4LjU2MDY2QzE3LjI3OTQgOC44NDE5NiAxNi44OTc4IDkgMTYuNSA5SDE1LjVDMTUuMTAyMiA5IDE0LjcyMDYgOC44NDE5NiAxNC40MzkzIDguNTYwNjZDMTQuMTU4IDguMjc5MzYgMTQgNy44OTc4MiAxNCA3LjVDMTQgNy4xMDIxOCAxNC4xNTggNi43MjA2NCAxNC40MzkzIDYuNDM5MzRDMTQuNzIwNiA2LjE1ODA0IDE1LjEwMjIgNiAxNS41IDZaTTYgMTkuNUM2IDE5LjEwMjIgNi4xNTgwNCAxOC43MjA2IDYuNDM5MzQgMTguNDM5M0M2LjcyMDY0IDE4LjE1OCA3LjEwMjE4IDE4IDcuNSAxOEg4LjVDOC44OTc4MiAxOCA5LjI3OTM2IDE4LjE1OCA5LjU2MDY2IDE4LjQzOTNDOS44NDE5NiAxOC43MjA2IDEwIDE5LjEwMjIgMTAgMTkuNUMxMCAxOS44OTc4IDkuODQxOTYgMjAuMjc5NCA5LjU2MDY2IDIwLjU2MDdDOS4yNzkzNiAyMC44NDIgOC44OTc4MiAyMSA4LjUgMjFINy41QzcuMTAyMTggMjEgNi43MjA2NCAyMC44NDIgNi40MzkzNCAyMC41NjA3QzYuMTU4MDQgMjAuMjc5NCA2IDE5Ljg5NzggNiAxOS41Wk0xNS41IDE4SDE2LjVDMTYuODk3OCAxOCAxNy4yNzk0IDE4LjE1OCAxNy41NjA3IDE4LjQzOTNDMTcuODQyIDE4LjcyMDYgMTggMTkuMTAyMiAxOCAxOS41QzE4IDE5Ljg5NzggMTcuODQyIDIwLjI3OTQgMTcuNTYwNyAyMC41NjA3QzE3LjI3OTQgMjAuODQyIDE2Ljg5NzggMjEgMTYuNSAyMUgxNS41QzE1LjEwMjIgMjEgMTQuNzIwNiAyMC44NDIgMTQuNDM5MyAyMC41NjA3QzE0LjE1OCAyMC4yNzk0IDE0IDE5Ljg5NzggMTQgMTkuNUMxNCAxOS4xMDIyIDE0LjE1OCAxOC43MjA2IDE0LjQzOTMgMTguNDM5M0MxNC43MjA2IDE4LjE1OCAxNS4xMDIyIDE4IDE1LjUgMThaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImJyYW5kTmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkJyYW5kIE5hbWUgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJicmFuZE5hbWVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGRpc2FibGVkLWlucHV0XCIgaWQ9XCJicmFuZE5hbWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJyZWdpc3RlcmVkQ29tcGFueU5hbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5SZWdpc3RlcmVkIENvbXBhbnkgTmFtZSA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJyZWdpc3RlcmVkQ29tcGFueU5hbWVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJyZWdpc3RlcmVkQ29tcGFueU5hbWVcIlxyXG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZHVzdHJ5XCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cImluZHVzdHJ5XCIgW2xhYmVsXT1cIidJbmR1c3RyeSBUeXBlJ1wiID48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjbGllbnRUeXBlXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cImNsaWVudFR5cGVcIiBbbGFiZWxdPVwiJ1R5cGUgb2YgQ2xpZW50J1wiID48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwicmVnaXN0ZXJlZEVtYWlsXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+UmVnaXN0ZXJlZCBFbWFpbCA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImNvcnBvcmF0ZUVtYWlsXCIgdHlwZT1cInR5cGVcIiBjbGFzcz1cImZvcm0tY29udHJvbCBkaXNhYmxlZC1pbnB1dFwiIGlkPVwicmVnaXN0ZXJlZEVtYWlsXCJcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiY29udGFjdE51bWJlclwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvbnRhY3QgbnVtYmVyIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgXCI+XHJcbiAgICAgICAgICAgIDxzZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY291bnRyeUNvZGVcIiBjbGFzcz1cImZvcm0tc2VsZWN0IGNvdW50cnktdGV4dC1kcm9wZG93biBkaXNhYmxlZC1pbnB1dFwiIGlkPVwiaW5wdXRHcm91cFNlbGVjdDAxXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjb3VudHJ5IG9mIGNvdW50cnlMaXN0XCIgY2xhc3M9XCJteC0yXCIgW3ZhbHVlXT1cImNvdW50cnk/LnBob25lY29kZVwiPnt7Y291bnRyeT8uaXNvQ29kZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8aW5wdXQgZGlzYWJsZWQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgY291bnRyeS1jb2RlLWlucHV0IGRpc2FibGVkLWlucHV0XCIgW3ZhbHVlXT1cImJyYW5kSW5mb0Zvcm0uZ2V0KCdjb3VudHJ5Q29kZScpPy52YWx1ZSA/IGJyYW5kSW5mb0Zvcm0uZ2V0KCdjb3VudHJ5Q29kZScpPy52YWx1ZSA6ICcnXCIgcmVhZG9ubHk+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJtb2JpbGVOdW1iZXJcIiB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbW9iaWxlLW51bWJlci1pbnB1dCBkaXNhYmxlZC1pbnB1dCBwcy0wXCJcclxuICAgICAgICAgICAgICAgIGlkPVwiY29udGFjdE51bWJlclwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJyZWdpc3RlcmVkQWRkcmVzc1wiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlJlZ2lzdGVyZWQgQWRkcmVzcyA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJyZWdpc3RlcmVkQWRkcmVzc1wiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInJlZ2lzdGVyZWRBZGRyZXNzXCJcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiaGVhZFF1YXJ0ZXJzXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+SGVhZCBRdWFydGVycyA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImhlYWRRdWFydGVyc1wiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImhlYWRRdWFydGVyc1wiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJjb21wYW55V2Vic2l0ZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvbXBhbnkgV2Vic2l0ZSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIndlYnNpdGVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJjb21wYW55V2Vic2l0ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cInN0YXR1c1wiIFtsYWJlbF09XCInQnJhbmQgU3RhdHVzJ1wiID48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiYnJhbmRJbmZvRm9ybS5lbmFibGVkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItNSB3LTEwMCBmb290ZXItc2VwZXJhdG9yXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICA8YSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbWUtNFwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+Q2FuY2VsPC9hPlxyXG4gICAgICAgIDxhIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IFwiIChjbGljayk9XCJvblN1Ym1pdCgpXCI+PHNwYW4+U2F2ZSBDaGFuZ2VzPC9zcGFuPjwvYT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwvZm9ybT4iXX0=
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmQtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2JyYW5kLWRldGFpbHMvYnJhbmQtaW5mby9icmFuZC1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvYnJhbmQtZGV0YWlscy9icmFuZC1pbmZvL2JyYW5kLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVExQyxNQUFNLE9BQU8sa0JBQWtCO0lBNENUO0lBQXlCO0lBQXNDO0lBQThCO0lBMUNqSCxhQUFhLENBQVc7SUFDQyxXQUFXLENBQTBCO0lBQzlELFNBQVMsQ0FBSztJQUNkLFdBQVcsR0FBUSxFQUFFLENBQUM7SUFDTCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQyxRQUFRLENBQU87SUFDZixRQUFRLEdBQUc7UUFDVCxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtRQUN0QyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtRQUN4QyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtRQUN4QyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7UUFDeEQsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUU7UUFDL0MsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7UUFDeEMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7UUFDdEMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7UUFDMUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7UUFDeEMsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFO1FBQy9ELEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtRQUNyRCxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtRQUN0QyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtRQUN0QyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUU7UUFDN0QsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7UUFDMUMsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFO1FBQ2hFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO0tBQ3ZDLENBQUE7SUFFRCxVQUFVLEdBQUc7UUFDWCxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtRQUM5QyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUU7UUFDcEQsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7UUFDdEMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7S0FDckMsQ0FBQTtJQUVELE1BQU0sR0FBRztRQUNQLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO1FBQ3BDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ2hDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQ3hDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO0tBQ3pDLENBQUE7SUFHRCxZQUFvQixFQUFlLEVBQVUsVUFBNEIsRUFBVSxFQUFxQixFQUFTLEVBQXNCO1FBQW5ILE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDckksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDOUUsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRTtvQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7aUJBQzFCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDakMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2YscUJBQXFCLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDM0IsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2QsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hCLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNwQixXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDakIsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2xCLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsQixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDYixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDWixJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDWCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6RSxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFBO2dCQUMzQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO1lBQ3pCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNwQixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFTO1FBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUMzQjtZQUNFLEdBQUcsSUFBSTtTQUNSLENBQ0YsQ0FBQTtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUMxQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvQyxJQUFJLElBQUksR0FBUyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtZQUNwQixJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtZQUN6QixDQUFDLENBQUE7WUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FFN0M7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO0lBQzFGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFBO1NBQzlDO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUE7UUFDekMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUE7UUFDOUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUE7UUFDM0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUE7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUE7SUFDOUcsQ0FBQzt1R0F2SVUsa0JBQWtCOzJGQUFsQixrQkFBa0IsaUtDWC9CLHM4WEFzSE87OzJGRDNHTSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCO2dMQU9ELFdBQVc7c0JBQW5DLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENsaWVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbGllbnQtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1icmFuZC1pbmZvJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJhbmQtaW5mby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JyYW5kLWluZm8uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmFuZEluZm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBicmFuZEluZm9Gb3JtOiBGb3JtR3JvdXBcclxuICBAVmlld0NoaWxkKCdpbWFnZUlucHV0JykgdXBsb2FkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIGJyYW5kTG9nbzogYW55XHJcbiAgY291bnRyeUxpc3Q6IGFueSA9IFtdO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGxvZ29GaWxlOiBGaWxlO1xyXG4gIGluZHVzdHJ5ID0gW1xyXG4gICAgeyB2YWx1ZTogXCJhcHBhcmVsXCIsIGxhYmVsOiBcIkFwcGFyZWxcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmb290d2VhclwiLCBsYWJlbDogXCJGb290d2VhclwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInNraW5jYXJlXCIsIGxhYmVsOiBcIlNraW5jYXJlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZm9vZGFuZGJldmVyYWdlXCIsIGxhYmVsOiBcIkZvb2QgYW5kIEJldmVyYWdlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwidGVjaHN0YXJ0dXBcIiwgbGFiZWw6IFwiVGVjaCBTdGFydHVwXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZ3Jvb21pbmdcIiwgbGFiZWw6IFwiR3Jvb21pbmdcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJsZWF0aGVyXCIsIGxhYmVsOiBcIkxlYXRoZXJcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmdXJuaXR1cmVcIiwgbGFiZWw6IFwiRnVybml0dXJlXCIgfSxcclxuICAgIHsgdmFsdWU6IFwibWF0dHJlc3NcIiwgbGFiZWw6IFwiTWF0dHJlc3NcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJjdXN0b21lcmVsZWN0cm9uaWNzXCIsIGxhYmVsOiBcIkN1c3RvbWVyIEVsZWN0cm9uaWNzXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiaW50ZXJpb3JkZXNpZ25cIiwgbGFiZWw6IFwiSW50ZXJpb3IgRGVzaWduXCIgfSxcclxuICAgIHsgdmFsdWU6IFwiZXZcIiwgbGFiZWw6IFwiRVZcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmaW50ZWNoXCIsIGxhYmVsOiBcIkZpbnRlY2hcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJwZXJmdW1lXCIsIGxhYmVsOiBcIlBlcmZ1bWVcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmYXNoaW9uYWNjZXNzb3JpZXNcIiwgbGFiZWw6IFwiRmFzaGlvbiBBY2Nlc3Nvcmllc1wiIH0sXHJcbiAgICB7IHZhbHVlOiBcIm51dHJpdGlvblwiLCBsYWJlbDogXCJOdXRyaXRpb25cIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJmYXNoaW9uYW5kbGlmZXN0eWxlXCIsIGxhYmVsOiBcIkZhc2hpb24gQW5kIExpZmVzdHlsZVwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImV5ZXdlYXJcIiwgbGFiZWw6IFwiRXlld2VhclwiIH0sXHJcbiAgXVxyXG5cclxuICBjbGllbnRUeXBlID0gW1xyXG4gICAgeyB2YWx1ZTogXCJwYXJ0bmVyc2hpcFwiLCBsYWJlbDogXCJQYXJ0bmVyc2hpcFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcInByb3ByaWV0b3JzaGlwXCIsIGxhYmVsOiBcIlByb3ByaWV0b3JzaGlwXCIgfSxcclxuICAgIHsgdmFsdWU6IFwicHZ0bHRkXCIsIGxhYmVsOiBcIlB2dC4gTHRkXCIgfSxcclxuICAgIHsgdmFsdWU6IFwicGVyc29uXCIsIGxhYmVsOiBcIlBlcnNvblwiIH0sXHJcbiAgXVxyXG5cclxuICBzdGF0dXMgPSBbXHJcbiAgICB7IHZhbHVlOiBcImFjdGl2ZVwiLCBsYWJlbDogXCJBY3RpdmVcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJob2xkXCIsIGxhYmVsOiBcIkhvbGRcIiB9LFxyXG4gICAgeyB2YWx1ZTogXCJzdXNwZW5kZWRcIiwgbGFiZWw6IFwiU3VzcGVuZFwiIH0sXHJcbiAgICB7IHZhbHVlOiBcImRlYWN0aXZlXCIsIGxhYmVsOiBcIkRlYWN0aXZlXCIgfSxcclxuICBdXHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBDbGllbnRBcGlTZXJ2aWNlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuaW5pdEZvcm0oKVxyXG4gICAgdGhpcy5nZXRDb3VudHJ5Q29kZXMoKVxyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmNsaWVudEZvcm1EYXRhLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgaWYgKHJlcy50eXBlID09PSAnaW5wdXQnICYmIHJlcy5mb3JtID09PSAnYnJhbmQtaW5mbycpIHtcclxuICAgICAgICAgIHRoaXMucGF0Y2hGb3JtKHJlcy52YWx1ZSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG5cclxuICBpbml0Rm9ybSgpIHtcclxuICAgIHRoaXMuYnJhbmRJbmZvRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBicmFuZE5hbWU6IFsnJ10sXHJcbiAgICAgIHJlZ2lzdGVyZWRDb21wYW55TmFtZTogWycnXSxcclxuICAgICAgaW5kdXN0cnk6IFsnJ10sXHJcbiAgICAgIGNsaWVudFR5cGU6IFsnJ10sXHJcbiAgICAgIGNvcnBvcmF0ZUVtYWlsOiBbJyddLFxyXG4gICAgICBjb3VudHJ5Q29kZTogWycnXSxcclxuICAgICAgbW9iaWxlTnVtYmVyOiBbJyddLFxyXG4gICAgICByZWdpc3RlcmVkQWRkcmVzczogWycnXSxcclxuICAgICAgaGVhZFF1YXJ0ZXJzOiBbJyddLFxyXG4gICAgICB3ZWJzaXRlOiBbJyddLFxyXG4gICAgICBzdGF0dXM6IFsnJ10sXHJcbiAgICAgIGxvZ286IFsnJ11cclxuICAgIH0pO1xyXG4gICAgdGhpcy5icmFuZEluZm9Gb3JtLmRpc2FibGUoKVxyXG4gIH1cclxuXHJcbiAgZ2V0Q291bnRyeUNvZGVzKCkge1xyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmdldEFsbENvdW50cmllcygpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNvdW50cnlMaXN0ID0gcmVzLmRhdGFcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwYXRjaEZvcm0oZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLmJyYW5kSW5mb0Zvcm0ucGF0Y2hWYWx1ZShcclxuICAgICAge1xyXG4gICAgICAgIC4uLmRhdGFcclxuICAgICAgfVxyXG4gICAgKVxyXG5cclxuICAgIHRoaXMuYnJhbmRMb2dvID0gZGF0YS5sb2dvXHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgdHJpZ2dlckZpbGVJbnB1dCgpIHtcclxuICAgIHRoaXMudXBsb2FkSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpXHJcbiAgfVxyXG5cclxuICBvbkZpbGVTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnRhcmdldC5maWxlcyAmJiBldmVudC50YXJnZXQuZmlsZXNbMF0pIHtcclxuICAgICAgbGV0IGZpbGU6IEZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF07XHJcbiAgICAgIHRoaXMubG9nb0ZpbGUgPSBmaWxlXHJcbiAgICAgIHZhciByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYnJhbmRMb2dvID0gZS50YXJnZXQucmVzdWx0O1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZXZlbnQudGFyZ2V0LmZpbGVzWzBdKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNhbmNlbCgpIHtcclxuICAgIHRoaXMuYnJhbmRJbmZvRm9ybS5kaXNhYmxlKClcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IG51bGwsIHR5cGU6ICdjYW5jZWwnLCBmb3JtOiAnYnJhbmQtaW5mbycgfSlcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgaWYgKHRoaXMubG9nb0ZpbGUpIHtcclxuICAgICAgdGhpcy5icmFuZEluZm9Gb3JtLnZhbHVlLmxvZ28gPSB0aGlzLmxvZ29GaWxlXHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlIHRoaXMuYnJhbmRJbmZvRm9ybS52YWx1ZS5icmFuZE5hbWVcclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUuY29ycG9yYXRlRW1haWxcclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUuY291bnRyeUNvZGVcclxuICAgIGRlbGV0ZSB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUubW9iaWxlTnVtYmVyXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB0aGlzLmJyYW5kSW5mb0Zvcm0udmFsdWUsIHR5cGU6ICdzdWJtaXQnLCBmb3JtOiAnYnJhbmQtaW5mbycgfSlcclxuICB9XHJcblxyXG5cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImJyYW5kSW5mb0Zvcm1cIiA+XHJcbjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uc2V0dGluZ3NfYnJhbmREZXRhaWxzX2lzRWRpdCBcIj5cclxuICAgIDxkaXYgKm5nSWY9XCJicmFuZEluZm9Gb3JtLmRpc2FibGVkXCIgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYnJhbmRJbmZvRm9ybS5kaXNhYmxlZCA/IGJyYW5kSW5mb0Zvcm0uZW5hYmxlKCkgOiBicmFuZEluZm9Gb3JtLmRpc2FibGUoKVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBhbGlnbi1pdGVtcy1lbmRcIj48c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yNTc5XzI1MTI1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjE2NyAyLjQ5OTkzQzE0LjM4NTkgMi4yODEwNiAxNC42NDU3IDIuMTA3NDQgMTQuOTMxNyAxLjk4ODk5QzE1LjIxNzYgMS44NzA1NCAxNS41MjQxIDEuODA5NTcgMTUuODMzNyAxLjgwOTU3QzE2LjE0MzIgMS44MDk1NyAxNi40NDk3IDEuODcwNTQgMTYuNzM1NyAxLjk4ODk5QzE3LjAyMTYgMi4xMDc0NCAxNy4yODE1IDIuMjgxMDYgMTcuNTAwMyAyLjQ5OTkzQzE3LjcxOTIgMi43MTg4IDE3Ljg5MjggMi45Nzg2MyAxOC4wMTEzIDMuMjY0NkMxOC4xMjk3IDMuNTUwNTcgMTguMTkwNyAzLjg1NzA2IDE4LjE5MDcgNC4xNjY1OUMxOC4xOTA3IDQuNDc2MTIgMTguMTI5NyA0Ljc4MjYyIDE4LjAxMTMgNS4wNjg1OUMxNy44OTI4IDUuMzU0NTUgMTcuNzE5MiA1LjYxNDM5IDE3LjUwMDMgNS44MzMyNkw2LjI1MDMzIDE3LjA4MzNMMS42NjY5OSAxOC4zMzMzTDIuOTE2OTkgMTMuNzQ5OUwxNC4xNjcgMi40OTk5M1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzI1NzlfMjUxMjVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5FZGl0IERldGFpbHM8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PiAgICAgICAgXHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiQnJhbmRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5CcmFuZCBMb2dvIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgI2ltYWdlSW5wdXQgYWNjZXB0PVwiLnBuZywgLmpwZywgLmpwZWdcIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImJyYW5kSW5mb0Zvcm0uZGlzYWJsZWRcIiAgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIHR5cGU9XCJmaWxlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImJyYW5kTG9nb1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICA8c3ZnIChjbGljayk9XCJ0cmlnZ2VyRmlsZUlucHV0KClcIiBjbGFzcz1cInVwbG9hZC1pY29uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0NlwiIHZpZXdCb3g9XCIwIDAgNDggNDZcIlxyXG4gICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzJfNDE3NTUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjEwXCIgeT1cIjEwXCIgd2lkdGg9XCIyNy44MDM3XCIgaGVpZ2h0PVwiMjUuOTUwMVwiIHJ4PVwiMTIuOTc1MVwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE3Ljk0MzQgMjYuMjE3NVYyOC41MzQ4SDIwLjQyNjJMMjcuNzUyMSAyMS42OTcyTDI1LjI2OTMgMTkuMzc5OUwxNy45NDM0IDI2LjIxNzVaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzk4QTJCM1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNjY3MSAxOS4wMzc3TDI4LjEyMTEgMTcuNTk0OEMyNy44NjI5IDE3LjM1MzggMjcuNDQyNSAxNy4zNTM4IDI3LjE4NDMgMTcuNTk0OEwyNS45NzI3IDE4LjcyNTdMMjguNDU1NSAyMS4wNDI5TDI5LjY2NzEgMTkuOTEyMUMyOS45MjUzIDE5LjY3MTEgMjkuOTI1MyAxOS4yNzg3IDI5LjY2NzEgMTkuMDM3N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjOThBMkIzXCIgLz5cclxuICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfMl80MTc1NVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQ3LjgwMzdcIiBoZWlnaHQ9XCI0NS45NTAyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjI4ODMzMyAwIDAgMCAwIDAuMzEyOSAwIDAgMCAwIDAuNCAwIDAgMCAwLjE0IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzJfNDE3NTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzJfNDE3NTVcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWJyYW5kTG9nb1wiIGNsYXNzPVwidXBsb2FkLXBsYWNlaG9sZGVyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zLjUgMzJDMi41NzE3NCAzMiAxLjY4MTUgMzEuNjMxMyAxLjAyNTEzIDMwLjk3NDlDMC4zNjg3NDkgMzAuMzE4NSAwIDI5LjQyODMgMCAyOC41TDAgMy41QzAgMS41NjggMS41NjggMCAzLjUgMEgyMC41QzIyLjQzMiAwIDI0IDEuNTY4IDI0IDMuNVYyOC41QzI0IDI4LjY3IDIzLjk4OCAyOC44MzYgMjMuOTY0IDI5SDI4LjVDMjguNjMyNiAyOSAyOC43NTk4IDI4Ljk0NzMgMjguODUzNiAyOC44NTM2QzI4Ljk0NzMgMjguNzU5OCAyOSAyOC42MzI2IDI5IDI4LjVWMTYuNTdDMjkuMDAwMSAxNi40ODc3IDI4Ljk3OTggMTYuNDA2OCAyOC45NDExIDE2LjMzNDJDMjguOTAyNCAxNi4yNjE2IDI4Ljg0NjQgMTYuMTk5NyAyOC43NzggMTYuMTU0TDI2LjY2OCAxNC43NDhDMjYuNTA0MSAxNC42Mzg3IDI2LjM2MzMgMTQuNDk4MyAyNi4yNTM3IDE0LjMzNDZDMjYuMTQ0MSAxNC4xNzA5IDI2LjA2NzggMTMuOTg3MyAyNi4wMjkyIDEzLjc5NDJDMjUuOTkwNiAxMy42MDEgMjUuOTkwNCAxMy40MDIxIDI2LjAyODYgMTMuMjA4OUMyNi4wNjY4IDEzLjAxNTcgMjYuMTQyNyAxMi44MzE5IDI2LjI1MiAxMi42NjhDMjYuMzYxMyAxMi41MDQxIDI2LjUwMTcgMTIuMzYzMyAyNi42NjU0IDEyLjI1MzdDMjYuODI5MSAxMi4xNDQxIDI3LjAxMjcgMTIuMDY3OCAyNy4yMDU4IDEyLjAyOTJDMjcuMzk5IDExLjk5MDYgMjcuNTk3OSAxMS45OTA0IDI3Ljc5MTEgMTIuMDI4NkMyNy45ODQzIDEyLjA2NjggMjguMTY4MSAxMi4xNDI3IDI4LjMzMiAxMi4yNTJMMzAuNDQyIDEzLjY1OEMzMS40MTYgMTQuMzA4IDMyIDE1LjQgMzIgMTYuNTdWMjguNUMzMiAyOS40MjgzIDMxLjYzMTMgMzAuMzE4NSAzMC45NzQ5IDMwLjk3NDlDMzAuMzE4NSAzMS42MzEzIDI5LjQyODMgMzIgMjguNSAzMkgyMS41QzIxLjM2NyAzMS45OTk4IDIxLjIzNDUgMzEuOTgyNCAyMS4xMDYgMzEuOTQ4QzIwLjkwOCAzMS45ODIgMjAuNzA2IDMyIDIwLjUgMzJIMTQuNUMxNC4xMDIyIDMyIDEzLjcyMDYgMzEuODQyIDEzLjQzOTMgMzEuNTYwN0MxMy4xNTggMzEuMjc5NCAxMyAzMC44OTc4IDEzIDMwLjVWMjhIMTFWMzAuNUMxMSAzMC44OTc4IDEwLjg0MiAzMS4yNzk0IDEwLjU2MDcgMzEuNTYwN0MxMC4yNzk0IDMxLjg0MiA5Ljg5NzgzIDMyIDkuNSAzMkgzLjVaTTMgMjguNUMzIDI4Ljc3NiAzLjIyNCAyOSAzLjUgMjlIOFYyNi41QzggMjYuMTAyMiA4LjE1ODA0IDI1LjcyMDYgOC40MzkzNCAyNS40MzkzQzguNzIwNjQgMjUuMTU4IDkuMTAyMTggMjUgOS41IDI1SDE0LjVDMTQuODk3OCAyNSAxNS4yNzk0IDI1LjE1OCAxNS41NjA3IDI1LjQzOTNDMTUuODQyIDI1LjcyMDYgMTYgMjYuMTAyMiAxNiAyNi41VjI5SDIwLjVDMjAuNjMyNiAyOSAyMC43NTk4IDI4Ljk0NzMgMjAuODUzNiAyOC44NTM2QzIwLjk0NzMgMjguNzU5OCAyMSAyOC42MzI2IDIxIDI4LjVWMy41QzIxIDMuMzY3MzkgMjAuOTQ3MyAzLjI0MDIyIDIwLjg1MzYgMy4xNDY0NUMyMC43NTk4IDMuMDUyNjggMjAuNjMyNiAzIDIwLjUgM0gzLjVDMy4zNjczOSAzIDMuMjQwMjIgMy4wNTI2OCAzLjE0NjQ1IDMuMTQ2NDVDMy4wNTI2OCAzLjI0MDIyIDMgMy4zNjczOSAzIDMuNVYyOC41Wk03LjUgMTJIOC41QzguODk3ODIgMTIgOS4yNzkzNiAxMi4xNTggOS41NjA2NiAxMi40MzkzQzkuODQxOTYgMTIuNzIwNiAxMCAxMy4xMDIyIDEwIDEzLjVDMTAgMTMuODk3OCA5Ljg0MTk2IDE0LjI3OTQgOS41NjA2NiAxNC41NjA3QzkuMjc5MzYgMTQuODQyIDguODk3ODIgMTUgOC41IDE1SDcuNUM3LjEwMjE4IDE1IDYuNzIwNjQgMTQuODQyIDYuNDM5MzQgMTQuNTYwN0M2LjE1ODA0IDE0LjI3OTQgNiAxMy44OTc4IDYgMTMuNUM2IDEzLjEwMjIgNi4xNTgwNCAxMi43MjA2IDYuNDM5MzQgMTIuNDM5M0M2LjcyMDY0IDEyLjE1OCA3LjEwMjE4IDEyIDcuNSAxMlpNNiA3LjVDNiA3LjEwMjE4IDYuMTU4MDQgNi43MjA2NCA2LjQzOTM0IDYuNDM5MzRDNi43MjA2NCA2LjE1ODA0IDcuMTAyMTggNiA3LjUgNkg4LjVDOC44OTc4MiA2IDkuMjc5MzYgNi4xNTgwNCA5LjU2MDY2IDYuNDM5MzRDOS44NDE5NiA2LjcyMDY0IDEwIDcuMTAyMTggMTAgNy41QzEwIDcuODk3ODIgOS44NDE5NiA4LjI3OTM2IDkuNTYwNjYgOC41NjA2NkM5LjI3OTM2IDguODQxOTYgOC44OTc4MiA5IDguNSA5SDcuNUM3LjEwMjE4IDkgNi43MjA2NCA4Ljg0MTk2IDYuNDM5MzQgOC41NjA2NkM2LjE1ODA0IDguMjc5MzYgNiA3Ljg5NzgyIDYgNy41Wk0xNCAxMy41QzE0IDEzLjEwMjIgMTQuMTU4IDEyLjcyMDYgMTQuNDM5MyAxMi40MzkzQzE0LjcyMDYgMTIuMTU4IDE1LjEwMjIgMTIgMTUuNSAxMkgxNi41QzE2Ljg5NzggMTIgMTcuMjc5NCAxMi4xNTggMTcuNTYwNyAxMi40MzkzQzE3Ljg0MiAxMi43MjA2IDE4IDEzLjEwMjIgMTggMTMuNUMxOCAxMy44OTc4IDE3Ljg0MiAxNC4yNzk0IDE3LjU2MDcgMTQuNTYwN0MxNy4yNzk0IDE0Ljg0MiAxNi44OTc4IDE1IDE2LjUgMTVIMTUuNUMxNS4xMDIyIDE1IDE0LjcyMDYgMTQuODQyIDE0LjQzOTMgMTQuNTYwN0MxNC4xNTggMTQuMjc5NCAxNCAxMy44OTc4IDE0IDEzLjVaTTE1LjUgNkgxNi41QzE2Ljg5NzggNiAxNy4yNzk0IDYuMTU4MDQgMTcuNTYwNyA2LjQzOTM0QzE3Ljg0MiA2LjcyMDY0IDE4IDcuMTAyMTggMTggNy41QzE4IDcuODk3ODIgMTcuODQyIDguMjc5MzYgMTcuNTYwNyA4LjU2MDY2QzE3LjI3OTQgOC44NDE5NiAxNi44OTc4IDkgMTYuNSA5SDE1LjVDMTUuMTAyMiA5IDE0LjcyMDYgOC44NDE5NiAxNC40MzkzIDguNTYwNjZDMTQuMTU4IDguMjc5MzYgMTQgNy44OTc4MiAxNCA3LjVDMTQgNy4xMDIxOCAxNC4xNTggNi43MjA2NCAxNC40MzkzIDYuNDM5MzRDMTQuNzIwNiA2LjE1ODA0IDE1LjEwMjIgNiAxNS41IDZaTTYgMTkuNUM2IDE5LjEwMjIgNi4xNTgwNCAxOC43MjA2IDYuNDM5MzQgMTguNDM5M0M2LjcyMDY0IDE4LjE1OCA3LjEwMjE4IDE4IDcuNSAxOEg4LjVDOC44OTc4MiAxOCA5LjI3OTM2IDE4LjE1OCA5LjU2MDY2IDE4LjQzOTNDOS44NDE5NiAxOC43MjA2IDEwIDE5LjEwMjIgMTAgMTkuNUMxMCAxOS44OTc4IDkuODQxOTYgMjAuMjc5NCA5LjU2MDY2IDIwLjU2MDdDOS4yNzkzNiAyMC44NDIgOC44OTc4MiAyMSA4LjUgMjFINy41QzcuMTAyMTggMjEgNi43MjA2NCAyMC44NDIgNi40MzkzNCAyMC41NjA3QzYuMTU4MDQgMjAuMjc5NCA2IDE5Ljg5NzggNiAxOS41Wk0xNS41IDE4SDE2LjVDMTYuODk3OCAxOCAxNy4yNzk0IDE4LjE1OCAxNy41NjA3IDE4LjQzOTNDMTcuODQyIDE4LjcyMDYgMTggMTkuMTAyMiAxOCAxOS41QzE4IDE5Ljg5NzggMTcuODQyIDIwLjI3OTQgMTcuNTYwNyAyMC41NjA3QzE3LjI3OTQgMjAuODQyIDE2Ljg5NzggMjEgMTYuNSAyMUgxNS41QzE1LjEwMjIgMjEgMTQuNzIwNiAyMC44NDIgMTQuNDM5MyAyMC41NjA3QzE0LjE1OCAyMC4yNzk0IDE0IDE5Ljg5NzggMTQgMTkuNUMxNCAxOS4xMDIyIDE0LjE1OCAxOC43MjA2IDE0LjQzOTMgMTguNDM5M0MxNC43MjA2IDE4LjE1OCAxNS4xMDIyIDE4IDE1LjUgMThaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImJyYW5kTmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkJyYW5kIE5hbWUgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJicmFuZE5hbWVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGRpc2FibGVkLWlucHV0XCIgaWQ9XCJicmFuZE5hbWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJyZWdpc3RlcmVkQ29tcGFueU5hbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5SZWdpc3RlcmVkIENvbXBhbnkgTmFtZSA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJyZWdpc3RlcmVkQ29tcGFueU5hbWVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJyZWdpc3RlcmVkQ29tcGFueU5hbWVcIlxyXG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZHVzdHJ5XCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cImluZHVzdHJ5XCIgW2xhYmVsXT1cIidJbmR1c3RyeSBUeXBlJ1wiID48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjbGllbnRUeXBlXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cImNsaWVudFR5cGVcIiBbbGFiZWxdPVwiJ1R5cGUgb2YgQ2xpZW50J1wiID48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwicmVnaXN0ZXJlZEVtYWlsXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+UmVnaXN0ZXJlZCBFbWFpbCA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImNvcnBvcmF0ZUVtYWlsXCIgdHlwZT1cInR5cGVcIiBjbGFzcz1cImZvcm0tY29udHJvbCBkaXNhYmxlZC1pbnB1dFwiIGlkPVwicmVnaXN0ZXJlZEVtYWlsXCJcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTdcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiY29udGFjdE51bWJlclwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvbnRhY3QgbnVtYmVyIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgXCI+XHJcbiAgICAgICAgICAgIDxzZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY291bnRyeUNvZGVcIiBjbGFzcz1cImZvcm0tc2VsZWN0IGNvdW50cnktdGV4dC1kcm9wZG93biBkaXNhYmxlZC1pbnB1dFwiIGlkPVwiaW5wdXRHcm91cFNlbGVjdDAxXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjb3VudHJ5IG9mIGNvdW50cnlMaXN0XCIgY2xhc3M9XCJteC0yXCIgW3ZhbHVlXT1cImNvdW50cnk/LnBob25lY29kZVwiPnt7Y291bnRyeT8uaXNvQ29kZX19PC9vcHRpb24+XHJcbiAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8aW5wdXQgZGlzYWJsZWQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgY291bnRyeS1jb2RlLWlucHV0IGRpc2FibGVkLWlucHV0XCIgW3ZhbHVlXT1cImJyYW5kSW5mb0Zvcm0uZ2V0KCdjb3VudHJ5Q29kZScpPy52YWx1ZSA/IGJyYW5kSW5mb0Zvcm0uZ2V0KCdjb3VudHJ5Q29kZScpPy52YWx1ZSA6ICcnXCIgcmVhZG9ubHk+XHJcbiAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJtb2JpbGVOdW1iZXJcIiB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbW9iaWxlLW51bWJlci1pbnB1dCBkaXNhYmxlZC1pbnB1dCBwcy0wXCJcclxuICAgICAgICAgICAgICAgIGlkPVwiY29udGFjdE51bWJlclwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJyZWdpc3RlcmVkQWRkcmVzc1wiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlJlZ2lzdGVyZWQgQWRkcmVzcyA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJyZWdpc3RlcmVkQWRkcmVzc1wiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInJlZ2lzdGVyZWRBZGRyZXNzXCJcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiaGVhZFF1YXJ0ZXJzXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+SGVhZCBRdWFydGVycyA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImhlYWRRdWFydGVyc1wiIHR5cGU9XCJ0eXBlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImhlYWRRdWFydGVyc1wiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJjb21wYW55V2Vic2l0ZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvbXBhbnkgV2Vic2l0ZSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cIndlYnNpdGVcIiB0eXBlPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJjb21wYW55V2Vic2l0ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cInN0YXR1c1wiIFtsYWJlbF09XCInQnJhbmQgU3RhdHVzJ1wiID48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiYnJhbmRJbmZvRm9ybS5lbmFibGVkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItNSB3LTEwMCBmb290ZXItc2VwZXJhdG9yXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICA8YSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbWUtNFwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+Q2FuY2VsPC9hPlxyXG4gICAgICAgIDxhIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IFwiIChjbGljayk9XCJvblN1Ym1pdCgpXCI+PHNwYW4+U2F2ZSBDaGFuZ2VzPC9zcGFuPjwvYT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwvZm9ybT4iXX0=
|
|
@@ -177,11 +177,12 @@ export class ContactDirectoryComponent {
|
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
179
|
onPageChange(pageOffset) {
|
|
180
|
-
this.currentPage = pageOffset;
|
|
180
|
+
this.currentPage = Number(pageOffset);
|
|
181
181
|
this.getSpocTable();
|
|
182
182
|
}
|
|
183
183
|
onPageSizeChange(pageSize) {
|
|
184
|
-
this.pageSize = pageSize;
|
|
184
|
+
this.pageSize = Number(pageSize);
|
|
185
|
+
this.currentPage = 1;
|
|
185
186
|
this.getSpocTable();
|
|
186
187
|
}
|
|
187
188
|
onExport() {
|
|
@@ -215,10 +216,10 @@ export class ContactDirectoryComponent {
|
|
|
215
216
|
return idArray;
|
|
216
217
|
}
|
|
217
218
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ContactDirectoryComponent, deps: [{ token: i1.ClientApiService }, { token: i0.ChangeDetectorRef }, { token: i2.NgbModal }, { token: i3.ToastService }, { token: i4.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
218
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ContactDirectoryComponent, selector: "lib-contact-directory", ngImport: i0, template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"true\" [searchField]=\"'name'\" [idField]=\"'latitude'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"selectedCity\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Id <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDownload \" (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"spocList?.length\" >\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Store Info</th>\r\n <th>Spoc Name & Email</th>\r\n <th>Contact Number</th>\r\n <th>Location</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n routerLink=\"/manage/stores/LKST123/infra-ticket\">{{spoc?.storeName}}</div>\r\n <div class=\"table-sub\">ID : {{spoc?.storeId}}</div>\r\n </td>\r\n \r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n <div class=\"table-sub\">{{spoc?.spocEmail}}</div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <div class=\"table-sub\">{{spoc?.storeCity}}</div>\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isEdit \" (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDelete \" (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!spocList?.length\" >\r\n <div class=\"d-flex align-items-center justify-content-center\" >\r\n <img width=\"300px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\"> \r\n </div>\r\n </ng-container>\r\n \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"shimmer-card w-100\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i3.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
|
|
219
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ContactDirectoryComponent, selector: "lib-contact-directory", ngImport: i0, template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"true\" [searchField]=\"'name'\" [idField]=\"'latitude'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"selectedCity\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Id <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDownload \" (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"spocList?.length\" >\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Store Info</th>\r\n <th>Spoc Name & Email</th>\r\n <th>Contact Number</th>\r\n <th>Location</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n routerLink=\"/manage/stores/LKST123/infra-ticket\">{{spoc?.storeName}}</div>\r\n <div class=\"table-sub\">ID : {{spoc?.storeId}}</div>\r\n </td>\r\n \r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n <div class=\"table-sub\">{{spoc?.spocEmail}}</div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <div class=\"table-sub\">{{spoc?.storeCity}}</div>\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isEdit \" (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDelete \" (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!spocList?.length\" >\r\n <div class=\"d-flex align-items-center justify-content-center\" >\r\n <img width=\"300px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\"> \r\n </div>\r\n </ng-container>\r\n \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"shimmer-card w-100\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i3.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
|
|
219
220
|
}
|
|
220
221
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ContactDirectoryComponent, decorators: [{
|
|
221
222
|
type: Component,
|
|
222
|
-
args: [{ selector: 'lib-contact-directory', template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"true\" [searchField]=\"'name'\" [idField]=\"'latitude'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"selectedCity\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Id <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDownload \" (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"spocList?.length\" >\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Store Info</th>\r\n <th>Spoc Name & Email</th>\r\n <th>Contact Number</th>\r\n <th>Location</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n routerLink=\"/manage/stores/LKST123/infra-ticket\">{{spoc?.storeName}}</div>\r\n <div class=\"table-sub\">ID : {{spoc?.storeId}}</div>\r\n </td>\r\n \r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n <div class=\"table-sub\">{{spoc?.spocEmail}}</div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <div class=\"table-sub\">{{spoc?.storeCity}}</div>\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isEdit \" (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDelete \" (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"itemsPerPage\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!spocList?.length\" >\r\n <div class=\"d-flex align-items-center justify-content-center\" >\r\n <img width=\"300px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\"> \r\n </div>\r\n </ng-container>\r\n \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"shimmer-card w-100\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}\n"] }]
|
|
223
|
+
args: [{ selector: 'lib-contact-directory', template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"true\" [searchField]=\"'name'\" [idField]=\"'latitude'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"selectedCity\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Id <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDownload \" (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"spocList?.length\" >\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Store Info</th>\r\n <th>Spoc Name & Email</th>\r\n <th>Contact Number</th>\r\n <th>Location</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n routerLink=\"/manage/stores/LKST123/infra-ticket\">{{spoc?.storeName}}</div>\r\n <div class=\"table-sub\">ID : {{spoc?.storeId}}</div>\r\n </td>\r\n \r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n <div class=\"table-sub\">{{spoc?.spocEmail}}</div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <div class=\"table-sub\">{{spoc?.storeCity}}</div>\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isEdit \" (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDelete \" (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!spocList?.length\" >\r\n <div class=\"d-flex align-items-center justify-content-center\" >\r\n <img width=\"300px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\"> \r\n </div>\r\n </ng-container>\r\n \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"shimmer-card w-100\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}\n"] }]
|
|
223
224
|
}], ctorParameters: () => [{ type: i1.ClientApiService }, { type: i0.ChangeDetectorRef }, { type: i2.NgbModal }, { type: i3.ToastService }, { type: i4.GlobalStateService }] });
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kaXJlY3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRpcmVjdG9yeS9jb250YWN0LWRpcmVjdG9yeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhY3QtZGlyZWN0b3J5L2NvbnRhY3QtZGlyZWN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7QUFXMUUsTUFBTSxPQUFPLHlCQUF5QjtJQThCaEI7SUFBeUM7SUFBK0I7SUFBK0I7SUFDbEg7SUE3QlQsV0FBVyxHQUFRLEVBQUUsQ0FBQTtJQUNyQixTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLFFBQVEsR0FBUSxFQUFFLENBQUE7SUFDbEIsU0FBUyxHQUFRLEVBQUUsQ0FBQTtJQUNuQixlQUFlLENBQUs7SUFDcEIsYUFBYSxDQUFLO0lBQ2xCLFlBQVksR0FBUSxFQUFFLENBQUE7SUFDdEIsYUFBYSxHQUFRLEVBQUUsQ0FBQTtJQUN2QixPQUFPLENBQVM7SUFFaEIsUUFBUSxHQUFRLEVBQUUsQ0FBQTtJQUNsQixR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OzsyRkRwSk8seUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDbGllbnRBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xpZW50LWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBFZGl0U3BvY0NvbXBvbmVudCB9IGZyb20gJy4vZWRpdC1zcG9jL2VkaXQtc3BvYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXRlbGVTcG9jQ29tcG9uZW50IH0gZnJvbSAnLi9kZXRlbGUtc3BvYy9kZXRlbGUtc3BvYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNvbnRhY3QtZGlyZWN0b3J5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC1kaXJlY3RvcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jb250YWN0LWRpcmVjdG9yeS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRhY3REaXJlY3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBjb3VudHJ5TGlzdDogYW55ID0gW11cclxuICBzdGF0ZUxpc3Q6IGFueSA9IFtdXHJcbiAgY2l0eUxpc3Q6IGFueSA9IFtdXHJcbiAgc3RvcmVMaXN0OiBhbnkgPSBbXVxyXG4gIHNlbGVjdGVkQ291bnRyeTogYW55XHJcbiAgc2VsZWN0ZWRTdGF0ZTogYW55XHJcbiAgc2VsZWN0ZWRDaXR5OiBhbnkgPSBbXVxyXG4gIHNlbGVjdGVkU3RvcmU6IGFueSA9IFtdXHJcbiAgY2xpZW5JZDogc3RyaW5nO1xyXG5cclxuICBzcG9jTGlzdDogYW55ID0gW11cclxuICBpc0V4cG9ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmcgfCBudWxsID0gJyc7XHJcblxyXG4gIC8vIHBhZ2luYXRpb25WYXJpYWJsZXNcclxuICBpdGVtc1BlclBhZ2UgPSAxMFxyXG4gIGN1cnJlbnRQYWdlID0gMVxyXG4gIHRvdGFsSXRlbXMgPSAwXHJcbiAgcGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdXHJcbiAgcGFnZVNpemUgPSAxMFxyXG5cclxuICBzZWFyY2hJbnB1dCA9IG5ldyBGb3JtQ29udHJvbCgpXHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHBhZ2VTdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdsb2FkZWQnIHwgJ2xvYWRpbmcnPignbG9hZGluZycpO1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpZW50U2VydmljZTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOk5nYk1vZGFsLCBwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZSxcclxuICAgIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuY2xpZW50U2VydmljZS5jbGllbnRJZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgdGhpcy5jbGllbklkID0gZVxyXG4gICAgICAgIHRoaXMuZ2V0QWxsU3RvcmVzKGUpXHJcbiAgICAgICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgdGhpcy5nZXRBbGxDb3VudHJpZXMoKVxyXG4gICAgdGhpcy5pbml0U2VhcmNoKClcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ291bnRyaWVzKCkge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbENvdW50cmllcygpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYgKGU/LmRhdGE/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuY291bnRyeUxpc3QgPSBlLmRhdGFcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvdW50cnlMaXN0ID0gW11cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU3RhdGVzKGNvdW50cnk6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbFN0YXRlcyhjb3VudHJ5KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlPy5kYXRhPy5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLnN0YXRlTGlzdCA9IGUuZGF0YVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc3RhdGVMaXN0ID0gW11cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ2l0aWVzKGNvdW50cnk6IHN0cmluZywgc3RhdGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbENpdGllcyhjb3VudHJ5LCBzdGF0ZSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZT8uZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5jaXR5TGlzdCA9IGUuZGF0YVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2l0eUxpc3QgPSBbXVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRBbGxTdG9yZXMoY2xpZW50SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldFN0b3JlTGlzdChjbGllbnRJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZSkge1xyXG4gICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gZT8uZGF0YT8ucmVzdWx0XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBbXVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25Db3VudHJ5U2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gZXZlbnRcclxuICAgIHRoaXMuZ2V0QWxsU3RhdGVzKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Lmlzb0NvZGUpXHJcbiAgfVxyXG5cclxuICBvblN0YXRlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdGF0ZSA9IGV2ZW50XHJcbiAgICB0aGlzLmdldEFsbENpdGllcyh0aGlzLnNlbGVjdGVkQ291bnRyeS5pc29Db2RlLCB0aGlzLnNlbGVjdGVkU3RhdGUuaXNvQ29kZSlcclxuICB9XHJcblxyXG4gIG9uQ2l0eVNlbGVjdChldmVudDogYW55KSB7ICAgIFxyXG4gICAgdGhpcy5zZWxlY3RlZENpdHkgPSBldmVudFxyXG4gIH1cclxuXHJcbiAgb25TdG9yZVNlbGVjdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkU3RvcmUgPSBldmVudFxyXG4gIH1cclxuXHJcbiAgb25GaWx0ZXJBcHBseSgpIHtcclxuICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICB9XHJcblxyXG4gIGdldFNwb2NUYWJsZSgpIHtcclxuICAgIHRoaXMucGFnZVN0YXRlJC5uZXh0KCdsb2FkaW5nJylcclxuICAgIGxldCBmaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge1xyXG4gICAgICBleHBvcnQ6IHRoaXMuaXNFeHBvcnQsXHJcbiAgICAgIGxpbWl0OiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICBvZmZzZXQ6IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmNsaWVuSWRcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlYXJjaFZhbHVlKSB7XHJcbiAgICAgIGZpbHRlcnMuc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDb3VudHJ5KSB7XHJcbiAgICAgIGZpbHRlcnMuY291bnRyeSA9IHRoaXMuc2VsZWN0ZWRDb3VudHJ5Lm5hbWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkU3RhdGUpIHtcclxuICAgICAgZmlsdGVycy5zdGF0ZSA9IHRoaXMuc2VsZWN0ZWRTdGF0ZS5uYW1lXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZENpdHkubGVuZ3RoKSB7XHJcbiAgICAgIGZpbHRlcnMuY2l0eSA9IHRoaXMuc2VsZWN0ZWRDaXR5Lm1hcCgoZTphbnkpPT4gZS5uYW1lKVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ2V0U3RvcmVJZEFycmF5KHRoaXMuc2VsZWN0ZWRTdG9yZSk/Lmxlbmd0aCkge1xyXG4gICAgICBmaWx0ZXJzLnN0b3JlSWQgPSB0aGlzLmdldFN0b3JlSWRBcnJheSh0aGlzLnNlbGVjdGVkU3RvcmUpXHJcbiAgICB9ICAgIFxyXG5cclxuICAgIGlmKHRoaXMuaXNFeHBvcnQpe1xyXG4gICAgICB0aGlzLmNsaWVudFNlcnZpY2Uuc3BvY1RhYmxlRGF0YUV4cG9ydChmaWx0ZXJzKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAoZSkgPT4geyAgXHJcbiAgICAgICAgICB0aGlzLnBhZ2VTdGF0ZSQubmV4dCgnbG9hZGVkJylcclxuICAgICAgICAgIHRoaXMuY2xpZW50U2VydmljZS5zYXZlQXNUZW1wbGF0ZShlLCAnY29udGFjdF9kaXJlY3RvcnknKSAgICAgICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5pc0V4cG9ydCA9IGZhbHNlXHJcbiAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmNsaWVudFNlcnZpY2Uuc3BvY1RhYmxlRGF0YShmaWx0ZXJzKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGUpID0+IHsgICAgXHJcbiAgICAgICAgdGhpcy5wYWdlU3RhdGUkLm5leHQoJ2xvYWRlZCcpICAgICAgICAgICAgICBcclxuICAgICAgICAgIGlmIChlPy5kYXRhPy5jb3VudCkge1xyXG4gICAgICAgICAgICB0aGlzLnNwb2NMaXN0ID0gZS5kYXRhPy5kYXRhXHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IGUuZGF0YT8uY291bnRcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3BvY0xpc3QgPSBbXVxyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgICB9IFxyXG4gICAgICAgIFxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGUpID0+IHsgICAgICAgIFxyXG4gICAgICAgIHRoaXMuc3BvY0xpc3QgPSBbXVxyXG4gICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICB9KSBcclxuICAgIH1cclxuXHJcbiAgIFxyXG4gIH1cclxuXHJcbiAgaW5pdFNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoSW5wdXQudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5waXBlKGRlYm91bmNlVGltZSgxMDAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKFxyXG4gICAgICAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBlXHJcbiAgICAgICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZU9mZnNldFxyXG4gICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG5cclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplXHJcbiAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgfVxyXG5cclxuICBvbkV4cG9ydCgpIHtcclxuICAgIHRoaXMuaXNFeHBvcnQgPSB0cnVlXHJcbiAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgfVxyXG5cclxuICBvcGVuRWRpdFNwb2NNb2RhbChzcG9jSWQ6c3RyaW5nLCBzdG9yZUlkOnN0cmluZykge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEVkaXRTcG9jQ29tcG9uZW50LCB7IHNpemU6ICdtZCcsIGNlbnRlcmVkOiB0cnVlIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2Uuc3BvY0lkID0gc3BvY0lkXHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zdG9yZUlkID0gc3RvcmVJZFxyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKGV2ZW50KSA9PiB7ICAgICAgXHJcbiAgICAgIGlmIChldmVudD8udHlwZSA9PT0gJ2VkaXQnKSB7IFxyXG4gICAgICAgIHRoaXMudG9hc3QuZ2V0U3VjY2Vzc1RvYXN0KCdVcGRhdGVkIHN1Y2Nlc3NmdWxseS4nKSAgICAgICAgXHJcbiAgICAgICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5EZWxldGVTcG9jTW9kYWwoc3BvY0lkOnN0cmluZywgc3RvcmVJZDpzdHJpbmcpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihEZXRlbGVTcG9jQ29tcG9uZW50LCB7IHNpemU6ICdtZCcsIGNlbnRlcmVkOiB0cnVlIH0pO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2Uuc3BvY0lkID0gc3BvY0lkXHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zdG9yZUlkID0gc3RvcmVJZFxyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKGV2ZW50KSA9PiB7ICAgICAgXHJcbiAgICAgIGlmIChldmVudD8udHlwZSA9PT0gJ2RlbGV0ZScpIHsgXHJcbiAgICAgICAgdGhpcy50b2FzdC5nZXRTdWNjZXNzVG9hc3QoJ1VzZXIgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJykgICAgICAgXHJcbiAgICAgICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFN0b3JlSWRBcnJheShzdG9yZXM6YW55KXtcclxuICAgIGNvbnN0IGlkQXJyYXkgPSBzdG9yZXMubWFwKChlOmFueSk9PmUuc3RvcmVJZClcclxuICAgIHJldHVybiBpZEFycmF5XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWN0LWNhcmRcIj5cclxuICAgIDxoMyBjbGFzcz1cIm1iLTVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbWItMlwiPlNlbGVjdCBZb3VyIFByZWZlcmVuY2VzPC9zcGFuPlxyXG4gICAgPC9oMz5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpbmZyYURvd25UaW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q291bnRyeSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxsaWItc2VsZWN0ICBbaXRlbXNdPVwiY291bnRyeUxpc3RcIiBbbXVsdGldPVwiZmFsc2VcIiBbc2VhcmNoRmllbGRdPVwiJ25hbWUnXCIgW2lkRmllbGRdPVwiJ2lzb0NvZGUnXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJvbkNvdW50cnlTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJbc2VsZWN0ZWRDb3VudHJ5XVwiPjwvbGliLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpbmZyYURvd25UaW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U3RhdGUgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8bGliLXNlbGVjdCBbaXRlbXNdPVwic3RhdGVMaXN0XCIgW211bHRpXT1cImZhbHNlXCIgW3NlYXJjaEZpZWxkXT1cIiduYW1lJ1wiIFtpZEZpZWxkXT1cIidpc29Db2RlJ1wiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25TdGF0ZVNlbGVjdCgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cIltzZWxlY3RlZFN0YXRlXVwiPjwvbGliLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpbmZyYURvd25UaW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q2l0eSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxsaWItc2VsZWN0IFtpdGVtc109XCJjaXR5TGlzdFwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIiduYW1lJ1wiIFtpZEZpZWxkXT1cIidsYXRpdHVkZSdcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uQ2l0eVNlbGVjdCgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cInNlbGVjdGVkQ2l0eVwiPjwvbGliLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy02IGNvbC14bC02IGNvbC14eGwtNiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpbmZyYURvd25UaW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+U3RvcmUgSWQgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8bGliLXNlbGVjdCBbaXRlbXNdPVwic3RvcmVMaXN0XCIgW211bHRpXT1cInRydWVcIiBbc2VhcmNoRmllbGRdPVwiJ3N0b3JlTmFtZSdcIiBbaWRGaWVsZF09XCInc3RvcmVJZCdcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uU3RvcmVTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJzZWxlY3RlZFN0b3JlXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJvbkZpbHRlckFwcGx5KClcIiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBcIj48c3Bhbj5BcHBseTwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXItc2VwZXJhdG9yIG1iLTEwXCI+PC9kaXY+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlU3RhdGUkIHwgYXN5bmMgYXMgcGFnZVN0YXRlXCIgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJwYWdlU3RhdGVcIiA+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbG9hZGVkJ1wiICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+Q29udGFjdHMgTGlzdDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xdPVwic2VhcmNoSW5wdXRcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnNldHRpbmdzX2NvbnRhY3REaXJlY3RvcnlfaXNEb3dubG9hZCBcIiAoY2xpY2spPVwib25FeHBvcnQoKVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJtcy0yXCI+RXhwb3J0PC9zcGFuPiA8L2J1dHRvbj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3BvY0xpc3Q/Lmxlbmd0aFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlIG10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RvcmUgSW5mbzwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3BvYyBOYW1lICYgRW1haWw8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkNvbnRhY3QgTnVtYmVyPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5Mb2NhdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+QWN0aW9uczwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgc3BvYyBvZiBzcG9jTGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZS1wcmltYXJ5IHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rPVwiL21hbmFnZS9zdG9yZXMvTEtTVDEyMy9pbmZyYS10aWNrZXRcIj57e3Nwb2M/LnN0b3JlTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXN1YlwiPklEIDoge3tzcG9jPy5zdG9yZUlkfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZVwiPnt7c3BvYz8uc3BvY05hbWV9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtc3ViXCI+e3tzcG9jPy5zcG9jRW1haWx9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIj57e3Nwb2M/LnNwb2NOdW1iZXJ9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlXCI+e3tzcG9jPy5zdG9yZVN0YXRlfX0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXN1YlwiPnt7c3BvYz8uc3RvcmVDaXR5fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1oZWlnaHRcIj48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uc2V0dGluZ3NfY29udGFjdERpcmVjdG9yeV9pc0VkaXQgXCIgKGNsaWNrKT1cIm9wZW5FZGl0U3BvY01vZGFsKHNwb2M/LnNwb2NJZCwgc3BvYz8uc3RvcmVJZClcIiBjbGFzcz1cIm1lLTVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81NTQxXzY3NTkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjE2Njk5IDMuMzMzMzJIMy4zMzM2NkMyLjg5MTYzIDMuMzMzMzIgMi40Njc3MSAzLjUwODkxIDIuMTU1MTUgMy44MjE0N0MxLjg0MjU5IDQuMTM0MDMgMS42NjY5OSA0LjU1Nzk2IDEuNjY2OTkgNC45OTk5OVYxNi42NjY3QzEuNjY2OTkgMTcuMTA4NyAxLjg0MjU5IDE3LjUzMjYgMi4xNTUxNSAxNy44NDUyQzIuNDY3NzEgMTguMTU3NyAyLjg5MTYzIDE4LjMzMzMgMy4zMzM2NiAxOC4zMzMzSDE1LjAwMDNDMTUuNDQyNCAxOC4zMzMzIDE1Ljg2NjMgMTguMTU3NyAxNi4xNzg4IDE3Ljg0NTJDMTYuNDkxNCAxNy41MzI2IDE2LjY2NyAxNy4xMDg3IDE2LjY2NyAxNi42NjY3VjEwLjgzMzNNMTUuNDE3IDIuMDgzMzJDMTUuNzQ4NSAxLjc1MTggMTYuMTk4MiAxLjU2NTU1IDE2LjY2NyAxLjU2NTU1QzE3LjEzNTggMS41NjU1NSAxNy41ODU1IDEuNzUxOCAxNy45MTcgMi4wODMzMkMxOC4yNDg1IDIuNDE0ODQgMTguNDM0OCAyLjg2NDQ4IDE4LjQzNDggMy4zMzMzMkMxOC40MzQ4IDMuODAyMTYgMTguMjQ4NSA0LjI1MTggMTcuOTE3IDQuNTgzMzJMMTAuMDAwMyAxMi41TDYuNjY2OTkgMTMuMzMzM0w3LjUwMDMzIDkuOTk5OTlMMTUuNDE3IDIuMDgzMzJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTU0MV82NzU5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uc2V0dGluZ3NfY29udGFjdERpcmVjdG9yeV9pc0RlbGV0ZSBcIiAoY2xpY2spPVwib3BlbkRlbGV0ZVNwb2NNb2RhbChzcG9jPy5zcG9jSWQsIHNwb2M/LnN0b3JlSWQpXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yLjUgNS4wMDAwMkg0LjE2NjY3TTQuMTY2NjcgNS4wMDAwMkgxNy41TTQuMTY2NjcgNS4wMDAwMlYxNi42NjY3QzQuMTY2NjcgMTcuMTA4NyA0LjM0MjI2IDE3LjUzMjYgNC42NTQ4MiAxNy44NDUyQzQuOTY3MzggMTguMTU3OCA1LjM5MTMxIDE4LjMzMzQgNS44MzMzMyAxOC4zMzM0SDE0LjE2NjdDMTQuNjA4NyAxOC4zMzM0IDE1LjAzMjYgMTguMTU3OCAxNS4zNDUyIDE3Ljg0NTJDMTUuNjU3NyAxNy41MzI2IDE1LjgzMzMgMTcuMTA4NyAxNS44MzMzIDE2LjY2NjdWNS4wMDAwMkg0LjE2NjY3Wk02LjY2NjY3IDUuMDAwMDJWMy4zMzMzNUM2LjY2NjY3IDIuODkxMzMgNi44NDIyNiAyLjQ2NzQgNy4xNTQ4MiAyLjE1NDg0QzcuNDY3MzggMS44NDIyOCA3Ljg5MTMxIDEuNjY2NjkgOC4zMzMzMyAxLjY2NjY5SDExLjY2NjdDMTIuMTA4NyAxLjY2NjY5IDEyLjUzMjYgMS44NDIyOCAxMi44NDUyIDIuMTU0ODRDMTMuMTU3NyAyLjQ2NzQgMTMuMzMzMyAyLjg5MTMzIDEzLjMzMzMgMy4zMzMzNVY1LjAwMDAyTTguMzMzMzMgOS4xNjY2OVYxNC4xNjY3TTExLjY2NjcgOS4xNjY2OVYxNC4xNjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZVwiIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIiBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3BvY0xpc3Q/Lmxlbmd0aFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgd2lkdGg9XCIzMDBweFwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsb2FkaW5nJ1wiICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXItY2FyZCB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kaXJlY3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRpcmVjdG9yeS9jb250YWN0LWRpcmVjdG9yeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhY3QtZGlyZWN0b3J5L2NvbnRhY3QtZGlyZWN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7QUFXMUUsTUFBTSxPQUFPLHlCQUF5QjtJQThCaEI7SUFBeUM7SUFBK0I7SUFBK0I7SUFDbEg7SUE3QlQsV0FBVyxHQUFRLEVBQUUsQ0FBQTtJQUNyQixTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLFFBQVEsR0FBUSxFQUFFLENBQUE7SUFDbEIsU0FBUyxHQUFRLEVBQUUsQ0FBQTtJQUNuQixlQUFlLENBQUs7SUFDcEIsYUFBYSxDQUFLO0lBQ2xCLFlBQVksR0FBUSxFQUFFLENBQUE7SUFDdEIsYUFBYSxHQUFRLEVBQUUsQ0FBQTtJQUN2QixPQUFPLENBQVM7SUFFaEIsUUFBUSxHQUFRLEVBQUUsQ0FBQTtJQUNsQixR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TyxPQUFPLENBQUE7SUFDaEIsQ0FBQzt1R0FqT1UseUJBQXlCOzJGQUF6Qix5QkFBeUIsNkRDakJ0QywwK1pBcUtNOzsyRkRwSk8seUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDbGllbnRBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xpZW50LWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBFZGl0U3BvY0NvbXBvbmVudCB9IGZyb20gJy4vZWRpdC1zcG9jL2VkaXQtc3BvYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXRlbGVTcG9jQ29tcG9uZW50IH0gZnJvbSAnLi9kZXRlbGUtc3BvYy9kZXRlbGUtc3BvYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNvbnRhY3QtZGlyZWN0b3J5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC1kaXJlY3RvcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jb250YWN0LWRpcmVjdG9yeS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRhY3REaXJlY3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBjb3VudHJ5TGlzdDogYW55ID0gW11cclxuICBzdGF0ZUxpc3Q6IGFueSA9IFtdXHJcbiAgY2l0eUxpc3Q6IGFueSA9IFtdXHJcbiAgc3RvcmVMaXN0OiBhbnkgPSBbXVxyXG4gIHNlbGVjdGVkQ291bnRyeTogYW55XHJcbiAgc2VsZWN0ZWRTdGF0ZTogYW55XHJcbiAgc2VsZWN0ZWRDaXR5OiBhbnkgPSBbXVxyXG4gIHNlbGVjdGVkU3RvcmU6IGFueSA9IFtdXHJcbiAgY2xpZW5JZDogc3RyaW5nO1xyXG5cclxuICBzcG9jTGlzdDogYW55ID0gW11cclxuICBpc0V4cG9ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmcgfCBudWxsID0gJyc7XHJcblxyXG4gIC8vIHBhZ2luYXRpb25WYXJpYWJsZXNcclxuICBpdGVtc1BlclBhZ2UgPSAxMFxyXG4gIGN1cnJlbnRQYWdlID0gMVxyXG4gIHRvdGFsSXRlbXMgPSAwXHJcbiAgcGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdXHJcbiAgcGFnZVNpemUgPSAxMFxyXG5cclxuICBzZWFyY2hJbnB1dCA9IG5ldyBGb3JtQ29udHJvbCgpXHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHBhZ2VTdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdsb2FkZWQnIHwgJ2xvYWRpbmcnPignbG9hZGluZycpO1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpZW50U2VydmljZTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOk5nYk1vZGFsLCBwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZSxcclxuICAgIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuY2xpZW50U2VydmljZS5jbGllbnRJZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgdGhpcy5jbGllbklkID0gZVxyXG4gICAgICAgIHRoaXMuZ2V0QWxsU3RvcmVzKGUpXHJcbiAgICAgICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgdGhpcy5nZXRBbGxDb3VudHJpZXMoKVxyXG4gICAgdGhpcy5pbml0U2VhcmNoKClcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ291bnRyaWVzKCkge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbENvdW50cmllcygpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYgKGU/LmRhdGE/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuY291bnRyeUxpc3QgPSBlLmRhdGFcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvdW50cnlMaXN0ID0gW11cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU3RhdGVzKGNvdW50cnk6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbFN0YXRlcyhjb3VudHJ5KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlPy5kYXRhPy5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLnN0YXRlTGlzdCA9IGUuZGF0YVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc3RhdGVMaXN0ID0gW11cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ2l0aWVzKGNvdW50cnk6IHN0cmluZywgc3RhdGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldEFsbENpdGllcyhjb3VudHJ5LCBzdGF0ZSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZT8uZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5jaXR5TGlzdCA9IGUuZGF0YVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2l0eUxpc3QgPSBbXVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRBbGxTdG9yZXMoY2xpZW50SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmdldFN0b3JlTGlzdChjbGllbnRJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZSkge1xyXG4gICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gZT8uZGF0YT8ucmVzdWx0XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBbXVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25Db3VudHJ5U2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gZXZlbnRcclxuICAgIHRoaXMuZ2V0QWxsU3RhdGVzKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Lmlzb0NvZGUpXHJcbiAgfVxyXG5cclxuICBvblN0YXRlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdGF0ZSA9IGV2ZW50XHJcbiAgICB0aGlzLmdldEFsbENpdGllcyh0aGlzLnNlbGVjdGVkQ291bnRyeS5pc29Db2RlLCB0aGlzLnNlbGVjdGVkU3RhdGUuaXNvQ29kZSlcclxuICB9XHJcblxyXG4gIG9uQ2l0eVNlbGVjdChldmVudDogYW55KSB7ICAgIFxyXG4gICAgdGhpcy5zZWxlY3RlZENpdHkgPSBldmVudFxyXG4gIH1cclxuXHJcbiAgb25TdG9yZVNlbGVjdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkU3RvcmUgPSBldmVudFxyXG4gIH1cclxuXHJcbiAgb25GaWx0ZXJBcHBseSgpIHtcclxuICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICB9XHJcblxyXG4gIGdldFNwb2NUYWJsZSgpIHtcclxuICAgIHRoaXMucGFnZVN0YXRlJC5uZXh0KCdsb2FkaW5nJylcclxuICAgIGxldCBmaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge1xyXG4gICAgICBleHBvcnQ6IHRoaXMuaXNFeHBvcnQsXHJcbiAgICAgIGxpbWl0OiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICBvZmZzZXQ6IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmNsaWVuSWRcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlYXJjaFZhbHVlKSB7XHJcbiAgICAgIGZpbHRlcnMuc2VhcmNoID0gdGhpcy5zZWFyY2hWYWx1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDb3VudHJ5KSB7XHJcbiAgICAgIGZpbHRlcnMuY291bnRyeSA9IHRoaXMuc2VsZWN0ZWRDb3VudHJ5Lm5hbWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkU3RhdGUpIHtcclxuICAgICAgZmlsdGVycy5zdGF0ZSA9IHRoaXMuc2VsZWN0ZWRTdGF0ZS5uYW1lXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZENpdHkubGVuZ3RoKSB7XHJcbiAgICAgIGZpbHRlcnMuY2l0eSA9IHRoaXMuc2VsZWN0ZWRDaXR5Lm1hcCgoZTphbnkpPT4gZS5uYW1lKVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ2V0U3RvcmVJZEFycmF5KHRoaXMuc2VsZWN0ZWRTdG9yZSk/Lmxlbmd0aCkge1xyXG4gICAgICBmaWx0ZXJzLnN0b3JlSWQgPSB0aGlzLmdldFN0b3JlSWRBcnJheSh0aGlzLnNlbGVjdGVkU3RvcmUpXHJcbiAgICB9ICAgIFxyXG5cclxuICAgIGlmKHRoaXMuaXNFeHBvcnQpe1xyXG4gICAgICB0aGlzLmNsaWVudFNlcnZpY2Uuc3BvY1RhYmxlRGF0YUV4cG9ydChmaWx0ZXJzKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAoZSkgPT4geyAgXHJcbiAgICAgICAgICB0aGlzLnBhZ2VTdGF0ZSQubmV4dCgnbG9hZGVkJylcclxuICAgICAgICAgIHRoaXMuY2xpZW50U2VydmljZS5zYXZlQXNUZW1wbGF0ZShlLCAnY29udGFjdF9kaXJlY3RvcnknKSAgICAgICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5pc0V4cG9ydCA9IGZhbHNlXHJcbiAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmNsaWVudFNlcnZpY2Uuc3BvY1RhYmxlRGF0YShmaWx0ZXJzKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGUpID0+IHsgICAgXHJcbiAgICAgICAgdGhpcy5wYWdlU3RhdGUkLm5leHQoJ2xvYWRlZCcpICAgICAgICAgICAgICBcclxuICAgICAgICAgIGlmIChlPy5kYXRhPy5jb3VudCkge1xyXG4gICAgICAgICAgICB0aGlzLnNwb2NMaXN0ID0gZS5kYXRhPy5kYXRhXHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IGUuZGF0YT8uY291bnRcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3BvY0xpc3QgPSBbXVxyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgICB9IFxyXG4gICAgICAgIFxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGUpID0+IHsgICAgICAgIFxyXG4gICAgICAgIHRoaXMuc3BvY0xpc3QgPSBbXVxyXG4gICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICB9KSBcclxuICAgIH1cclxuXHJcbiAgIFxyXG4gIH1cclxuXHJcbiAgaW5pdFNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoSW5wdXQudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5waXBlKGRlYm91bmNlVGltZSgxMDAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKFxyXG4gICAgICAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBlXHJcbiAgICAgICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gTnVtYmVyKHBhZ2VPZmZzZXQpXHJcbiAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcblxyXG4gIH1cclxuXHJcbiAgb25QYWdlU2l6ZUNoYW5nZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gTnVtYmVyKHBhZ2VTaXplKVxyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDFcclxuICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICB9XHJcblxyXG4gIG9uRXhwb3J0KCkge1xyXG4gICAgdGhpcy5pc0V4cG9ydCA9IHRydWVcclxuICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICB9XHJcblxyXG4gIG9wZW5FZGl0U3BvY01vZGFsKHNwb2NJZDpzdHJpbmcsIHN0b3JlSWQ6c3RyaW5nKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oRWRpdFNwb2NDb21wb25lbnQsIHsgc2l6ZTogJ21kJywgY2VudGVyZWQ6IHRydWUgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zcG9jSWQgPSBzcG9jSWRcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnN0b3JlSWQgPSBzdG9yZUlkXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigoZXZlbnQpID0+IHsgICAgICBcclxuICAgICAgaWYgKGV2ZW50Py50eXBlID09PSAnZWRpdCcpIHsgXHJcbiAgICAgICAgdGhpcy50b2FzdC5nZXRTdWNjZXNzVG9hc3QoJ1VwZGF0ZWQgc3VjY2Vzc2Z1bGx5LicpICAgICAgICBcclxuICAgICAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRlbGV0ZVNwb2NNb2RhbChzcG9jSWQ6c3RyaW5nLCBzdG9yZUlkOnN0cmluZykge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKERldGVsZVNwb2NDb21wb25lbnQsIHsgc2l6ZTogJ21kJywgY2VudGVyZWQ6IHRydWUgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zcG9jSWQgPSBzcG9jSWRcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnN0b3JlSWQgPSBzdG9yZUlkXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigoZXZlbnQpID0+IHsgICAgICBcclxuICAgICAgaWYgKGV2ZW50Py50eXBlID09PSAnZGVsZXRlJykgeyBcclxuICAgICAgICB0aGlzLnRvYXN0LmdldFN1Y2Nlc3NUb2FzdCgnVXNlciBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nKSAgICAgICBcclxuICAgICAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RvcmVJZEFycmF5KHN0b3Jlczphbnkpe1xyXG4gICAgY29uc3QgaWRBcnJheSA9IHN0b3Jlcy5tYXAoKGU6YW55KT0+ZS5zdG9yZUlkKVxyXG4gICAgcmV0dXJuIGlkQXJyYXlcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhY3QtY2FyZFwiPlxyXG4gICAgPGgzIGNsYXNzPVwibWItNVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+U2VsZWN0IFlvdXIgUHJlZmVyZW5jZXM8L3NwYW4+XHJcbiAgICA8L2gzPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Db3VudHJ5IDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGxpYi1zZWxlY3QgIFtpdGVtc109XCJjb3VudHJ5TGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCInbmFtZSdcIiBbaWRGaWVsZF09XCInaXNvQ29kZSdcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uQ291bnRyeVNlbGVjdCgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cIltzZWxlY3RlZENvdW50cnldXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5TdGF0ZSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxsaWItc2VsZWN0IFtpdGVtc109XCJzdGF0ZUxpc3RcIiBbbXVsdGldPVwiZmFsc2VcIiBbc2VhcmNoRmllbGRdPVwiJ25hbWUnXCIgW2lkRmllbGRdPVwiJ2lzb0NvZGUnXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJvblN0YXRlU2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwiW3NlbGVjdGVkU3RhdGVdXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5DaXR5IDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGxpYi1zZWxlY3QgW2l0ZW1zXT1cImNpdHlMaXN0XCIgW211bHRpXT1cInRydWVcIiBbc2VhcmNoRmllbGRdPVwiJ25hbWUnXCIgW2lkRmllbGRdPVwiJ2xhdGl0dWRlJ1wiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25DaXR5U2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwic2VsZWN0ZWRDaXR5XCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5TdG9yZSBJZCA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxsaWItc2VsZWN0IFtpdGVtc109XCJzdG9yZUxpc3RcIiBbbXVsdGldPVwidHJ1ZVwiIFtzZWFyY2hGaWVsZF09XCInc3RvcmVOYW1lJ1wiIFtpZEZpZWxkXT1cIidzdG9yZUlkJ1wiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25TdG9yZVNlbGVjdCgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cInNlbGVjdGVkU3RvcmVcIj48L2xpYi1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uRmlsdGVyQXBwbHkoKVwiIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IFwiPjxzcGFuPkFwcGx5PC9zcGFuPjwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvb3Rlci1zZXBlcmF0b3IgbWItMTBcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VTdGF0ZSQgfCBhc3luYyBhcyBwYWdlU3RhdGVcIiA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInBhZ2VTdGF0ZVwiID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsb2FkZWQnXCIgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5Db250YWN0cyBMaXN0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtmb3JtQ29udHJvbF09XCJzZWFyY2hJbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uc2V0dGluZ3NfY29udGFjdERpcmVjdG9yeV9pc0Rvd25sb2FkIFwiIChjbGljayk9XCJvbkV4cG9ydCgpXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE3LjUgMTIuNVYxNS44MzMzQzE3LjUgMTYuMjc1NCAxNy4zMjQ0IDE2LjY5OTMgMTcuMDExOCAxNy4wMTE4QzE2LjY5OTMgMTcuMzI0NCAxNi4yNzU0IDE3LjUgMTUuODMzMyAxNy41SDQuMTY2NjdDMy43MjQ2NCAxNy41IDMuMzAwNzIgMTcuMzI0NCAyLjk4ODE2IDE3LjAxMThDMi42NzU1OSAxNi42OTkzIDIuNSAxNi4yNzU0IDIuNSAxNS44MzMzVjEyLjVNMTQuMTY2NyA2LjY2NjY3TDEwIDIuNU0xMCAyLjVMNS44MzMzMyA2LjY2NjY3TTEwIDIuNVYxMi41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cIm1zLTJcIj5FeHBvcnQ8L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzcG9jTGlzdD8ubGVuZ3RoXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmUgbXQtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdG9yZSBJbmZvPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TcG9jIE5hbWUgJiBFbWFpbDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+Q29udGFjdCBOdW1iZXI8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkxvY2F0aW9uPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5BY3Rpb25zPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBzcG9jIG9mIHNwb2NMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlLXByaW1hcnkgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms9XCIvbWFuYWdlL3N0b3Jlcy9MS1NUMTIzL2luZnJhLXRpY2tldFwiPnt7c3BvYz8uc3RvcmVOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtc3ViXCI+SUQgOiB7e3Nwb2M/LnN0b3JlSWR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlXCI+e3tzcG9jPy5zcG9jTmFtZX19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1zdWJcIj57e3Nwb2M/LnNwb2NFbWFpbH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZVwiPnt7c3BvYz8uc3BvY051bWJlcn19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIj57e3Nwb2M/LnN0b3JlU3RhdGV9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtc3ViXCI+e3tzcG9jPy5zdG9yZUNpdHl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLWhlaWdodFwiPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5zZXR0aW5nc19jb250YWN0RGlyZWN0b3J5X2lzRWRpdCBcIiAoY2xpY2spPVwib3BlbkVkaXRTcG9jTW9kYWwoc3BvYz8uc3BvY0lkLCBzcG9jPy5zdG9yZUlkKVwiIGNsYXNzPVwibWUtNVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzU1NDFfNjc1OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuMTY2OTkgMy4zMzMzMkgzLjMzMzY2QzIuODkxNjMgMy4zMzMzMiAyLjQ2NzcxIDMuNTA4OTEgMi4xNTUxNSAzLjgyMTQ3QzEuODQyNTkgNC4xMzQwMyAxLjY2Njk5IDQuNTU3OTYgMS42NjY5OSA0Ljk5OTk5VjE2LjY2NjdDMS42NjY5OSAxNy4xMDg3IDEuODQyNTkgMTcuNTMyNiAyLjE1NTE1IDE3Ljg0NTJDMi40Njc3MSAxOC4xNTc3IDIuODkxNjMgMTguMzMzMyAzLjMzMzY2IDE4LjMzMzNIMTUuMDAwM0MxNS40NDI0IDE4LjMzMzMgMTUuODY2MyAxOC4xNTc3IDE2LjE3ODggMTcuODQ1MkMxNi40OTE0IDE3LjUzMjYgMTYuNjY3IDE3LjEwODcgMTYuNjY3IDE2LjY2NjdWMTAuODMzM00xNS40MTcgMi4wODMzMkMxNS43NDg1IDEuNzUxOCAxNi4xOTgyIDEuNTY1NTUgMTYuNjY3IDEuNTY1NTVDMTcuMTM1OCAxLjU2NTU1IDE3LjU4NTUgMS43NTE4IDE3LjkxNyAyLjA4MzMyQzE4LjI0ODUgMi40MTQ4NCAxOC40MzQ4IDIuODY0NDggMTguNDM0OCAzLjMzMzMyQzE4LjQzNDggMy44MDIxNiAxOC4yNDg1IDQuMjUxOCAxNy45MTcgNC41ODMzMkwxMC4wMDAzIDEyLjVMNi42NjY5OSAxMy4zMzMzTDcuNTAwMzMgOS45OTk5OUwxNS40MTcgMi4wODMzMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81NTQxXzY3NTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5zZXR0aW5nc19jb250YWN0RGlyZWN0b3J5X2lzRGVsZXRlIFwiIChjbGljayk9XCJvcGVuRGVsZXRlU3BvY01vZGFsKHNwb2M/LnNwb2NJZCwgc3BvYz8uc3RvcmVJZClcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIuNSA1LjAwMDAySDQuMTY2NjdNNC4xNjY2NyA1LjAwMDAySDE3LjVNNC4xNjY2NyA1LjAwMDAyVjE2LjY2NjdDNC4xNjY2NyAxNy4xMDg3IDQuMzQyMjYgMTcuNTMyNiA0LjY1NDgyIDE3Ljg0NTJDNC45NjczOCAxOC4xNTc4IDUuMzkxMzEgMTguMzMzNCA1LjgzMzMzIDE4LjMzMzRIMTQuMTY2N0MxNC42MDg3IDE4LjMzMzQgMTUuMDMyNiAxOC4xNTc4IDE1LjM0NTIgMTcuODQ1MkMxNS42NTc3IDE3LjUzMjYgMTUuODMzMyAxNy4xMDg3IDE1LjgzMzMgMTYuNjY2N1Y1LjAwMDAySDQuMTY2NjdaTTYuNjY2NjcgNS4wMDAwMlYzLjMzMzM1QzYuNjY2NjcgMi44OTEzMyA2Ljg0MjI2IDIuNDY3NCA3LjE1NDgyIDIuMTU0ODRDNy40NjczOCAxLjg0MjI4IDcuODkxMzEgMS42NjY2OSA4LjMzMzMzIDEuNjY2NjlIMTEuNjY2N0MxMi4xMDg3IDEuNjY2NjkgMTIuNTMyNiAxLjg0MjI4IDEyLjg0NTIgMi4xNTQ4NEMxMy4xNTc3IDIuNDY3NCAxMy4zMzMzIDIuODkxMzMgMTMuMzMzMyAzLjMzMzM1VjUuMDAwMDJNOC4zMzMzMyA5LjE2NjY5VjE0LjE2NjdNMTEuNjY2NyA5LjE2NjY5VjE0LjE2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zXCIgW3BhZ2luYXRpb25TaXplc109XCJwYWdpbmF0aW9uU2l6ZXNcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIiAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNwb2NMaXN0Py5sZW5ndGhcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHdpZHRoPVwiMzAwcHhcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbG9hZGluZydcIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyLWNhcmQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|