@rangertechnologies/ngnxt 2.1.246 → 2.1.247

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.
Files changed (36) hide show
  1. package/esm2022/environments/version.mjs +2 -2
  2. package/esm2022/lib/components/button/nxt-button.component.mjs +1 -2
  3. package/esm2022/lib/components/custom-calendar/custom-calendar.component.mjs +3 -7
  4. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +11 -28
  5. package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +11 -15
  6. package/esm2022/lib/components/datatable/datatable.component.mjs +26 -22
  7. package/esm2022/lib/components/file-upload/file-upload.component.mjs +16 -4
  8. package/esm2022/lib/components/nxt-input/nxt-input.component.mjs +18 -6
  9. package/esm2022/lib/components/pick-location/pick-location.component.mjs +11 -15
  10. package/esm2022/lib/components/search-box/search-box.component.mjs +76 -37
  11. package/esm2022/lib/interfaces/apimeta.mjs +1 -1
  12. package/esm2022/lib/interfaces/dependencyMeta.mjs +1 -1
  13. package/esm2022/lib/model/changeWrapper.mjs +1 -2
  14. package/esm2022/lib/pages/booklet/booklet.component.mjs +2 -2
  15. package/esm2022/lib/pages/builder/properties/properties.component.mjs +19 -1
  16. package/esm2022/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.mjs +1 -3
  17. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +27 -43
  18. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +10 -28
  19. package/esm2022/lib/pipe/get-value.pipe.mjs +22 -17
  20. package/esm2022/lib/services/form-builder.service.mjs +13 -1
  21. package/esm2022/lib/services/storage.service.mjs +17 -1
  22. package/fesm2022/rangertechnologies-ngnxt.mjs +303 -252
  23. package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
  24. package/lib/components/custom-calendar/custom-calendar.component.d.ts +0 -1
  25. package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +0 -1
  26. package/lib/components/pick-location/pick-location.component.d.ts +0 -1
  27. package/lib/components/search-box/search-box.component.d.ts +7 -2
  28. package/lib/interfaces/apimeta.d.ts +1 -1
  29. package/lib/interfaces/dependencyMeta.d.ts +1 -1
  30. package/lib/model/changeWrapper.d.ts +0 -1
  31. package/lib/pages/questionbook/questionbook.component.d.ts +0 -1
  32. package/lib/pages/questionnaire/questionnaire.component.d.ts +0 -1
  33. package/lib/services/storage.service.d.ts +5 -0
  34. package/package.json +1 -1
  35. package/rangertechnologies-ngnxt-2.1.247.tgz +0 -0
  36. package/rangertechnologies-ngnxt-2.1.246.tgz +0 -0
@@ -143,7 +143,11 @@ export class NxtFileUploadComponent {
143
143
  // Wait for all promises to resolve
144
144
  Promise.all(readFilesPromises).then(() => {
145
145
  this.copyOfInputAllFiles = inputFiles;
146
- this.selectedFileData.emit({ question: this.question, value: inputFiles });
146
+ let change;
147
+ change['fromQuestionId'] = this.question.id;
148
+ change['valueObj'] = inputFiles;
149
+ change['referenceField'] = this.question.referenceField;
150
+ this.selectedFileData.emit({ question: this.question, value: change });
147
151
  }).catch(() => {
148
152
  // console.error('Error reading files');
149
153
  });
@@ -159,7 +163,11 @@ export class NxtFileUploadComponent {
159
163
  const deletedFile = this.copyOfInputAllFiles.splice(currentFileIndex, 1);
160
164
  this.copyOfInputAllFiles.length > 0 ? this.viewFile(this.copyOfInputAllFiles[0]) : this.viewFile(null);
161
165
  this.deletedFileData.emit(deletedFile[0]);
162
- this.selectedFileData.emit({ question: this.question, value: this.copyOfInputAllFiles });
166
+ let change;
167
+ change['fromQuestionId'] = this.question.id;
168
+ change['valueObj'] = this.copyOfInputAllFiles;
169
+ change['referenceField'] = this.question.referenceField;
170
+ this.selectedFileData.emit({ question: this.question, value: change });
163
171
  }
164
172
  // VD 20May24 - preview changes
165
173
  // RS 09DEC24 Changed keys
@@ -244,7 +252,11 @@ export class NxtFileUploadComponent {
244
252
  saveChanges() {
245
253
  let ques = this.question;
246
254
  ques['singleFieldChange'] = true;
247
- this.selectedFileData.emit({ question: ques, value: this.copyOfInputAllFiles });
255
+ let change;
256
+ change['fromQuestionId'] = this.question.id;
257
+ change['valueObj'] = this.copyOfInputAllFiles;
258
+ change['referenceField'] = this.question.referenceField;
259
+ this.selectedFileData.emit({ question: ques, value: change });
248
260
  this.viewEdit = false; // Exit view edit mode
249
261
  this.mode = 'view'; // Switch back to view mode
250
262
  }
@@ -280,4 +292,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
280
292
  }], from: [{
281
293
  type: Input
282
294
  }] } });
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFNckgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVV0QyxNQUFNLE9BQU8sc0JBQXNCO0lBK0JiO0lBQXNDO0lBQWtDO0lBQ25GO0lBL0JDLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsUUFBUSxDQUFDO0lBQ1Qsa0JBQWtCLENBQUM7SUFDbkIsSUFBSSxHQUE4QixNQUFNLENBQUMsQ0FBQyw0QkFBNEI7SUFDdEUsZ0JBQWdCLENBQUM7SUFDakIsUUFBUSxDQUFDO0lBQ1QsS0FBSyxDQUFNO0lBQ1gsSUFBSSxDQUFNO0lBQ25CLGNBQWM7SUFDUCxnQkFBZ0IsR0FBYSxFQUFFLENBQUM7SUFDaEMsV0FBVyxHQUFXLENBQUMsQ0FBQyxDQUFFLG1CQUFtQjtJQUM3QyxRQUFRLEdBQVcsQ0FBQyxDQUFDLENBQUssZ0JBQWdCO0lBQzFDLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztJ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O1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsMkJBQTJCO0lBQ2pELENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQywyQkFBMkI7UUFDMUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxpQ0FBaUM7UUFDeEQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxzQ0FBc0M7SUFDNUQsQ0FBQzt3R0FyUVUsc0JBQXNCOzRGQUF0QixzQkFBc0IsMldDbEJuQywrcjRCQXNLTSxzaUtEekpGLFlBQVk7OzRGQUtILHNCQUFzQjtrQkFUbEMsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1A7d0JBQ1AsWUFBWSxFQUFFLFFBQVE7cUJBQ3ZCO2lLQUtTLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IFNoYXJlZFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaGFyZWQuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJMThuUGlwZSB9IGZyb20gJy4uLy4uL2kxOG4ucGlwZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBvZiB9IGZyb20gJ3J4anMnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZpbGUtdXBsb2FkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSwgSTE4blBpcGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIE54dEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZEZpbGVEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkZWxldGVkRmlsZURhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgYWxsRmlsZXM7XG4gIEBJbnB1dCgpIGxpbWl0RmlsZVVwbG9hZGluZztcbiAgQElucHV0KCkgbW9kZTogJ3ZpZXcnIHwgJ2VkaXQnIHwgJ3ByaW50JyA9ICdlZGl0JzsgLy8gU0tTMTFKVU4yNSBOZXcgbW9kZSBpbnB1dFxuICBASW5wdXQoKSBpc1Nob3dOb0ZpbGVJY29uO1xuICBASW5wdXQoKSBxdWVzdGlvbjtcbiAgQElucHV0KCkgZXJyb3I6IGFueTtcbiAgQElucHV0KCkgZnJvbTogYW55O1xuICAvL1JTIDA5SkFOMjAyNVxuICBwdWJsaWMgYWxsb3dlZEZpbGVUeXBlczogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIG1heEZpbGVTaXplOiBudW1iZXIgPSAwOyAgLy8gaW4gYnl0ZXMoQmluYXJ5KVxuICBwdWJsaWMgbWF4RmlsZXM6IG51bWJlciA9IDQ7ICAgICAvLyBkZWZhdWx0IGxpbWl0XG4gIHB1YmxpYyB2YWxpZGF0aW9uRXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG5cbiAgcHVibGljIHNlbGVjdGVkRmlsZU5hbWVBcnJheTogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIGNvcHlPZklucHV0QWxsRmlsZXM7XG4gIHB1YmxpYyBjb3B5T2ZGaWxlVXBsb2FkaW5nTGltaXQ7XG4gIHB1YmxpYyBmaWxlVXJsO1xuICBwdWJsaWMgaXNJbWFnZSA9IGZhbHNlO1xuICBwdWJsaWMgZmlsZU5hbWUgPSAnJztcbiAgY3VycmVudEZpbGU6IGFueTtcbiAgcHVibGljIHNob3dQb3B1cCA9IGZhbHNlOyAvLyBTS1MxMUpVTjI1IEFkZCBwb3B1cCB2aXNpYmlsaXR5IGNvbnRyb2xcbiAgdmlld0VkaXQ6IGJvb2xlYW4gPSBmYWxzZSBcbiAgb3JpZ2luYWxWYWx1ZTogYW55OyAvLyBTS1MxM0pVTjI1IFRvIHN0b3JlIHRoZSBvcmlnaW5hbCB2YWx1ZSB3aGVuIGVudGVyaW5nIHZpZXcgZWRpdCBtb2RlXG4gIGlzU2F2ZUhvdmVyZWQgPSBmYWxzZTtcbiAgaXNEaXNjYXJkSG92ZXJlZCA9IGZhbHNlO1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIFNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLCBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2VcbiAgKSB7IH1cbiAgLy9SUyAwOUpBTjIwMjVcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplRmlsZUNvbmZpZ3MoKTtcbiAgfVxuICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHNpbXBsZUNoYW5nZXNbJ21vZGUnXSkge1xuICAgICAgdGhpcy5tb2RlID0gc2ltcGxlQ2hhbmdlc1snbW9kZSddLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKHNpbXBsZUNoYW5nZXMuYWxsRmlsZXMpIHsgIC8vU0tTNU5PVjI1XG4gICAgICB0aGlzLmNvcHlPZklucHV0QWxsRmlsZXMgPSBzaW1wbGVDaGFuZ2VzLmFsbEZpbGVzLmN1cnJlbnRWYWx1ZSB8fCBbXTtcbiAgICB9XG5cbiAgICBpZiAoc2ltcGxlQ2hhbmdlcy5saW1pdEZpbGVVcGxvYWRpbmcpIHtcbiAgICAgIHRoaXMuY29weU9mRmlsZVVwbG9hZGluZ0xpbWl0ID0gc2ltcGxlQ2hhbmdlcy5saW1pdEZpbGVVcGxvYWRpbmc/LmN1cnJlbnRWYWx1ZTtcbiAgICB9XG5cbiAgfVxuXG4gIC8vUlMgMDlKQU4yMDI1IEluaXRpYWxpemVzIGZpbGUgdXBsb2FkIHNldHRpbmdzIChhbGxvd2VkIHR5cGVzLCBtYXggc2l6ZSwgYW5kIG1heCBmaWxlcykgYnkgcGFyc2luZyBtZXRhZGF0YSBmcm9tIGZpZWxkc01ldGFcbiAgaW5pdGlhbGl6ZUZpbGVDb25maWdzKCkge1xuICAgIGlmICh0aGlzLnF1ZXN0aW9uPy5maWVsZHNNZXRhKSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBTS1MyME1BUjI1IGNoZWNrIGlmIHF1ZXN0aW9uIGZpZWxkc21ldGEgaXMgc3RyaW5nXG4gICAgICAgIGNvbnN0IG1ldGFEYXRhID0gdHlwZW9mIHRoaXMucXVlc3Rpb25bJ2ZpZWxkc01ldGEnXSA9PT0gJ29iamVjdCcgPyB0aGlzLnF1ZXN0aW9uWydmaWVsZHNNZXRhJ10gfHwgW10gOiBKU09OLnBhcnNlKHRoaXMucXVlc3Rpb25bJ2ZpZWxkc01ldGEnXSk7XG4gICAgICAgIGNvbnN0IGZpbGVDb25maWcgPSBtZXRhRGF0YVswXTsgIC8vIEdldCBmaXJzdCBjb25maWcgb2JqZWN0XG4gICAgICAgIGlmIChmaWxlQ29uZmlnKSB7XG4gICAgICAgICAgdGhpcy5hbGxvd2VkRmlsZVR5cGVzID0gZmlsZUNvbmZpZy5hbGxvd2VkVHlwZXMgfHwgW107XG4gICAgICAgICAgdGhpcy5tYXhGaWxlU2l6ZSA9IGZpbGVDb25maWcubWF4RmlsZVNpemUgfHwgMDtcbiAgICAgICAgICB0aGlzLm1heEZpbGVzID0gZmlsZUNvbmZpZy5tYXhGaWxlcyB8fCA1O1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIGZpZWxkc01ldGE6JywgZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBTS1MxMUpVTjI1IE9wZW4gdGhlIHBvcHVwXG4gIG9wZW5Qb3B1cCgpIHtcbiAgICB0aGlzLnNob3dQb3B1cCA9IHRydWU7XG4gICAgdGhpcy52aWV3RmlsZSh0aGlzLmNvcHlPZklucHV0QWxsRmlsZXNbMF0pXG4gIH1cblxuICAvLyBTS1MxMUpVTjI1IENsb3NlIHRoZSBwb3B1cFxuICBjbG9zZVBvcHVwKCkge1xuICAgIHRoaXMuc2hvd1BvcHVwID0gZmFsc2U7XG4gIH1cbiAgdXBsb2FkTXVsdGlwbGVGaWxlcyhldmVudDogYW55KSB7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzID0gW107IC8vIFJTIDE3SkFOMjAyNSBDbGVhciBwcmV2aW91cyBlcnJvcnNcbiAgICBsZXQgaW5wdXRGaWxlczogYW55W10gPSB0aGlzLmNvcHlPZklucHV0QWxsRmlsZXMgPyB0aGlzLmNvcHlPZklucHV0QWxsRmlsZXMgOiBbXTtcbiAgICBjb25zdCBzZWxlY3RlZEZpbGVEYXRhID0gW107XG4gICAgY29uc3QgdXBsb2FkZWRGaWxlcyA9IGV2ZW50LnRhcmdldC5maWxlcztcblxuICAgIC8vIFJTIDA5SkFOMjAyNSBDaGVjayBmaWxlIGNvdW50IGxpbWl0XG4gICAgaWYgKHVwbG9hZGVkRmlsZXMubGVuZ3RoICsgaW5wdXRGaWxlcy5sZW5ndGggPiB0aGlzLm1heEZpbGVzKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaChgTWF4aW11bSAke3RoaXMubWF4RmlsZXN9IGZpbGVzIGFsbG93ZWRgKTtcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlYWRGaWxlc1Byb21pc2VzID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGVhY2hVcGxvYWRlZEZpbGUgb2YgdXBsb2FkZWRGaWxlcykge1xuICAgICAgY29uc3QgZmlsZTogRmlsZSA9IGVhY2hVcGxvYWRlZEZpbGU7XG5cbiAgICAgIC8vUlMgMDlKQU4yMDI1IENoZWNrIGZpbGUgdHlwZVxuICAgICAgY29uc3QgZmlsZUV4dCA9ICcuJyArIGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAodGhpcy5hbGxvd2VkRmlsZVR5cGVzLmxlbmd0aCA+IDAgJiYgIXRoaXMuYWxsb3dlZEZpbGVUeXBlcy5pbmNsdWRlcyhmaWxlRXh0KSkge1xuICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaChgRmlsZSB0eXBlICR7ZmlsZUV4dH0gbm90IGFsbG93ZWQuIEFsbG93ZWQgdHlwZXM6ICR7dGhpcy5hbGxvd2VkRmlsZVR5cGVzLmpvaW4oJywgJyl9YCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvL1JTIDA5SkFOMjAyNSBDaGVjayBmaWxlIHNpemVcbiAgICAgIGlmICh0aGlzLm1heEZpbGVTaXplID4gMCAmJiBmaWxlLnNpemUgPiB0aGlzLm1heEZpbGVTaXplKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycy5wdXNoKGBGaWxlIFwiJHtmaWxlLm5hbWV9XCIgZXhjZWVkcyBzaXplIGxpbWl0IG9mICR7dGhpcy5tYXhGaWxlU2l6ZSAvIDEwNDg1NzZ9TUJgKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy52YWxpZGF0aW9uRXJyb3JzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBmb3JtYXQgPSBmaWxlRXh0LnN1YnN0cmluZygxKTtcbiAgICAgICAgY29uc3QgZmlsZVJlYWRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG5cbiAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZURhdGEgPSB7XG4gICAgICAgICAgICAgIGRvYzogcmVhZGVyLnJlc3VsdCxcbiAgICAgICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgICAgIGZvcm1hdCxcbiAgICAgICAgICAgICAgc2l6ZTogZmlsZS5zaXplLCAvLyBSUyAxN0pBTjIwMjUgXG4gICAgICAgICAgICAgIGlkOiBudWxsLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgc2VsZWN0ZWRGaWxlRGF0YS5wdXNoKGZpbGVEYXRhKTtcbiAgICAgICAgICAgIGlucHV0RmlsZXMucHVzaChmaWxlRGF0YSk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJlYWRlci5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KCk7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaChgRXJyb3IgcmVhZGluZyBmaWxlIFwiJHtmaWxlLm5hbWV9XCJgKTsvLyBSUyAxN0pBTjIwMjUgXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJlYWRGaWxlc1Byb21pc2VzLnB1c2goZmlsZVJlYWRQcm9taXNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHJlYWRGaWxlc1Byb21pc2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIFdhaXQgZm9yIGFsbCBwcm9taXNlcyB0byByZXNvbHZlXG4gICAgICBQcm9taXNlLmFsbChyZWFkRmlsZXNQcm9taXNlcykudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcyA9IGlucHV0RmlsZXM7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlRGF0YS5lbWl0KHtxdWVzdGlvbiA6IHRoaXMucXVlc3Rpb24sIHZhbHVlOiBpbnB1dEZpbGVzfSk7XG4gICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJlYWRpbmcgZmlsZXMnKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1lvdSBjYW4gdXBsb2FkIG1heCA1IGZpbGVzJyk7XG4gICAgICAvLyB0aGlzLnRvYXN0ci53YXJuaW5nKFRPQVNURVJfTUVTU0FHRVMuTUFYX0ZJVkVfRklMRVMsIFRPQVNURVJfTUVTU0FHRVMuV0FSTklOR19USVRMRSk7XG4gICAgfVxuXG4gICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XG4gIH1cblxuICBkZWxldGVGaWxlKGN1cnJlbnRGaWxlSW5kZXgpIHtcbiAgICBjb25zdCBkZWxldGVkRmlsZU5hbWUgPSB0aGlzLnNlbGVjdGVkRmlsZU5hbWVBcnJheS5zcGxpY2UoY3VycmVudEZpbGVJbmRleCwgMSk7XG4gICAgY29uc3QgZGVsZXRlZEZpbGUgPSB0aGlzLmNvcHlPZklucHV0QWxsRmlsZXMuc3BsaWNlKGN1cnJlbnRGaWxlSW5kZXgsIDEpO1xuICAgIHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcy5sZW5ndGggPiAwID8gdGhpcy52aWV3RmlsZSh0aGlzLmNvcHlPZklucHV0QWxsRmlsZXNbMF0pIDogdGhpcy52aWV3RmlsZShudWxsKTtcbiAgICB0aGlzLmRlbGV0ZWRGaWxlRGF0YS5lbWl0KGRlbGV0ZWRGaWxlWzBdKTtcbiAgICB0aGlzLnNlbGVjdGVkRmlsZURhdGEuZW1pdCh7cXVlc3Rpb24gOiB0aGlzLnF1ZXN0aW9uLCB2YWx1ZTogdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzfSk7XG4gIH1cblxuXG4gIC8vIFZEIDIwTWF5MjQgLSBwcmV2aWV3IGNoYW5nZXNcbiAgLy8gUlMgMDlERUMyNCBDaGFuZ2VkIGtleXNcbiAgdmlld0ZpbGUoY3VycmVudEZpbGUpIHtcbiAgICB0aGlzLmN1cnJlbnRGaWxlID0gY3VycmVudEZpbGU7XG4gICAgLy8gQVAtMjVNQVIyNSBFbnN1cmUgc3ViVGV4dCBpcyBwYXJzZWQgaW50byBhbiBvYmplY3QgaWYgaXQncyBub3QgYWxyZWFkeVxuICAgIHRoaXMucXVlc3Rpb25bJ3N1YlRleHQnXSA9IHR5cGVvZiB0aGlzLnF1ZXN0aW9uPy5zdWJUZXh0ID09PSAnb2JqZWN0JyA/IHRoaXMucXVlc3Rpb24/LnN1YlRleHQgOiBKU09OLnBhcnNlKHRoaXMucXVlc3Rpb25bJ3N1YlRleHQnXSkgfHwge307XG4gICAgaWYgKHRoaXMucXVlc3Rpb24uc3ViVGV4dCAhPSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBmaWxlTWV0YSA9IHRoaXMucXVlc3Rpb24uc3ViVGV4dDtcbiAgICAgIGxldCBlbmRwb2ludCA9IGZpbGVNZXRhLmVuZHBvaW50O1xuICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVyID0gZmlsZU1ldGEucXVlcnlQYXJhbWV0ZXI7XG4gICAgICBsZXQgZmlsZSA9IGN1cnJlbnRGaWxlO1xuICAgICAgaWYgKGVuZHBvaW50ICYmIGZpbGVbcXVlcnlQYXJhbWV0ZXJdKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZVxuICAgICAgICBjb25zdCBmdWxsRW5kUG9pbnQgPSBlbmRwb2ludCArICc/JyArIHF1ZXJ5UGFyYW1ldGVyICsgJz0nICsgZmlsZVtxdWVyeVBhcmFtZXRlcl07XG4gICAgICAgIGlmIChmdWxsRW5kUG9pbnQpIHtcbiAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmFwaVJlc3BvbnNlKGZ1bGxFbmRQb2ludCkucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMudmlld0xvY2FsRmlsZSgpOyAvLyBDYWxsIGZhbGxiYWNrIG1ldGhvZFxuICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7IC8vIFJldHVybiBhIGZhbGxiYWNrIHZhbHVlIHRvIGtlZXAgb2JzZXJ2YWJsZSBjaGFpbiBhbGl2ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGlmIChhcGlSZXNwb25zZSkge1xuICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICAgIHRoaXMuaGFuZGxlRmlsZUNvbnRlbnQoYXBpUmVzcG9uc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZpZXdMb2NhbEZpbGUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aWV3TG9jYWxGaWxlKClcbiAgICB9XG4gIH1cblxuICAvLyAvLyBWRCAwM0F1ZzI0IHByb2Nlc3MgbG9jYWwgcHJldmlldyBcbiAgdmlld0xvY2FsRmlsZSgpIHtcbiAgICBpZiAodGhpcy5jdXJyZW50RmlsZSkge1xuICAgICAgdGhpcy5zZXRGaWxlVXJsKHRoaXMuY3VycmVudEZpbGU/LmRvYyk7XG4gICAgICB0aGlzLmZpbGVOYW1lID0gdGhpcy5jdXJyZW50RmlsZS5uYW1lO1xuICAgICAgdGhpcy5pc0ltYWdlID0gdGhpcy5jdXJyZW50RmlsZS50eXBlPy5zdGFydHNXaXRoKCdpbWFnZS8nKTtcbiAgICB9XG5cbiAgfVxuXG5cbiAgaGFuZGxlRmlsZUNvbnRlbnQoZmlsZVJlc3BvbnNlOiBhbnkpIHtcbiAgICBjb25zdCBieXRlQXJyYXkgPSBuZXcgVWludDhBcnJheShmaWxlUmVzcG9uc2UuY29udGVudC5kYXRhKTtcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2J5dGVBcnJheV0sIHsgdHlwZTogZmlsZVJlc3BvbnNlLnR5cGUgfSk7XG4gICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgdGhpcy5zZXRGaWxlVXJsKHVybCk7XG4gICAgdGhpcy5pc0ltYWdlID0gZmFsc2U7XG4gICAgaWYgKGZpbGVSZXNwb25zZS5uYW1lKSB7XG4gICAgICB0aGlzLmZpbGVOYW1lID0gZmlsZVJlc3BvbnNlLm5hbWU7XG4gICAgICBjb25zdCBpbWFnZUV4dGVuc2lvbnMgPSBbJ2pwZycsICdqcGVnJywgJ3BuZycsICdnaWYnLCAnYm1wJywgJ3dlYnAnXTtcbiAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlUmVzcG9uc2UubmFtZS5zcGxpdCgnLicpLnBvcCgpPy50b0xvd2VyQ2FzZSgpO1xuICAgICAgdGhpcy5pc0ltYWdlID0gaW1hZ2VFeHRlbnNpb25zLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24gfHwgJycpO1xuICAgIH1cbiAgfVxuXG4gIHNldEZpbGVVcmwodXJsOiBhbnkpIHtcbiAgICBpZiAodXJsKSB7XG4gICAgICB0aGlzLmZpbGVVcmwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWxlVXJsID0gbnVsbDsgLy8gb3IgaGFuZGxlIGdyYWNlZnVsbHlcbiAgICB9XG4gIH1cblxuICBnZXREb2NJY29uKGRvY05hbWUpIHtcbiAgICBjb25zdCBleHQgPSBkb2NOYW1lLnNwbGl0KCcuJykucG9wKC0xKTtcbiAgICByZXR1cm4gdGhpcy5TaGFyZWRTZXJ2aWNlLmRvY0ljb24oZXh0KTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuZmlsZU5hbWUgPSAnJztcbiAgICB0aGlzLmZpbGVVcmwgPSAnJztcbiAgICB0aGlzLmlzSW1hZ2UgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5maWxlVXJsKSB7XG4gICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHRoaXMuZmlsZVVybCk7XG4gICAgfVxuICB9XG4gIHZpZXdFZGl0Q2xpY2socXVlczogYW55KSB7XG4gICAgdGhpcy5vcmlnaW5hbFZhbHVlID0gIHRoaXMuY29weU9mSW5wdXRBbGxGaWxlczsgLy9TS1MxM0pVTjI1IFN0b3JlIHRoZSBvcmlnaW5hbCB2YWx1ZVxuICAgIHRoaXMudmlld0VkaXQgPSB0cnVlOyAvLyBFbnRlciB2aWV3IGVkaXQgbW9kZVxuICAgIHRoaXMubW9kZSA9ICdlZGl0JztcbiAgfVxuICBzYXZlQ2hhbmdlcygpIHtcbiAgICBsZXQgcXVlcyA9IHRoaXMucXVlc3Rpb25cbiAgICBxdWVzWydzaW5nbGVGaWVsZENoYW5nZSddID0gdHJ1ZVxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlRGF0YS5lbWl0KHtxdWVzdGlvbiA6IHF1ZXMsIHZhbHVlOiB0aGlzLmNvcHlPZklucHV0QWxsRmlsZXN9KTtcbiAgICB0aGlzLnZpZXdFZGl0ID0gZmFsc2U7IC8vIEV4aXQgdmlldyBlZGl0IG1vZGVcbiAgICB0aGlzLm1vZGUgPSAndmlldyc7IC8vIFN3aXRjaCBiYWNrIHRvIHZpZXcgbW9kZVxuICB9XG4gIGRpc2NhcmRDaGFuZ2VzKCkge1xuICAgIHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcyA9IHRoaXMub3JpZ2luYWxWYWx1ZTsgLy8gUmV2ZXJ0IHRvIG9yaWdpbmFsIHZhbHVlXG4gICAgdGhpcy52aWV3RWRpdCA9IGZhbHNlOyAvLyBTS1MxM0pVTjI1IEV4aXQgdmlldyBlZGl0IG1vZGVcbiAgICB0aGlzLm1vZGUgPSAndmlldyc7IC8vIFNLUzEzSlVOMjUgU3dpdGNoIGJhY2sgdG8gdmlldyBtb2RlXG4gIH1cbn1cbiIsIjwhLS0gU0tTMTFKVU4yNSBmaWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCAtLT5cbjxkaXYgY2xhc3M9XCJmbGV4IGhvdmVyLXdyYXBwZXJcIiBzdHlsZT1cImFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDtcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmlsZS1pbm5lci1kaXZcIj5cbiAgICA8c3ZnICpuZ0lmPVwiZnJvbSAhPT0gJ254dFRhYmxlJ1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCI+XG4gICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwidXJsKCNwYXR0ZXJuMF82MTZfMzUxMjUpXCIgLz5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8cGF0dGVybiBpZD1cInBhdHRlcm4wXzYxNl8zNTEyNVwiIHBhdHRlcm5Db250ZW50VW5pdHM9XCJvYmplY3RCb3VuZGluZ0JveFwiIHdpZHRoPVwiMVwiIGhlaWdodD1cIjFcIj5cbiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjaW1hZ2UwXzYxNl8zNTEyNVwiIHRyYW5zZm9ybT1cInNjYWxlKDAuMDAxOTUzMTIpXCIgLz5cbiAgICAgICAgPC9wYXR0ZXJuPlxuICAgICAgICA8aW1hZ2UgaWQ9XCJpbWFnZTBfNjE2XzM1MTI1XCIgd2lkdGg9XCI1MTJcIiBoZWlnaHQ9XCI1MTJcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiXG4gICAgICAgICAgeGxpbms6aHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBZ0FBQUFJQUNBWUFBQUQwZU5UNkFBQUFDWEJJV1hNQUFBN0RBQUFPd3dISGI2aGtBQUFBR1hSRldIUlRiMlowZDJGeVpRQjNkM2N1YVc1cmMyTmhjR1V1YjNKbm0rNDhHZ0FBSUFCSlJFRlVlSnp0M1hmWUgxV1ovL0YzU0Uvb0NhRVRBZ29pSlhUcGdnaUtnaXRSMUpVVlhjdTYrTE9nL2l6c1dxS3JhOGU2NnFMaWdvb0lBaXBXeWthVUppQWdSVVZxSUxTRWhDU1U5R1QvT045SEhwS25mT3ZjWjJiZXIrdTZyNEFYVithVG1jZWNlODZjT1RNQ1ZjVTRZQnF3ZmFPMkFUWURKZ09UR3IrT0J6WnUvUGRqZ0lsRmg1UjZaQld3dVBIUFR3TExnY2VCUjRCNXdLT05YeDhFN2dIdUF1WUFhd3BQS21WaVJIUUF0V3dNc0N1d2U2T21OLzU5cThoUVVna3RKVFVEZHdBM0F6YzBhblprS0trb05nRDVtd3djQkJ6Y3FIMkJzYUdKcEdwYlFHb0VyZ0orQzF3RExJa01KUFdDRFVCK1JwRUcvR09BRjVQdThMMU9VcHlsd0IrQVdjQWxwSVpnZFdnaXFRc2NXUEl3SG5nSjhDcmdhSjUrVGk4cFA0OEFQd04rQWx3R0xJdU5JN1hIQmlET0dOSWQvcXVCbHdIcng4YVIxSWJIZ1o4RFo1Rm1CMWJGeHBHYVp3TlF2R2NCYndiZUFHd2VHMFZTRnowSS9CajREbWxSb1pRMUc0QmlqQVNPQjA0R2pzRHpMbFhkRmNDWGdRdHhWa0NaY2lEcXJYR2s1L3IvQnV3Y25FVlM4ZTRGdmdtY0Rqd1dHMFY2Smh1QTN0Z0VlQS93Tm1EVDRDeVM0aTBtTlFHZkpXMUlKSVd6QWVpdTlZSC9CM3dRVi9KTFd0ZVRwRFVDbndUbUJtZFJ6ZGtBZE1jNDRKM0ErMG5iN2tyU1VCWUJYMnpVNG1IK1c2a25iQUE2ZHh6d0pXQ0g2Q0NTU21jKzhCL0FWM0Z6SVJYTUJxQjkwMGtELytIQk9TU1YzelhBTzREcm80T29QdGFMRGxCQzQwa0xlYTdId1Y5U2R4eEEybTc0ZE5JaVlxbm5uQUZvemFIQXQvQ1ZQa205OHdqd3I2U3RocVdlY1FhZ09ldVRPdlBMY2ZDWDFGdWJrellRK2k2K1RhUWVjZ1pnZVBzRFB5QnQ0U3RKUlpvRHZKSDBuUUdwcTBaR0I4alllcVJYKzM0SWJCYWNSVkk5YlFqOEUybnQwU3hnVFd3Y1ZZa3pBQU9iQXB4RDJyZGZrbkp3Q1hBaTdpU29MckVCV05mK3BDOTZiUnNkUkpMV01vZjBDZkdyb29Pby9Gd0UrRXduQWIvRndWOVNuclloUFFwNFhYUVFsWjlyQUpLUnBFMTlQZzJNRHM0aVNVTVpDYnljTklON2VYQVdsWmdOQUV3RWZnUzhQanFJSkRWcEJHa2pzdTJCWHdLcklzT29uT3ErQm1BTDRHZkFmdEZCSktsTmw1Rm1CSjZJRHFKeXFYTURNQlc0Rk4vdmwxUitWd0l2d1M4THFnVjFiUUNta2JybWFkRkJKS2xMcmdkZUJDeUlEcUp5cUdNRHNBdnB6bityNkNDUzFHVTNBRWRoRTZBbTFLMEIySTMwQ3MzazZDQ1MxQ1BYQVMvQU5RRWFScDMyQVhnV2NERU8vcEtxYlQvZ3A4RFk2Q0RLVzExZUE5eVdkT2Z2QmorUzZtQWFzQ053UVhRUTVhc09EY0FXd08rQUhhS0RTRktCZGdmR2tkWThTZXVvZWdNd0VmZ042ZG0vSk5YTkljQmMwaHNDMGpOVWVSSGdlcVNQK2h3ZkhVU1NBcTBBamdSK0h4MUVlYW55SXNBdjR1QXZTYU9CYy9IVlo2MmxxZzNBVzRGM1JvZVFwRXhzUVpvUkhSTWRSUG1vNGhxQS9VbmQ3cWpvSUpLVWtXMkJEWUZmUndkUkhxcldBRXdoYmZHN2FYUVFTY3JRQWNEOXdJM1JRUlN2U29zQVJ3S1hBRWRFQjVHa2pDMEJEZ1grR0IxRXNhcTBCdUJVSFB3bGFUampnUXRKTTZhcXNhck1BT3dEWEUxYTdTcEpHdDZWcEc4R0xJOE9vaGhWV0FNd2tiVEh2OTJzSkRWdk8yQVQ0RmZSUVJTakNnM0Fmd0ZIUjRlUXBCTGFIN2dQdUNrNmlJcFg5a2NBaHdQL1Mvbi9ISklVWlJsd0dIQnRkQkFWcTh3RDUzamdadEpuZmlWSjdYc0kyQmQ0TURxSWlsUG10d0Eram9PL0pIWERscVNkQXNkR0IxRnh5cm9HWURwd0J1VnVZQ1FwSjlzQ2s0RmZSQWRSTWNyYUFKd0Q3QkFkUXBJcVpsL1M0d0EzQ2FxQk1xNEJlQ1Z3WG5RSVNhb29QeDljRTJWckFNWUN0K0t6ZjBucXBZZEpzd0VQUkFkUjc1VHRHZnE3Y1BDWHBGN3IrM3l3aXdJcnJFeHJBTllIZmtUYStVK1MxRnZia0hZTC9FbDBFUFZHbVJxQVU0R1hSb2VRcEJxWkRzd0ZybzhPb3U0cnl4cUFqWUc3U2Z0V1M1S0tzd0k0Q3JnOE9vaTZxeXhyQU42TGc3OGtSUmhOZXZ5NlRYUVFkVmNaWmdBbWtENVdNU2s2aUNUVjJJM0F3Y0NTNkNEcWpqTE1BTHdaQjM5SmlyWVg4Ti9SSWRROXVTOENIQWw4SDlnME9vZ2tpZW5BQXZ4eVlDWGtQZ053UExCamRBaEowdDk5Z2ZRcGRwVmM3ZzNBeWRFQkpFblBNSnEwU2RDMDZDRHFUTTZMQUhjRTdpRHZqSkpVVnplUkZnVStGUjFFN2NsNUJ1QmZjUENYcEZ6dENad2VIVUx0eTNVUjRHamdmMGpiLzBxUzhyUUg4RGh3ZFhRUXRTN1hHWUJqU0IramtDVGw3VE9rendlclpISnRBRjRUSFVDUzFKUlJ3TG40eGxicDVQaU1mUUx3Q0U3L1MxS1ozQXdjQkR3WkhVVE55WEVHNENVNCtFdFMyZXdCbkVXZU41WWFRSTZMQUQ4SzdCb2RRcExVc2wxSXJ3VmVHUjFFdzh1dFV4c0Z6Q045L2xlU1ZENnJnV09CWDBVSDBkQnlld1J3RUE3K2tsUm02d0UvQUo0VkhVUkR5NjBCT0NZNmdDU3BZNXNBUHdNMmpBNml3ZGtBU0pKNllSZmdUUEo3MUt5R25CWUJUZ1krano4c2tsUVZ6d0dXQTcrUERxSjE1VFFEY0RBTy9wSlVOZjlCV2hTb3pPVFdBRWlTcW1VOTRHelNJd0ZseEFaQWt0UnJHd0FYQWh0RkI5SFRjcGx5SHdzc2F2d3FTYXFtbndBemdEWFJRWlRQRE1CemNmQ1hwS3A3T2ZEaDZCQktjbWtBOW9nT0lFa3F4RXpnRmRFaFpBTWdTU3JXQ09DNytNMlhjRFlBa3FTaWJRQmNnRnUvaDhxbEFYaHVkQUJKVXFGMkluMCtPSmR4cUhaeTJBbHdQUEFwOG5ralFaSlVqSjFKRGNDczZDQjFsRVBudFQwTy9wSlVWeDhDVG9nT1VVZTVOQUNTcEhvYUFad0I3QllkcEc1eWFBQ21SUWVRSklWYW4vVDU0RW5SUWVva2h3WmdtK2dBa3FSdzA0RHZrY2U0VkFzNW5Pak5vZ05Ja3JKd0RQQ0o2QkIxa1VNRDRKU1BKS25QQjRGWFI0ZW9neHdhZ01uUkFTUkoyZWpiS1hEdjZDQlZad01nU2NyTmVPQjhIQjk2S29jR1lJUG9BSktrN0d3UC9JQThOcXlycEJ3YUFEOERMRWtheU5Ha25XTFZBemswQUdPaUEwaVNzdlUrNFBYUklhb29oeTE0bnlJOTc1RWthU0JMZ0VPQlAwWUhxWkljR29DVitJeEhralMwMmNCK3dMem9JRldSd3lNQUIzOUowbkNtQXVjQW82S0RWRVVPRFlBa1NjMTRBZkRaNkJCVmtjTWpnRFhSQVNSSnBmSW0waGNFMVFFYkFFbFMyU3dGRGdPdWl3NVNaallBa3FReXVoL1lGNWdiSGFTc1hBTWdTU3FqYllFTGNDK1p0dGtBU0pMSzZtRGdDOUVoeXNwSEFKS2tzbnNMOE8zb0VHVmpBeUJKS3J0bHBFV0IxMFlIS1JNYkFFbFNGVHhFV2hUNFlIU1FzbkFOZ0NTcENyWUVmb3hmbUcyYURZQWtxU29PQkw0VUhhSXNmQVFnU2FxYXR3S25SNGZJblEyQUpLbHFWZ0JIQXIrUERwSXpHd0JKVWhVOVRGb1UrRUIwa0Z5NUJrQ1NWRVZiNEtMQUlka0FTSktxNmdCY0N6QW9Hd0JKVXBXZEJKd2NIU0pIcmdHUUpGWGRDdUFvNFBMb0lEbXhBWkFrMWNFandINmt6d2dMSHdGSWt1cGhjK0Nud1Bqb0lMbXdBWkFrMWNWZXdIOUhoOGlGRFlBa3FVNWVCN3dqT2tRT1hBTWdTYXFibGNEUndLem9JSkZzQUNSSmRUU2Z0Q2p3bnVnZ1VYd0VJRW1xbzBuQUJjQ0U2Q0JSYkFBa1NYVzFKelhlS2RBR1FKSlVaeWNDNzRrT0VjRTFBSktrdWxzRkhBdjhPanBJa1d3QUpFbUNCY0Qrd0YzUlFZcmlJd0JKa21CVDBxTEFpZEZCaW1JRElFbFNzZ2R3Rm5uTWp2ZWNEWUFrU1UrYkFid3ZPa1FSY3VoeVhBTWdTY3JKYXVBNDRKZlJRWHJKQmtDU3BIVTlSbG9VZUdkMGtGN3hFWUFrU2V2YUJQZ1pzR0Ywa0Y2eEFaQWthV0M3QUdlU3gyeDUxOWtBU0pJMHVKY0RwMGFINklVY3VoclhBRWlTY3JZYWVCRndhWFNRYnJJQmtDUnBlQThBdTVNV0IxYUNqd0FrU1JyZTFzQnAwU0c2eVJrQVNaS2FOd080TURwRU45Z0FTSkxVdkxta1J3RnpvNE4weWtjQWtpUTFid3J3NWVnUTNlQU1nQ1JKclhzVmNGNTBpRTdZQUVpUzFMcTV3RTdBb3VnZzdmSVJnQ1JKclpzQ2ZEUTZSQ2VjQVpBa3FUMHJnYjJBVzZPRHRNTVpBRW1TMmpNSytHSjBpSGJaQUVpUzFMNFhBc2RGaDJpSGp3QWtTZXJNWGNDdXdMTG9JSzF3QmtDU3BNN3NDSndTSGFKVnpnQklrdFM1eGNBMFlFRjBrR1k1QXlCSlV1YzJCTjRWSGFJVnpnQklrdFFkaTBpekFLWDRaTEF6QUpJa2RjZEd3RHVpUXpUTEdRQkprcnBuSVdrV1lHRjBrT0U0QXlCSlV2ZHNESndjSGFJWnpnQklrdFJkODBtekFJOUhCeG1LTXdDU0pIWFhKT0F0MFNHRzR3eUFKRW5kTjV1MFFkQ3E2Q0NEc1FHUUZHRTVjQzlwQzlVN2dZZUJCNEZIU045WmZ3cDRrb0duVUNjQTQwalBXaWNCbXpWcWE5SzA2dzZOMnFpWGZ3Q3BDUzhETG9vT01SZ2JBRW05dGhpNEJyaXhVVGVSQnYxZTN4bHRCK3plcUgyQWc0Q3RlbnhNcWI5TGdLT2pRd3pHQmtCU3R6MEJYQXI4TC9CNzRCYnltUWFkQ2h3TUhFbjZpM21iMkRpcXVEWEFUcVNHTnpzMkFKSzZZUTV3UHZCejBxQmZscStpN1FJY0M4d0Fua2NlZnllcVdqNEpmQ2c2eEVCeStHRzNBWkRLYVM1d0RuQXVjQlhsLy8veU5zQXJnSk9BdllPenFEcm1BTnVUenl6WTM5a0FTR3JGYXVCaTROdWt4VTNMWStQMHpPN0E2NEUza0JZYVNwMDRCdmgxZElpMTJRQklhc1lUd05uQWFjRHR3Vm1LTkJaNE5mQnVZTS9nTENxdjc1Rm1sckppQXlCcEtJOEFud2UrUmZyU1daMGRDZndiOElMb0lDcWRSY0FXd05Mb0lQMjVFNkNrZ2N3Ri9qL3BmZnJQNCtBUGNCbXBDVGdRK0dWd0ZwWExSc0NMb2tPc3pRWkFVbjlQQWg4bERmeGZJRzNJbzJlNkJuZ3A4SHpnNnVBc0tvOFRvZ09zelVjQWtpQXQ3dnNmNE1Pa0hmblV2Qm1rWm1uNzRCeksyd0pnYzJCbGRKQSt6Z0JJdXBtME9jNmJjUEJ2eHdYQWM0R1BrZGt6WG1WbFU5TGpvMnpZQUVqMTlTVHBPZjgrcEdsdHRXOEpNQlBZRFpnVkcwVVplMmwwZ1A1OEJDRFYwMVdrOTl5ejNLSzA1RVlBYndVK0Myd1FuRVY1dVJtWUhoMmlqdzJBVkMvTFNWUFZueUhEbmNrcVppcndmZUNRNkNES3hocGdDdkJvZEJEd0VZQlVKL2VTQnFQL3hNRy9DTE9CSTRDUDQvbFdNb0wwOWtnV2JBQ2tldmdGNlZuL2RkRkJhbVlsNmJYS0k0R0hnN01vRDRkSEIraGpBeUJWMnhyZ0k4QnhwTmVRRk9OeVlGL2dEOUZCRk83UTZBQjlYQU1nVmRjcTB2N2paMGNIMGQrTkJmNkw5TXFsNm1rbGFXZkE4RTIybkFHUXF1c1VIUHh6c3d4NE0zQXEzdnpVMVNneStiQ1VEWUJVVGVjQ1g0c09vVUY5R2ppUjFCQ29mdmFMRGdBMkFGSVZMUUxlR1IxQ3cvb2g2VHZ4VDBRSFVlR3kyQXZBQmtDcW5xK1NQdU9yL00waXZTbzRQenFJQ3JWTGRBQndFYUJVTlN0SlgvSzdQenFJV3JJMzhCdGdjblFRRldJUnNIRjBDR2NBcEdyNUtRNytaWFFENlh2eGk2S0RxQkFiQVZ0SGg3QUJrS3JscDlFQjFMWWJnQmZqbW9DNjJDRTZnQTJBVkMxWFJRZFFSNjRCanNlM0ErcGdhblFBR3dDcE9oNEI3b29Pb1k1ZFN2cFNvK3VqcW0zYjZBQTJBRkoxM0JFZFFGM3pJOUpIaEZSZDIwVUhzQUdRcXNNRlpOWHlNZUFIMFNIVU0xT2lBOWdBU05XeE1EcUF1bW9OYWR2Z0c2S0RxQ2MyalE1Z0F5QlZoLzkvcnA2bHdLdXd1YXNpR3dCSlhSTytxRWc5Y1JjdUNxeWk4QWJBblFDbDZyaVBERjR0YXNNSVV2T3lVNk9ta0haSjY2dlJ3Sk9OLzNZaHNBU1lEY3doYlhwMEp6Q3YyTWdodmdxOFBUcUV1bVkrd1RzLzJnQkkxYkVLMkFSNFBEcklNQ1lEaHpYcVVOSys2T003L0QzdkE2NEQvZ0JjM2FoVkhmNmV1WmtBL0JGNFRuUVFkY1hqd0lhUkFXd0FwR281RnZoRmRJZ0JQSmYwTEhzR3NCdTkvN3RuUHZCTDRHZWtQZlp6YjRxYXRTOXBzNmZSMFVIVXNXWEF1T2dRMGRaWWx0VzFPb3Q4YkE3OE8zQXpzZWZrQ2VCYndGNjkvZU1XNWhQRS81eFpuZGZxdFM5czBad0JrS3JsS1dBYU1EY3d3KzdBS2NDSndOakFIQU81R3ZneWNCNFovQVhjcHZHa3B1cFowVUhVc2RBeDJMY0FwR3FaUUxycmpyQTM4R3ZnVDhBYnlXL3dCemdRT0lmMGJ2MUxnN08wYXdud3R1Z1FVamRFVDhOWVZ0VnFKZkE4aXJNZDZkSERxaTcvT1lxbzN3UDdkUCtVRk9JYzRzK2YxVm1GOGhHQVZFMXpTRTNBZ3owOHhsamdROEI3Nlh3VmY2U1Z3R2RKZSsrWDZTdDgyd04vd1lWa1plWWpBRWxkdHcwd2k5N3RDekFkdUpiVUFKUjU4QWNZQmZ3YjZSVzcvWUt6dE9KZTRDdlJJVlJlemdCSTFUWVhPSW4wS2x3M2pBTGVEM3dVR05PbDN6TW5LNEIzQWQrSUR0S2tqVWdiSVlWdUtLTzJPUU1ncVdlbUFMOEN2Z2ZzME9Idk5aMzBEdm9ucWViZ0QrbjkrcThEMzZRYzc5b3ZBajRmSFVMbDVBeUFWQityU2MzQTE0QkxTYysraHpPQ3RGdmYyNEFUcU5kTncrOUlHeGZOanc0eWpQV0JlM0FXb0l4Q3gyQWJBS21lbmlSdG5Yc0Y2V016aTBsM2s1RFdEMHdsN2N2L0FtRExpSUNadUFsNElmazNBUjhFUGhVZFFpMnpBWWdPSUVsRCtCT3BDWGcwT3NnUU5pQjlHR21qNkNCcWlXc0FKQ2xqMDRITHlIdUsvWEhnTzlFaFZDN09BRWhTYzY0alBSSjVJanJJSUthUzNnZ1lGUjFFVFhNR1FKSktZRC9TTndSeWZUdGdOdW5yaDFKVGJBQWtxWGt2QnM0azM3ODd2eDBkUU9YaEl3QkphdDJuZ1ZPalF3eGdKT21Wd0cyamc2Z3BQZ0tRcEpMNUFQQVAwU0VHc0lvMFF5RU55eGtBU1dyUG84QmVwQTh2NVdRbjRQYm9FR3FLTXdDU1ZFS1RnYlBKYjlYOTMwaDdGMGhEc2dHUXBQWWRTdnFTWUc3T2l3NmcvUGtJUUpJNnN4VFlqYlNsY2k1OERGQU9iZ1VjSFVBcTJFTGdEdEpVN1NMU0xtNkxTUHZ6THdNMkpuM2daU0pwaTllcHdMT0I3WERXTGxjL0I0NkxEckdXdjVGK2JwU3YwREU0dDJkWFV0VThUdnFxM0N6Z1d0SmQyZHcyZjYreHBML1FkeVZOUFI4T1BKYzhHdm02TzdaUlA0OE8wcyt2c1FIUUVITDRpOE1aQUZYTm5jQVBTSDhCWDA5em45MXQxeFRnK2NEeHBOZlNKdlR3V0JyYVhhU0diSGwwa0lhWGtsZERvblg1Q0NBNmdOUUZDNEZ6Z2JPQXE0ajV1VjZmMUFpY1NQcDYzY2lBREhYM1J1QzcwU0VhSmdJTGdESFJRVFFvRzREb0FGSUg1Z0xmQUU0REZnZG42VzhxOEI3Z3pUZ3JVS1RiU2JNQXE2T0RORndOSEJBZFFvTnlId0NwaEI0QlBnaHNEOHdrcjhFZjBvZGgza1ZxQkQ1R3VoTlU3KzBNdkR3NlJEOVhSQWRRdm13QXBOWXNCejVCR3ZnL0F5d0pUVE84UjBrTnlvN0ExMGhieGFxM1BoZ2RvSjhyb3dNb1h6NENrSnAzQmZCVzRNL1JRVG93bmRRSUhCSWRwT0wyQVc2SURnRnNCVHdRSFVLRDhoR0FsTG1sd01uQVlaUjc4SWUwUmV4aHdCdElldytvTjA2TUR0RHdJTzIvZHFxS3N3R1FoblkvNlRXN2IxS2QyYW8xcEMvR1RTY3RFbFAzL1NQNXZJWGhkd0UwSUJzQWFYQ1hrTDcyZG0xMGtCNlpUZHBNNkl0VXA3bkp4WmFrYzVzREd3QU55QVpBR3RoWGdHT0ErZEZCZW13NTZYWEI0MGxiRWF0N1RvZ08wUERYNkFES2t3MkF0SzdQazE2aHE5T0srWjhDUndEem9vTlV5QkhSQVJweStraVJNbUlESUQzVFo0SDNSWWNJY2gxcGdlQjkwVUVxWWlkZzYrZ1FwSzJwcFhYWUFFaFAremp3Z2VnUXdmNEtIQVRjRmgya0lnNlBEa0I2RFhCcGRBamx4d1pBU2o0R2ZEUTZSQ1llQUk0Qzdva09VZ0dIUndjZ0xmQjhNRHFFOG1NRElLV2Q4bVlHWjhqTlE2UW00SkhvSUNXM1IzU0Fob2VqQXlnL05nQ3F1NW1rdTMrdDZ5N1NOKzZmaUE1U1lqdEhCMmg0S0RxQThtTURvRHI3R0E3K3c3a2VlQjN1RTlDdWpZQXAwU0Z3TjBBTndBWkFkVFVUcC8yYjlSUFM5d1BVbm1kSEJ3QWVqdzZnL05nQXFJNjg4Mi9kKzRDYm9rT1UxQTdSQWNqdmM5WEtnQTJBNnVaamVPZmZqbVhBYTNDM3dIWnNGQjBBR3dBTndBWkFkVElUQi85TzNFN2FLMEd0V1Q4NkFLbUJrNTdCQmtCMU1ST24vYnZoUzZSR1FNM2JJRG9BTHVMVUFHd0FWQWN6Y2ZEdmx1WEFPNkpEbEV3T0RjRHE2QURLancyQXFzNEZmOTEzQ1hCUmRBaTF4QVpBNjdBQlVKWE54R2YrdmZKaG5GWnVWZzRMOE1aR0IxQitiQUJVVlRQeHpyK1gvZ1JjRmgyaUpITFlTWEY4ZEFEbHh3WkFWVFFUQi84aWZEWTZRRW5rc0FuUHVPZ0F5bzhOZ0tyR1ovN0Z1UVM0TVRwRUNTeUtEZ0JNaUE2Zy9OZ0FxRXBtNGpQL29wMFJIYUFFN29vT0FFeU9EcUQ4MkFDb0ttYmluWCtFSHdFcm8wTms3bS9SQWJBQjBBQkdSUWVRdXFETTAvNlRnUU9CNXdIVFNjOXExeWZ0M0haSG82NENyZ1pXQldVY3lqemdVdURGMFVFeXRRQ1lIeDBDR3dCbGFvMWxkVkF6S1ovMWdHT0FDNEVWTlBmbnZCLzRJSGsreXoySitKK0RYT3ZxRHM1ck4vMlorSE5oclZ1MUYzMEJyUExXVE1ybkFOSXJkTzMrbWU4SGppbzg5ZEFta3phYWlmNTV5TEZ5K0l6eUNOSkhuS0xQaGJWdTFWNzBCYkRLV1RNcGw5SEFWMG5UK0ozKzJWY0I3eXcyL3JCdUp2NW5Jc2Q2UlNjbnRVczJJLzQ4V0FOWDdVVmZBS3Q4TlpOeUdRMmNUL2ZQdzF1TC9FTU00eXZFLzF6a1ZxdUFTWjJjMUM3WmovaHpZUTFjb1h3TFFHWHpNY3JWQUl3R3pnRm05T0QzL2hyd2toNzh2dTI0UERwQWhtNG1qd1dBTzBVSFVKNXNBRlFtRHY3UE5BbzREOWk3Ujc5L0szSlo3SmFUUzZJRE5Pd2FIVUI1c2dGUVdUajREMndDY0M2d1lZK1BNNXdIeWVPak56azVPenBBZ3cyQUJtUURvREp3OEIvYWp1U3hEMElPRzk3azRoYmdwdWdRRGJ0RkIxQ2ViQUNVT3dmLzVyd2RtRmJ3TWRkMmUvRHhjL0s5NkFBTms0ai91VkNtYkFDVU13Zi81bzBDM2h0dzNQN3VDRDUrTGxZQ1A0Z08wYkFmYVI4QWFSMDJBTXFWZzMvci9oRVlHM2o4UndPUG5aTWZrdFpFNUdELzZBREtsdzJBY3VUZzM1NU5nWU1Eajc4dzhOaTVXQVY4TWpwRVB3ZEZCMUMrYkFDVUd3Zi96aHdhZUd3YmdQUmFaaTVySWNZQWgwU0hVTDVzQUpRVEIvL083Uko0N0VXQng4N0JhdUFUMFNINmVSNHdNVHFFOG1VRG9GdzQrSGZINW9ISFhobDQ3Qno4TjNCYmRJaCtYaEFkUUhtekFWQU9IUHk3WjN6Z3NjY0VIanZhUThDcDBTSFdrc3MyMGNxVURZQ2lPZmgzMXhPQnh4NFhlT3hvN3lLdlJ5QmJrVjRCbEFabEE2QklEdjdkTnlmdzJKR3ZJRWI2T1dueFgwNk94ZmYvTlF3YkFFVng4TytOV3dPUFhjY0ZaL2NEYjRvT01ZRGpvd01vZnpZQWl2QTVIUHg3NWJlQng5NG04TmdSbGdHdkJPWkdCMW5MRk9DRjBTR1V2MUhSQVZRN1p3QWZpQTdSZ3RIQWp5akhIZFZzNEkrQng5OHU4TmdSM2c1Y0d4MWlBUCtJZjdlckNjNEFxRWpmQTk0Q3JJa08wcVMrTy84eURQNEEzeUgyM05acEJ1QWJ3TGVqUXd6aXhPZ0FVclBXV0xXb1Mwa0RhbG1NQnM0bi9ydzFXd3VCVFhweUpwcDNQZkhub1lnNmszeHZudllnL3Z4WXpWY29wNGxVaEw4QUp3QXJvb00wcVV6VC9uMCtBandXZVB5UndITUNqMStVSDVNVy9hMk9EaktJazZNRFNLMkk3c0NzM3RiRHdGVEtvMngzL211QVdhUUJPTkowNHM5RHIrczg4cjVwMmdCWVRQeDVzcHF2VUxsT1k2a2FWcER1L0dkSEIybFNtVmI3OTdrUGVDM3BLM1NSOWcwK2ZxOWRRRHJQT1c5My9IcFNFeUNWUm5RSFp2V3VUcUU4eW5qblA0L1lqLy8wOTAzaXowZXY2bnp5WDc4eUNyaWIrSE5sdFZhMUYzMEJyTjdVRHltUHNnNytlL1RpWkxUcFZ1TFBTUytxRElNL3BGZi9vcytWMVhyVlh2UUZzTHBmZDFLZXFVZ0gvODVOSS82YzlLTEtNdmlQQUc0aS9ueFpyVmNvMXdDbzIxWUNyd01lanc3U2hMN1YvbVY2NWo4UE9CSzRPVHBJUDhkRkIraUJDNERYVUk0M1YxNUJXb1FwbFU1MEIyWjF0MlpTRHFOSmY4bEhuNjlXYWk1NTNmbjMrUTN4NTZhYlZaWTdmMGh2Zjl4Ry9EbXoycXZhaTc0QVZ2ZnFPdkorVGFxUDAvN2RzeEd3bFBqejA2MHEwK0FQY0JMeDU4eHF2Mm92K2dKWTNha1Z3Tjdrenp2Lzdubzc4ZWVuVzFXMndYODhjQy94NTgxcXYyb3YrZ0pZM2FsUHIzMWhNK1RnMzMwM0VuK091bEZsRy93QlBrNzhlYk02cTlxTHZnQlc1M1VYTUdIdEM1c1pwLzI3N3dEaXoxRTNxb3lEL3pUZ0tlTFBuZFZaMVY3MEJiQTZyOXozekhmdzc0MHppRDlQblZZWkIzK0FpNGcvZDFiblZYdlJGOERxckdhdGUwbXo0clIvYjJ3SExDUCtYSFZTWlIzOFgwdjh1Yk82VTdVWGZRR3M5bXNWc00rNmx6UWJEdjY5Y3pyeDU2cVRLdXZnUHhsNGhQanpaM1duYWkvNkFsanQxNWtEWE05Y09PM2ZPOXNEeTRrL1grMVdXUWQvZ0hPSlAzOVc5NnIyb2krQTFWNnRBSjQxd1BYTWdZTi9iMzJiK1BQVmJwVjU4SDhUOGVmUDZtN1ZYdlFGc05xck13YTZtQmx3MnIrMzlpTnQ5eHg5enRxcE1nLyt6d0lXRTM4T3JlNVc3VVZmQUt2MVdnSHNPTkRGREZiR08vOHlEZjZqS085Ny8yVWUvQ2RRM3ZOdURWMjFGMzBCck5icm5BR3ZaS3lSd0krSlB6ZXRWSmtHZjREM0VuL08ycWt5RC80QTN5ZitIRnE5cWRxTHZnQlc2L1c4QWE5a3JNOFRmMTVhcWJJTi90T0FKNGcvYjYxVzJRZi9keE4vRHEzZVZlMUZYd0NydGJweTRNc1k2cCtKUHkrdFZOa0cvekhBTmNTZnQxYXI3SVAvRE5ManR1anphUFd1YWkvNkFsaXQxV3NHdm94aERxVmNHOUtVYmZBSCtCTHg1NjNWcXNMZ1grWlhMYTNtcXZhaUw0RFZmRDBLakIzNE1vYlluSEp0aWxMR3dYOEdzSnI0YzlkS09maGJaYW5haTc0QVZ2UDFwVUd1WVpTZkVIOU9tcTB5RHY1N0FBdUpQM2V0bElPL1ZhYXF2ZWdMWURWZjB3ZTVoaEZPSXY1OE5GdHpnZDE3Y3hwNlpnL1M1a1RSNTY2VmN2QzN5bGExRjMwQnJPYnFUNE5kd0FCYkFmT0pQeWZObElOL01lWGdiNVd4UXEwWEhVQ2w4ZVBvQVAxOEdkZzBPa1FUNWdFdkJHNkpEdEtDUFlETFNCK2RLWXNMU0l0VFYwUUhhZE1NMHQ0YVpXNWdwTFpFZDJCV2M3WExZQmV3WVB0VGprVnAzdmtYVTk3NVcyV3Uyb3UrQU5id2RkdWdWNjk0czRnL0g4TlZXUmY4T2ZnWHk4SGZxcjNvQzJBTlg1OGI5T29WNjZYRW40dmh5anYvWXNyQjM2cEMxVjcwQmJDR3J4Y09ldldLZFIzeDUyS284czYvbUhMd3Q2cFN0UmQ5QWF5aDZ5bGcvS0JYcnpnSEVIOHVoaXJ2L0lzcEIzK3JTaFhLdHdBMG5OOERTNkpEQUNkSEJ4aUNxLzJMNFdwL3FXS2lPekJyNlBySTRKZXVNSk5KVFVqMHVSaW92UE12cHJ6enQ2cFlvWndCMEhDdWpnNEF2QjRZRngxaUFONzVGOE03ZjZtaW9qc3dhL0JhQld3MCtLVXJ6RlhFbjR1MXl6di9Zc283ZjZ2S1ZYdlJGOEFhdlA0OHhIVXJ5dWFrUmlUNlhQUXZCLzlpeXNIZnFucUY4aEdBaHBMRDFQWng1UFZ6T2c4NGtqek9UYk9jOWkrZTAvN0tYazUvc1NvL09ld0FlRngwZ0g0Yy9Jdmg0QzhWd0FaQVE3azErUGdqZ0VPQ00vUXA2K0IvS1E3K1JYTHdWMm1NaWc2Z3JQMHQrUGc3a01kWC84bzYrSHZuWHl3SGY1V0tNd0FheXV6ZzQrOFhmUHcrYjhMQnY5Y2MvS1dDMlFCb01QT0J4NE16N0JOOGZJQnpnWXVpUTdUQXdiOTREdjRxSlJzQURlYSs2QURBcnNISFh3S2NFcHloRlQ3ekw1NkR2MHJMTlFBYXpNUFJBWUJ0ZzQ5L0h2QlFjSVptZWVkZlBBZC9sWm96QUJyTS9PZ0F3TmJCeHo4OStQak5jdkF2bm9PL1NzOEdRSU41TFBqNEU0Qk5BbzgvRzdneThQak5jdHEvZUE3K3FnUWJBQTFtUWZEeHR3dytmZzRmUVJwTzMrQy9XWFNRRmpqNFM1bHdEWUFHc3pUNCtHT0RqMzlOOFBHSDQ3Ui84Uno4VlNuT0FHZ3d5NEtQSC8yemVXZnc4WWQ1TTZoMkFBQVEyVWxFUVZUaXRIL3hIUHhWT2M0QWFERExnNDhmL2JQNVpQRHhCK09kZi9FYy9GVkowWGRaeXRmSzRPTkgvMnd1Q1Q3K1FMenpMNTZEdnlvcitpNUwrWXIrQ3k5NkFONHcrUGhyODg2L2VBNytxclRvdXl6bEszb1IzcVBCeDk4cCtQajlPZmdYejhGZmxXY0RvTUdNQ1Q3K0FtQjE0UEYzRGp4MmYwNzdGOC9CWDdWZ0E2REJUQWcrL2lwaU55TTZJdkRZZlh6UHYzZ08vcW9OR3dBTlpsSjBBR0wzNGQrTk5BQkhjZkF2bm9PL2FzVUdRSVBaTkRvQWNGdnc4ZDhUZEZ3SC8rSTUrS3QyYkFBMG1CeG1BRzROUHY3cmdIMEtQdWJ1T1BnWHpjRmZ0V1FEb01GRTc4VVBjRXZ3OGRjRHZnZXNYOUR4ZGlldDluZndMNDZEdjJyTEJrQ0RtUm9kZ1BnR0FHQVgwaURYNjljaUhmeUw1K0F2QlZ0alpWczV2SHAyUC9IbllRM3dlM3AzUHZZQTVtYndaMnlsenFmY0ErY00wbmJYMGVmUnFuZUZjZ1pBUTVrYUhRQzRKRHBBd3lIQUZjRDJYZjU5RHdOK2kzZitSZkxPWDhJR1FFTjdUblFBNE9Mb0FQM3NERndISE5PRjMyc0U4QzVTZzdOSkYzNi9vamo0UytxYTZDa1lhL0Q2MUJEWHJTaWJrVFlGaWo0WC9XczFhWEhnTm0zK21mWWlQVktJL25PMFdrNzdXMVozcS9haUw0QTFlRjAweEhVcjBtK0pQeGNEMVRMZ0ROSTAvbkN6YWVPQTQ0RmZrQnFJNk95dGxvTy9aWFcvUW8ySURrQUdKMEdEdW84ODFnRzhBZmh1ZEloaFBBWmNDZnlGdEtCdk1XbHFmMnZTcm9JSEFPUEQwblhHYVgrcE4wTEhZQnNBRFdjcllyZmtCWmdJUEV4eDcrUHJhUTcrVXUrRWpzRXVBdFJ3RG93T0FEeEptb0pXc1J6OHBRcXpBZEJ3Y21nQUFMNFJIYUJtSFB5bGlyTUIwSEFPaVE3UThBZlNIdm5xUFFkL3FRWmNBNkRockFLbUFBdWlnd0NIQTdPaVExU2NnNzlVSE5jQUtHc2pnU09pUXpUOGx2VCt2SHJEd1YrcUVSc0FOZU5GMFFINitSRE9HdldDZzc5VU16WUFhc1pMeU9kbjVYZkE5Nk5EVkl5RHYxUkRyZ0ZRc3c0aGJYU1RnODJCdndJYlJ3ZXBBQWQvS1k1ckFGUUtKMFFINk9jUjRNUFJJU3JBd1YrcU1XY0ExS3c1cEcyQlYwY0hhUmhKZWkzdzhPQWNaZVhnTDhWekJrQ2xzQTM1dkEwQTZmWEUxNUMyQ0ZackhQd2wyUUNvSlcrTURyQ1dSNERYa3BvQk5jZkJYeEpnQTZEV3pDQjk0UzRuczRCUFJZY29DUWQvU1g5bkE2QldqQVArS1RyRUFENEtuQjBkSW5NTy9wS2V3VVdBYXRVOXdMUEpiOXA5TlBCVDRKam9JQmx5OEpmeTVDSkFsY28wNExqb0VBTllBYndTdUNvNlNHWWMvQ1VOeUFaQTdYaDNkSUJCUEFXOERMZzJPa2dtSFB3bERjb0dRTzA0RERnb09zUWc1Z05IQXIrSkRoTHNmQno4SlEzQkJrRHRtaGtkWUFoUEFNY0NaMFFIQ2ZJVjROVTQrRXZLM0JxcnRIWElBTmN6SnlPQWo1TVdMRWFmcXlKcUtmRDZycHk1T0RPQTVjU2ZTOHNxb2tMNUZvQTZNUXQ0UVhTSUpod0ZmSS8wRWFHcWVwZzBlRjRkSGFRRDN2bXJibndMUUtWMUJIbStFYkMyUzRBOWdJdWpnL1RJajBsL1BnZC9TYVVTUFFWamRWYTNVNTYvdEVjQ2J3TWVJLzY4ZGFNZUpTMzBLenVuL2EyNlZ1MUZYd0NyOHpwbG5hdWF0ODJCTTBsZk5vdytkKzNVYXVDSHdCYmRQakVCSFB5dE9sZnRSVjhBcS9ONkROaHk3UXRiQW9jQ2x4Ti8vbHFwUzRCOWVuRXlBamo0VzNXdjJvdStBRlozNnJ5MUwyeUpIRXJhTnlENkhBNVZWNUVXTTFhRmc3OWxLZndDV04ycmwxRnUrNUgyRGxoTS9MbGNROXJaOER0VTU0Ni9qNE8vWmFVSzVXdUE2cWI3U2F2UkYwWUg2ZEJFMGlEMUJ1RDVwTVdEUlZrRlhBbGNDSndGTENqdzJFVnd0Yi8wdE5BeDJBWkEzWFkyY0dKMGlDN2FoTFMxOE5HTm10cURZendNWEFGY0JQeUN0SjF4RlRuNFM4OWtBeEFkUUYxM0lxa1JxS0twd083QWJvMWZkeVd0eHAvTThETUZEd01QQW5PQTI0RHJnT3RKTXlkVjUrQXZyY3NHSURxQXVtNGhzQ2N3T3pwSXdTWTNhbUxqM3g5ci9Mb0NlSVQwM0x1T0hQeWxnZGtBUkFkUVQ5eEUrbUxna3VnZ0N1WGdMdzNPcllCVlNYc0NYNDRPb1ZBTy9sTEdiQURVUzI4QjNoUWRRaUVjL0tYTStRaEF2YlljZURIcHk0R3FCd2QvcVRtdUFZZ09vSjZiVDFvUDhMZm9JT281QjMrcGVhNEJVT1ZOQW40RlRJa09vcDV5OEpkS3hBWkFSZGtCK0Ntd1FYUVE5WVNEdjFReU5nQXEwZ0drbVlDSncvMkhLaFVIZjZtRWJBQlV0SU9CQzRDeDBVSFVGUTcrVWtuWkFDakMwY0NQc0Frb3UxZmg0QytWbG04QktOSXMwaWVFbjRnT29wYjlFL0JkWUZSMEVLbkVmQXRBdFhVRThFdGd3K2dnYXNuSndKazQrRXVsWmdPZ2FJZVNaZ0syakE2aVlZMEFQZzU4SGYvdWtFclBSd0RLeFlQQXNjQ04wVUUwb0RIQWQwaFQvNUs2dzUwQW93TW9HNHVCRTRDTG80UG9HU2FSM3R3NExEcUlWREd1QVpBYU5pU3RDWmlKUDV1NTJCTzRGZ2QvcVhLY0FWQ3VMZ0pPQWhaR0I2bXgxd0hmQkNaRUI1RXF5aGtBYVFESEFkY0FlMGNIcWFHSndMZUJzM0R3bHlyTEJrQTUyeG40QSttUndNallLTFd4SDNBRDhLYm9JSko2eTBjQUtvdkxnVGNBOThiR3FLeFJ3QWVCaitET2ZsSlJmQXNnT29CSzR5blNlK2lmQjFZRlo2bVN2WURUZ1gyamcwZzFZd01RSFVDbGN6M3dMN2huUUtjMkFQNERlRHMrWXBFaXVBaFFhdEcrcENiZ0xHQ0w0Q3hsdEI3cERZdmJnWGZoNEMvVmtqTUFLcnZGd0tlQUx3RkxnN09Vd1JIQUYwalQvcEppK1FnZ09vQXFZUzV3R3ZBVllFbHdsaHdkQkp4SzJtNVpVaDVzQUtJRHFGSWVBRDVOK2xUdGs4RlpjdkI4NE4rQm82S0RTRnFIRFVCMEFGWFNZdUIvU0c4TTNCOGJwWENqZ1pjRDd3RU9DTTRpYVhBMkFORUJWR2tyZ0F1Qk00QkxnTld4Y1hwcUIrQ2ZHN1YxY0JaSnc3TUJpQTZnMnJpUDlHamdIT0N2d1ZtNlpTUGdaYVJOa280Z2ovOVBTMnFPRFVCMEFOWFNyY0NQU1orNXZTVTRTNnNta1JienZaTDBiSDlzYkJ4SmJiSUJpQTZnMnBzRFhBejhCcGdGekl1TnM0NHh3UDdBMGNDTGdIM3czWDJwQ213QW9nTklhL2tiY0hXai9najhtYlFOY1JIV0l6M0wzd000c0ZIN0FPTUtPcjZrNHRnQVJBZVFockVhdUlmMHFPQnVZSGJqMys4REhnWG0wL3dtUk9zQm01S204YmNHcGpacUIyQVg0TG40Q1Y2cExtd0FvZ05JWGZBVXFSRllRV29ZRmpYKzkzSEErTVkvYjB3YS9DVUpiQUJzQUNSSnRlVEhnQ1JKVXJGc0FDUkpxaUViQUVtU2FzZ0dRSktrR3JJQmtDU3BobXdBSkVtcUlSc0FTWkpxeUFaQWtxUWFzZ0dRSkttR2JBQWtTYW9oR3dCSmttb29od1pnVlhRQVNaSUtGajcyNWRBQUxJOE9JRWxTd1paRkI3QUJrQ1NwZURZQTJBQklrdXJIQm9BTVRvSWtTUVVMdi9uTm9RRllIQjFBa3FTQ0xZb09rRU1EOEdoMEFFbVNDaFkrOXRrQVNKSlV2UEN4endaQWtxVGloWTk5T1RRQTg2TURTSkpVc0FYUkFYSm9BT1pFQjVBa3FXRDNSUWZJb1FHNEp6cUFKRWtGQ3gvN2JBQWtTU3JldmRFQlJrUUhBTVlCVDVGSEZrbVNlbTAxTUlIZ2pmQnltQUZZQ2p3VUhVS1NwSUk4UUFhNzRPYlFBQURjR2gxQWtxU0MzQklkQVBKcEFHNk9EaUJKVWtHeUdQTnlhUUN5NklZa1NTcEFGbU5lTGcxQUZ0MlFKRWtGeUdMTXkyWGwvUmpTbDVIR1JRZVJKS21IbGdBYkFTdWlnK1F5QTdBY3VENDZoQ1JKUGZZSE1oajhJWjhHQU9ESzZBQ1NKUFhZRmRFQit0Z0FTSkpVbkd6R3VseldBQUJNQXVhUlZ5WkprcnBsTldtc1d4Z2RCUEthQVpnUC9DazZoQ1JKUFhJOW1ReitrRmNEQVBETDZBQ1NKUFhJcjZJRDlKZGJBNURWeVpFa3FZdXlHdU55ZTk0K0VwZ0xiQm9kUkpLa0xub1UyQUpZRlIya1QyNHpBS3VBaTZORFNKTFVaYjhtbzhFZjhtc0FBTTZMRGlCSlVwZWRHeDFnYmJrOUFvQzBIZkREcEswU0pVa3F1NFdrNmY5bDBVSDZ5M0VHWUNsd1VYUUlTWks2NUVJeUcvd2h6d1lBNEVmUkFTUko2cExzcHY4aHowY0FBS09BKzRBdG80TklrdFNCaDREdGdKWFJRZGFXNnd6QVN1RE02QkNTSkhYb08yUTQrRU8rTXdBQU93QjNrRytUSWtuU1VOWUF6d2J1aWc0eWtKd0gxN3VCV2RFaEpFbHEweVZrT3ZoRDNnMEF3TmVqQTBpUzFLWnZSQWNZU3M2UEFDQTFLTGNEejRvT0lrbFNDLzRHN0VMNkJIQ1djcDhCV0ExOEtUcUVKRWt0T28yTUIzL0lmd1lBWUFJd0c1Z2NIVVNTcENiTUJiWUhsZ1RuR0ZMdU13QUFUK0ZhQUVsU2VYeU56QWQvS01jTUFLVHZBdHlObndtV0pPVnRQdWsxOXNYUlFZWlRoaGtBZ0VYQUY2TkRTSkkwak05UmdzRWZ5ak1EQUxBKzZYM0tLZEZCSkVrYXdEeGdSK0R4NkNETkdCa2RvQVhMRzc4ZUhacENrcVNCZlFqNFhYU0lacFZwQmdCZ0RIQXJhV3RGU1pKeWNTZXdHeGwrOW5jd1pWa0QwR2M1OFA3b0VKSWtyZVVVU2pUNFEvbG1BUHI4Qmg4RlNKTHljQ2x3VkhTSVZwVzFBZGdkdUFFWUZSMUVrbFJyeTRFOWdiOUVCMmxWbVJZQjlqY1htQWdjRWgxRWtsUnIvd21jRngyaUhXV2RBUUFZQzl4SSt0aUNKRWxGdTUxMDk3ODBPa2c3eXJZSXNMOWx3TW5BbXVnZ2txVGFXUTI4bVpJTy9sRGVSd0I5WmdOYkF2dEdCNUVrMWNyWGdXOUdoK2hFbVI4QjlKa0kvQkhZT1RxSUpLa1cva0s2OFh3cU9rZ255dndJb00rVHdHdDVlcWRBU1pKNlpSbHdJaVVmL0tIOGp3RDZQQVNzQW82TURpSkpxclFQQUJkR2graUdLandDNkxNZWFZT2dGMFlIa1NSVjBxK0FsMUtSeGVkVmFnQUFOZ1d1QjZaRkI1RWtWY3BzWUI5Z2ZuU1FicW5DR29EK0ZnQXpnQ1hSUVNSSmxiR1VOTFpVWnZDSDZxd0I2TzloNEVIZ0g2S0RTSklxNFkya1I4eVZVc1VHQU9BbVlFUGd3T2dna3FSUyt3eHdXblNJWHFqYUdvRCsxaVB0enp3ak9vZ2txWlRPQTE1RDJ2V3ZjcXJjQUFDTUJ5N0RtUUJKVW11dUJZNmdBdS83RDZicURRREFGT0FLNE5uUlFTUkpwZkJYNEZEZzBlZ2d2VlMxdHdBR01oZDRBWEJQZEJCSlV2YnVBMTVNeFFkL3FNY01RSjhkZ2Q4QlcwVUhrU1JsNlFIZ01PRHU2Q0JGcU1NTVFKKzdnS09CZWRGQkpFblptUXNjUlUwR2Y2aFhBd0J3RzZtN2V5QTZpQ1FwR3crVHZpWHpsK2dnUmFyVEk0RCt0aWU5SGJCRGNBNUpVcXpacEcvSTNCa2RwR2gxbXdIb2N5L3A5WTQ3Z25OSWt1TGNEaHhDRFFkL3FHOERBR21sNTRHa1Z3UWxTZlZ5RGVtUjhKem9JRkhxM0FCQStyRERDNEZ6b29OSWtncHpQdW4xOExuUlFTSlY5VnNBclZnRlhORDQ1OE1EYzBpU2V1OHJ3SnVCRmRGQm90a0FQTzIzcEZjRlh3eU1qbzBpU2VxeXBjQmJnVThCYTRLelpLR3Vid0VNWlUvU2pNQzA2Q0NTcEs2NEQzZ2xjRjEwa0p6VWZRM0FRRzRDOWdNdWpnNGlTZXJZcjRDOWNQQmZoNDhBQnJZRStBSHdHR21oaU9kSmtzcGxCZkFKMHJSL1piL28xd2tmQVF4dk4rQnNZUGZvSUpLa3B2d1ZlQzF3WTNTUW5IbG5PN3k1d0ZuQUpzQysyRFJKVXE1V0ExOEhUZ0R1RDg2U1BRZXoxaHdNZkF2WUpUcUlKT2taN2dUK0JaZ1ZIYVFzbkFGb3pmM0FkMGg3Qnh5RTUwK1NvcTBFUGdlOG1wcHU2ZHN1WndEYXR5dndSZExuSXlWSnhmc044RzVxOWhXL2J2RTF3UGJkQmh4TmFnRCtISnhGa3Vya0R1QlZwSTNiSFB6YjVCUjI1KzRtUFJaNEROZ2JtQmdiUjVJcWF5N3dJZUNmZ1Z1Q3M1U2Vqd0M2YXlMd2R1RDl3S2JCV1NTcEtoWUFYd1ZPQXhZSFo2a01HNERlMkFnNGhkUU1UQTdPSWtsbE5ZODA4SDhaQi82dXN3SG9yYkdrbGFtbkFzOEp6aUpKWlhFMzZhdDkzOEpkL0hyR0JxQVk2d0V2Qi80Vk9CSVhYMHJTMmxZRGx3TGZBSDdXK0hmMWtBMUE4YllCVGdUZUJtd1huRVdTb2oxRTJtMzFkTktkdndwaUF4Qm5GT2sxd2xjRC8wQmFOeUJKZGJBUStBbHdMbkFKYVRNZkZjd0dJQTlqU2UrenZncDRFVEFwTm80a2RkMmp3SytCODBnYitDeUxqU01iZ1B5TUJQWUhqbW5VM3JobVFGTDVyQWF1SnczNnYyejg4NnJRUkhvR0c0RDhiUUE4RHppRTlER2lnNEh4b1lra2FWMHJnSnVCSzRFcmdNdEk3KzhyVXpZQTVUT2E5RFhDM1lFOWdPbkFjMG1MQzcyZWtucHROVENIdEFYNm4wZzc4dDFDMnBKM1JXQXV0Y2dCb3pyR0FsT0JhY0QycElaZ01yQlo0OWRKd0FSZ1E5SmpodEhBK2hGQkpXWGxDZExBdllxMDJjNVR3SHpTTS90NWpWL25BUGNBOXdLejhmbDlKZndmc0xSMldkRm0xWFlBQUFBQVNVVk9SSzVDWUlJPVwiIC8+XG4gICAgICA8L2RlZnM+XG4gICAgPC9zdmc+XG4gICAgQGlmKGNvcHlPZklucHV0QWxsRmlsZXMgJiYgY29weU9mSW5wdXRBbGxGaWxlcy5sZW5ndGggPiAwKXtcbiAgICA8c3BhbiAoY2xpY2spPVwib3BlblBvcHVwKClcIiBzdHlsZT1cInRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBjdXJzb3I6IHBvaW50ZXI7XCI+XG4gICAgICB7eyBjb3B5T2ZJbnB1dEFsbEZpbGVzLmxlbmd0aCA9PT0gMSA/ICcxIEZpbGUgQXR0YWNoZWQnIDogJysnICsgY29weU9mSW5wdXRBbGxGaWxlcy5sZW5ndGggKyAnIEZpbGVzIEF0dGFjaGVkJyB9fVxuICAgIDwvc3Bhbj5cbiAgICB9XG4gICAgQGVsc2UgaWYobW9kZSA9PT0gJ2VkaXQnKSB7XG4gICAgPGRpdj4gQWRkIGZpbGVzIDwvZGl2PlxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgPGRpdiAqbmdJZj1cImZyb20gIT09ICdueHRUYWJsZSdcIj4gTm8gZmlsZXMgYXR0YWNoZWQ8L2Rpdj5cbiAgICB9XG4gICAgPGJ1dHRvbiAqbmdJZj1cIm1vZGUgPT09ICdlZGl0JyAmJiAhcXVlc3Rpb24uaXNSZWFkT25seVwiIFxuICAgICAgICAgICAgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCIgXG4gICAgICAgICAgICBjbGFzcz1cImFkZC1idG4taWNvblwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInBsdXMtaWNvblwiPis8L3NwYW4+XG4gICAgPC9idXR0b24+XG5cbiAgICA8aW5wdXQgI2ZpbGVJbnB1dCB0eXBlPVwiZmlsZVwiIG5hbWU9XCJmaWxlVXBsb2FkXCIgbXVsdGlwbGU9XCJtdWx0aXBsZVwiIFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlcy5qb2luKCcsJylcIlxuICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTpub25lO1wiIChjaGFuZ2UpPVwidXBsb2FkTXVsdGlwbGVGaWxlcygkZXZlbnQpXCIgLz5cbiAgPC9kaXY+XG4gIDwhLS0gU0tTMTNKVU4yNSBlZGl0IGljb24gLS0+XG4gIDxzdmcgKm5nSWY9XCJtb2RlICE9PSAnZWRpdCcgJiYgIXZpZXdFZGl0ICYmICFxdWVzdGlvbi5pc1JlYWRPbmx5ICYmIGZyb20gIT09ICdueHRUYWJsZScgXCIgY2xhc3M9XCJlZGl0LWljb25cIiAoY2xpY2spPVwidmlld0VkaXRDbGljayhxdWVzdGlvbilcIlxuICAgIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTMgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICBkPVwiTTEuOTk5ODcgOS4wMDE3TDQuMzk2MDIgMTEuMzk3OUM0LjUwMzcxIDExLjUwNTUgNC42NjUyNSAxMS41MDU1IDQuNzcyOTQgMTEuMzk3OUwxMC43NDk5IDUuMzk0MDFDMTAuODU3NiA1LjI4NjMxIDEwLjg1NzYgNS4xMjQ3NyAxMC43NDk5IDUuMDE3MDhMOC4zODA2NCAyLjY0Nzg1QzguMjcyOTQgMi41NDAxNiA4LjExMTQxIDIuNTQwMTYgOC4wMDM3MSAyLjY0Nzg1TDEuOTk5ODcgOC42NTE3QzEuODkyMTcgOC43NTkzOSAxLjg5MjE3IDguOTIwOTMgMS45OTk4NyA5LjAwMTdaTTkuMTYxNCAxLjU0NDAxQzkuMDUzNzEgMS42NTE3IDkuMDUzNzEgMS44MTMyNCA5LjE2MTQgMS45MjA5M0wxMS41MzA2IDQuMjkwMTZDMTEuNjM4MyA0LjM5Nzg1IDExLjc5OTkgNC4zOTc4NSAxMS45MDc2IDQuMjkwMTZMMTIuNTgwNiAzLjYxNzA4QzEzLjAxMTQgMy4yMTMyNCAxMy4wMTE0IDIuNTY3MDggMTIuNTgwNiAyLjEzNjMxTDExLjMxNTMgMC44NzA5MjhDMTAuODg0NSAwLjQ0MDE1OSAxMC4yMTE0IDAuNDQwMTU5IDkuNzgwNjMgMC44NzA5MjhMOS4xNjE0IDEuNTQ0MDFaTTAuMDA3NTU4NjIgMTIuOTg2M0MtMC4wNDYyODc1IDEzLjI1NTUgMC4xOTYwMiAxMy40OTc5IDAuNDY1MjUxIDEzLjQ0NEwzLjM5OTg3IDEyLjc0NEMzLjUwNzU2IDEyLjcxNzEgMy41ODgzMyAxMi42NjMyIDMuNjQyMTcgMTIuNjA5NEwzLjY5NjAyIDEyLjU1NTVDMy43NDk4NyAxMi41MDE3IDMuNzc2NzkgMTIuMzEzMiAzLjY2OTEgMTIuMjA1NUwxLjI0NjAyIDkuNzgyNDdDMS4xMzgzMyA5LjY3NDc4IDAuOTQ5ODY2IDkuNzAxNyAwLjg5NjAyIDkuNzU1NTRMMC44NDIxNzQgOS44MDkzOUMwLjc2MTQwNSA5Ljg5MDE2IDAuNzM0NDgyIDkuOTcwOTMgMC43MDc1NTkgMTAuMDUxN0wwLjAwNzU1ODYyIDEyLjk4NjNaXCJcbiAgICAgIGZpbGw9XCIjQjBBREFCXCIgLz5cbiAgPC9zdmc+XG4gIDwhLS0gU0tTMTNKVU4yNSBzYXZlIGFuZCBjYW5jZWwgaWNvbnMgLS0+XG4gIDxkaXYgKm5nSWY9XCJ2aWV3RWRpdFwiIChtb3VzZWVudGVyKT1cImlzU2F2ZUhvdmVyZWQgPSB0cnVlXCIgKG1vdXNlbGVhdmUpPVwiaXNTYXZlSG92ZXJlZCA9IGZhbHNlXCJcbiAgICBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDVweDtcIj5cbiAgICA8c3ZnICpuZ0lmPVwiIWlzU2F2ZUhvdmVyZWRcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk01Ljk1MDIgMC41QzguOTYwMDYgMC41MDAxMDYgMTEuNDAwNCAyLjk0MDMxIDExLjQwMDQgNS45NTAyQzExLjQwMDMgOC45NTk5OSA4Ljk1OTk5IDExLjQwMDMgNS45NTAyIDExLjQwMDRDMi45NDAzMSAxMS40MDA0IDAuNTAwMTA2IDguOTYwMDYgMC41IDUuOTUwMkMwLjUgMi45NDAyNCAyLjk0MDI0IDAuNSA1Ljk1MDIgMC41WlwiXG4gICAgICAgIHN0cm9rZT1cIiM4MzdGOEVcIiAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk04Ljg4MTExIDMuODQ1ODNDOC44MzI2OSAzLjc5NzIgOC43NzUxMyAzLjc1ODYgOC43MTE3NiAzLjczMjI3QzguNjQ4MzggMy43MDU5NCA4LjU4MDQzIDMuNjkyMzggOC41MTE4IDMuNjkyMzhDOC40NDMxNyAzLjY5MjM4IDguMzc1MjEgMy43MDU5NCA4LjMxMTg0IDMuNzMyMjdDOC4yNDg0NiAzLjc1ODYgOC4xOTA5MSAzLjc5NzIgOC4xNDI0OSAzLjg0NTgzTDQuODI2OSA3LjE2MzQ3TDMuMzUyNTMgNS42ODkxQzMuMzA0MDMgNS42NDA2IDMuMjQ2NDYgNS42MDIxMyAzLjE4MzA5IDUuNTc1ODhDMy4xMTk3MiA1LjU0OTY0IDMuMDUxODEgNS41MzYxMyAyLjk4MzIyIDUuNTM2MTNDMi45MTQ2MyA1LjUzNjEzIDIuODQ2NzIgNS41NDk2NCAyLjc4MzM1IDUuNTc1ODhDMi43MTk5OSA1LjYwMjEzIDIuNjYyNDEgNS42NDA2IDIuNjEzOTEgNS42ODkxQzIuNTY1NDEgNS43Mzc2IDIuNTI2OTQgNS43OTUxOCAyLjUwMDY5IDUuODU4NTRDMi40NzQ0NSA1LjkyMTkxIDIuNDYwOTQgNS45ODk4MiAyLjQ2MDk0IDYuMDU4NDFDMi40NjA5NCA2LjEyNyAyLjQ3NDQ1IDYuMTk0OTEgMi41MDA2OSA2LjI1ODI4QzIuNTI2OTQgNi4zMjE2NSAyLjU2NTQxIDYuMzc5MjIgMi42MTM5MSA2LjQyNzcyTDQuNDU2NzcgOC4yNzA1OEM0LjUwNTE5IDguMzE5MjIgNC41NjI3NCA4LjM1NzgxIDQuNjI2MTIgOC4zODQxNEM0LjY4OTUgOC40MTA0NyA0Ljc1NzQ1IDguNDI0MDMgNC44MjYwOCA4LjQyNDAzQzQuODk0NzEgOC40MjQwMyA0Ljk2MjY2IDguNDEwNDcgNS4wMjYwNCA4LjM4NDE0QzUuMDg5NDIgOC4zNTc4MSA1LjE0Njk3IDguMzE5MjIgNS4xOTUzOSA4LjI3MDU4TDguODgxMTEgNC41ODQ0NUM4LjkyOTc0IDQuNTM2MDMgOC45NjgzNCA0LjQ3ODQ4IDguOTk0NjcgNC40MTUxQzkuMDIxIDQuMzUxNzMgOS4wMzQ1NiA0LjI4Mzc3IDkuMDM0NTYgNC4yMTUxNEM5LjAzNDU2IDQuMTQ2NTEgOS4wMjEgNC4wNzg1NiA4Ljk5NDY3IDQuMDE1MThDOC45NjgzNCAzLjk1MTggOC45Mjk3NCAzLjg5NDI1IDguODgxMTEgMy44NDU4M1pcIlxuICAgICAgICBmaWxsPVwiIzgzN0Y4RVwiIC8+XG4gICAgPC9zdmc+XG5cbiAgICA8c3ZnICpuZ0lmPVwiaXNTYXZlSG92ZXJlZFwiIChjbGljayk9XCJzYXZlQ2hhbmdlcygpXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNNS45NSAxMi44MDA0QzkuMjM2MDkgMTIuODAwNCAxMS45IDEwLjEzNjUgMTEuOSA2Ljg1MDM5QzExLjkgMy41NjQzIDkuMjM2MDkgMC45MDAzOTEgNS45NSAwLjkwMDM5MUMyLjY2MzkxIDAuOTAwMzkxIDAgMy41NjQzIDAgNi44NTAzOUMwIDEwLjEzNjUgMi42NjM5MSAxMi44MDA0IDUuOTUgMTIuODAwNFpcIlxuICAgICAgICBmaWxsPVwiIzI1OTU2NlwiIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTguODgxMTEgNC43NDYyMkM4LjgzMjY5IDQuNjk3NTkgOC43NzUxMyA0LjY1ODk5IDguNzExNzYgNC42MzI2NkM4LjY0ODM4IDQuNjA2MzMgOC41ODA0MyA0LjU5Mjc3IDguNTExOCA0LjU5Mjc3QzguNDQzMTcgNC41OTI3NyA4LjM3NTIxIDQuNjA2MzMgOC4zMTE4NCA0LjYzMjY2QzguMjQ4NDYgNC42NTg5OSA4LjE5MDkxIDQuNjk3NTkgOC4xNDI0OSA0Ljc0NjIyTDQuODI2OSA4LjA2Mzg2TDMuMzUyNTMgNi41ODk0OUMzLjMwNDAzIDYuNTQwOTkgMy4yNDY0NiA2LjUwMjUyIDMuMTgzMDkgNi40NzYyN0MzLjExOTcyIDYuNDUwMDMgMy4wNTE4MSA2LjQzNjUyIDIuOTgzMjIgNi40MzY1MkMyLjkxNDYzIDYuNDM2NTIgMi44NDY3MiA2LjQ1MDAzIDIuNzgzMzUgNi40NzYyN0MyLjcxOTk5IDYuNTAyNTIgMi42NjI0MSA2LjU0MDk5IDIuNjEzOTEgNi41ODk0OUMyLjU2NTQxIDYuNjM3OTkgMi41MjY5NCA2LjY5NTU3IDIuNTAwNjkgNi43NTg5M0MyLjQ3NDQ1IDYuODIyMyAyLjQ2MDk0IDYuODkwMjIgMi40NjA5NCA2Ljk1ODhDMi40NjA5NCA3LjAyNzM5IDIuNDc0NDUgNy4wOTUzMSAyLjUwMDY5IDcuMTU4NjdDMi41MjY5NCA3LjIyMjA0IDIuNTY1NDEgNy4yNzk2MSAyLjYxMzkxIDcuMzI4MTFMNC40NTY3NyA5LjE3MDk3QzQuNTA1MTkgOS4yMTk2MSA0LjU2Mjc0IDkuMjU4MiA0LjYyNjEyIDkuMjg0NTNDNC42ODk1IDkuMzEwODYgNC43NTc0NSA5LjMyNDQyIDQuODI2MDggOS4zMjQ0MkM0Ljg5NDcxIDkuMzI0NDIgNC45NjI2NiA5LjMxMDg2IDUuMDI2MDQgOS4yODQ1M0M1LjA4OTQyIDkuMjU4MiA1LjE0Njk3IDkuMjE5NjEgNS4xOTUzOSA5LjE3MDk3TDguODgxMTEgNS40ODQ4NEM4LjkyOTc0IDUuNDM2NDIgOC45NjgzNCA1LjM3ODg3IDguOTk0NjcgNS4zMTU0OUM5LjAyMSA1LjI1MjEyIDkuMDM0NTYgNS4xODQxNiA5LjAzNDU2IDUuMTE1NTNDOS4wMzQ1NiA1LjA0NjkgOS4wMjEgNC45Nzg5NSA4Ljk5NDY3IDQuOTE1NTdDOC45NjgzNCA0Ljg1MjIgOC45Mjk3NCA0Ljc5NDY1IDguODgxMTEgNC43NDYyMlpcIlxuICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInZpZXdFZGl0XCIgKG1vdXNlZW50ZXIpPVwiaXNEaXNjYXJkSG92ZXJlZCA9IHRydWVcIiAobW91c2VsZWF2ZSk9XCJpc0Rpc2NhcmRIb3ZlcmVkID0gZmFsc2VcIj5cbiAgICA8c3ZnICpuZ0lmPVwiIWlzRGlzY2FyZEhvdmVyZWRcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk03LjA1NTU1IDQuMDA4ODNMNS45NCA1LjEyNDM4TDQuODI0NDUgNC4wMDg4M0M0LjU3ODYxIDMuNzYyOTkgNC4xODE5MSAzLjc2Mjk5IDMuOTM2MDcgNC4wMDg4M0MzLjY5MDIzIDQuMjU0NjcgMy42OTAyMyA0LjY1MTM3IDMuOTM2MDcgNC44OTcyMUw1LjA1MTYyIDYuMDEyNzZMMy45MzYwNyA3LjEyODMxQzMuNjkwMjMgNy4zNzQxNSAzLjY5MDIzIDcuNzcwODUgMy45MzYwNyA4LjAxNjY5QzQuMTgxOTEgOC4yNjI1MyA0LjU3ODYxIDguMjYyNTMgNC44MjQ0NSA4LjAxNjY5TDUuOTQgNi45MDExNEw3LjA1NTU1IDguMDE2NjlDNy4zMDEzOSA4LjI2MjUzIDcuNjk4MDkgOC4yNjI1MyA3Ljk0MzkzIDguMDE2NjlDOC4xODk3NyA3Ljc3MDg1IDguMTg5NzcgNy4zNzQxNSA3Ljk0MzkzIDcuMTI4MzFMNi44MjgzOCA2LjAxMjc2TDcuOTQzOTMgNC44OTcyMUM4LjE4OTc3IDQuNjUxMzcgOC4xODk3NyA0LjI1NDY3IDcuOTQzOTMgNC4wMDg4M0M3LjY5ODA5IDMuNzcyODUgNy4zMDAyMSAzLjc3Mjg1IDcuMDU1NTUgNC4wMDg4M1pNNS45NCAwLjA4MjAzMTJDMi43MDAxNyAwLjA4MjAzMTIgMC4wODA4NTk0IDIuNzAxMzQgMC4wODA4NTk0IDUuOTQxMThDMC4wODA4NTk0IDkuMTgxMDEgMi43MDAxNyAxMS44MDAzIDUuOTQgMTEuODAwM0M5LjE3OTgzIDExLjgwMDMgMTEuNzk5MSA5LjE4MTAxIDExLjc5OTEgNS45NDExOEMxMS43OTkxIDIuNzAxMzQgOS4xNzk4MyAwLjA4MjAzMTIgNS45NCAwLjA4MjAzMTJaTTUuOTQgMTAuNjM2N0MzLjM1NDI2IDEwLjYzNjcgMS4yNDQyMiA4LjUyNjY3IDEuMjQ0MjIgNS45NDExOEMxLjI0NDIyIDMuMzU1NTMgMy4zNTQyNiAxLjI0NTQ5IDUuOTQgMS4yNDU0OUM4LjUyNTU4IDEuMjQ1NDkgMTAuNjM1NiAzLjM1NTUzIDEwLjYzNTYgNS45NDExOEMxMC42MzU2IDguNTI2NjcgOC41MjU1OCAxMC42MzY3IDUuOTQgMTAuNjM2N1pcIlxuICAgICAgICBmaWxsPVwiI0IwQURBQlwiIC8+XG4gICAgPC9zdmc+XG5cbiAgICA8c3ZnICpuZ0lmPVwiaXNEaXNjYXJkSG92ZXJlZFwiIChjbGljayk9XCJkaXNjYXJkQ2hhbmdlcygpXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNNy4wNTU1NSA0Ljk3NDcxTDUuOTQgNi4wOTAyNkw0LjgyNDQ1IDQuOTc0NzFDNC41Nzg2MSA0LjcyODg3IDQuMTgxOTEgNC43Mjg4NyAzLjkzNjA3IDQuOTc0NzFDMy42OTAyMyA1LjIyMDU1IDMuNjkwMjMgNS42MTcyNSAzLjkzNjA3IDUuODYzMDlMNS4wNTE2MiA2Ljk3ODY0TDMuOTM2MDcgOC4wOTQxOUMzLjY5MDIzIDguMzQwMDMgMy42OTAyMyA4LjczNjczIDMuOTM2MDcgOC45ODI1N0M0LjE4MTkxIDkuMjI4NDEgNC41Nzg2MSA5LjIyODQxIDQuODI0NDUgOC45ODI1N0w1Ljk0IDcuODY3MDJMNy4wNTU1NSA4Ljk4MjU3QzcuMzAxMzkgOS4yMjg0MSA3LjY5ODA5IDkuMjI4NDEgNy45NDM5MyA4Ljk4MjU3QzguMTg5NzcgOC43MzY3MyA4LjE4OTc3IDguMzQwMDMgNy45NDM5MyA4LjA5NDE5TDYuODI4MzggNi45Nzg2NEw3Ljk0MzkzIDUuODYzMDlDOC4xODk3NyA1LjYxNzI1IDguMTg5NzcgNS4yMjA1NSA3Ljk0MzkzIDQuOTc0NzFDNy42OTgwOSA0LjczODczIDcuMzAwMjEgNC43Mzg3MyA3LjA1NTU1IDQuOTc0NzFaTTUuOTQgMS4wNjA2MkMyLjcwMDE3IDEuMDYwNjIgMC4wODA4NTk0IDMuNjc5OTMgMC4wODA4NTk0IDYuOTE5NzdDMC4wODA4NTk0IDEwLjE1OTYgMi43MDAxNyAxMi43Nzg5IDUuOTQgMTIuNzc4OUM5LjE3OTgzIDEyLjc3ODkgMTEuNzk5MSAxMC4xNTk2IDExLjc5OTEgNi45MTk3N0MxMS43OTkxIDMuNjc5OTMgOS4xNzk4MyAxLjA2MDYyIDUuOTQgMS4wNjA2MlpNNS45NCAxMS42MTUzQzMuMzU0MjYgMTEuNjE1MyAxLjI0NDIyIDkuNTA1MjUgMS4yNDQyMiA2LjkxOTc3QzEuMjQ0MjIgNC4zMzQxMiAzLjM1NDI2IDIuMjI0MDggNS45NCAyLjIyNDA4QzguNTI1NTggMi4yMjQwOCAxMC42MzU2IDQuMzM0MTIgMTAuNjM1NiA2LjkxOTc3QzEwLjYzNTYgOS41MDUyNSA4LjUyNTU4IDExLjYxNTMgNS45NCAxMS42MTUzWlwiXG4gICAgICAgIGZpbGw9XCIjRkYzNjM2XCIgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImNvbC1sZy02XCIgc3R5bGU9XCJwYWRkaW5nOjA7bWFyZ2luLXRvcDogMTBweDtcIj5cbiAgPCEtLSBFcnJvciBtZXNzYWdlcyBzZWN0aW9uIC0tPlxuICA8ZGl2IGNsYXNzPVwiZmlsZS1jb25zdHJhaW50c1wiICpuZ0lmPVwidmFsaWRhdGlvbkVycm9ycy5sZW5ndGggPiAwXCI+XG4gICAgPHNtYWxsIGNsYXNzPVwidGV4dC1kYW5nZXJcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGVycm9yIG9mIHZhbGlkYXRpb25FcnJvcnNcIj57eyBlcnJvciB9fTwvZGl2PlxuICAgIDwvc21hbGw+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZXJyb3ItbXNnXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4O1wiPnt7cXVlc3Rpb24/LmVycm9yTWVzc2FnZX19PC9kaXY+XG5cbjwhLS0gU0tTMTFKVU4yNSBGaWxlIFNlbGVjdGlvbiBQb3B1cCBNb2RhbCAtLT5cbjxkaXYgY2xhc3M9XCJmaWxlLXBvcHVwLW92ZXJsYXlcIiAqbmdJZj1cInNob3dQb3B1cFwiIChjbGljayk9XCJjbG9zZVBvcHVwKClcIj5cbiAgPGRpdiBjbGFzcz1cImZpbGUtcG9wdXAtbW9kYWxcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgPCEtLSBIZWFkZXIgLS0+XG4gICAgPGRpdiBjbGFzcz1cImZpbGUtcG9wdXAtaGVhZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtdGl0bGVcIj57e3F1ZXN0aW9uLnF1ZXN0aW9uVGV4dH19PC9kaXY+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiY2xvc2UtYnRuXCIgKGNsaWNrKT1cImNsb3NlUG9wdXAoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNsb3NlLWljb25cIj7Dlzwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBTS1MxMUpVTjI1IENvbnRlbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImZpbGUtcG9wdXAtY29udGVudFwiPlxuICAgICAgPCEtLSBTS1MxMUpVTjI1IExlZnQgUGFuZWwgLSBGaWxlIExpc3QgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1saXN0LXBhbmVsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWl0ZW1cIiAqbmdGb3I9XCJsZXQgZmlsZSBvZiBjb3B5T2ZJbnB1dEFsbEZpbGVzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiY3VycmVudEZpbGUgPT09IGZpbGVcIiAoY2xpY2spPVwidmlld0ZpbGUoZmlsZSlcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1pY29uXCI+XG4gICAgICAgICAgICA8aW1nIHN0eWxlPVwid2lkdGg6IDI4cHg7aGVpZ2h0OiAyOHB4O1wiIFtzcmNdPVwiZ2V0RG9jSWNvbihmaWxlPy5uYW1lKVwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWRldGFpbHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBmaWxlLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXF1ZXN0aW9uLmlzUmVhZE9ubHlcIiBjbGFzcz1cImZpbGUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFjdGlvbi1idG5cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBkZWxldGVGaWxlKGkpXCIgdGl0bGU9XCJEZWxldGVcIj5cbiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCI+XG4gICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz1cIjMsNiA1LDYgMjEsNlwiPjwvcG9seWxpbmU+XG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIm0xOSw2djE0YTIsMiAwIDAsMSAtMiwySDdhMiwyIDAgMCwxIC0yLC0yVjZtMywwVjRhMiwyIDAgMCwxIDIsLTJoNGEyLDIgMCAwLDEgMiwydjJcIj48L3BhdGg+XG4gICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gRW1wdHkgc3RhdGUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwiIWNvcHlPZklucHV0QWxsRmlsZXMgfHwgY29weU9mSW5wdXRBbGxGaWxlcy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHktaWNvblwiPvCfk4Q8L2Rpdj5cbiAgICAgICAgICA8cD5ObyBmaWxlcyBzZWxlY3RlZDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQWRkIEJ1dHRvbiAtLT5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFkZC1idG5cIiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIiB0aXRsZT1cIkFkZCBmaWxlXCI+XG4gICAgICAgICAgKyBBZGQgTW9yZSBGaWxlc1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFNLUzExSlVOMjUgUmlnaHQgUGFuZWwgLSBQcmV2aWV3IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImZpbGUtcHJldmlldy1wYW5lbFwiPlxuICAgICAgICBAaWYoY3VycmVudEZpbGUpe1xuICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1jb250ZW50XCI+XG4gICAgICAgICAgQGlmKGlzSW1hZ2UgJiYgZmlsZVVybCl7XG4gICAgICAgICAgPGltZyBbc3JjXT1cImZpbGVVcmxcIiBjbGFzcz1cInByZXZpZXctaW1hZ2VcIiBhbHQ9XCJGaWxlIFByZXZpZXdcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSBpZihmaWxlVXJsKXtcbiAgICAgICAgICA8aWZyYW1lIFtzcmNdPVwiZmlsZVVybFwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjUwMHB4XCI+PC9pZnJhbWU+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIGlmKGlzTG9hZGluZyl7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgICAgPHA+TG9hZGluZyBwcmV2aWV3Li4uPC9wPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICA8ZGl2PlVuYWJsZSB0byBsb2FkIHRoZSBmaWxlIHByZXZpZXcuPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAZWxzZXtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5vLXByZXZpZXdcIj5cbiAgICAgICAgICA8cD5TZWxlY3QgYSBmaWxlIHRvIHByZXZpZXc8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFNckgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVV0QyxNQUFNLE9BQU8sc0JBQXNCO0lBK0JiO0lBQXNDO0lBQWtDO0lBQ25GO0lBL0JDLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsUUFBUSxDQUFDO0lBQ1Qsa0JBQWtCLENBQUM7SUFDbkIsSUFBSSxHQUE4QixNQUFNLENBQUMsQ0FBQyw0QkFBNEI7SUFDdEUsZ0JBQWdCLENBQUM7SUFDakIsUUFBUSxDQUFDO0lBQ1QsS0FBSyxDQUFNO0lBQ1gsSUFBSSxDQUFNO0lBQ25CLGNBQWM7SUFDUCxnQkFBZ0IsR0FBYSxFQUFFLENBQUM7SUFDaEMsV0FBVyxHQUFXLENBQUMsQ0FBQyxDQUFFLG1CQUFtQjtJQUM3QyxRQUFRLEdBQVcsQ0FBQyxDQUFDLENBQUssZ0JBQWdCO0lBQzFDLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztJ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LGNBQ2YsSUFBSSxXQUNQO3dCQUNQLFlBQVksRUFBRSxRQUFRO3FCQUN2QjtpS0FLUyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gSEEgMTlERUMyMyBpbXBvcnRlZCB0cmFuc2xhdGlvbiBzZXJ2aWNlXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2hhcmVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSTE4blBpcGUgfSBmcm9tICcuLi8uLi9pMThuLnBpcGUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgb2YgfSBmcm9tICdyeGpzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWxlLXVwbG9hZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsIEkxOG5QaXBlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOeHRGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRGaWxlRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGVsZXRlZEZpbGVEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIGFsbEZpbGVzO1xuICBASW5wdXQoKSBsaW1pdEZpbGVVcGxvYWRpbmc7XG4gIEBJbnB1dCgpIG1vZGU6ICd2aWV3JyB8ICdlZGl0JyB8ICdwcmludCcgPSAnZWRpdCc7IC8vIFNLUzExSlVOMjUgTmV3IG1vZGUgaW5wdXRcbiAgQElucHV0KCkgaXNTaG93Tm9GaWxlSWNvbjtcbiAgQElucHV0KCkgcXVlc3Rpb247XG4gIEBJbnB1dCgpIGVycm9yOiBhbnk7XG4gIEBJbnB1dCgpIGZyb206IGFueTtcbiAgLy9SUyAwOUpBTjIwMjVcbiAgcHVibGljIGFsbG93ZWRGaWxlVHlwZXM6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyBtYXhGaWxlU2l6ZTogbnVtYmVyID0gMDsgIC8vIGluIGJ5dGVzKEJpbmFyeSlcbiAgcHVibGljIG1heEZpbGVzOiBudW1iZXIgPSA0OyAgICAgLy8gZGVmYXVsdCBsaW1pdFxuICBwdWJsaWMgdmFsaWRhdGlvbkVycm9yczogc3RyaW5nW10gPSBbXTtcblxuXG4gIHB1YmxpYyBzZWxlY3RlZEZpbGVOYW1lQXJyYXk6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyBjb3B5T2ZJbnB1dEFsbEZpbGVzO1xuICBwdWJsaWMgY29weU9mRmlsZVVwbG9hZGluZ0xpbWl0O1xuICBwdWJsaWMgZmlsZVVybDtcbiAgcHVibGljIGlzSW1hZ2UgPSBmYWxzZTtcbiAgcHVibGljIGZpbGVOYW1lID0gJyc7XG4gIGN1cnJlbnRGaWxlOiBhbnk7XG4gIHB1YmxpYyBzaG93UG9wdXAgPSBmYWxzZTsgLy8gU0tTMTFKVU4yNSBBZGQgcG9wdXAgdmlzaWJpbGl0eSBjb250cm9sXG4gIHZpZXdFZGl0OiBib29sZWFuID0gZmFsc2UgXG4gIG9yaWdpbmFsVmFsdWU6IGFueTsgLy8gU0tTMTNKVU4yNSBUbyBzdG9yZSB0aGUgb3JpZ2luYWwgdmFsdWUgd2hlbiBlbnRlcmluZyB2aWV3IGVkaXQgbW9kZVxuICBpc1NhdmVIb3ZlcmVkID0gZmFsc2U7XG4gIGlzRGlzY2FyZEhvdmVyZWQgPSBmYWxzZTtcbiAgaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBTaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSwgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBwdWJsaWMgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlXG4gICkgeyB9XG4gIC8vUlMgMDlKQU4yMDI1XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZUZpbGVDb25maWdzKCk7XG4gIH1cbiAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChzaW1wbGVDaGFuZ2VzWydtb2RlJ10pIHtcbiAgICAgIHRoaXMubW9kZSA9IHNpbXBsZUNoYW5nZXNbJ21vZGUnXS5jdXJyZW50VmFsdWU7XG4gICAgfVxuICAgIGlmIChzaW1wbGVDaGFuZ2VzLmFsbEZpbGVzKSB7ICAvL1NLUzVOT1YyNVxuICAgICAgdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzID0gc2ltcGxlQ2hhbmdlcy5hbGxGaWxlcy5jdXJyZW50VmFsdWUgfHwgW107XG4gICAgfVxuXG4gICAgaWYgKHNpbXBsZUNoYW5nZXMubGltaXRGaWxlVXBsb2FkaW5nKSB7XG4gICAgICB0aGlzLmNvcHlPZkZpbGVVcGxvYWRpbmdMaW1pdCA9IHNpbXBsZUNoYW5nZXMubGltaXRGaWxlVXBsb2FkaW5nPy5jdXJyZW50VmFsdWU7XG4gICAgfVxuXG4gIH1cblxuICAvL1JTIDA5SkFOMjAyNSBJbml0aWFsaXplcyBmaWxlIHVwbG9hZCBzZXR0aW5ncyAoYWxsb3dlZCB0eXBlcywgbWF4IHNpemUsIGFuZCBtYXggZmlsZXMpIGJ5IHBhcnNpbmcgbWV0YWRhdGEgZnJvbSBmaWVsZHNNZXRhXG4gIGluaXRpYWxpemVGaWxlQ29uZmlncygpIHtcbiAgICBpZiAodGhpcy5xdWVzdGlvbj8uZmllbGRzTWV0YSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gU0tTMjBNQVIyNSBjaGVjayBpZiBxdWVzdGlvbiBmaWVsZHNtZXRhIGlzIHN0cmluZ1xuICAgICAgICBjb25zdCBtZXRhRGF0YSA9IHR5cGVvZiB0aGlzLnF1ZXN0aW9uWydmaWVsZHNNZXRhJ10gPT09ICdvYmplY3QnID8gdGhpcy5xdWVzdGlvblsnZmllbGRzTWV0YSddIHx8IFtdIDogSlNPTi5wYXJzZSh0aGlzLnF1ZXN0aW9uWydmaWVsZHNNZXRhJ10pO1xuICAgICAgICBjb25zdCBmaWxlQ29uZmlnID0gbWV0YURhdGFbMF07ICAvLyBHZXQgZmlyc3QgY29uZmlnIG9iamVjdFxuICAgICAgICBpZiAoZmlsZUNvbmZpZykge1xuICAgICAgICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlcyA9IGZpbGVDb25maWcuYWxsb3dlZFR5cGVzIHx8IFtdO1xuICAgICAgICAgIHRoaXMubWF4RmlsZVNpemUgPSBmaWxlQ29uZmlnLm1heEZpbGVTaXplIHx8IDA7XG4gICAgICAgICAgdGhpcy5tYXhGaWxlcyA9IGZpbGVDb25maWcubWF4RmlsZXMgfHwgNTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgLy8gY29uc29sZS5lcnJvcignRXJyb3IgcGFyc2luZyBmaWVsZHNNZXRhOicsIGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gU0tTMTFKVU4yNSBPcGVuIHRoZSBwb3B1cFxuICBvcGVuUG9wdXAoKSB7XG4gICAgdGhpcy5zaG93UG9wdXAgPSB0cnVlO1xuICAgIHRoaXMudmlld0ZpbGUodGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzWzBdKVxuICB9XG5cbiAgLy8gU0tTMTFKVU4yNSBDbG9zZSB0aGUgcG9wdXBcbiAgY2xvc2VQb3B1cCgpIHtcbiAgICB0aGlzLnNob3dQb3B1cCA9IGZhbHNlO1xuICB9XG4gIHVwbG9hZE11bHRpcGxlRmlsZXMoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycyA9IFtdOyAvLyBSUyAxN0pBTjIwMjUgQ2xlYXIgcHJldmlvdXMgZXJyb3JzXG4gICAgbGV0IGlucHV0RmlsZXM6IGFueVtdID0gdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzID8gdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzIDogW107XG4gICAgY29uc3Qgc2VsZWN0ZWRGaWxlRGF0YSA9IFtdO1xuICAgIGNvbnN0IHVwbG9hZGVkRmlsZXMgPSBldmVudC50YXJnZXQuZmlsZXM7XG5cbiAgICAvLyBSUyAwOUpBTjIwMjUgQ2hlY2sgZmlsZSBjb3VudCBsaW1pdFxuICAgIGlmICh1cGxvYWRlZEZpbGVzLmxlbmd0aCArIGlucHV0RmlsZXMubGVuZ3RoID4gdGhpcy5tYXhGaWxlcykge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzLnB1c2goYE1heGltdW0gJHt0aGlzLm1heEZpbGVzfSBmaWxlcyBhbGxvd2VkYCk7XG4gICAgICBldmVudC50YXJnZXQudmFsdWUgPSAnJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByZWFkRmlsZXNQcm9taXNlcyA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBlYWNoVXBsb2FkZWRGaWxlIG9mIHVwbG9hZGVkRmlsZXMpIHtcbiAgICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBlYWNoVXBsb2FkZWRGaWxlO1xuXG4gICAgICAvL1JTIDA5SkFOMjAyNSBDaGVjayBmaWxlIHR5cGVcbiAgICAgIGNvbnN0IGZpbGVFeHQgPSAnLicgKyBmaWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKHRoaXMuYWxsb3dlZEZpbGVUeXBlcy5sZW5ndGggPiAwICYmICF0aGlzLmFsbG93ZWRGaWxlVHlwZXMuaW5jbHVkZXMoZmlsZUV4dCkpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzLnB1c2goYEZpbGUgdHlwZSAke2ZpbGVFeHR9IG5vdCBhbGxvd2VkLiBBbGxvd2VkIHR5cGVzOiAke3RoaXMuYWxsb3dlZEZpbGVUeXBlcy5qb2luKCcsICcpfWApO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgLy9SUyAwOUpBTjIwMjUgQ2hlY2sgZmlsZSBzaXplXG4gICAgICBpZiAodGhpcy5tYXhGaWxlU2l6ZSA+IDAgJiYgZmlsZS5zaXplID4gdGhpcy5tYXhGaWxlU2l6ZSkge1xuICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaChgRmlsZSBcIiR7ZmlsZS5uYW1lfVwiIGV4Y2VlZHMgc2l6ZSBsaW1pdCBvZiAke3RoaXMubWF4RmlsZVNpemUgLyAxMDQ4NTc2fU1CYCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMudmFsaWRhdGlvbkVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gZmlsZUV4dC5zdWJzdHJpbmcoMSk7XG4gICAgICAgIGNvbnN0IGZpbGVSZWFkUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuXG4gICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVEYXRhID0ge1xuICAgICAgICAgICAgICBkb2M6IHJlYWRlci5yZXN1bHQsXG4gICAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgICAgIHNpemU6IGZpbGUuc2l6ZSwgLy8gUlMgMTdKQU4yMDI1IFxuICAgICAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHNlbGVjdGVkRmlsZURhdGEucHVzaChmaWxlRGF0YSk7XG4gICAgICAgICAgICBpbnB1dEZpbGVzLnB1c2goZmlsZURhdGEpO1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICByZWFkZXIub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgICAgIHJlamVjdCgpO1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzLnB1c2goYEVycm9yIHJlYWRpbmcgZmlsZSBcIiR7ZmlsZS5uYW1lfVwiYCk7Ly8gUlMgMTdKQU4yMDI1IFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICByZWFkRmlsZXNQcm9taXNlcy5wdXNoKGZpbGVSZWFkUHJvbWlzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChyZWFkRmlsZXNQcm9taXNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBXYWl0IGZvciBhbGwgcHJvbWlzZXMgdG8gcmVzb2x2ZVxuICAgICAgUHJvbWlzZS5hbGwocmVhZEZpbGVzUHJvbWlzZXMpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmNvcHlPZklucHV0QWxsRmlsZXMgPSBpbnB1dEZpbGVzO1xuICAgICAgICBsZXQgY2hhbmdlOiBhbnk7XG4gICAgICAgIGNoYW5nZVsnZnJvbVF1ZXN0aW9uSWQnXSA9IHRoaXMucXVlc3Rpb24uaWQ7XG4gICAgICAgIGNoYW5nZVsndmFsdWVPYmonXSA9IGlucHV0RmlsZXM7XG4gICAgICAgIGNoYW5nZVsncmVmZXJlbmNlRmllbGQnXSA9IHRoaXMucXVlc3Rpb24ucmVmZXJlbmNlRmllbGQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlRGF0YS5lbWl0KHtxdWVzdGlvbiA6IHRoaXMucXVlc3Rpb24sIHZhbHVlOiBjaGFuZ2V9KTtcbiAgICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgICAgLy8gY29uc29sZS5lcnJvcignRXJyb3IgcmVhZGluZyBmaWxlcycpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignWW91IGNhbiB1cGxvYWQgbWF4IDUgZmlsZXMnKTtcbiAgICAgIC8vIHRoaXMudG9hc3RyLndhcm5pbmcoVE9BU1RFUl9NRVNTQUdFUy5NQVhfRklWRV9GSUxFUywgVE9BU1RFUl9NRVNTQUdFUy5XQVJOSU5HX1RJVExFKTtcbiAgICB9XG5cbiAgICBldmVudC50YXJnZXQudmFsdWUgPSAnJztcbiAgfVxuXG4gIGRlbGV0ZUZpbGUoY3VycmVudEZpbGVJbmRleCkge1xuICAgIGNvbnN0IGRlbGV0ZWRGaWxlTmFtZSA9IHRoaXMuc2VsZWN0ZWRGaWxlTmFtZUFycmF5LnNwbGljZShjdXJyZW50RmlsZUluZGV4LCAxKTtcbiAgICBjb25zdCBkZWxldGVkRmlsZSA9IHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcy5zcGxpY2UoY3VycmVudEZpbGVJbmRleCwgMSk7XG4gICAgdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzLmxlbmd0aCA+IDAgPyB0aGlzLnZpZXdGaWxlKHRoaXMuY29weU9mSW5wdXRBbGxGaWxlc1swXSkgOiB0aGlzLnZpZXdGaWxlKG51bGwpO1xuICAgIHRoaXMuZGVsZXRlZEZpbGVEYXRhLmVtaXQoZGVsZXRlZEZpbGVbMF0pO1xuICAgIGxldCBjaGFuZ2U6IGFueTtcbiAgICBjaGFuZ2VbJ2Zyb21RdWVzdGlvbklkJ10gPSB0aGlzLnF1ZXN0aW9uLmlkO1xuICAgIGNoYW5nZVsndmFsdWVPYmonXSA9IHRoaXMuY29weU9mSW5wdXRBbGxGaWxlcztcbiAgICBjaGFuZ2VbJ3JlZmVyZW5jZUZpZWxkJ10gPSB0aGlzLnF1ZXN0aW9uLnJlZmVyZW5jZUZpZWxkO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlRGF0YS5lbWl0KHtxdWVzdGlvbiA6IHRoaXMucXVlc3Rpb24sIHZhbHVlOiBjaGFuZ2V9KTtcbiAgfVxuXG5cbiAgLy8gVkQgMjBNYXkyNCAtIHByZXZpZXcgY2hhbmdlc1xuICAvLyBSUyAwOURFQzI0IENoYW5nZWQga2V5c1xuICB2aWV3RmlsZShjdXJyZW50RmlsZSkge1xuICAgIHRoaXMuY3VycmVudEZpbGUgPSBjdXJyZW50RmlsZTtcbiAgICAvLyBBUC0yNU1BUjI1IEVuc3VyZSBzdWJUZXh0IGlzIHBhcnNlZCBpbnRvIGFuIG9iamVjdCBpZiBpdCdzIG5vdCBhbHJlYWR5XG4gICAgdGhpcy5xdWVzdGlvblsnc3ViVGV4dCddID0gdHlwZW9mIHRoaXMucXVlc3Rpb24/LnN1YlRleHQgPT09ICdvYmplY3QnID8gdGhpcy5xdWVzdGlvbj8uc3ViVGV4dCA6IEpTT04ucGFyc2UodGhpcy5xdWVzdGlvblsnc3ViVGV4dCddKSB8fCB7fTtcbiAgICBpZiAodGhpcy5xdWVzdGlvbi5zdWJUZXh0ICE9IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IGZpbGVNZXRhID0gdGhpcy5xdWVzdGlvbi5zdWJUZXh0O1xuICAgICAgbGV0IGVuZHBvaW50ID0gZmlsZU1ldGEuZW5kcG9pbnQ7XG4gICAgICBsZXQgcXVlcnlQYXJhbWV0ZXIgPSBmaWxlTWV0YS5xdWVyeVBhcmFtZXRlcjtcbiAgICAgIGxldCBmaWxlID0gY3VycmVudEZpbGU7XG4gICAgICBpZiAoZW5kcG9pbnQgJiYgZmlsZVtxdWVyeVBhcmFtZXRlcl0pIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlXG4gICAgICAgIGNvbnN0IGZ1bGxFbmRQb2ludCA9IGVuZHBvaW50ICsgJz8nICsgcXVlcnlQYXJhbWV0ZXIgKyAnPScgKyBmaWxlW3F1ZXJ5UGFyYW1ldGVyXTtcbiAgICAgICAgaWYgKGZ1bGxFbmRQb2ludCkge1xuICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuYXBpUmVzcG9uc2UoZnVsbEVuZFBvaW50KS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy52aWV3TG9jYWxGaWxlKCk7IC8vIENhbGwgZmFsbGJhY2sgbWV0aG9kXG4gICAgICAgICAgICAgIHJldHVybiBvZihudWxsKTsgLy8gUmV0dXJuIGEgZmFsbGJhY2sgdmFsdWUgdG8ga2VlcCBvYnNlcnZhYmxlIGNoYWluIGFsaXZlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICkuc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgaWYgKGFwaVJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVGaWxlQ29udGVudChhcGlSZXNwb25zZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudmlld0xvY2FsRmlsZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdMb2NhbEZpbGUoKVxuICAgIH1cbiAgfVxuXG4gIC8vIC8vIFZEIDAzQXVnMjQgcHJvY2VzcyBsb2NhbCBwcmV2aWV3IFxuICB2aWV3TG9jYWxGaWxlKCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRGaWxlKSB7XG4gICAgICB0aGlzLnNldEZpbGVVcmwodGhpcy5jdXJyZW50RmlsZT8uZG9jKTtcbiAgICAgIHRoaXMuZmlsZU5hbWUgPSB0aGlzLmN1cnJlbnRGaWxlLm5hbWU7XG4gICAgICB0aGlzLmlzSW1hZ2UgPSB0aGlzLmN1cnJlbnRGaWxlLnR5cGU/LnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xuICAgIH1cblxuICB9XG5cblxuICBoYW5kbGVGaWxlQ29udGVudChmaWxlUmVzcG9uc2U6IGFueSkge1xuICAgIGNvbnN0IGJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGZpbGVSZXNwb25zZS5jb250ZW50LmRhdGEpO1xuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnl0ZUFycmF5XSwgeyB0eXBlOiBmaWxlUmVzcG9uc2UudHlwZSB9KTtcbiAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICB0aGlzLnNldEZpbGVVcmwodXJsKTtcbiAgICB0aGlzLmlzSW1hZ2UgPSBmYWxzZTtcbiAgICBpZiAoZmlsZVJlc3BvbnNlLm5hbWUpIHtcbiAgICAgIHRoaXMuZmlsZU5hbWUgPSBmaWxlUmVzcG9uc2UubmFtZTtcbiAgICAgIGNvbnN0IGltYWdlRXh0ZW5zaW9ucyA9IFsnanBnJywgJ2pwZWcnLCAncG5nJywgJ2dpZicsICdibXAnLCAnd2VicCddO1xuICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGZpbGVSZXNwb25zZS5uYW1lLnNwbGl0KCcuJykucG9wKCk/LnRvTG93ZXJDYXNlKCk7XG4gICAgICB0aGlzLmlzSW1hZ2UgPSBpbWFnZUV4dGVuc2lvbnMuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbiB8fCAnJyk7XG4gICAgfVxuICB9XG5cbiAgc2V0RmlsZVVybCh1cmw6IGFueSkge1xuICAgIGlmICh1cmwpIHtcbiAgICAgIHRoaXMuZmlsZVVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh1cmwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbGVVcmwgPSBudWxsOyAvLyBvciBoYW5kbGUgZ3JhY2VmdWxseVxuICAgIH1cbiAgfVxuXG4gIGdldERvY0ljb24oZG9jTmFtZSkge1xuICAgIGNvbnN0IGV4dCA9IGRvY05hbWUuc3BsaXQoJy4nKS5wb3AoLTEpO1xuICAgIHJldHVybiB0aGlzLlNoYXJlZFNlcnZpY2UuZG9jSWNvbihleHQpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5maWxlTmFtZSA9ICcnO1xuICAgIHRoaXMuZmlsZVVybCA9ICcnO1xuICAgIHRoaXMuaXNJbWFnZSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmZpbGVVcmwpIHtcbiAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwodGhpcy5maWxlVXJsKTtcbiAgICB9XG4gIH1cbiAgdmlld0VkaXRDbGljayhxdWVzOiBhbnkpIHtcbiAgICB0aGlzLm9yaWdpbmFsVmFsdWUgPSAgdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzOyAvL1NLUzEzSlVOMjUgU3RvcmUgdGhlIG9yaWdpbmFsIHZhbHVlXG4gICAgdGhpcy52aWV3RWRpdCA9IHRydWU7IC8vIEVudGVyIHZpZXcgZWRpdCBtb2RlXG4gICAgdGhpcy5tb2RlID0gJ2VkaXQnO1xuICB9XG4gIHNhdmVDaGFuZ2VzKCkge1xuICAgIGxldCBxdWVzID0gdGhpcy5xdWVzdGlvblxuICAgIHF1ZXNbJ3NpbmdsZUZpZWxkQ2hhbmdlJ10gPSB0cnVlXG4gICAgbGV0IGNoYW5nZTogYW55O1xuICAgIGNoYW5nZVsnZnJvbVF1ZXN0aW9uSWQnXSA9IHRoaXMucXVlc3Rpb24uaWQ7XG4gICAgY2hhbmdlWyd2YWx1ZU9iaiddID0gdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzO1xuICAgIGNoYW5nZVsncmVmZXJlbmNlRmllbGQnXSA9IHRoaXMucXVlc3Rpb24ucmVmZXJlbmNlRmllbGQ7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGVEYXRhLmVtaXQoe3F1ZXN0aW9uIDogcXVlcywgdmFsdWU6IGNoYW5nZX0pO1xuICAgIHRoaXMudmlld0VkaXQgPSBmYWxzZTsgLy8gRXhpdCB2aWV3IGVkaXQgbW9kZVxuICAgIHRoaXMubW9kZSA9ICd2aWV3JzsgLy8gU3dpdGNoIGJhY2sgdG8gdmlldyBtb2RlXG4gIH1cbiAgZGlzY2FyZENoYW5nZXMoKSB7XG4gICAgdGhpcy5jb3B5T2ZJbnB1dEFsbEZpbGVzID0gdGhpcy5vcmlnaW5hbFZhbHVlOyAvLyBSZXZlcnQgdG8gb3JpZ2luYWwgdmFsdWVcbiAgICB0aGlzLnZpZXdFZGl0ID0gZmFsc2U7IC8vIFNLUzEzSlVOMjUgRXhpdCB2aWV3IGVkaXQgbW9kZVxuICAgIHRoaXMubW9kZSA9ICd2aWV3JzsgLy8gU0tTMTNKVU4yNSBTd2l0Y2ggYmFjayB0byB2aWV3IG1vZGVcbiAgfVxufVxuIiwiPCEtLSBTS1MxMUpVTjI1IGZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIC0tPlxuPGRpdiBjbGFzcz1cImZsZXggaG92ZXItd3JhcHBlclwiIHN0eWxlPVwiYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4O1wiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmaWxlLWlubmVyLWRpdlwiPlxuICAgIDxzdmcgKm5nSWY9XCJmcm9tICE9PSAnbnh0VGFibGUnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIj5cbiAgICAgIDxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCJ1cmwoI3BhdHRlcm4wXzYxNl8zNTEyNSlcIiAvPlxuICAgICAgPGRlZnM+XG4gICAgICAgIDxwYXR0ZXJuIGlkPVwicGF0dGVybjBfNjE2XzM1MTI1XCIgcGF0dGVybkNvbnRlbnRVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCIgd2lkdGg9XCIxXCIgaGVpZ2h0PVwiMVwiPlxuICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNpbWFnZTBfNjE2XzM1MTI1XCIgdHJhbnNmb3JtPVwic2NhbGUoMC4wMDE5NTMxMilcIiAvPlxuICAgICAgICA8L3BhdHRlcm4+XG4gICAgICAgIDxpbWFnZSBpZD1cImltYWdlMF82MTZfMzUxMjVcIiB3aWR0aD1cIjUxMlwiIGhlaWdodD1cIjUxMlwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgICB4bGluazpocmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFnQUFBQUlBQ0FZQUFBRDBlTlQ2QUFBQUNYQklXWE1BQUE3REFBQU93d0hIYjZoa0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCM2QzY3VhVzVyYzJOaGNHVXViM0pubSs0OEdnQUFJQUJKUkVGVWVKenQzWGZZSDFXWi8vRjNTRS9vQ2FFVEFnb2lKWFRwZ2dpS2dpdFIxSlVWWGN1NitMT2cvaXpzV3FLcmE4ZTY2cUxpZ29vSUFpcFd5a2FVSmlBZ1JVVnFJTFNFaENTVTlHVC9PTjlISHBLbmZPdmNaMmJlcit1NnI0QVhWK2FUbWNlY2U4NmNPVE1DVmNVNFlCcXdmYU8yQVRZREpnT1RHcitPQnpadS9QZGpnSWxGaDVSNlpCV3d1UEhQVHdMTGdjZUJSNEI1d0tPTlh4OEU3Z0h1QXVZQWF3cFBLbVZpUkhRQXRXd01zQ3V3ZTZPbU4vNTlxOGhRVWdrdEpUVURkd0EzQXpjMGFuWmtLS2tvTmdENW13d2NCQnpjcUgyQnNhR0pwR3BiUUdvRXJnSitDMXdETElrTUpQV0NEVUIrUnBFRy9HT0FGNVB1OEwxT1VweWx3QitBV2NBbHBJWmdkV2dpcVFzY1dQSXdIbmdKOENyZ2FKNStUaThwUDQ4QVB3TitBbHdHTEl1Tkk3WEhCaURPR05JZC9xdUJsd0hyeDhhUjFJYkhnWjhEWjVGbUIxYkZ4cEdhWndOUXZHY0Jid2JlQUd3ZUcwVlNGejBJL0JqNERtbFJvWlExRzRCaWpBU09CMDRHanNEekxsWGRGY0NYZ1F0eFZrQ1pjaURxclhHazUvci9CdXdjbkVWUzhlNEZ2Z21jRGp3V0cwVjZKaHVBM3RnRWVBL3dObURUNEN5UzRpMG1OUUdmSlcxSUpJV3pBZWl1OVlIL0Izd1FWL0pMV3RlVHBEVUNud1RtQm1kUnpka0FkTWM0NEozQSswbmI3a3JTVUJZQlgyelU0bUgrVzZrbmJBQTZkeHp3SldDSDZDQ1NTbWMrOEIvQVYzRnpJUlhNQnFCOTAwa0QvK0hCT1NTVjN6WEFPNERybzRPb1B0YUxEbEJDNDBrTGVhN0h3VjlTZHh4QTJtNzRkTklpWXFubm5BRm96YUhBdC9DVlBrbTk4d2p3cjZTdGhxV2VjUWFnT2V1VE92UExjZkNYMUZ1Ymt6WVEraTYrVGFRZWNnWmdlUHNEUHlCdDRTdEpSWm9EdkpIMG5RR3BxMFpHQjhqWWVxUlgrMzRJYkJhY1JWSTliUWo4RTJudDBTeGdUV3djVllrekFBT2JBcHhEMnJkZmtuSndDWEFpN2lTb0xyRUJXTmYrcEM5NmJSc2RSSkxXTW9mMENmR3Jvb09vL0Z3RStFd25BYi9Gd1Y5U25yWWhQUXA0WFhRUWxaOXJBSktScEUxOVBnMk1EczRpU1VNWkNieWNOSU43ZVhBV2xaZ05BRXdFZmdTOFBqcUlKRFZwQkdranN1MkJYd0tySXNPb25PcStCbUFMNEdmQWZ0RkJKS2xObDVGbUJKNklEcUp5cVhNRE1CVzRGTi92bDFSK1Z3SXZ3UzhMcWdWMWJRQ21rYnJtYWRGQkpLbExyZ2RlQkN5SURxSnlxR01Ec0F2cHpuK3I2Q0NTMUdVM0FFZGhFNkFtMUswQjJJMzBDczNrNkNDUzFDUFhBUy9BTlFFYVJwMzJBWGdXY0RFTy9wS3FiVC9ncDhEWTZDREtXMTFlQTl5V2RPZnZCaitTNm1BYXNDTndRWFFRNWFzT0RjQVd3TytBSGFLRFNGS0JkZ2ZHa2RZOFNldW9lZ013RWZnTjZkbS9KTlhOSWNCYzBoc0Mwak5VZVJIZ2VxU1AraHdmSFVTU0FxMEFqZ1IrSHgxRWVhbnlJc0F2NHVBdlNhT0JjL0hWWjYybHFnM0FXNEYzUm9lUXBFeHNRWm9SSFJNZFJQbW80aHFBL1VuZDdxam9JSktVa1cyQkRZRmZSd2RSSHFyV0FFd2hiZkc3YVhRUVNjclFBY0Q5d0kzUlFSU3ZTb3NBUndLWEFFZEVCNUdrakMwQkRnWCtHQjFFc2FxMEJ1QlVIUHdsYVRqamdRdEpNNmFxc2FyTUFPd0RYRTFhN1NwSkd0NlZwRzhHTEk4T29oaFZXQU13a2JUSHY5MnNKRFZ2TzJBVDRGZlJRUlNqQ2czQWZ3RkhSNGVRcEJMYUg3Z1B1Q2s2aUlwWDlrY0Fod1AvUy9uL0hKSVVaUmx3R0hCdGRCQVZxOHdENTNqZ1p0Sm5maVZKN1hzSTJCZDRNRHFJaWxQbXR3QStqb08vSkhYRGxxU2RBc2RHQjFGeHlyb0dZRHB3QnVWdVlDUXBKOXNDazRGZlJBZFJNY3JhQUp3RDdCQWRRcElxWmwvUzR3QTNDYXFCTXE0QmVDVndYblFJU2Fvb1B4OWNFMlZyQU1ZQ3QrS3pmMG5xcFlkSnN3RVBSQWRSNzVUdEdmcTdjUENYcEY3ciszeXdpd0lyckV4ckFOWUhma1RhK1UrUzFGdmJrSFlML0VsMEVQVkdtUnFBVTRHWFJvZVFwQnFaRHN3RnJvOE9vdTRyeXhxQWpZRzdTZnRXUzVLS3N3STRDcmc4T29pNnF5eHJBTjZMZzc4a1JSaE5ldnk2VFhRUWRWY1paZ0Fta0Q1V01TazZpQ1RWMkkzQXdjQ1M2Q0RxampMTUFMd1pCMzlKaXJZWDhOL1JJZFE5dVM4Q0hBbDhIOWcwT29na2llbkFBdnh5WUNYa1BnTndQTEJqZEFoSjB0OTlnZlFwZHBWYzdnM0F5ZEVCSkVuUE1KcTBTZEMwNkNEcVRNNkxBSGNFN2lEdmpKSlVWemVSRmdVK0ZSMUU3Y2w1QnVCZmNQQ1hwRnp0Q1p3ZUhVTHR5M1VSNEdqZ2YwamIvMHFTOHJRSDhEaHdkWFFRdFM3WEdZQmpTQitqa0NUbDdUT2t6d2VyWkhKdEFGNFRIVUNTMUpSUndMbjR4bGJwNVBpTWZRTHdDRTcvUzFLWjNBd2NCRHdaSFVUTnlYRUc0Q1U0K0V0UzJld0JuRVdlTjVZYVFJNkxBRDhLN0JvZFFwTFVzbDFJcndWZUdSMUV3OHV0VXhzRnpDTjkvbGVTVkQ2cmdXT0JYMFVIMGRCeWV3UndFQTcra2xSbTZ3RS9BSjRWSFVSRHk2MEJPQ1k2Z0NTcFk1c0FQd00yakE2aXdka0FTSko2WVJmZ1RQSjcxS3lHbkJZQlRnWStqejhza2xRVnp3R1dBNytQRHFKMTVUUURjREFPL3BKVU5mOUJXaFNvek9UV0FFaVNxbVU5NEd6U0l3Rmx4QVpBa3RSckd3QVhBaHRGQjlIVGNwbHlId3NzYXZ3cVNhcW1ud0F6Z0RYUlFaVFBETUJ6Y2ZDWHBLcDdPZkRoNkJCS2Nta0E5b2dPSUVrcXhFemdGZEVoWkFNZ1NTcldDT0M3K00yWGNEWUFrcVNpYlFCY2dGdS9oOHFsQVhodWRBQkpVcUYySW4wK09KZHhxSFp5MkFsd1BQQXA4bmtqUVpKVWpKMUpEY0NzNkNCMWxFUG50VDBPL3BKVVZ4OENUb2dPVVVlNU5BQ1NwSG9hQVp3QjdCWWRwRzV5YUFDbVJRZVFKSVZhbi9UNTRFblJRZW9raHdaZ20rZ0FrcVJ3MDREdmtjZTRWQXM1bk9qTm9nTklrckp3RFBDSjZCQjFrVU1ENEpTUEpLblBCNEZYUjRlb2d4d2FnTW5SQVNSSjJlamJLWER2NkNCVlp3TWdTY3JOZU9COEhCOTZLb2NHWUlQb0FKS2s3R3dQL0lBOE5xeXJwQndhQUQ4RExFa2F5TkdrbldMVkF6azBBR09pQTBpU3N2VSs0UFhSSWFvb2h5MTRueUk5NzVFa2FTQkxnRU9CUDBZSHFaSWNHb0NWK0l4SGtqUzAyY0Ird0x6b0lGV1J3eU1BQjM5SjBuQ21BdWNBbzZLRFZFVU9EWUFrU2MxNEFmRFo2QkJWa2NNamdEWFJBU1JKcGZJbTBoY0UxUUViQUVsUzJTd0ZEZ091aXc1U1pqWUFrcVF5dWgvWUY1Z2JIYVNzWEFNZ1NTcWpiWUVMY0MrWnR0a0FTSkxLNm1EZ0M5RWh5c3BIQUpLa3Nuc0w4TzNvRUdWakF5QkpLcnRscEVXQjEwWUhLUk1iQUVsU0ZUeEVXaFQ0WUhTUXNuQU5nQ1NwQ3JZRWZveGZtRzJhRFlBa3FTb09CTDRVSGFJc2ZBUWdTYXFhdHdLblI0ZkluUTJBSktscVZnQkhBcitQRHBJekd3QkpVaFU5VEZvVStFQjBrRnk1QmtDU1ZFVmI0S0xBSWRrQVNKS3E2Z0JjQ3pBb0d3QkpVcFdkQkp3Y0hTSkhyZ0dRSkZYZEN1QW80UExvSURteEFaQWsxY0Vqd0g2a3p3Z0xId0ZJa3VwaGMrQ253UGpvSUxtd0FaQWsxY1Zld0g5SGg4aUZEWUFrcVU1ZUI3d2pPa1FPWEFNZ1NhcWJsY0RSd0t6b0lKRnNBQ1JKZFRTZnRDandudWdnVVh3RUlFbXFvMG5BQmNDRTZDQlJiQUFrU1hXMUp6WGVLZEFHUUpKVVp5Y0M3NGtPRWNFMUFKS2t1bHNGSEF2OE9qcElrV3dBSkVtQ0JjRCt3RjNSUVlyaUl3QkprbUJUMHFMQWlkRkJpbUlESUVsU3NnZHdGbm5NanZlY0RZQWtTVStiQWJ3dk9rUVJjdWh5WEFNZ1NjckphdUE0NEpmUlFYckpCa0NTcEhVOVJsb1VlR2Qwa0Y3eEVZQWtTZXZhQlBnWnNHRjBrRjZ4QVpBa2FXQzdBR2VTeDJ4NTE5a0FTSkkwdUpjRHAwYUg2SVVjdWhyWEFFaVNjcllhZUJGd2FYU1FicklCa0NScGVBOEF1NU1XQjFhQ2p3QWtTUnJlMXNCcDBTRzZ5UmtBU1pLYU53TzRNRHBFTjlnQVNKTFV2TG1rUndGem80TjB5a2NBa2lRMWJ3cnc1ZWdRM2VBTWdDUkpyWHNWY0Y1MGlFN1lBRWlTMUxxNXdFN0FvdWdnN2ZJUmdDUkpyWnNDZkRRNlJDZWNBWkFrcVQwcmdiMkFXNk9EdE1NWkFFbVMyak1LK0dKMGlIYlpBRWlTMUw0WEFzZEZoMmlIandBa1Nlck1YY0N1d0xMb0lLMXdCa0NTcE03c0NKd1NIYUpWemdCSWt0UzV4Y0EwWUVGMGtHWTVBeUJKVXVjMkJONFZIYUlWemdCSWt0UWRpMGl6QUtYNFpMQXpBSklrZGNkR3dEdWlRelRMR1FCSmtycG5JV2tXWUdGMGtPRTRBeUJKVXZkc0RKd2NIYUlaemdCSWt0UmQ4MG16QUk5SEJ4bUtNd0NTSkhYWEpPQXQwU0dHNHd5QUpFbmRONXUwUWRDcTZDQ0RzUUdRRkdFNWNDOXBDOVU3Z1llQkI0RkhTTjlaZndwNGtvR25VQ2NBNDBqUFdpY0JtelZxYTlLMDZ3Nk4ycWlYZndDcENTOERMb29PTVJnYkFFbTl0aGk0QnJpeFVUZVJCdjFlM3hsdEIremVxSDJBZzRDdGVueE1xYjlMZ0tPalF3ekdCa0JTdHowQlhBcjhML0I3NEJieW1RYWRDaHdNSEVuNmkzbWIyRGlxdURYQVRxU0dOenMyQUpLNllRNXdQdkJ6MHFCZmxxK2k3UUljQzh3QW5rY2VmeWVxV2o0SmZDZzZ4RUJ5K0dHM0FaREthUzV3RG5BdWNCWGwvLy95TnNBcmdKT0F2WU96cURybUFOdVR6eXpZMzlrQVNHckZhdUJpNE51a3hVM0xZK1Awek83QTY0RTNrQllhU3AwNEJ2aDFkSWkxMlFCSWFzWVR3Tm5BYWNEdHdWbUtOQlo0TmZCdVlNL2dMQ3F2NzVGbWxySmlBeUJwS0k4QW53ZStSZnJTV1owZENmd2I4SUxvSUNxZFJjQVd3TkxvSVAyNUU2Q2tnY3dGL2ovcGZmclA0K0FQY0JtcENUZ1ErR1Z3RnBYTFJzQ0xva09zelFaQVVuOVBBaDhsRGZ4ZklHM0lvMmU2Qm5ncDhIemc2dUFzS284VG9nT3N6VWNBa2lBdDd2c2Y0TU9rSGZuVXZCbWtabW43NEJ6SzJ3SmdjMkJsZEpBK3pnQkl1cG0wT2M2YmNQQnZ4d1hBYzRHUGtka3pYbVZsVTlMam8yellBRWoxOVNUcE9mOCtwR2x0dFc4Sk1CUFlEWmdWRzBVWmUybDBnUDU4QkNEVjAxV2s5OXl6M0tLMDVFWUFid1UrQzJ3UW5FVjV1Um1ZSGgyaWp3MkFWQy9MU1ZQVm55SERuY2txWmlyd2ZlQ1E2Q0RLeGhwZ0N2Qm9kQkR3RVlCVUovZVNCcVAveE1HL0NMT0JJNENQNC9sV01vTDA5a2dXYkFDa2V2Z0Y2Vm4vZGRGQmFtWWw2YlhLSTRHSGc3TW9ENGRIQitoakF5QlYyeHJnSThCeHBOZVFGT055WUYvZ0Q5RkJGTzdRNkFCOVhBTWdWZGNxMHY3alowY0gwZCtOQmY2TDlNcWw2bWtsYVdmQThFMjJuQUdRcXVzVUhQeHpzd3g0TTNBcTN2elUxU2d5K2JDVURZQlVUZWNDWDRzT29VRjlHamlSMUJDb2Z2YUxEZ0EyQUZJVkxRTGVHUjFDdy9vaDZUdnhUMFFIVWVHeTJBdkFCa0NxbnErU1B1T3IvTTBpdlNvNFB6cUlDclZMZEFCd0VhQlVOU3RKWC9LN1B6cUlXckkzOEJ0Z2NuUVFGV0lSc0hGMENHY0FwR3I1S1E3K1pYUUQ2WHZ4aTZLRHFCQWJBVnRIaDdBQmtLcmxwOUVCMUxZYmdCZmptb0M2MkNFNmdBMkFWQzFYUlFkUVI2NEJqc2UzQStwZ2FuUUFHd0NwT2g0Qjdvb09vWTVkU3ZwU28rdWpxbTNiNkFBMkFGSjEzQkVkUUYzekk5SkhoRlJkMjBVSHNBR1Fxc01GWk5YeU1lQUgwU0hVTTFPaUE5Z0FTTld4TURxQXVtb05hZHZnRzZLRHFDYzJqUTVnQXlCVmgvOS9ycDZsd0t1d3Vhc2lHd0JKWFJPK3FFZzljUmN1Q3F5aThBYkFuUUNsNnJpUERGNHRhc01JVXZPeVU2T21rSFpKNjZ2UndKT04vM1loc0FTWURjd2hiWHAwSnpDdjJNZ2h2Z3E4UFRxRXVtWSt3VHMvMmdCSTFiRUsyQVI0UERySU1DWURoelhxVU5LKzZPTTcvRDN2QTY0RC9nQmMzYWhWSGY2ZXVaa0EvQkY0VG5RUWRjWGp3SWFSQVd3QXBHbzVGdmhGZElnQlBKZjBMSHNHc0J1OS83dG5QdkJMNEdla1BmWnpiNHFhdFM5cHM2ZlIwVUhVc1dYQXVPZ1EwZFpZbHRXMU9vdDhiQTc4TzNBenNlZmtDZUJid0Y2OS9lTVc1aFBFLzV4Wm5kZnF0UzlzMFp3QmtLcmxLV0FhTURjd3crN0FLY0NKd05qQUhBTzVHdmd5Y0I0Wi9BWGNwdkdrcHVwWjBVSFVzZEF4MkxjQXBHcVpRTHJyanJBMzhHdmdUOEFieVcvd0J6Z1FPSWYwYnYxTGc3TzBhd253dHVnUVVqZEVUOE5ZVnRWcUpmQThpck1kNmRIRHFpNy9PWXFvM3dQN2RQK1VGT0ljNHMrZjFWbUY4aEdBVkUxelNFM0FnejA4eGxqZ1E4Qjc2WHdWZjZTVndHZEplKytYNlN0ODJ3Ti93WVZrWmVZakFFbGR0dzB3aTk3dEN6QWR1SmJVQUpSNThBY1lCZndiNlJXNy9ZS3p0T0plNEN2UklWUmV6Z0JJMVRZWE9JbjBLbHczakFMZUQzd1VHTk9sM3pNbks0QjNBZCtJRHRLa2pVZ2JJWVZ1S0tPMk9RTWdxV2VtQUw4Q3ZnZnMwT0h2TlozMER2b25xZWJnRCtuOStxOEQzNlFjNzlvdkFqNGZIVUxsNUF5QVZCK3JTYzNBMTRCTFNjKytoek9DdEZ2ZjI0QVRxTmROdys5SUd4Zk5qdzR5alBXQmUzQVdvSXhDeDJBYkFLbWVuaVJ0blhzRjZXTXppMGwzazVEV0Qwd2w3Y3YvQW1ETGlJQ1p1QWw0SWZrM0FSOEVQaFVkUWkyekFZZ09JRWxEK0JPcENYZzBPc2dRTmlCOUdHbWo2Q0JxaVdzQUpDbGowNEhMeUh1Sy9YSGdPOUVoVkM3T0FFaFNjNjRqUFJKNUlqcklJS2FTM2dnWUZSMUVUWE1HUUpKS1lEL1NOd1J5ZlR0Z051bnJoMUpUYkFBa3FYa3ZCczRrMzc4N3Z4MGRRT1hoSXdCSmF0Mm5nVk9qUXd4Z0pPbVZ3RzJqZzZncFBnS1FwSkw1QVBBUDBTRUdzSW8wUXlFTnl4a0FTV3JQbzhCZXBBOHY1V1FuNFBib0VHcUtNd0NTVkVLVGdiUEpiOVg5MzBoN0YwaERzZ0dRcFBZZFN2cVNZRzdPaXc2Zy9Qa0lRSkk2c3hUWWpiU2xjaTU4REZBT2JnVWNIVUFxMkVMZ0R0SlU3U0xTTG02TFNQdnpMd00ySm4zZ1pTSnBpOWVwd0xPQjdYRFdMbGMvQjQ2TERyR1d2NUYrYnBTdjBERTR0MmRYVXRVOFR2cXEzQ3pnV3RKZDJkdzJmNit4cEwvUWR5Vk5QUjhPUEpjOEd2bTZPN1pSUDQ4TzBzK3ZzUUhRRUhMNGk4TVpBRlhObmNBUFNIOEJYMDl6bjkxdDF4VGcrY0R4cE5mU0p2VHdXQnJhWGFTR2JIbDBrSWFYa2xkRG9uWDVDQ0E2Z05RRkM0RnpnYk9BcTRqNXVWNmYxQWljU1BwNjNjaUFESFgzUnVDNzBTRWFKZ0lMZ0RIUlFUUW9HNERvQUZJSDVnTGZBRTRERmdkbjZXOHE4QjdnelRnclVLVGJTYk1BcTZPRE5Gd05IQkFkUW9OeUh3Q3BoQjRCUGdoc0Q4d2tyOEVmMG9kaDNrVnFCRDVHdWhOVTcrME12RHc2UkQ5WFJBZFF2bXdBcE5Zc0J6NUJHdmcvQXl3SlRUTzhSMGtOeW83QTEwaGJ4YXEzUGhnZG9KOHJvd01vWHo0Q2tKcDNCZkJXNE0vUlFUb3duZFFJSEJJZHBPTDJBVzZJRGdGc0JUd1FIVUtEOGhHQWxMbWx3TW5BWVpSNzhJZTBSZXhod0J0SWV3K29OMDZNRHREd0lPMi9kcXFLc3dHUWhuWS82VFc3YjFLZDJhbzFwQy9HVFNjdEVsUDMvU1A1dklYaGR3RTBJQnNBYVhDWGtMNzJkbTEwa0I2WlRkcE02SXRVcDduSnhaYWtjNXNER3dBTnlBWkFHdGhYZ0dPQStkRkJlbXc1NlhYQjQwbGJFYXQ3VG9nTzBQRFg2QURLa3cyQXRLN1BrMTZocTlPSytaOENSd0R6b29OVXlCSFJBUnB5K2tpUk1tSURJRDNUWjRIM1JZY0ljaDFwZ2VCOTBVRXFZaWRnNitnUXBLMnBwWFhZQUVoUCt6andnZWdRd2Y0S0hBVGNGaDJrSWc2UERrQjZEWEJwZEFqbHh3WkFTajRHZkRRNlJDWWVBSTRDN29rT1VnR0hSd2NnTGZCOE1EcUU4bU1ESUtXZDhtWUdaOGpOUTZRbTRKSG9JQ1czUjNTQWhvZWpBeWcvTmdDcXU1bWt1Myt0Nnk3U04rNmZpQTVTWWp0SEIyaDRLRHFBOG1NRG9EcjdHQTcrdzdrZWVCM3VFOUN1allBcDBTRndOMEFOd0FaQWRUVVRwLzJiOVJQUzl3UFVubWRIQndBZWp3NmcvTmdBcUk2ODgyL2QrNENib2tPVTFBN1JBY2p2YzlYS2dBMkE2dVpqZU9mZmptWEFhM0Mzd0hac0ZCMEFHd0FOd0FaQWRUSVRCLzlPM0U3YUswR3RXVDg2QUttQms1N0JCa0IxTVJPbi9idmhTNlJHUU0zYklEb0FMdUxVQUd3QVZBY3pjZkR2bHVYQU82SkRsRXdPRGNEcTZBREtqdzJBcXM0RmY5MTNDWEJSZEFpMXhBWkE2N0FCVUpYTnhHZit2ZkpobkZadVZnNEw4TVpHQjFCK2JBQlVWVFB4enIrWC9nUmNGaDJpSkhMWVNYRjhkQURseHdaQVZUUVRCLzhpZkRZNlFFbmtzQW5QdU9nQXlvOE5nS3JHWi83RnVRUzRNVHBFQ1N5S0RnQk1pQTZnL05nQXFFcG00alAvb3AwUkhhQUU3b29PQUV5T0RxRDgyQUNvS21iaW5YK0VId0VybzBOazdtL1JBYkFCMEFCR1JRZVF1cURNMC82VGdRT0I1d0hUU2M5cTF5ZnQzSFpIbzY0Q3JnWldCV1VjeWp6Z1V1REYwVUV5dFFDWUh4MENHd0JsYW8xbGRWQXpLWi8xZ0dPQUM0RVZOUGZudkIvNElIayt5ejJKK0orRFhPdnFEczVyTi8yWitITmhyVnUxRjMwQnJQTFdUTXJuQU5JcmRPMyttZThIamlvODlkQW1remFhaWY1NXlMRnkrSXp5Q05KSG5LTFBoYlZ1MVY3MEJiREtXVE1wbDlIQVYwblQrSjMrMlZjQjd5dzIvckJ1SnY1bklzZDZSU2NudFVzMkkvNDhXQU5YN1VWZkFLdDhOWk55R1EyY1QvZlB3MXVML0VNTTR5dkUvMXprVnF1QVNaMmMxQzdaai9oellRMWNvWHdMUUdYek1jclZBSXdHemdGbTlPRDMvaHJ3a2g3OHZ1MjRQRHBBaG00bWp3V0FPMFVIVUo1c0FGUW1EdjdQTkFvNEQ5aTdSNzkvSzNKWjdKYVRTNklETk93YUhVQjVzZ0ZRV1RqNEQyd0NjQzZ3WVkrUE01d0h5ZU9qTnprNU96cEFndzJBQm1RRG9ESnc4Qi9hanVTeEQwSU9HOTdrNGhiZ3B1Z1FEYnRGQjFDZWJBQ1VPd2YvNXJ3ZG1GYndNZGQyZS9EeGMvSzk2QUFOazRqL3VWQ21iQUNVTXdmLzVvMEMzaHR3M1A3dUNENStMbFlDUDRnTzBiQWZhUjhBYVIwMkFNcVZnMy9yL2hFWUczajhSd09QblpNZmt0WkU1R0QvNkFES2x3MkFjdVRnMzU1TmdZTURqNzh3OE5pNVdBVjhNanBFUHdkRkIxQytiQUNVR3dmL3pod2FlR3diZ1BSYVppNXJJY1lBaDBTSFVMNXNBSlFUQi8vTzdSSjQ3RVdCeDg3QmF1QVQwU0g2ZVI0d01UcUU4bVVEb0Z3NCtIZkg1b0hIWGhsNDdCejhOM0JiZEloK1hoQWRRSG16QVZBT0hQeTdaM3pnc2NjRUhqdmFROENwMFNIV2tzczIwY3FVRFlDaU9maDMxeE9CeHg0WGVPeG83eUt2UnlCYmtWNEJsQVpsQTZCSUR2N2ROeWZ3MkpHdklFYjZPV254WDA2T3hmZi9OUXdiQUVWeDhPK05Xd09QWGNjRlovY0RiNG9PTVlEam93TW9mellBaXZBNUhQeDc1YmVCeDk0bThOZ1JsZ0d2Qk9aR0IxbkxGT0NGMFNHVXYxSFJBVlE3WndBZmlBN1JndEhBanlqSEhkVnM0SStCeDk4dThOZ1IzZzVjR3gxaUFQK0lmN2VyQ2M0QXFFamZBOTRDcklrTzBxUytPLzh5RFA0QTN5SDIzTlpwQnVBYndMZWpRd3ppeE9nQVVyUFdXTFdvUzBrRGFsbU1CczRuL3J3MVd3dUJUWHB5SnBwM1BmSG5vWWc2azN4dm52WWcvdnhZelZjb3A0bFVoTDhBSndBcm9vTTBxVXpUL24wK0Fqd1dlUHlSd0hNQ2oxK1VINU1XL2EyT0RqS0lrNk1EU0sySTdzQ3MzdGJEd0ZUS28yeDMvbXVBV2FRQk9OSjA0czlEcitzODhyNXAyZ0JZVFB4NXNwcXZVTGxPWTZrYVZwRHUvR2RIQjJsU21WYjc5N2tQZUMzcEszU1I5ZzArZnE5ZFFEclBPVzkzL0hwU0V5Q1ZSblFIWnZXdVRxRTh5bmpuUDQvWWovLzA5MDNpejBldjZuenlYNzh5Q3JpYitITmx0VmExRjMwQnJON1VEeW1Qc2c3K2UvVGlaTFRwVnVMUFNTK3FESU0vcEZmL29zK1YxWHJWWHZRRnNMcGZkMUtlcVVnSC84NU5JLzZjOUtMS012aVBBRzRpL254WnJWY28xd0NvMjFZQ3J3TWVqdzdTaEw3Vi9tVjY1ajhQT0JLNE9UcElQOGRGQitpQkM0RFhVSTQzVjE1QldvUXBsVTUwQjJaMXQyWlNEcU5KZjhsSG42OVdhaTU1M2ZuMytRM3g1NmFiVlpZN2YwaHZmOXhHL0RtejJxdmFpNzRBVnZmcU92SitUYXFQMC83ZHN4R3dsUGp6MDYwcTArQVBjQkx4NTh4cXYyb3YrZ0pZM2FrVndON2t6enYvN25vNzhlZW5XMVcyd1g4OGNDL3g1ODFxdjJvditnSlkzYWxQcjMxaE0rVGczMzAzRW4rT3VsRmxHL3dCUGs3OGViTTZxOXFMdmdCVzUzVVhNR0h0QzVzWnAvMjc3d0RpejFFM3FveUQvelRnS2VMUG5kVloxVjcwQmJBNnI5ejN6SGZ3NzQwemlEOVBuVllaQjMrQWk0Zy9kMWJuVlh2UkY4RHFyR2F0ZTBtejRyUi9iMndITENQK1hIVlNaUjM4WDB2OHViTzZVN1VYZlFHczltc1ZzTSs2bHpRYkR2NjljenJ4NTZxVEt1dmdQeGw0aFBqelozV25haS82QWxqdDE1a0RYTTljT08zZk85c0R5NGsvWCsxV1dRZC9nSE9KUDM5Vzk2cjJvaStBMVY2dEFKNDF3UFhNZ1lOL2IzMmIrUFBWYnBWNThIOFQ4ZWZQNm03Vlh2UUZzTnFyTXdhNm1CbHcyciszOWlOdDl4eDl6dHFwTWcvK3p3SVdFMzhPcmU1VzdVVmZBS3YxV2dIc09OREZERmJHTy84eURmNmpLTzk3LzJVZS9DZFEzdk51RFYyMUYzMEJyTmJybkFHdlpLeVJ3SStKUHpldFZKa0dmNEQzRW4vTzJxa3lELzRBM3lmK0hGcTlxZHFMdmdCVzYvVzhBYTlrck04VGYxNWFxYklOL3RPQUo0Zy9iNjFXMlFmL2R4Ti9EcTNlVmUxRlh3Q3J0YnB5NE1zWTZwK0pQeSt0Vk5rRy96SEFOY1NmdDFhcjdJUC9ETkxqdHVqemFQV3VhaS82QWxpdDFXc0d2b3hoRHFWY0c5S1ViZkFIK0JMeDU2M1Zxc0xnWCtaWExhM21xdmFpTDREVmZEMEtqQjM0TW9iWW5ISnRpbExHd1g4R3NKcjRjOWRLT2ZoYlphbmFpNzRBVnZQMXBVR3VZWlNmRUg5T21xMHlEdjU3QUF1SlAzZXRsSU8vVmFhcXZlZ0xZRFZmMHdlNWhoRk9JdjU4TkZ0emdkMTdjeHA2WmcvUzVrVFI1NjZWY3ZDM3lsYTFGMzBCck9icVQ0TmR3QUJiQWZPSlB5Zk5sSU4vTWVYZ2I1V3hRcTBYSFVDbDhlUG9BUDE4R2RnME9rUVQ1Z0V2Qkc2SkR0S0NQWURMU0IrZEtZc0xTSXRUVjBRSGFkTU0wdDRhWlc1Z3BMWkVkMkJXYzdYTFlCZXdZUHRUamtWcDN2a1hVOTc1VzJXdTJvdStBTmJ3ZGR1Z1Y2OTRzNGcvSDhOVldSZjhPZmdYeThIZnFyM29DMkFOWDU4YjlPb1Y2NlhFbjR2aHlqdi9Zc3JCMzZwQzFWNzBCYkNHcnhjT2V2V0tkUjN4NTJLbzhzNi9tSEx3dDZwU3RSZDlBYXloNnlsZy9LQlhyemdIRUg4dWhpcnYvSXNwQjMrclNoWEt0d0Ewbk44RFM2SkRBQ2RIQnhpQ3EvMkw0V3AvcVdLaU96QnI2UHJJNEpldU1KTkpUVWowdVJpb3ZQTXZwcnp6dDZwWW9ad0IwSEN1amc0QXZCNFlGeDFpQU43NUY4TTdmNm1pb2pzd2EvQmFCV3cwK0tVcnpGWEVuNHUxeXp2L1lzbzdmNnZLVlh2UkY4QWF2UDQ4eEhVcnl1YWtSaVQ2WFBRdkIvOWl5c0hmcW5xRjhoR0FocExEMVBaeDVQVnpPZzg0a2p6T1RiT2M5aStlMC83S1hrNS9zU28vT2V3QWVGeDBnSDRjL0l2aDRDOFZ3QVpBUTdrMStQZ2pnRU9DTS9RcDYrQi9LUTcrUlhMd1YybU1pZzZnclAwdCtQZzdrTWRYLzhvNitIdm5YeXdIZjVXS013QWF5dXpnNCs4WGZQdytiOExCdjljYy9LV0MyUUJvTVBPQng0TXo3Qk44ZklCemdZdWlRN1RBd2I5NER2NHFKUnNBRGVhKzZBREFyc0hIWHdLY0VweWhGVDd6TDU2RHYwckxOUUFhek1QUkFZQnRnNDkvSHZCUWNJWm1lZWRmUEFkL2xab3pBQnJNL09nQXdOYkJ4ejg5K1BqTmN2QXZub08vU3M4R1FJTjVMUGo0RTRCTkFvOC9HN2d5OFBqTmN0cS9lQTcrcWdRYkFBMW1RZkR4dHd3K2ZnNGZRUnBPMytDL1dYU1FGamo0UzVsd0RZQUdzelQ0K0dPRGozOU44UEdINDdSLzhSejhWU25PQUdnd3k0S1BILzJ6ZVdmdzhZZDVNNmgyQUFBUTJVbEVRVlRpdEgveEhQeFZPYzRBYURETGc0OGYvYlA1WlBEeEIrT2RmL0VjL0ZWSjBYZFp5dGZLNE9OSC8yd3VDVDcrUUx6ekw1NkR2eW9yK2k1TCtZcitDeTk2QU40dytQaHI4ODYvZUE3K3FyVG91eXpsSzNvUjNxUEJ4OThwK1BqOU9mZ1h6OEZmbFdjRG9NR01DVDcrQW1CMTRQRjNEangyZjA3N0Y4L0JYN1ZnQTZEQlRBZysvaXBpTnlNNkl2RFlmWHpQdjNnTy9xb05Hd0FOWmxKMEFHTDM0ZCtOTkFCSGNmQXZub08vYXNVR1FJUFpORG9BY0Z2dzhkOFRkRndILytJNStLdDJiQUEwbUJ4bUFHNE5QdjdyZ0gwS1B1YnVPUGdYemNGZnRXUURvTUZFNzhVUGNFdnc4ZGNEdmdlc1g5RHhkaWV0OW5md0w0NkR2MnJMQmtDRG1Sb2RnUGdHQUdBWDBpRFg2OWNpSGZ5TDUrQXZCVnRqWlZzNXZIcDJQL0huWVEzd2UzcDNQdllBNW1id1oyeWx6cWZjQStjTTBuYlgwZWZScW5lRmNnWkFRNWthSFFDNEpEcEF3eUhBRmNEMlhmNTlEd04raTNmK1JmTE9YOElHUUVON1RuUUE0T0xvQVAzc0RGd0hITk9GMzJzRThDNVNnN05KRjM2L29qajRTK3FhNkNrWWEvRDYxQkRYclNpYmtUWUZpajRYL1dzMWFYSGdObTMrbWZZaVBWS0kvbk8wV2s3N1cxWjNxL2FpTDRBMWVGMDB4SFVyMG0rSlB4Y0QxVExnRE5JMC9uQ3phZU9BNDRGZmtCcUk2T3l0bG9PL1pYVy9RbzJJRGtBR0owR0R1bzg4MWdHOEFmaHVkSWhoUEFaY0NmeUZ0S0J2TVdscWYydlNyb0lIQU9QRDBuWEdhWCtwTjBMSFlCc0FEV2NyWXJma0JaZ0lQRXh4NytQcmFRNytVdStFanNFdUF0UndEb3dPQUR4Sm1vSldzUno4cFFxekFkQndjbWdBQUw0UkhhQm1IUHlsaXJNQjBIQU9pUTdROEFmU0h2bnFQUWQvcVFaY0E2RGhyQUttQUF1aWd3Q0hBN09pUTFTY2c3OVVITmNBS0dzamdTT2lRelQ4bHZUK3ZIckR3VitxRVJzQU5lTkYwUUg2K1JET0d2V0NnNzlVTXpZQWFzWkx5T2RuNVhmQTk2TkRWSXlEdjFSRHJnRlFzdzRoYlhTVGc4MkJ2d0liUndlcEFBZC9LWTVyQUZRS0owUUg2T2NSNE1QUklTckF3VitxTVdjQTFLdzVwRzJCVjBjSGFSaEplaTN3OE9BY1plWGdMOFZ6QmtDbHNBMzV2QTBBNmZYRTE1QzJDRlpySFB3bDJRQ29KVytNRHJDV1I0RFhrcG9CTmNmQlh4SmdBNkRXekNCOTRTNG5zNEJQUlljb0NRZC9TWDluQTZCV2pBUCtLVHJFQUQ0S25CMGRJbk1PL3BLZXdVV0FhdFU5d0xQSmI5cDlOUEJUNEpqb0lCbHk4SmZ5NUNKQWxjbzA0TGpvRUFOWUFid1N1Q282U0dZYy9DVU55QVpBN1hoM2RJQkJQQVc4RExnMk9rZ21IUHdsRGNvR1FPMDRERGdvT3NRZzVnTkhBcitKRGhMc2ZCejhKUTNCQmtEdG1oa2RZQWhQQU1jQ1owUUhDZklWNE5VNCtFdkszQnFydEhYSUFOY3pKeU9BajVNV0xFYWZxeUpxS2ZENnJweTVPRE9BNWNTZlM4c3Fva0w1Rm9BNk1RdDRRWFNJSmh3RmZJLzBFYUdxZXBnMGVGNGRIYVFEM3ZtcmJud0xRS1YxQkhtK0ViQzJTNEE5Z0l1amcvVElqMGwvUGdkL1NhVVNQUVZqZFZhM1U1Ni90RWNDYndNZUkvNjhkYU1lSlMzMEt6dW4vYTI2VnUxRlh3Q3I4enBsbmF1YXQ4MkJNMGxmTm93K2QrM1VhdUNId0JiZFBqRUJIUHl0T2xmdFJWOEFxL042RE5oeTdRdGJBb2NDbHhOLy9scXBTNEI5ZW5FeUFqajRXM1d2Mm91K0FGWjM2cnkxTDJ5SkhFcmFOeUQ2SEE1VlY1RVdNMWFGZzc5bEtmd0NXTjJybDFGdSs1SDJEbGhNL0xsY1E5clo4RHRVNTQ2L2o0Ty9aYVVLNVd1QTZxYjdTYXZSRjBZSDZkQkUwaUQxQnVENXBNV0RSVmtGWEFsY0NKd0ZMQ2p3MkVWd3RiLzB0TkF4MkFaQTNYWTJjR0owaUM3YWhMUzE4TkdObXRxRFl6d01YQUZjQlB5Q3RKMXhGVG40Uzg5a0F4QWRRRjEzSXFrUnFLS3B3TzdBYm8xZmR5V3R4cC9NOERNRkR3TVBBbk9BMjREcmdPdEpNeWRWNStBdnJjc0dJRHFBdW00aHNDY3dPenBJd1NZM2FtTGozeDlyL0xvQ2VJVDAzTHVPSFB5bGdka0FSQWRRVDl4RSttTGdrdWdnQ3VYZ0x3M09yWUJWU1hzQ1g0NE9vVkFPL2xMR2JBRFVTMjhCM2hRZFFpRWMvS1hNK1FoQXZiWWNlREhweTRHcUJ3ZC9xVG11QVlnT29KNmJUMW9QOExmb0lPbzVCMytwZWE0QlVPVk5BbjRGVElrT29wNXk4SmRLeEFaQVJka0IrQ213UVhRUTlZU0R2MVF5TmdBcTBnR2ttWUNKdy8ySEtoVUhmNm1FYkFCVXRJT0JDNEN4MFVIVUZRNytVa25aQUNqQzBjQ1BzQWtvdTFmaDRDK1ZsbThCS05JczBpZUVuNGdPb3BiOUUvQmRZRlIwRUtuRWZBdEF0WFVFOEV0Z3crZ2dhc25Kd0prNCtFdWxaZ09nYUllU1pnSzJqQTZpWVkwQVBnNThIZi91a0VyUFJ3REt4WVBBc2NDTjBVRTBvREhBZDBoVC81SzZ3NTBBb3dNb0c0dUJFNENMbzRQb0dTYVIzdHc0TERxSVZER3VBWkFhTmlTdENaaUpQNXU1MkJPNEZnZC9xWEtjQVZDdUxnSk9BaFpHQjZteDF3SGZCQ1pFQjVFcXloa0FhUURIQWRjQWUwY0hxYUdKd0xlQnMzRHdseXJMQmtBNTJ4bjRBK21Sd01qWUtMV3hIM0FEOEtib0lKSjZ5MGNBS292TGdUY0E5OGJHcUt4UndBZUJqK0RPZmxKUmZBc2dPb0JLNHluU2UraWZCMVlGWjZtU3ZZRFRnWDJqZzBnMVl3TVFIVUNsY3ozd0w3aG5RS2MyQVA0RGVEcytZcEVpdUFoUWF0RytwQ2JnTEdDTDRDeGx0QjdwRFl2YmdYZmg0Qy9Wa2pNQUtydkZ3S2VBTHdGTGc3T1V3UkhBRjBqVC9wSmkrUWdnT29BcVlTNXdHdkFWWUVsd2xod2RCSnhLMm01WlVoNXNBS0lEcUZJZUFENU4rbFR0azhGWmN2Qjg0TitCbzZLRFNGcUhEVUIwQUZYU1l1Qi9TRzhNM0I4YnBYQ2pnWmNEN3dFT0NNNGlhWEEyQU5FQlZHa3JnQXVCTTRCTGdOV3hjWHBxQitDZkc3VjFjQlpKdzdNQmlBNmcycmlQOUdqZ0hPQ3Z3Vm02WlNQZ1phUk5rbzRnai85UFMycU9EVUIwQU5YU3JjQ1BTWis1dlNVNFM2c21rUmJ6dlpMMGJIOXNiQnhKYmJJQmlBNmcycHNEWEF6OEJwZ0Z6SXVOczQ0eHdQN0EwY0NMZ0gzdzNYMnBDbXdBb2dOSWEva2JjSFdqL2dqOG1iUU5jUkhXSXozTDN3TTRzRkg3QU9NS09yNms0dGdBUkFlUWhyRWF1SWYwcU9CdVlIYmozKzhESGdYbTAvd21ST3NCbTVLbThiY0dwalpxQjJBWDRMbjRDVjZwTG13QW9nTklYZkFVcVJGWVFXb1lGalgrOTNIQStNWS9iMHdhL0NVSmJBQnNBQ1JKdGVUSGdDUkpVckZzQUNSSnFpRWJBRW1TYXNnR1FKS2tHcklCa0NTcGhtd0FKRW1xSVJzQVNaSnF5QVpBa3FRYXNnR1FKS21HYkFBa1Nhb2hHd0JKa21vb2h3WmdWWFFBU1pJS0ZqNzI1ZEFBTEk4T0lFbFN3WlpGQjdBQmtDU3BlRFlBMkFCSWt1ckhCb0FNVG9Ja1NRVUx2L25Ob1FGWUhCMUFrcVNDTFlvT2tFTUQ4R2gwQUVtU0NoWSs5dGtBU0pKVXZQQ3h6d1pBa3FUaWhZOTlPVFFBODZNRFNKSlVzQVhSQVhKb0FPWkVCNUFrcVdEM1JRZklvUUc0SnpxQUpFa0ZDeC83YkFBa1NTcmV2ZEVCUmtRSEFNWUJUNUZIRmttU2VtMDFNSUhnamZCeW1BRllDandVSFVLU3BJSThRQWE3NE9iUUFBRGNHaDFBa3FTQzNCSWRBUEpwQUc2T0RpQkpVa0d5R1BOeWFRQ3k2SVlrU1NwQUZtTmVMZzFBRnQyUUpFa0Z5R0xNeTJYbC9SalNsNUhHUlFlUkpLbUhsZ0FiQVN1aWcrUXlBN0FjdUQ0NmhDUkpQZllITWhqOElaOEdBT0RLNkFDU0pQWFlGZEVCK3RnQVNKSlVuR3pHdWx6V0FBQk1BdWFSVnlaSmtycGxOV21zV3hnZEJQS2FBWmdQL0NrNmhDUkpQWEk5bVF6K2tGY0RBUERMNkFDU0pQWElyNklEOUpkYkE1RFZ5WkVrcVl1eUd1TnllOTQrRXBnTGJCb2RSSktrTG5vVTJBSllGUjJrVDI0ekFLdUFpNk5EU0pMVVpiOG1vOEVmOG1zQUFNNkxEaUJKVXBlZEd4MWdiYms5QW9DMEhmRERwSzBTSlVrcXU0V2s2ZjlsMFVINnkzRUdZQ2x3VVhRSVNaSzY1RUl5Ry93aHp3WUE0RWZSQVNSSjZwTHNwdjhoejBjQUFLT0ErNEF0bzROSWt0U0JoNER0Z0pYUlFkYVc2d3pBU3VETTZCQ1NKSFhvTzJRNCtFTytNd0FBT3dCM2tHK1RJa25TVU5ZQXp3YnVpZzR5a0p3SDE3dUJXZEVoSkVscTB5VmtPdmhEM2cwQXdOZWpBMGlTMUtadlJBY1lTczZQQUNBMUtMY0R6NG9PSWtsU0MvNEc3RUw2QkhDV2NwOEJXQTE4S1RxRUpFa3RPbzJNQjMvSWZ3WUFZQUl3RzVnY0hVU1NwQ2JNQmJZSGxnVG5HRkx1TXdBQVQrRmFBRWxTZVh5TnpBZC9LTWNNQUtUdkF0eU5ud21XSk9WdFB1azE5c1hSUVlaVGhoa0FnRVhBRjZORFNKSTBqTTlSZ3NFZnlqTURBTEErNlgzS0tkRkJKRWthd0R4Z1IrRHg2Q0ROR0JrZG9BWExHNzhlSFpwQ2txU0JmUWo0WFhTSVpwVnBCZ0JnREhBcmFXdEZTWkp5Y1Nld0d4bCs5bmN3WlZrRDBHYzU4UDdvRUpJa3JlVVVTalQ0US9sbUFQcjhCaDhGU0pMeWNDbHdWSFNJVnBXMUFkZ2R1QUVZRlIxRWtsUnJ5NEU5Z2I5RUIybFZtUllCOWpjWG1BZ2NFaDFFa2xSci93bWNGeDJpSFdXZEFRQVlDOXhJK3RpQ0pFbEZ1NTEwOTc4ME9rZzd5cllJc0w5bHdNbkFtdWdna3FUYVdRMjhtWklPL2xEZVJ3QjlaZ05iQXZ0R0I1RWsxY3JYZ1c5R2graEVtUjhCOUprSS9CSFlPVHFJSktrVy9rSzY4WHdxT2tnbnl2d0lvTStUd0d0NWVxZEFTWko2WlJsd0lpVWYvS0g4andENlBBU3NBbzZNRGlKSnFyUVBBQmRHaCtpR0tqd0M2TE1lYVlPZ0YwWUhrU1JWMHErQWwxS1J4ZWRWYWdBQU5nV3VCNlpGQjVFa1ZjcHNZQjlnZm5TUWJxbkNHb0QrRmdBemdDWFJRU1JKbGJHVU5MWlVadkNINnF3QjZPOWg0RUhnSDZLRFNKSXE0WTJrUjh5VlVzVUdBT0FtWUVQZ3dPZ2drcVJTK3d4d1duU0lYcWphR29EKzFpUHR6endqT29na3FaVE9BMTVEMnZXdmNxcmNBQUNNQnk3RG1RQkpVbXV1Qlk2Z0F1LzdENmJxRFFEQUZPQUs0Tm5SUVNSSnBmQlg0RkRnMGVnZ3ZWUzF0d0FHTWhkNEFYQlBkQkJKVXZidUExNU14UWQvcU1jTVFKOGRnZDhCVzBVSGtTUmw2UUhnTU9EdTZDQkZxTU1NUUorN2dLT0JlZEZCSkVuWm1Rc2NSVTBHZjZoWEF3QndHNm03ZXlBNmlDUXBHdytUdmlYemwrZ2dSYXJUSTREK3RpZTlIYkJEY0E1SlVxelpwRy9JM0JrZHBHaDFtd0hvY3kvcDlZNDdnbk5Ja3VMY0RoeENEUWQvcUc4REFHbWw1NEdrVndRbFNmVnlEZW1SOEp6b0lGSHEzQUJBK3JEREM0Rnpvb05Ja2dwelB1bjE4TG5SUVNKVjlWc0FyVmdGWE5ENDU4TURjMGlTZXU4cndKdUJGZEZCb3RrQVBPMjNwRmNGWHd5TWpvMGlTZXF5cGNCYmdVOEJhNEt6WktHdWJ3RU1aVS9Tak1DMDZDQ1NwSzY0RDNnbGNGMTBrSnpVZlEzQVFHNEM5Z011amc0aVNlcllyNEM5Y1BCZmg0OEFCcllFK0FId0dHbWhpT2RKa3NwbEJmQUowclIvWmIvbzF3a2ZBUXh2TitCc1lQZm9JSktrcHZ3VmVDMXdZM1NRbkhsbk83eTV3Rm5BSnNDKzJEUkpVcTVXQTE4SFRnRHVEODZTUFFlejFod01mQXZZSlRxSUpPa1o3Z1QrQlpnVkhhUXNuQUZvemYzQWQwaDdCeHlFNTArU29xMEVQZ2U4bXBwdTZkc3Vad0RhdHl2d1JkTG5JeVZKeGZzTjhHNXE5aFcvYnZFMXdQYmRCaHhOYWdEK0hKeEZrdXJrRHVCVnBJM2JIUHpiNUJSMjUrNG1QUlo0RE5nYm1CZ2JSNUlxYXk3d0llQ2ZnVnVDczVTZWp3QzZheUx3ZHVEOXdLYkJXU1NwS2hZQVh3Vk9BeFlIWjZrTUc0RGUyQWc0aGRRTVRBN09Ja2xsTlk4MDhIOFpCLzZ1c3dIb3JiR2tsYW1uQXM4SnppSkpaWEUzNmF0OTM4SmQvSHJHQnFBWTZ3RXZCLzRWT0JJWFgwclMybFlEbHdMZkFIN1crSGYxa0ExQThiWUJUZ1RlQm13WG5FV1NvajFFMm0zMWROS2R2d3BpQXhCbkZPazF3bGNELzBCYU55QkpkYkFRK0Fsd0xuQUphVE1mRmN3R0lBOWpTZSt6dmdwNEVUQXBObzRrZGQyandLK0I4MGdiK0N5TGpTTWJnUHlNQlBZSGptblUzcmhtUUZMNXJBYXVKdzM2djJ6ODg2clFSSG9HRzREOGJRQThEemlFOURHaWc0SHhvWWtrYVYwcmdKdUJLNEVyZ010STcrOHJVellBNVRPYTlEWEMzWUU5Z09uQWMwbUxDNzJla25wdE5UQ0h0QVg2bjBnNzh0MUMycEozUldBdXRjZ0JvenJHQWxPQmFjRDJwSVpnTXJCWjQ5ZEp3QVJnUTlKamh0SEEraEZCSldYbENkTEF2WXEwMmM1VHdIelNNL3Q1alYvbkFQY0E5d0t6OGZsOUpmd2ZzTFIyV2RGbTFYWUFBQUFBU1VWT1JLNUNZSUk9XCIgLz5cbiAgICAgIDwvZGVmcz5cbiAgICA8L3N2Zz5cbiAgICBAaWYoY29weU9mSW5wdXRBbGxGaWxlcyAmJiBjb3B5T2ZJbnB1dEFsbEZpbGVzLmxlbmd0aCA+IDApe1xuICAgIDxzcGFuIChjbGljayk9XCJvcGVuUG9wdXAoKVwiIHN0eWxlPVwidGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IGN1cnNvcjogcG9pbnRlcjtcIj5cbiAgICAgIHt7IGNvcHlPZklucHV0QWxsRmlsZXMubGVuZ3RoID09PSAxID8gJzEgRmlsZSBBdHRhY2hlZCcgOiAnKycgKyBjb3B5T2ZJbnB1dEFsbEZpbGVzLmxlbmd0aCArICcgRmlsZXMgQXR0YWNoZWQnIH19XG4gICAgPC9zcGFuPlxuICAgIH1cbiAgICBAZWxzZSBpZihtb2RlID09PSAnZWRpdCcpIHtcbiAgICA8ZGl2PiBBZGQgZmlsZXMgPC9kaXY+XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICA8ZGl2ICpuZ0lmPVwiZnJvbSAhPT0gJ254dFRhYmxlJ1wiPiBObyBmaWxlcyBhdHRhY2hlZDwvZGl2PlxuICAgIH1cbiAgICA8YnV0dG9uICpuZ0lmPVwibW9kZSA9PT0gJ2VkaXQnICYmICFxdWVzdGlvbi5pc1JlYWRPbmx5XCIgXG4gICAgICAgICAgICAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIiBcbiAgICAgICAgICAgIGNsYXNzPVwiYWRkLWJ0bi1pY29uXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwicGx1cy1pY29uXCI+Kzwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgbmFtZT1cImZpbGVVcGxvYWRcIiBtdWx0aXBsZT1cIm11bHRpcGxlXCIgW2FjY2VwdF09XCJhbGxvd2VkRmlsZVR5cGVzLmpvaW4oJywnKVwiXG4gICAgICAgICAgc3R5bGU9XCJkaXNwbGF5Om5vbmU7XCIgKGNoYW5nZSk9XCJ1cGxvYWRNdWx0aXBsZUZpbGVzKCRldmVudClcIiAvPlxuICA8L2Rpdj5cbiAgPCEtLSBTS1MxM0pVTjI1IGVkaXQgaWNvbiAtLT5cbiAgPHN2ZyAqbmdJZj1cIm1vZGUgIT09ICdlZGl0JyAmJiAhdmlld0VkaXQgJiYgIXF1ZXN0aW9uLmlzUmVhZE9ubHkgJiYgZnJvbSAhPT0gJ254dFRhYmxlJyBcIiBjbGFzcz1cImVkaXQtaWNvblwiIChjbGljayk9XCJ2aWV3RWRpdENsaWNrKHF1ZXN0aW9uKVwiXG4gICAgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxMyAxNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgIGQ9XCJNMS45OTk4NyA5LjAwMTdMNC4zOTYwMiAxMS4zOTc5QzQuNTAzNzEgMTEuNTA1NSA0LjY2NTI1IDExLjUwNTUgNC43NzI5NCAxMS4zOTc5TDEwLjc0OTkgNS4zOTQwMUMxMC44NTc2IDUuMjg2MzEgMTAuODU3NiA1LjEyNDc3IDEwLjc0OTkgNS4wMTcwOEw4LjM4MDY0IDIuNjQ3ODVDOC4yNzI5NCAyLjU0MDE2IDguMTExNDEgMi41NDAxNiA4LjAwMzcxIDIuNjQ3ODVMMS45OTk4NyA4LjY1MTdDMS44OTIxNyA4Ljc1OTM5IDEuODkyMTcgOC45MjA5MyAxLjk5OTg3IDkuMDAxN1pNOS4xNjE0IDEuNTQ0MDFDOS4wNTM3MSAxLjY1MTcgOS4wNTM3MSAxLjgxMzI0IDkuMTYxNCAxLjkyMDkzTDExLjUzMDYgNC4yOTAxNkMxMS42MzgzIDQuMzk3ODUgMTEuNzk5OSA0LjM5Nzg1IDExLjkwNzYgNC4yOTAxNkwxMi41ODA2IDMuNjE3MDhDMTMuMDExNCAzLjIxMzI0IDEzLjAxMTQgMi41NjcwOCAxMi41ODA2IDIuMTM2MzFMMTEuMzE1MyAwLjg3MDkyOEMxMC44ODQ1IDAuNDQwMTU5IDEwLjIxMTQgMC40NDAxNTkgOS43ODA2MyAwLjg3MDkyOEw5LjE2MTQgMS41NDQwMVpNMC4wMDc1NTg2MiAxMi45ODYzQy0wLjA0NjI4NzUgMTMuMjU1NSAwLjE5NjAyIDEzLjQ5NzkgMC40NjUyNTEgMTMuNDQ0TDMuMzk5ODcgMTIuNzQ0QzMuNTA3NTYgMTIuNzE3MSAzLjU4ODMzIDEyLjY2MzIgMy42NDIxNyAxMi42MDk0TDMuNjk2MDIgMTIuNTU1NUMzLjc0OTg3IDEyLjUwMTcgMy43NzY3OSAxMi4zMTMyIDMuNjY5MSAxMi4yMDU1TDEuMjQ2MDIgOS43ODI0N0MxLjEzODMzIDkuNjc0NzggMC45NDk4NjYgOS43MDE3IDAuODk2MDIgOS43NTU1NEwwLjg0MjE3NCA5LjgwOTM5QzAuNzYxNDA1IDkuODkwMTYgMC43MzQ0ODIgOS45NzA5MyAwLjcwNzU1OSAxMC4wNTE3TDAuMDA3NTU4NjIgMTIuOTg2M1pcIlxuICAgICAgZmlsbD1cIiNCMEFEQUJcIiAvPlxuICA8L3N2Zz5cbiAgPCEtLSBTS1MxM0pVTjI1IHNhdmUgYW5kIGNhbmNlbCBpY29ucyAtLT5cbiAgPGRpdiAqbmdJZj1cInZpZXdFZGl0XCIgKG1vdXNlZW50ZXIpPVwiaXNTYXZlSG92ZXJlZCA9IHRydWVcIiAobW91c2VsZWF2ZSk9XCJpc1NhdmVIb3ZlcmVkID0gZmFsc2VcIlxuICAgIHN0eWxlPVwicGFkZGluZy1yaWdodDogNXB4O1wiPlxuICAgIDxzdmcgKm5nSWY9XCIhaXNTYXZlSG92ZXJlZFwiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTUuOTUwMiAwLjVDOC45NjAwNiAwLjUwMDEwNiAxMS40MDA0IDIuOTQwMzEgMTEuNDAwNCA1Ljk1MDJDMTEuNDAwMyA4Ljk1OTk5IDguOTU5OTkgMTEuNDAwMyA1Ljk1MDIgMTEuNDAwNEMyLjk0MDMxIDExLjQwMDQgMC41MDAxMDYgOC45NjAwNiAwLjUgNS45NTAyQzAuNSAyLjk0MDI0IDIuOTQwMjQgMC41IDUuOTUwMiAwLjVaXCJcbiAgICAgICAgc3Ryb2tlPVwiIzgzN0Y4RVwiIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTguODgxMTEgMy44NDU4M0M4LjgzMjY5IDMuNzk3MiA4Ljc3NTEzIDMuNzU4NiA4LjcxMTc2IDMuNzMyMjdDOC42NDgzOCAzLjcwNTk0IDguNTgwNDMgMy42OTIzOCA4LjUxMTggMy42OTIzOEM4LjQ0MzE3IDMuNjkyMzggOC4zNzUyMSAzLjcwNTk0IDguMzExODQgMy43MzIyN0M4LjI0ODQ2IDMuNzU4NiA4LjE5MDkxIDMuNzk3MiA4LjE0MjQ5IDMuODQ1ODNMNC44MjY5IDcuMTYzNDdMMy4zNTI1MyA1LjY4OTFDMy4zMDQwMyA1LjY0MDYgMy4yNDY0NiA1LjYwMjEzIDMuMTgzMDkgNS41NzU4OEMzLjExOTcyIDUuNTQ5NjQgMy4wNTE4MSA1LjUzNjEzIDIuOTgzMjIgNS41MzYxM0MyLjkxNDYzIDUuNTM2MTMgMi44NDY3MiA1LjU0OTY0IDIuNzgzMzUgNS41NzU4OEMyLjcxOTk5IDUuNjAyMTMgMi42NjI0MSA1LjY0MDYgMi42MTM5MSA1LjY4OTFDMi41NjU0MSA1LjczNzYgMi41MjY5NCA1Ljc5NTE4IDIuNTAwNjkgNS44NTg1NEMyLjQ3NDQ1IDUuOTIxOTEgMi40NjA5NCA1Ljk4OTgyIDIuNDYwOTQgNi4wNTg0MUMyLjQ2MDk0IDYuMTI3IDIuNDc0NDUgNi4xOTQ5MSAyLjUwMDY5IDYuMjU4MjhDMi41MjY5NCA2LjMyMTY1IDIuNTY1NDEgNi4zNzkyMiAyLjYxMzkxIDYuNDI3NzJMNC40NTY3NyA4LjI3MDU4QzQuNTA1MTkgOC4zMTkyMiA0LjU2Mjc0IDguMzU3ODEgNC42MjYxMiA4LjM4NDE0QzQuNjg5NSA4LjQxMDQ3IDQuNzU3NDUgOC40MjQwMyA0LjgyNjA4IDguNDI0MDNDNC44OTQ3MSA4LjQyNDAzIDQuOTYyNjYgOC40MTA0NyA1LjAyNjA0IDguMzg0MTRDNS4wODk0MiA4LjM1NzgxIDUuMTQ2OTcgOC4zMTkyMiA1LjE5NTM5IDguMjcwNThMOC44ODExMSA0LjU4NDQ1QzguOTI5NzQgNC41MzYwMyA4Ljk2ODM0IDQuNDc4NDggOC45OTQ2NyA0LjQxNTFDOS4wMjEgNC4zNTE3MyA5LjAzNDU2IDQuMjgzNzcgOS4wMzQ1NiA0LjIxNTE0QzkuMDM0NTYgNC4xNDY1MSA5LjAyMSA0LjA3ODU2IDguOTk0NjcgNC4wMTUxOEM4Ljk2ODM0IDMuOTUxOCA4LjkyOTc0IDMuODk0MjUgOC44ODExMSAzLjg0NTgzWlwiXG4gICAgICAgIGZpbGw9XCIjODM3RjhFXCIgLz5cbiAgICA8L3N2Zz5cblxuICAgIDxzdmcgKm5nSWY9XCJpc1NhdmVIb3ZlcmVkXCIgKGNsaWNrKT1cInNhdmVDaGFuZ2VzKClcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk01Ljk1IDEyLjgwMDRDOS4yMzYwOSAxMi44MDA0IDExLjkgMTAuMTM2NSAxMS45IDYuODUwMzlDMTEuOSAzLjU2NDMgOS4yMzYwOSAwLjkwMDM5MSA1Ljk1IDAuOTAwMzkxQzIuNjYzOTEgMC45MDAzOTEgMCAzLjU2NDMgMCA2Ljg1MDM5QzAgMTAuMTM2NSAyLjY2MzkxIDEyLjgwMDQgNS45NSAxMi44MDA0WlwiXG4gICAgICAgIGZpbGw9XCIjMjU5NTY2XCIgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNOC44ODExMSA0Ljc0NjIyQzguODMyNjkgNC42OTc1OSA4Ljc3NTEzIDQuNjU4OTkgOC43MTE3NiA0LjYzMjY2QzguNjQ4MzggNC42MDYzMyA4LjU4MDQzIDQuNTkyNzcgOC41MTE4IDQuNTkyNzdDOC40NDMxNyA0LjU5Mjc3IDguMzc1MjEgNC42MDYzMyA4LjMxMTg0IDQuNjMyNjZDOC4yNDg0NiA0LjY1ODk5IDguMTkwOTEgNC42OTc1OSA4LjE0MjQ5IDQuNzQ2MjJMNC44MjY5IDguMDYzODZMMy4zNTI1MyA2LjU4OTQ5QzMuMzA0MDMgNi41NDA5OSAzLjI0NjQ2IDYuNTAyNTIgMy4xODMwOSA2LjQ3NjI3QzMuMTE5NzIgNi40NTAwMyAzLjA1MTgxIDYuNDM2NTIgMi45ODMyMiA2LjQzNjUyQzIuOTE0NjMgNi40MzY1MiAyLjg0NjcyIDYuNDUwMDMgMi43ODMzNSA2LjQ3NjI3QzIuNzE5OTkgNi41MDI1MiAyLjY2MjQxIDYuNTQwOTkgMi42MTM5MSA2LjU4OTQ5QzIuNTY1NDEgNi42Mzc5OSAyLjUyNjk0IDYuNjk1NTcgMi41MDA2OSA2Ljc1ODkzQzIuNDc0NDUgNi44MjIzIDIuNDYwOTQgNi44OTAyMiAyLjQ2MDk0IDYuOTU4OEMyLjQ2MDk0IDcuMDI3MzkgMi40NzQ0NSA3LjA5NTMxIDIuNTAwNjkgNy4xNTg2N0MyLjUyNjk0IDcuMjIyMDQgMi41NjU0MSA3LjI3OTYxIDIuNjEzOTEgNy4zMjgxMUw0LjQ1Njc3IDkuMTcwOTdDNC41MDUxOSA5LjIxOTYxIDQuNTYyNzQgOS4yNTgyIDQuNjI2MTIgOS4yODQ1M0M0LjY4OTUgOS4zMTA4NiA0Ljc1NzQ1IDkuMzI0NDIgNC44MjYwOCA5LjMyNDQyQzQuODk0NzEgOS4zMjQ0MiA0Ljk2MjY2IDkuMzEwODYgNS4wMjYwNCA5LjI4NDUzQzUuMDg5NDIgOS4yNTgyIDUuMTQ2OTcgOS4yMTk2MSA1LjE5NTM5IDkuMTcwOTdMOC44ODExMSA1LjQ4NDg0QzguOTI5NzQgNS40MzY0MiA4Ljk2ODM0IDUuMzc4ODcgOC45OTQ2NyA1LjMxNTQ5QzkuMDIxIDUuMjUyMTIgOS4wMzQ1NiA1LjE4NDE2IDkuMDM0NTYgNS4xMTU1M0M5LjAzNDU2IDUuMDQ2OSA5LjAyMSA0Ljk3ODk1IDguOTk0NjcgNC45MTU1N0M4Ljk2ODM0IDQuODUyMiA4LjkyOTc0IDQuNzk0NjUgOC44ODExMSA0Ljc0NjIyWlwiXG4gICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XG4gICAgPC9zdmc+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwidmlld0VkaXRcIiAobW91c2VlbnRlcik9XCJpc0Rpc2NhcmRIb3ZlcmVkID0gdHJ1ZVwiIChtb3VzZWxlYXZlKT1cImlzRGlzY2FyZEhvdmVyZWQgPSBmYWxzZVwiPlxuICAgIDxzdmcgKm5nSWY9XCIhaXNEaXNjYXJkSG92ZXJlZFwiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTcuMDU1NTUgNC4wMDg4M0w1Ljk0IDUuMTI0MzhMNC44MjQ0NSA0LjAwODgzQzQuNTc4NjEgMy43NjI5OSA0LjE4MTkxIDMuNzYyOTkgMy45MzYwNyA0LjAwODgzQzMuNjkwMjMgNC4yNTQ2NyAzLjY5MDIzIDQuNjUxMzcgMy45MzYwNyA0Ljg5NzIxTDUuMDUxNjIgNi4wMTI3NkwzLjkzNjA3IDcuMTI4MzFDMy42OTAyMyA3LjM3NDE1IDMuNjkwMjMgNy43NzA4NSAzLjkzNjA3IDguMDE2NjlDNC4xODE5MSA4LjI2MjUzIDQuNTc4NjEgOC4yNjI1MyA0LjgyNDQ1IDguMDE2NjlMNS45NCA2LjkwMTE0TDcuMDU1NTUgOC4wMTY2OUM3LjMwMTM5IDguMjYyNTMgNy42OTgwOSA4LjI2MjUzIDcuOTQzOTMgOC4wMTY2OUM4LjE4OTc3IDcuNzcwODUgOC4xODk3NyA3LjM3NDE1IDcuOTQzOTMgNy4xMjgzMUw2LjgyODM4IDYuMDEyNzZMNy45NDM5MyA0Ljg5NzIxQzguMTg5NzcgNC42NTEzNyA4LjE4OTc3IDQuMjU0NjcgNy45NDM5MyA0LjAwODgzQzcuNjk4MDkgMy43NzI4NSA3LjMwMDIxIDMuNzcyODUgNy4wNTU1NSA0LjAwODgzWk01Ljk0IDAuMDgyMDMxMkMyLjcwMDE3IDAuMDgyMDMxMiAwLjA4MDg1OTQgMi43MDEzNCAwLjA4MDg1OTQgNS45NDExOEMwLjA4MDg1OTQgOS4xODEwMSAyLjcwMDE3IDExLjgwMDMgNS45NCAxMS44MDAzQzkuMTc5ODMgMTEuODAwMyAxMS43OTkxIDkuMTgxMDEgMTEuNzk5MSA1Ljk0MTE4QzExLjc5OTEgMi43MDEzNCA5LjE3OTgzIDAuMDgyMDMxMiA1Ljk0IDAuMDgyMDMxMlpNNS45NCAxMC42MzY3QzMuMzU0MjYgMTAuNjM2NyAxLjI0NDIyIDguNTI2NjcgMS4yNDQyMiA1Ljk0MTE4QzEuMjQ0MjIgMy4zNTU1MyAzLjM1NDI2IDEuMjQ1NDkgNS45NCAxLjI0NTQ5QzguNTI1NTggMS4yNDU0OSAxMC42MzU2IDMuMzU1NTMgMTAuNjM1NiA1Ljk0MTE4QzEwLjYzNTYgOC41MjY2NyA4LjUyNTU4IDEwLjYzNjcgNS45NCAxMC42MzY3WlwiXG4gICAgICAgIGZpbGw9XCIjQjBBREFCXCIgLz5cbiAgICA8L3N2Zz5cblxuICAgIDxzdmcgKm5nSWY9XCJpc0Rpc2NhcmRIb3ZlcmVkXCIgKGNsaWNrKT1cImRpc2NhcmRDaGFuZ2VzKClcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk03LjA1NTU1IDQuOTc0NzFMNS45NCA2LjA5MDI2TDQuODI0NDUgNC45NzQ3MUM0LjU3ODYxIDQuNzI4ODcgNC4xODE5MSA0LjcyODg3IDMuOTM2MDcgNC45NzQ3MUMzLjY5MDIzIDUuMjIwNTUgMy42OTAyMyA1LjYxNzI1IDMuOTM2MDcgNS44NjMwOUw1LjA1MTYyIDYuOTc4NjRMMy45MzYwNyA4LjA5NDE5QzMuNjkwMjMgOC4zNDAwMyAzLjY5MDIzIDguNzM2NzMgMy45MzYwNyA4Ljk4MjU3QzQuMTgxOTEgOS4yMjg0MSA0LjU3ODYxIDkuMjI4NDEgNC44MjQ0NSA4Ljk4MjU3TDUuOTQgNy44NjcwMkw3LjA1NTU1IDguOTgyNTdDNy4zMDEzOSA5LjIyODQxIDcuNjk4MDkgOS4yMjg0MSA3Ljk0MzkzIDguOTgyNTdDOC4xODk3NyA4LjczNjczIDguMTg5NzcgOC4zNDAwMyA3Ljk0MzkzIDguMDk0MTlMNi44MjgzOCA2Ljk3ODY0TDcuOTQzOTMgNS44NjMwOUM4LjE4OTc3IDUuNjE3MjUgOC4xODk3NyA1LjIyMDU1IDcuOTQzOTMgNC45NzQ3MUM3LjY5ODA5IDQuNzM4NzMgNy4zMDAyMSA0LjczODczIDcuMDU1NTUgNC45NzQ3MVpNNS45NCAxLjA2MDYyQzIuNzAwMTcgMS4wNjA2MiAwLjA4MDg1OTQgMy42Nzk5MyAwLjA4MDg1OTQgNi45MTk3N0MwLjA4MDg1OTQgMTAuMTU5NiAyLjcwMDE3IDEyLjc3ODkgNS45NCAxMi43Nzg5QzkuMTc5ODMgMTIuNzc4OSAxMS43OTkxIDEwLjE1OTYgMTEuNzk5MSA2LjkxOTc3QzExLjc5OTEgMy42Nzk5MyA5LjE3OTgzIDEuMDYwNjIgNS45NCAxLjA2MDYyWk01Ljk0IDExLjYxNTNDMy4zNTQyNiAxMS42MTUzIDEuMjQ0MjIgOS41MDUyNSAxLjI0NDIyIDYuOTE5NzdDMS4yNDQyMiA0LjMzNDEyIDMuMzU0MjYgMi4yMjQwOCA1Ljk0IDIuMjI0MDhDOC41MjU1OCAyLjIyNDA4IDEwLjYzNTYgNC4zMzQxMiAxMC42MzU2IDYuOTE5NzdDMTAuNjM1NiA5LjUwNTI1IDguNTI1NTggMTEuNjE1MyA1Ljk0IDExLjYxNTNaXCJcbiAgICAgICAgZmlsbD1cIiNGRjM2MzZcIiAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiY29sLWxnLTZcIiBzdHlsZT1cInBhZGRpbmc6MDttYXJnaW4tdG9wOiAxMHB4O1wiPlxuICA8IS0tIEVycm9yIG1lc3NhZ2VzIHNlY3Rpb24gLS0+XG4gIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnN0cmFpbnRzXCIgKm5nSWY9XCJ2YWxpZGF0aW9uRXJyb3JzLmxlbmd0aCA+IDBcIj5cbiAgICA8c21hbGwgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgdmFsaWRhdGlvbkVycm9yc1wiPnt7IGVycm9yIH19PC9kaXY+XG4gICAgPC9zbWFsbD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJlcnJvci1tc2dcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcHg7XCI+e3txdWVzdGlvbj8uZXJyb3JNZXNzYWdlfX08L2Rpdj5cblxuPCEtLSBTS1MxMUpVTjI1IEZpbGUgU2VsZWN0aW9uIFBvcHVwIE1vZGFsIC0tPlxuPGRpdiBjbGFzcz1cImZpbGUtcG9wdXAtb3ZlcmxheVwiICpuZ0lmPVwic2hvd1BvcHVwXCIgKGNsaWNrKT1cImNsb3NlUG9wdXAoKVwiPlxuICA8ZGl2IGNsYXNzPVwiZmlsZS1wb3B1cC1tb2RhbFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICA8IS0tIEhlYWRlciAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS1wb3B1cC1oZWFkZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC10aXRsZVwiPnt7cXVlc3Rpb24ucXVlc3Rpb25UZXh0fX08L2Rpdj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJjbG9zZS1idG5cIiAoY2xpY2spPVwiY2xvc2VQb3B1cCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2xvc2UtaWNvblwiPsOXPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFNLUzExSlVOMjUgQ29udGVudCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsZS1wb3B1cC1jb250ZW50XCI+XG4gICAgICA8IS0tIFNLUzExSlVOMjUgTGVmdCBQYW5lbCAtIEZpbGUgTGlzdCAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWxpc3QtcGFuZWxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtaXRlbVwiICpuZ0Zvcj1cImxldCBmaWxlIG9mIGNvcHlPZklucHV0QWxsRmlsZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJjdXJyZW50RmlsZSA9PT0gZmlsZVwiIChjbGljayk9XCJ2aWV3RmlsZShmaWxlKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWljb25cIj5cbiAgICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMjhweDtoZWlnaHQ6IDI4cHg7XCIgW3NyY109XCJnZXREb2NJY29uKGZpbGU/Lm5hbWUpXCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtZGV0YWlsc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGZpbGUubmFtZSB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhcXVlc3Rpb24uaXNSZWFkT25seVwiIGNsYXNzPVwiZmlsZS1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ0blwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGRlbGV0ZUZpbGUoaSlcIiB0aXRsZT1cIkRlbGV0ZVwiPlxuICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIj5cbiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPVwiMyw2IDUsNiAyMSw2XCI+PC9wb2x5bGluZT5cbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwibTE5LDZ2MTRhMiwyIDAgMCwxIC0yLDJIN2EyLDIgMCAwLDEgLTIsLTJWNm0zLDBWNGEyLDIgMCAwLDEgMiwtMmg0YTIsMiAwIDAsMSAyLDJ2MlwiPjwvcGF0aD5cbiAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBFbXB0eSBzdGF0ZSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCIgKm5nSWY9XCIhY29weU9mSW5wdXRBbGxGaWxlcyB8fCBjb3B5T2ZJbnB1dEFsbEZpbGVzLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1pY29uXCI+8J+ThDwvZGl2PlxuICAgICAgICAgIDxwPk5vIGZpbGVzIHNlbGVjdGVkPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBBZGQgQnV0dG9uIC0tPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWRkLWJ0blwiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIHRpdGxlPVwiQWRkIGZpbGVcIj5cbiAgICAgICAgICArIEFkZCBNb3JlIEZpbGVzXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gU0tTMTFKVU4yNSBSaWdodCBQYW5lbCAtIFByZXZpZXcgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1wcmV2aWV3LXBhbmVsXCI+XG4gICAgICAgIEBpZihjdXJyZW50RmlsZSl7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWNvbnRlbnRcIj5cbiAgICAgICAgICBAaWYoaXNJbWFnZSAmJiBmaWxlVXJsKXtcbiAgICAgICAgICA8aW1nIFtzcmNdPVwiZmlsZVVybFwiIGNsYXNzPVwicHJldmlldy1pbWFnZVwiIGFsdD1cIkZpbGUgUHJldmlld1wiIC8+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIGlmKGZpbGVVcmwpe1xuICAgICAgICAgIDxpZnJhbWUgW3NyY109XCJmaWxlVXJsXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiNTAwcHhcIj48L2lmcmFtZT5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2UgaWYoaXNMb2FkaW5nKXtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWluZGljYXRvclwiPlxuICAgICAgICAgICAgICA8cD5Mb2FkaW5nIHByZXZpZXcuLi48L3A+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIDxkaXY+VW5hYmxlIHRvIGxvYWQgdGhlIGZpbGUgcHJldmlldy48L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBlbHNle1xuICAgICAgICA8ZGl2IGNsYXNzPVwibm8tcHJldmlld1wiPlxuICAgICAgICAgIDxwPlNlbGVjdCBhIGZpbGUgdG8gcHJldmlldzwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==