@luftborn/custom-elements 2.3.2 → 2.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/demo/index.js
CHANGED
|
@@ -4364,7 +4364,7 @@ var TypeAheadElement = /** @class */ (function (_super) {
|
|
|
4364
4364
|
optionsListItemDescription.classList.add('options-list-item-description');
|
|
4365
4365
|
optionsListItemDescription.innerHTML = DomUtility_1.default.boldenText(option.description, searchValue);
|
|
4366
4366
|
optionsListItem.appendChild(optionsListItemDescription);
|
|
4367
|
-
optionsListItem.addEventListener('
|
|
4367
|
+
optionsListItem.addEventListener('mousedown', function () {
|
|
4368
4368
|
_this.optionSelectedHandler(option);
|
|
4369
4369
|
});
|
|
4370
4370
|
_this.componentWrapper.appendChild(optionslist);
|
|
@@ -6374,4 +6374,4 @@ var elements = require("./elements/Elements");
|
|
|
6374
6374
|
exports.elements = elements;
|
|
6375
6375
|
|
|
6376
6376
|
},{"./custom-form":9,"./elements/Elements":18,"./framework/CustomInputElement":33,"@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js":2,"@webcomponents/webcomponentsjs/webcomponents-bundle":3,"@webcomponents/webcomponentsjs/webcomponents-loader.js":4}]},{},[1])
|
|
6377
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJkZW1vL2luZGV4LnRzIiwibm9kZV9tb2R1bGVzL0B3ZWJjb21wb25lbnRzL3dlYmNvbXBvbmVudHNqcy9jdXN0b20tZWxlbWVudHMtZXM1LWFkYXB0ZXIuanMiLCJub2RlX21vZHVsZXMvQHdlYmNvbXBvbmVudHMvd2ViY29tcG9uZW50c2pzL3dlYmNvbXBvbmVudHMtYnVuZGxlLmpzIiwibm9kZV9tb2R1bGVzL0B3ZWJjb21wb25lbnRzL3dlYmNvbXBvbmVudHNqcy93ZWJjb21wb25lbnRzLWxvYWRlci5qcyIsIm5vZGVfbW9kdWxlcy9pbnRsLXRlbC1pbnB1dC9idWlsZC9qcy9pbnRsVGVsSW5wdXQuanMiLCJub2RlX21vZHVsZXMvaW50bC10ZWwtaW5wdXQvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzIiwibm9kZV9tb2R1bGVzL3RpbWVycy1icm93c2VyaWZ5L21haW4uanMiLCJzcmMvY3VzdG9tLWZvcm0udHMiLCJzcmMvZWxlbWVudHMvQWRkcmVzcy9BZGRyZXNzRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9CYW5rRmllbGQvQmFua0ZpZWxkRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9DUFJFbGVtZW50L0NQUkVsZW1lbnQudHMiLCJzcmMvZWxlbWVudHMvQ1ZSRWxlbWVudC9DVlJFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL0NoZWNrQm94RWxlbWVudC9DaGVja0JveEVsZW1lbnQudHMiLCJzcmMvZWxlbWVudHMvQ3VzdG9tUmVndWxhckV4cHJlc3Npb24vQ3VzdG9tUmVndWxhckV4cHJlc3Npb25FbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL0RhdGVGaWVsZC9EYXRlRmllbGRFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL0Ryb3BEb3duTGlzdC9Ecm9wRG93bkxpc3RFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL0VsZW1lbnRzLnRzIiwic3JjL2VsZW1lbnRzL0VtYWlsRmllbGQvRW1haWxGaWVsZEVsZW1lbnQudHMiLCJzcmMvZWxlbWVudHMvRmlsZUZpZWxkL0ZpbGVGaWVsZEVsZW1lbnQudHMiLCJzcmMvZWxlbWVudHMvSWRlbnRpZmljYXRpb25FbGVtZW50L0lkZW50aWZpY2F0aW9uRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9JbnRlcm5hdGlvbmFQaG9uZU51bWJlci9GbGFncy50cyIsInNyYy9lbGVtZW50cy9JbnRlcm5hdGlvbmFQaG9uZU51bWJlci9GbGFnczJ4LnRzIiwic3JjL2VsZW1lbnRzL0ludGVybmF0aW9uYVBob25lTnVtYmVyL0ludGVybmF0aW9uYVBob25lTnVtYmVyRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9OdW1lcmljRmllbGQvTnVtZXJpY0ZpZWxkRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9SYWRpb0J1dHRvbkdyb3VwL1JhZGlvQnV0dG9uR3JvdXBFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL1NFQ29tcGFueVJlZ2lzdHJhdGlvbkVsZW1lbnQvU0VDb21wYW55UmVnaXN0cmF0aW9uRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9TRVBlcnNvbmFsTnVtYmVyRWxlbWVudC9TRVBlcnNvbmFsTnVtYmVyRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9UZXh0QXJlYUVsZW1lbnQvVGV4dEFyZWFFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL1RleHRGaWVsZC9UZXh0RmllbGRFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL1R5cGVBaGVhZC9UeXBlQWhlYWRFbGVtZW50LnRzIiwic3JjL2ZyYW1ld29yay9DdXN0b21FdmVudHMudHMiLCJzcmMvZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudC50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL0Jhc2UvQmFzZURpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9DemVjaERpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9EYW5pc2hEaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvRHV0Y2hEaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvRW5nbGlzaERpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9Fc3RvbmlhbkRpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9GaW5uaXNoRGljdGlvbmFyeS50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL0ZyZW5jaERpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9HZXJtYW5EaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvR3JlZWtEaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvSHVuZ2FyaWFuRGljdGlvbmFyeS50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL0ljZWxhbmRpY0RpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9JdGFsaWFuRGljdGlvbmFyeS50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL0xhdHZpYW5EaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvTGl0dWFuaWFuRGljdGlvbmFyeS50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL05vcndlZ2lhbkRpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9Qb2xpc2hEaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvUG9ydHVndWVzZURpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9TcGFuaXNoRGljdGlvbmFyeS50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL1N3ZWRpc2hEaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9UcmFuc2xhdG9yLnRzIiwic3JjL2ZyYW1ld29yay9Qb2x5ZmlsbHMvZ2V0QXR0cmlidXRlTmFtZXNQb2x5ZmlsbC50cyIsInNyYy9mcmFtZXdvcmsvVXRpbGl0aWVzL0FycmF5VXRpbC50cyIsInNyYy9mcmFtZXdvcmsvVXRpbGl0aWVzL0RvbVV0aWwudHMiLCJzcmMvZnJhbWV3b3JrL1V0aWxpdGllcy9Eb21VdGlsaXR5LnRzIiwic3JjL2ZyYW1ld29yay9VdGlsaXRpZXMvTWFrZVJlcXVlc3QudHMiLCJzcmMvZnJhbWV3b3JrL1V0aWxpdGllcy9TdHJpbmdVdGlsLnRzIiwic3JjL2ZyYW1ld29yay9VdGlsaXRpZXMvVmlld3BvcnRVdGlsLnRzIiwic3JjL2ZyYW1ld29yay9VdGlsaXRpZXMvZGVib3VuY2VyLnRzIiwic3JjL2ZyYW1ld29yay9WYWxpZGF0aW9uL1ZhbGlkYXRvcnMvQmFua0FjY291bnQudHMiLCJzcmMvZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9CYW5rQWNjb3VudFJlZ2lzdHJhdGlvbk51bWJlci50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0JhbmtJZE5vcndheS50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0JhbmtJZFN3ZWRlbi50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0NQUi50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0NWUi50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL1NFQ29tcGFueVJlZ2lzdHJhdGlvbi50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL1NFUGVyc29uYWxOdW1iZXIudHMiLCJzcmMvZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvci50cyIsInNyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0FDQUEsd0NBQXNEO0FBR3RELFFBQVEsQ0FBQyxrQkFBa0IsR0FBRztJQUMxQixJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO1FBQ3BDLElBQUksSUFBSSxHQUFHLElBQUksa0JBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFBLE9BQU87WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFBLFFBQVEsSUFBTSxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUM7S0FDTDtBQUNMLENBQUMsQ0FBQzs7O0FDVkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQ2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUNsWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzlNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2x6Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QixFQUFFO2dCQUMzQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUN6QjtRQUNGLENBQUMsQ0FBQztRQUVGLEdBQUcsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEdBQUc7WUFDcEMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCO1lBQ0Qsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUM3QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUMzQjtRQUNGLENBQUMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsYUFBYSxDQUFDOzs7Ozs7QUN4RDdCLCtEQUE2RDtBQUM3RCx5RUFBdUU7QUFDdkUsa0VBQWdFO0FBRWhFLE9BQU87QUFDUCw2Q0FBMkM7QUFNbEMsMkZBTkEsd0JBQVUsT0FNQTtBQUxuQixxRUFBb0U7QUFLckMsbUdBTHRCLHVDQUFrQixPQUtzQjtBQUhqRCxXQUFXO0FBQ1gsOENBQWdEO0FBRTNCLDRCQUFRIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtmdW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFmJiZjKXJldHVybiBjKGksITApO2lmKHUpcmV0dXJuIHUoaSwhMCk7dmFyIGE9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitpK1wiJ1wiKTt0aHJvdyBhLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsYX12YXIgcD1uW2ldPXtleHBvcnRzOnt9fTtlW2ldWzBdLmNhbGwocC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciBuPWVbaV1bMV1bcl07cmV0dXJuIG8obnx8cil9LHAscC5leHBvcnRzLHIsZSxuLHQpfXJldHVybiBuW2ldLmV4cG9ydHN9Zm9yKHZhciB1PVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsaT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpIiwiaW1wb3J0IHsgQ3VzdG9tRm9ybSwgZWxlbWVudHMgfSBmcm9tICcuLy4uL3NyYy9pbmRleCc7XG5cblxuZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgICAgIGxldCBmb3JtID0gbmV3IEN1c3RvbUZvcm0oZG9jdW1lbnQuZm9ybXNbMF0pO1xuICAgICAgICBmb3JtLm9uc3VibWl0ID0gcHJvbWlzZSA9PiB7XG4gICAgICAgICAgICBwcm9taXNlLnRoZW4ocmVzcG9uc2UgPT4geyB9KTtcbiAgICAgICAgfTtcbiAgICB9XG59O1xuIiwiLyoqXG5AbGljZW5zZSBAbm9jb21waWxlXG5Db3B5cmlnaHQgKGMpIDIwMTggVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dFxuVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHRcblRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dFxuQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc29cbnN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0XG4qL1xuKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAoZnVuY3Rpb24oKXtpZih2b2lkIDA9PT13aW5kb3cuUmVmbGVjdHx8dm9pZCAwPT09d2luZG93LmN1c3RvbUVsZW1lbnRzfHx3aW5kb3cuY3VzdG9tRWxlbWVudHMucG9seWZpbGxXcmFwRmx1c2hDYWxsYmFjaylyZXR1cm47Y29uc3QgYT1IVE1MRWxlbWVudDt3aW5kb3cuSFRNTEVsZW1lbnQ9e0hUTUxFbGVtZW50OmZ1bmN0aW9uIEhUTUxFbGVtZW50KCl7cmV0dXJuIFJlZmxlY3QuY29uc3RydWN0KGEsW10sdGhpcy5jb25zdHJ1Y3Rvcil9fS5IVE1MRWxlbWVudCxIVE1MRWxlbWVudC5wcm90b3R5cGU9YS5wcm90b3R5cGUsSFRNTEVsZW1lbnQucHJvdG90eXBlLmNvbnN0cnVjdG9yPUhUTUxFbGVtZW50LE9iamVjdC5zZXRQcm90b3R5cGVPZihIVE1MRWxlbWVudCxhKTt9KSgpO1xuXG59KCkpO1xuIiwiLyoqXG5AbGljZW5zZSBAbm9jb21waWxlXG5Db3B5cmlnaHQgKGMpIDIwMTggVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dFxuVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHRcblRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dFxuQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc29cbnN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0XG4qL1xuKGZ1bmN0aW9uKCl7LypcblxuIENvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0XG4gaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmRcbiBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5XG4gYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieVxuIEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVBcbiByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0XG4qL1xuJ3VzZSBzdHJpY3QnO3ZhciB2O2Z1bmN0aW9uIGJhKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fXZhciBjYT1cImZ1bmN0aW9uXCI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWMudmFsdWU7cmV0dXJuIGF9O1xuZnVuY3Rpb24gZGEoYSl7YT1bXCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSxcIm9iamVjdFwiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csXCJvYmplY3RcIj09dHlwZW9mIHNlbGYmJnNlbGYsXCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoXCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0XCIpO312YXIgZWE9ZGEodGhpcyk7ZnVuY3Rpb24gaWEoYSxiKXtpZihiKWE6e3ZhciBjPWVhO2E9YS5zcGxpdChcIi5cIik7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aC0xO2QrKyl7dmFyIGU9YVtkXTtpZighKGUgaW4gYykpYnJlYWsgYTtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmbnVsbCE9YiYmY2EoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfX1cbmlhKFwiU3ltYm9sXCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihlKXtpZih0aGlzIGluc3RhbmNlb2YgYil0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sIGlzIG5vdCBhIGNvbnN0cnVjdG9yXCIpO3JldHVybiBuZXcgYyhcImpzY29tcF9zeW1ib2xfXCIrKGV8fFwiXCIpK1wiX1wiK2QrKyxlKX1mdW5jdGlvbiBjKGUsZil7dGhpcy5nPWU7Y2EodGhpcyxcImRlc2NyaXB0aW9uXCIse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmfSl9aWYoYSlyZXR1cm4gYTtjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O3ZhciBkPTA7cmV0dXJuIGJ9KTtcbmlhKFwiU3ltYm9sLml0ZXJhdG9yXCIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTthPVN5bWJvbChcIlN5bWJvbC5pdGVyYXRvclwiKTtmb3IodmFyIGI9XCJBcnJheSBJbnQ4QXJyYXkgVWludDhBcnJheSBVaW50OENsYW1wZWRBcnJheSBJbnQxNkFycmF5IFVpbnQxNkFycmF5IEludDMyQXJyYXkgVWludDMyQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheVwiLnNwbGl0KFwiIFwiKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWVhW2JbY11dO1wiZnVuY3Rpb25cIj09PXR5cGVvZiBkJiZcImZ1bmN0aW9uXCIhPXR5cGVvZiBkLnByb3RvdHlwZVthXSYmY2EoZC5wcm90b3R5cGUsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGphKGJhKHRoaXMpKX19KX1yZXR1cm4gYX0pO2Z1bmN0aW9uIGphKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfVxuZnVuY3Rpb24ga2EoYSl7dmFyIGI9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07cmV0dXJuIGI/Yi5jYWxsKGEpOntuZXh0OmJhKGEpfX1mdW5jdGlvbiB4KGEpe2lmKCEoYSBpbnN0YW5jZW9mIEFycmF5KSl7YT1rYShhKTtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTthPWN9cmV0dXJuIGF9dmFyIG1hO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIE9iamVjdC5zZXRQcm90b3R5cGVPZiltYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZWxzZXt2YXIgbmE7YTp7dmFyIG9hPXthOiEwfSxwYT17fTt0cnl7cGEuX19wcm90b19fPW9hO25hPXBhLmE7YnJlYWsgYX1jYXRjaChhKXt9bmE9ITF9bWE9bmE/ZnVuY3Rpb24oYSxiKXthLl9fcHJvdG9fXz1iO2lmKGEuX19wcm90b19fIT09Yil0aHJvdyBuZXcgVHlwZUVycm9yKGErXCIgaXMgbm90IGV4dGVuc2libGVcIik7cmV0dXJuIGF9Om51bGx9XG52YXIgcWE9bWE7ZnVuY3Rpb24gcmEoKXt0aGlzLnU9ITE7dGhpcy5oPW51bGw7dGhpcy5LYT12b2lkIDA7dGhpcy5nPTE7dGhpcy5kYT0wO3RoaXMuaT1udWxsfWZ1bmN0aW9uIHVhKGEpe2lmKGEudSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZ1wiKTthLnU9ITB9cmEucHJvdG90eXBlLk89ZnVuY3Rpb24oYSl7dGhpcy5LYT1hfTtmdW5jdGlvbiB4YShhLGIpe2EuaT17V2E6YiwkYTohMH07YS5nPWEuZGF9cmEucHJvdG90eXBlLnJldHVybj1mdW5jdGlvbihhKXt0aGlzLmk9e3JldHVybjphfTt0aGlzLmc9dGhpcy5kYX07ZnVuY3Rpb24geWEoYSxiKXthLmc9MztyZXR1cm57dmFsdWU6Yn19ZnVuY3Rpb24gemEoYSl7dGhpcy5nPW5ldyByYTt0aGlzLmg9YX1cbmZ1bmN0aW9uIEFhKGEsYil7dWEoYS5nKTt2YXIgYz1hLmcuaDtpZihjKXJldHVybiBCYShhLFwicmV0dXJuXCJpbiBjP2NbXCJyZXR1cm5cIl06ZnVuY3Rpb24oZCl7cmV0dXJue3ZhbHVlOmQsZG9uZTohMH19LGIsYS5nLnJldHVybik7YS5nLnJldHVybihiKTtyZXR1cm4gQ2EoYSl9ZnVuY3Rpb24gQmEoYSxiLGMsZCl7dHJ5e3ZhciBlPWIuY2FsbChhLmcuaCxjKTtpZighKGUgaW5zdGFuY2VvZiBPYmplY3QpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJJdGVyYXRvciByZXN1bHQgXCIrZStcIiBpcyBub3QgYW4gb2JqZWN0XCIpO2lmKCFlLmRvbmUpcmV0dXJuIGEuZy51PSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5nLmg9bnVsbCx4YShhLmcsZyksQ2EoYSl9YS5nLmg9bnVsbDtkLmNhbGwoYS5nLGYpO3JldHVybiBDYShhKX1cbmZ1bmN0aW9uIENhKGEpe2Zvcig7YS5nLmc7KXRyeXt2YXIgYj1hLmgoYS5nKTtpZihiKXJldHVybiBhLmcudT0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChjKXthLmcuS2E9dm9pZCAwLHhhKGEuZyxjKX1hLmcudT0hMTtpZihhLmcuaSl7Yj1hLmcuaTthLmcuaT1udWxsO2lmKGIuJGEpdGhyb3cgYi5XYTtyZXR1cm57dmFsdWU6Yi5yZXR1cm4sZG9uZTohMH19cmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX1cbmZ1bmN0aW9uIERhKGEpe3RoaXMubmV4dD1mdW5jdGlvbihiKXt1YShhLmcpO2EuZy5oP2I9QmEoYSxhLmcuaC5uZXh0LGIsYS5nLk8pOihhLmcuTyhiKSxiPUNhKGEpKTtyZXR1cm4gYn07dGhpcy50aHJvdz1mdW5jdGlvbihiKXt1YShhLmcpO2EuZy5oP2I9QmEoYSxhLmcuaFtcInRocm93XCJdLGIsYS5nLk8pOih4YShhLmcsYiksYj1DYShhKSk7cmV0dXJuIGJ9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBBYShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319ZnVuY3Rpb24gRWEoYSxiKXtiPW5ldyBEYShuZXcgemEoYikpO3FhJiZhLnByb3RvdHlwZSYmcWEoYixhLnByb3RvdHlwZSk7cmV0dXJuIGJ9QXJyYXkuZnJvbXx8KEFycmF5LmZyb209ZnVuY3Rpb24oYSl7cmV0dXJuW10uc2xpY2UuY2FsbChhKX0pO1xuT2JqZWN0LmFzc2lnbnx8KE9iamVjdC5hc3NpZ249ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGM9MCxkO2M8Yi5sZW5ndGg7YysrKWlmKGQ9YltjXSlmb3IodmFyIGU9YSxmPU9iamVjdC5rZXlzKGQpLGc9MDtnPGYubGVuZ3RoO2crKyl7dmFyIGg9ZltnXTtlW2hdPWRbaF19cmV0dXJuIGF9KTt2YXIgRmE9c2V0VGltZW91dDtmdW5jdGlvbiBHYSgpe31mdW5jdGlvbiBIYShhLGIpe3JldHVybiBmdW5jdGlvbigpe2EuYXBwbHkoYixhcmd1bWVudHMpfX1mdW5jdGlvbiBBKGEpe2lmKCEodGhpcyBpbnN0YW5jZW9mIEEpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJQcm9taXNlcyBtdXN0IGJlIGNvbnN0cnVjdGVkIHZpYSBuZXdcIik7aWYoXCJmdW5jdGlvblwiIT09dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcihcIm5vdCBhIGZ1bmN0aW9uXCIpO3RoaXMuTj0wO3RoaXMuRWE9ITE7dGhpcy5JPXZvaWQgMDt0aGlzLmJhPVtdO0lhKGEsdGhpcyl9XG5mdW5jdGlvbiBKYShhLGIpe2Zvcig7Mz09PWEuTjspYT1hLkk7MD09PWEuTj9hLmJhLnB1c2goYik6KGEuRWE9ITAsS2EoZnVuY3Rpb24oKXt2YXIgYz0xPT09YS5OP2IuYmI6Yi5jYjtpZihudWxsPT09YykoMT09PWEuTj9MYTpNYSkoYi5wcm9taXNlLGEuSSk7ZWxzZXt0cnl7dmFyIGQ9YyhhLkkpfWNhdGNoKGUpe01hKGIucHJvbWlzZSxlKTtyZXR1cm59TGEoYi5wcm9taXNlLGQpfX0pKX1cbmZ1bmN0aW9uIExhKGEsYil7dHJ5e2lmKGI9PT1hKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBIHByb21pc2UgY2Fubm90IGJlIHJlc29sdmVkIHdpdGggaXRzZWxmLlwiKTtpZihiJiYoXCJvYmplY3RcIj09PXR5cGVvZiBifHxcImZ1bmN0aW9uXCI9PT10eXBlb2YgYikpe3ZhciBjPWIudGhlbjtpZihiIGluc3RhbmNlb2YgQSl7YS5OPTM7YS5JPWI7TmEoYSk7cmV0dXJufWlmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBjKXtJYShIYShjLGIpLGEpO3JldHVybn19YS5OPTE7YS5JPWI7TmEoYSl9Y2F0Y2goZCl7TWEoYSxkKX19ZnVuY3Rpb24gTWEoYSxiKXthLk49MjthLkk9YjtOYShhKX1cbmZ1bmN0aW9uIE5hKGEpezI9PT1hLk4mJjA9PT1hLmJhLmxlbmd0aCYmS2EoZnVuY3Rpb24oKXthLkVhfHxcInVuZGVmaW5lZFwiIT09dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUmJmNvbnNvbGUud2FybihcIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjpcIixhLkkpfSk7Zm9yKHZhciBiPTAsYz1hLmJhLmxlbmd0aDtiPGM7YisrKUphKGEsYS5iYVtiXSk7YS5iYT1udWxsfWZ1bmN0aW9uIE9hKGEsYixjKXt0aGlzLmJiPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBhP2E6bnVsbDt0aGlzLmNiPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBiP2I6bnVsbDt0aGlzLnByb21pc2U9Y31mdW5jdGlvbiBJYShhLGIpe3ZhciBjPSExO3RyeXthKGZ1bmN0aW9uKGQpe2N8fChjPSEwLExhKGIsZCkpfSxmdW5jdGlvbihkKXtjfHwoYz0hMCxNYShiLGQpKX0pfWNhdGNoKGQpe2N8fChjPSEwLE1hKGIsZCkpfX1cbkEucHJvdG90eXBlW1wiY2F0Y2hcIl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudGhlbihudWxsLGEpfTtBLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IHRoaXMuY29uc3RydWN0b3IoR2EpO0phKHRoaXMsbmV3IE9hKGEsYixjKSk7cmV0dXJuIGN9O0EucHJvdG90eXBlW1wiZmluYWxseVwiXT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbnN0cnVjdG9yO3JldHVybiB0aGlzLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGIucmVzb2x2ZShhKCkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gY30pfSxmdW5jdGlvbihjKXtyZXR1cm4gYi5yZXNvbHZlKGEoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBiLnJlamVjdChjKX0pfSl9O1xuZnVuY3Rpb24gUGEoYSl7cmV0dXJuIG5ldyBBKGZ1bmN0aW9uKGIsYyl7ZnVuY3Rpb24gZChoLGspe3RyeXtpZihrJiYoXCJvYmplY3RcIj09PXR5cGVvZiBrfHxcImZ1bmN0aW9uXCI9PT10eXBlb2Ygaykpe3ZhciBsPWsudGhlbjtpZihcImZ1bmN0aW9uXCI9PT10eXBlb2YgbCl7bC5jYWxsKGssZnVuY3Rpb24obSl7ZChoLG0pfSxjKTtyZXR1cm59fWVbaF09azswPT09LS1mJiZiKGUpfWNhdGNoKG0pe2MobSl9fWlmKCFhfHxcInVuZGVmaW5lZFwiPT09dHlwZW9mIGEubGVuZ3RoKXJldHVybiBjKG5ldyBUeXBlRXJyb3IoXCJQcm9taXNlLmFsbCBhY2NlcHRzIGFuIGFycmF5XCIpKTt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhKTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIGIoW10pO2Zvcih2YXIgZj1lLmxlbmd0aCxnPTA7ZzxlLmxlbmd0aDtnKyspZChnLGVbZ10pfSl9XG5mdW5jdGlvbiBRYShhKXtyZXR1cm4gYSYmXCJvYmplY3RcIj09PXR5cGVvZiBhJiZhLmNvbnN0cnVjdG9yPT09QT9hOm5ldyBBKGZ1bmN0aW9uKGIpe2IoYSl9KX1mdW5jdGlvbiBSYShhKXtyZXR1cm4gbmV3IEEoZnVuY3Rpb24oYixjKXtjKGEpfSl9ZnVuY3Rpb24gU2EoYSl7cmV0dXJuIG5ldyBBKGZ1bmN0aW9uKGIsYyl7aWYoIWF8fFwidW5kZWZpbmVkXCI9PT10eXBlb2YgYS5sZW5ndGgpcmV0dXJuIGMobmV3IFR5cGVFcnJvcihcIlByb21pc2UucmFjZSBhY2NlcHRzIGFuIGFycmF5XCIpKTtmb3IodmFyIGQ9MCxlPWEubGVuZ3RoO2Q8ZTtkKyspUWEoYVtkXSkudGhlbihiLGMpfSl9dmFyIEthPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBzZXRJbW1lZGlhdGUmJmZ1bmN0aW9uKGEpe3NldEltbWVkaWF0ZShhKX18fGZ1bmN0aW9uKGEpe0ZhKGEsMCl9Oy8qXG5cbkNvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG5UaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXRcbmh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0XG5odHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlXG5mb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhc1xucGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudFxuZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0XG4qL1xuaWYoIXdpbmRvdy5Qcm9taXNlKXt3aW5kb3cuUHJvbWlzZT1BO0EucHJvdG90eXBlLnRoZW49QS5wcm90b3R5cGUudGhlbjtBLmFsbD1QYTtBLnJhY2U9U2E7QS5yZXNvbHZlPVFhO0EucmVqZWN0PVJhO3ZhciBUYT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIlwiKSxWYT1bXTsobmV3IE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGE9VmEubGVuZ3RoLGI9MDtiPGE7YisrKVZhW2JdKCk7VmEuc3BsaWNlKDAsYSl9KSkub2JzZXJ2ZShUYSx7Y2hhcmFjdGVyRGF0YTohMH0pO0thPWZ1bmN0aW9uKGEpe1ZhLnB1c2goYSk7VGEudGV4dENvbnRlbnQ9MDxUYS50ZXh0Q29udGVudC5sZW5ndGg/XCJcIjpcImFcIn19Oy8qXG4gQ29weXJpZ2h0IChDKSAyMDE1IGJ5IFdlYlJlZmxlY3Rpb25cblxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxub2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xudG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG5mdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG5BVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG5MSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuVEhFIFNPRlRXQVJFLlxuXG4qL1xuKGZ1bmN0aW9uKGEsYil7aWYoIShiIGluIGEpKXt2YXIgYz10eXBlb2YgZ2xvYmFsPT09dHlwZW9mIGM/d2luZG93Omdsb2JhbCxkPTAsZT1TdHJpbmcoTWF0aC5yYW5kb20oKSksZj1cIl9fXFx1MDAwMXN5bWJvbEBAXCIrZSxnPWEuZ2V0T3duUHJvcGVydHlOYW1lcyxoPWEuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGs9YS5jcmVhdGUsbD1hLmtleXMsbT1hLmZyZWV6ZXx8YSxxPWEuZGVmaW5lUHJvcGVydHksSD1hLmRlZmluZVByb3BlcnRpZXMsQz1oKGEsXCJnZXRPd25Qcm9wZXJ0eU5hbWVzXCIpLHQ9YS5wcm90b3R5cGUsRj10Lmhhc093blByb3BlcnR5LEU9dC5wcm9wZXJ0eUlzRW51bWVyYWJsZSxNPXQudG9TdHJpbmcseT1mdW5jdGlvbihJLHUsRyl7Ri5jYWxsKEksZil8fHEoSSxmLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMSx3cml0YWJsZTohMSx2YWx1ZTp7fX0pO0lbZl1bXCJAQFwiK3VdPUd9LFc9ZnVuY3Rpb24oSSx1KXt2YXIgRz1rKEkpO2codSkuZm9yRWFjaChmdW5jdGlvbihwKXtzYS5jYWxsKHUsXG5wKSYmVWEoRyxwLHVbcF0pfSk7cmV0dXJuIEd9LHc9ZnVuY3Rpb24oKXt9LHRhPWZ1bmN0aW9uKEkpe3JldHVybiBJIT1mJiYhRi5jYWxsKGZhLEkpfSxoYT1mdW5jdGlvbihJKXtyZXR1cm4gSSE9ZiYmRi5jYWxsKGZhLEkpfSxzYT1mdW5jdGlvbihJKXt2YXIgdT1TdHJpbmcoSSk7cmV0dXJuIGhhKHUpP0YuY2FsbCh0aGlzLHUpJiYhIXRoaXNbZl0mJnRoaXNbZl1bXCJAQFwiK3VdOkUuY2FsbCh0aGlzLEkpfSxuPWZ1bmN0aW9uKEkpe3EodCxJLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCxnZXQ6dyxzZXQ6ZnVuY3Rpb24odSl7d2EodGhpcyxJLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp1fSk7eSh0aGlzLEksITApfX0pO2ZhW0ldPXEoYShJKSxcImNvbnN0cnVjdG9yXCIsZ2MpO3JldHVybiBtKGZhW0ldKX0sSj1mdW5jdGlvbiBHKHUpe2lmKHRoaXMgaW5zdGFuY2VvZiBHKXRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3JcIik7XG5yZXR1cm4gbihcIl9fXFx1MDAwMXN5bWJvbDpcIi5jb25jYXQodXx8XCJcIixlLCsrZCkpfSxmYT1rKG51bGwpLGdjPXt2YWx1ZTpKfSxmYj1mdW5jdGlvbih1KXtyZXR1cm4gZmFbdV19LFVhPWZ1bmN0aW9uKHUsRyxwKXt2YXIgcj1TdHJpbmcoRyk7aWYoaGEocikpe0c9d2E7aWYocC5lbnVtZXJhYmxlKXt2YXIgQj1rKHApO0IuZW51bWVyYWJsZT0hMX1lbHNlIEI9cDtHKHUscixCKTt5KHUsciwhIXAuZW51bWVyYWJsZSl9ZWxzZSBxKHUsRyxwKTtyZXR1cm4gdX0sZ2I9ZnVuY3Rpb24odSl7cmV0dXJuIGcodSkuZmlsdGVyKGhhKS5tYXAoZmIpfTtDLnZhbHVlPVVhO3EoYSxcImRlZmluZVByb3BlcnR5XCIsQyk7Qy52YWx1ZT1nYjtxKGEsYixDKTtDLnZhbHVlPWZ1bmN0aW9uKHUpe3JldHVybiBnKHUpLmZpbHRlcih0YSl9O3EoYSxcImdldE93blByb3BlcnR5TmFtZXNcIixDKTtDLnZhbHVlPWZ1bmN0aW9uKHUsRyl7dmFyIHA9Z2IoRyk7cC5sZW5ndGg/bChHKS5jb25jYXQocCkuZm9yRWFjaChmdW5jdGlvbihyKXtzYS5jYWxsKEcsXG5yKSYmVWEodSxyLEdbcl0pfSk6SCh1LEcpO3JldHVybiB1fTtxKGEsXCJkZWZpbmVQcm9wZXJ0aWVzXCIsQyk7Qy52YWx1ZT1zYTtxKHQsXCJwcm9wZXJ0eUlzRW51bWVyYWJsZVwiLEMpO0MudmFsdWU9SjtxKGMsXCJTeW1ib2xcIixDKTtDLnZhbHVlPWZ1bmN0aW9uKHUpe3U9XCJfX1xcdTAwMDFzeW1ib2w6XCIuY29uY2F0KFwiX19cXHUwMDAxc3ltYm9sOlwiLHUsZSk7cmV0dXJuIHUgaW4gdD9mYVt1XTpuKHUpfTtxKEosXCJmb3JcIixDKTtDLnZhbHVlPWZ1bmN0aW9uKHUpe2lmKHRhKHUpKXRocm93IG5ldyBUeXBlRXJyb3IodStcIiBpcyBub3QgYSBzeW1ib2xcIik7aWYoRi5jYWxsKGZhLHUpJiYodT11LnNsaWNlKDEwKSxcIl9fXFx1MDAwMXN5bWJvbDpcIj09PXUuc2xpY2UoMCwxMCkmJih1PXUuc2xpY2UoMTApLHUhPT1lKSkpcmV0dXJuIHU9dS5zbGljZSgwLHUubGVuZ3RoLWUubGVuZ3RoKSwwPHUubGVuZ3RoP3U6dm9pZCAwfTtxKEosXCJrZXlGb3JcIixDKTtDLnZhbHVlPWZ1bmN0aW9uKHUsRyl7dmFyIHA9XG5oKHUsRyk7cCYmaGEoRykmJihwLmVudW1lcmFibGU9c2EuY2FsbCh1LEcpKTtyZXR1cm4gcH07cShhLFwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yXCIsQyk7Qy52YWx1ZT1mdW5jdGlvbih1LEcpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aHx8XCJ1bmRlZmluZWRcIj09PXR5cGVvZiBHP2sodSk6Vyh1LEcpfTtxKGEsXCJjcmVhdGVcIixDKTtDLnZhbHVlPWZ1bmN0aW9uKCl7dmFyIHU9TS5jYWxsKHRoaXMpO3JldHVyblwiW29iamVjdCBTdHJpbmddXCI9PT11JiZoYSh0aGlzKT9cIltvYmplY3QgU3ltYm9sXVwiOnV9O3EodCxcInRvU3RyaW5nXCIsQyk7dHJ5e2lmKCEwPT09ayhxKHt9LFwiX19cXHUwMDAxc3ltYm9sOlwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcSh0aGlzLFwiX19cXHUwMDAxc3ltYm9sOlwiLHt2YWx1ZTohMH0pW1wiX19cXHUwMDAxc3ltYm9sOlwiXX19KSlbXCJfX1xcdTAwMDFzeW1ib2w6XCJdKXZhciB3YT1xO2Vsc2UgdGhyb3dcIklFMTFcIjt9Y2F0Y2godSl7d2E9ZnVuY3Rpb24oRyxwLHIpe3ZhciBCPVxuaCh0LHApO2RlbGV0ZSB0W3BdO3EoRyxwLHIpO3EodCxwLEIpfX19fSkoT2JqZWN0LFwiZ2V0T3duUHJvcGVydHlTeW1ib2xzXCIpO1xuKGZ1bmN0aW9uKGEsYil7dmFyIGM9YS5kZWZpbmVQcm9wZXJ0eSxkPWEucHJvdG90eXBlLGU9ZC50b1N0cmluZyxmO1wiaXRlcmF0b3IgbWF0Y2ggcmVwbGFjZSBzZWFyY2ggc3BsaXQgaGFzSW5zdGFuY2UgaXNDb25jYXRTcHJlYWRhYmxlIHVuc2NvcGFibGVzIHNwZWNpZXMgdG9QcmltaXRpdmUgdG9TdHJpbmdUYWdcIi5zcGxpdChcIiBcIikuZm9yRWFjaChmdW5jdGlvbihnKXtnIGluIGJ8fChjKGIsZyx7dmFsdWU6YihnKX0pLFwidG9TdHJpbmdUYWdcIj09PWcmJihmPWEuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGQsXCJ0b1N0cmluZ1wiKSxmLnZhbHVlPWZ1bmN0aW9uKCl7dmFyIGg9ZS5jYWxsKHRoaXMpLGs9bnVsbD09dGhpcz90aGlzOnRoaXNbYi50b1N0cmluZ1RhZ107cmV0dXJuIG51bGw9PWs/aDpcIltvYmplY3QgXCIraytcIl1cIn0sYyhkLFwidG9TdHJpbmdcIixmKSkpfSl9KShPYmplY3QsU3ltYm9sKTtcbihmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZCgpe3JldHVybiB0aGlzfWJbYV18fChiW2FdPWZ1bmN0aW9uKCl7dmFyIGU9MCxmPXRoaXMsZz17bmV4dDpmdW5jdGlvbigpe3ZhciBoPWYubGVuZ3RoPD1lO3JldHVybiBoP3tkb25lOmh9Ontkb25lOmgsdmFsdWU6ZltlKytdfX19O2dbYV09ZDtyZXR1cm4gZ30pO2NbYV18fChjW2FdPWZ1bmN0aW9uKCl7dmFyIGU9U3RyaW5nLmZyb21Db2RlUG9pbnQsZj10aGlzLGc9MCxoPWYubGVuZ3RoLGs9e25leHQ6ZnVuY3Rpb24oKXt2YXIgbD1oPD1nLG09bD9cIlwiOmUoZi5jb2RlUG9pbnRBdChnKSk7Zys9bS5sZW5ndGg7cmV0dXJuIGw/e2RvbmU6bH06e2RvbmU6bCx2YWx1ZTptfX19O2tbYV09ZDtyZXR1cm4ga30pfSkoU3ltYm9sLml0ZXJhdG9yLEFycmF5LnByb3RvdHlwZSxTdHJpbmcucHJvdG90eXBlKTsvKlxuXG5Db3B5cmlnaHQgKGMpIDIwMTggVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0XG5odHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdFxuaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZVxuZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXNcbnBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnRcbmZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dFxuKi9cbnZhciBXYT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO09iamVjdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09dGhpcz9cIltvYmplY3QgVW5kZWZpbmVkXVwiOm51bGw9PT10aGlzP1wiW29iamVjdCBOdWxsXVwiOldhLmNhbGwodGhpcyl9O09iamVjdC5rZXlzPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuKGI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLGIpKSYmYi5lbnVtZXJhYmxlfSl9O1xuU3RyaW5nLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdJiZTdHJpbmcucHJvdG90eXBlLmNvZGVQb2ludEF0fHwoU3RyaW5nLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uIFhhKCl7dmFyIGIsYz10aGlzO3JldHVybiBFYShYYSxmdW5jdGlvbihkKXsxPT1kLmcmJihiPTApO2lmKDMhPWQuZylyZXR1cm4gYjxjLmxlbmd0aD9kPXlhKGQsY1tiXSk6KGQuZz0wLGQ9dm9pZCAwKSxkO2IrKztkLmc9Mn0pfSk7U2V0LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdfHwoU2V0LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uIFlhKCl7dmFyIGIsYz10aGlzLGQ7cmV0dXJuIEVhKFlhLGZ1bmN0aW9uKGUpezE9PWUuZyYmKGI9W10sYy5mb3JFYWNoKGZ1bmN0aW9uKGYpe2IucHVzaChmKX0pLGQ9MCk7aWYoMyE9ZS5nKXJldHVybiBkPGIubGVuZ3RoP2U9eWEoZSxiW2RdKTooZS5nPTAsZT12b2lkIDApLGU7ZCsrO2UuZz0yfSl9KTtcbk1hcC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXXx8KE1hcC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbiBaYSgpe3ZhciBiLGM9dGhpcyxkO3JldHVybiBFYShaYSxmdW5jdGlvbihlKXsxPT1lLmcmJihiPVtdLGMuZm9yRWFjaChmdW5jdGlvbihmLGcpe2IucHVzaChbZyxmXSl9KSxkPTApO2lmKDMhPWUuZylyZXR1cm4gZDxiLmxlbmd0aD9lPXlhKGUsYltkXSk6KGUuZz0wLGU9dm9pZCAwKSxlO2QrKztlLmc9Mn0pfSk7LypcblxuQ29weXJpZ2h0IChjKSAyMDIwIFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cblRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHRcblRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0XG5UaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHRcbkNvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvXG5zdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dFxuKi9cbnZhciAkYT1kb2N1bWVudC5jcmVhdGVFdmVudChcIkV2ZW50XCIpOyRhLmluaXRFdmVudChcImZvb1wiLCEwLCEwKTskYS5wcmV2ZW50RGVmYXVsdCgpO2lmKCEkYS5kZWZhdWx0UHJldmVudGVkKXt2YXIgYWI9RXZlbnQucHJvdG90eXBlLnByZXZlbnREZWZhdWx0O0V2ZW50LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuY2FuY2VsYWJsZSYmKGFiLmNhbGwodGhpcyksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsXCJkZWZhdWx0UHJldmVudGVkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiEwfSxjb25maWd1cmFibGU6ITB9KSl9fXZhciBiYj0vVHJpZGVudC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbmlmKCF3aW5kb3cuRXZlbnR8fGJiJiZcImZ1bmN0aW9uXCIhPT10eXBlb2Ygd2luZG93LkV2ZW50KXt2YXIgY2I9d2luZG93LkV2ZW50O3dpbmRvdy5FdmVudD1mdW5jdGlvbihhLGIpe2I9Ynx8e307dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJFdmVudFwiKTtjLmluaXRFdmVudChhLCEhYi5idWJibGVzLCEhYi5jYW5jZWxhYmxlKTtyZXR1cm4gY307aWYoY2Ipe2Zvcih2YXIgZGIgaW4gY2Ipd2luZG93LkV2ZW50W2RiXT1jYltkYl07d2luZG93LkV2ZW50LnByb3RvdHlwZT1jYi5wcm90b3R5cGV9fVxuaWYoIXdpbmRvdy5DdXN0b21FdmVudHx8YmImJlwiZnVuY3Rpb25cIiE9PXR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQpd2luZG93LkN1c3RvbUV2ZW50PWZ1bmN0aW9uKGEsYil7Yj1ifHx7fTt2YXIgYz1kb2N1bWVudC5jcmVhdGVFdmVudChcIkN1c3RvbUV2ZW50XCIpO2MuaW5pdEN1c3RvbUV2ZW50KGEsISFiLmJ1YmJsZXMsISFiLmNhbmNlbGFibGUsYi5kZXRhaWwpO3JldHVybiBjfSx3aW5kb3cuQ3VzdG9tRXZlbnQucHJvdG90eXBlPXdpbmRvdy5FdmVudC5wcm90b3R5cGU7XG5pZighd2luZG93Lk1vdXNlRXZlbnR8fGJiJiZcImZ1bmN0aW9uXCIhPT10eXBlb2Ygd2luZG93Lk1vdXNlRXZlbnQpe3ZhciBlYj13aW5kb3cuTW91c2VFdmVudDt3aW5kb3cuTW91c2VFdmVudD1mdW5jdGlvbihhLGIpe2I9Ynx8e307dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJNb3VzZUV2ZW50XCIpO2MuaW5pdE1vdXNlRXZlbnQoYSwhIWIuYnViYmxlcywhIWIuY2FuY2VsYWJsZSxiLnZpZXd8fHdpbmRvdyxiLmRldGFpbCxiLnNjcmVlblgsYi5zY3JlZW5ZLGIuY2xpZW50WCxiLmNsaWVudFksYi5jdHJsS2V5LGIuYWx0S2V5LGIuc2hpZnRLZXksYi5tZXRhS2V5LGIuYnV0dG9uLGIucmVsYXRlZFRhcmdldCk7cmV0dXJuIGN9O2lmKGViKWZvcih2YXIgaGIgaW4gZWIpd2luZG93Lk1vdXNlRXZlbnRbaGJdPWViW2hiXTt3aW5kb3cuTW91c2VFdmVudC5wcm90b3R5cGU9ZWIucHJvdG90eXBlfTtPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLFwiYmFzZVVSSVwiKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KE5vZGUucHJvdG90eXBlLFwiYmFzZVVSSVwiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0odGhpcy5vd25lckRvY3VtZW50fHx0aGlzKS5xdWVyeVNlbGVjdG9yKFwiYmFzZVtocmVmXVwiKTtyZXR1cm4gYSYmYS5ocmVmfHx3aW5kb3cubG9jYXRpb24uaHJlZn0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9KTsvKlxuXG5Db3B5cmlnaHQgKGMpIDIwMjAgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0XG5odHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdFxuaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZVxuZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXNcbnBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnRcbmZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dFxuKi9cbnZhciBpYixqYixrYj1FbGVtZW50LnByb3RvdHlwZSxuYj1udWxsIT09KGliPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioa2IsXCJhdHRyaWJ1dGVzXCIpKSYmdm9pZCAwIT09aWI/aWI6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcImF0dHJpYnV0ZXNcIiksb2I9bnVsbCE9PShqYj1udWxsPT09bmJ8fHZvaWQgMD09PW5iP3ZvaWQgMDpuYi5nZXQpJiZ2b2lkIDAhPT1qYj9qYjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmF0dHJpYnV0ZXN9LHBiPUFycmF5LnByb3RvdHlwZS5tYXA7a2IuaGFzT3duUHJvcGVydHkoXCJnZXRBdHRyaWJ1dGVOYW1lc1wiKXx8KGtiLmdldEF0dHJpYnV0ZU5hbWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHBiLmNhbGwob2IuY2FsbCh0aGlzKSxmdW5jdGlvbihhKXtyZXR1cm4gYS5uYW1lfSl9KTt2YXIgcWIscmI9RWxlbWVudC5wcm90b3R5cGU7cmIuaGFzT3duUHJvcGVydHkoXCJtYXRjaGVzXCIpfHwocmIubWF0Y2hlcz1udWxsIT09KHFiPXJiLndlYmtpdE1hdGNoZXNTZWxlY3RvcikmJnZvaWQgMCE9PXFiP3FiOnJiLm1zTWF0Y2hlc1NlbGVjdG9yKTt2YXIgc2I9Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ7ZnVuY3Rpb24gdGIoYSl7YT1hLnByb3RvdHlwZTthLmhhc093blByb3BlcnR5KFwiYXBwZW5kXCIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcImFwcGVuZFwiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbihiKXtmb3IodmFyIGM9W10sZD0wO2Q8YXJndW1lbnRzLmxlbmd0aDsrK2QpY1tkXT1hcmd1bWVudHNbZF07Yz1rYShjKTtmb3IoZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZD1kLnZhbHVlLHNiLmNhbGwodGhpcyxcInN0cmluZ1wiPT09dHlwZW9mIGQ/ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZCk6ZCl9fSl9dGIoRG9jdW1lbnQpO3RiKERvY3VtZW50RnJhZ21lbnQpO3RiKEVsZW1lbnQpO3ZhciB1Yix2Yix3Yj1Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmUseGI9bnVsbCE9PSh2Yj1udWxsPT09KHViPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTm9kZS5wcm90b3R5cGUsXCJmaXJzdENoaWxkXCIpKXx8dm9pZCAwPT09dWI/dm9pZCAwOnViLmdldCkmJnZvaWQgMCE9PXZiP3ZiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlyc3RDaGlsZH07XG5mdW5jdGlvbiB5YihhKXthPWEucHJvdG90eXBlO2EuaGFzT3duUHJvcGVydHkoXCJwcmVwZW5kXCIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcInByZXBlbmRcIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGFyZ3VtZW50cy5sZW5ndGg7KytkKWNbZF09YXJndW1lbnRzW2RdO2Q9eGIuY2FsbCh0aGlzKTtjPWthKGMpO2Zvcih2YXIgZT1jLm5leHQoKTshZS5kb25lO2U9Yy5uZXh0KCkpZT1lLnZhbHVlLHdiLmNhbGwodGhpcyxcInN0cmluZ1wiPT09dHlwZW9mIGU/ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSk6ZSxkKX19KX15YihEb2N1bWVudCk7eWIoRG9jdW1lbnRGcmFnbWVudCk7eWIoRWxlbWVudCk7dmFyIHpiLEFiLEJiPU5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkLENiPU5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLERiPW51bGwhPT0oQWI9bnVsbD09PSh6Yj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLFwiZmlyc3RDaGlsZFwiKSl8fHZvaWQgMD09PXpiP3ZvaWQgMDp6Yi5nZXQpJiZ2b2lkIDAhPT1BYj9BYjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpcnN0Q2hpbGR9O1xuZnVuY3Rpb24gRWIoYSl7YT1hLnByb3RvdHlwZTthLmhhc093blByb3BlcnR5KFwicmVwbGFjZUNoaWxkcmVuXCIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcInJlcGxhY2VDaGlsZHJlblwiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbihiKXtmb3IodmFyIGM9W10sZD0wO2Q8YXJndW1lbnRzLmxlbmd0aDsrK2QpY1tkXT1hcmd1bWVudHNbZF07Zm9yKDtudWxsIT09KGQ9RGIuY2FsbCh0aGlzKSk7KUNiLmNhbGwodGhpcyxkKTtjPWthKGMpO2ZvcihkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlkPWQudmFsdWUsQmIuY2FsbCh0aGlzLFwic3RyaW5nXCI9PT10eXBlb2YgZD9kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShkKTpkKX19KX1FYihEb2N1bWVudCk7RWIoRG9jdW1lbnRGcmFnbWVudCk7RWIoRWxlbWVudCk7dmFyIEZiLEdiLEhiLEliLEpiPU5vZGUucHJvdG90eXBlLmluc2VydEJlZm9yZSxLYj1udWxsIT09KEdiPW51bGw9PT0oRmI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcInBhcmVudE5vZGVcIikpfHx2b2lkIDA9PT1GYj92b2lkIDA6RmIuZ2V0KSYmdm9pZCAwIT09R2I/R2I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlfSxMYj1udWxsIT09KEliPW51bGw9PT0oSGI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcIm5leHRTaWJsaW5nXCIpKXx8dm9pZCAwPT09SGI/dm9pZCAwOkhiLmdldCkmJnZvaWQgMCE9PUliP0liOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmV4dFNpYmxpbmd9O1xuZnVuY3Rpb24gTWIoYSl7YT1hLnByb3RvdHlwZTthLmhhc093blByb3BlcnR5KFwiYWZ0ZXJcIil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFwiYWZ0ZXJcIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGFyZ3VtZW50cy5sZW5ndGg7KytkKWNbZF09YXJndW1lbnRzW2RdO2Q9S2IuY2FsbCh0aGlzKTtpZihudWxsIT09ZCl7dmFyIGU9TGIuY2FsbCh0aGlzKTtjPWthKGMpO2Zvcih2YXIgZj1jLm5leHQoKTshZi5kb25lO2Y9Yy5uZXh0KCkpZj1mLnZhbHVlLEpiLmNhbGwoZCxcInN0cmluZ1wiPT09dHlwZW9mIGY/ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZik6ZixlKX19fSl9TWIoQ2hhcmFjdGVyRGF0YSk7TWIoRWxlbWVudCk7dmFyIE5iLE9iLFBiPU5vZGUucHJvdG90eXBlLmluc2VydEJlZm9yZSxRYj1udWxsIT09KE9iPW51bGw9PT0oTmI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcInBhcmVudE5vZGVcIikpfHx2b2lkIDA9PT1OYj92b2lkIDA6TmIuZ2V0KSYmdm9pZCAwIT09T2I/T2I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlfTtcbmZ1bmN0aW9uIFJiKGEpe2E9YS5wcm90b3R5cGU7YS5oYXNPd25Qcm9wZXJ0eShcImJlZm9yZVwiKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsXCJiZWZvcmVcIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGFyZ3VtZW50cy5sZW5ndGg7KytkKWNbZF09YXJndW1lbnRzW2RdO2Q9UWIuY2FsbCh0aGlzKTtpZihudWxsIT09ZCl7Yz1rYShjKTtmb3IodmFyIGU9Yy5uZXh0KCk7IWUuZG9uZTtlPWMubmV4dCgpKWU9ZS52YWx1ZSxQYi5jYWxsKGQsXCJzdHJpbmdcIj09PXR5cGVvZiBlP2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpOmUsdGhpcyl9fX0pfVJiKENoYXJhY3RlckRhdGEpO1JiKEVsZW1lbnQpO3ZhciBTYixUYixVYj1Ob2RlLnByb3RvdHlwZS5yZW1vdmVDaGlsZCxWYj1udWxsIT09KFRiPW51bGw9PT0oU2I9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcInBhcmVudE5vZGVcIikpfHx2b2lkIDA9PT1TYj92b2lkIDA6U2IuZ2V0KSYmdm9pZCAwIT09VGI/VGI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlfTtmdW5jdGlvbiBXYihhKXthPWEucHJvdG90eXBlO2EuaGFzT3duUHJvcGVydHkoXCJyZW1vdmVcIil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFwicmVtb3ZlXCIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGI9VmIuY2FsbCh0aGlzKTtiJiZVYi5jYWxsKGIsdGhpcyl9fSl9V2IoQ2hhcmFjdGVyRGF0YSk7V2IoRWxlbWVudCk7dmFyIFhiLFliLFpiPU5vZGUucHJvdG90eXBlLmluc2VydEJlZm9yZSwkYj1Ob2RlLnByb3RvdHlwZS5yZW1vdmVDaGlsZCxhYz1udWxsIT09KFliPW51bGw9PT0oWGI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcInBhcmVudE5vZGVcIikpfHx2b2lkIDA9PT1YYj92b2lkIDA6WGIuZ2V0KSYmdm9pZCAwIT09WWI/WWI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlfTtcbmZ1bmN0aW9uIGJjKGEpe2E9YS5wcm90b3R5cGU7YS5oYXNPd25Qcm9wZXJ0eShcInJlcGxhY2VXaXRoXCIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcInJlcGxhY2VXaXRoXCIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhcmd1bWVudHMubGVuZ3RoOysrZCljW2RdPWFyZ3VtZW50c1tkXTtkPWFjLmNhbGwodGhpcyk7aWYobnVsbCE9PWQpe2M9a2EoYyk7Zm9yKHZhciBlPWMubmV4dCgpOyFlLmRvbmU7ZT1jLm5leHQoKSllPWUudmFsdWUsWmIuY2FsbChkLFwic3RyaW5nXCI9PT10eXBlb2YgZT9kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlKTplLHRoaXMpOyRiLmNhbGwoZCx0aGlzKX19fSl9YmMoQ2hhcmFjdGVyRGF0YSk7YmMoRWxlbWVudCk7dmFyIGNjPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZSxkYz13aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlLGVjPXdpbmRvdy5TVkdFbGVtZW50LnByb3RvdHlwZTshZGMuaGFzT3duUHJvcGVydHkoXCJjbGFzc0xpc3RcIil8fGNjLmhhc093blByb3BlcnR5KFwiY2xhc3NMaXN0XCIpfHxlYy5oYXNPd25Qcm9wZXJ0eShcImNsYXNzTGlzdFwiKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGNjLFwiY2xhc3NMaXN0XCIsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihkYyxcImNsYXNzTGlzdFwiKSk7LypcblxuIENvcHlyaWdodCAoYykgMjAxNCBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0XG4gaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmRcbiBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5XG4gYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieVxuIEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVBcbiByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0XG4qL1xudmFyIGZjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtmYy50ZXh0Q29udGVudD1cImJvZHkge3RyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1pbiAwLjJzOyB9IFxcbmJvZHlbdW5yZXNvbHZlZF0ge29wYWNpdHk6IDA7IGRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IH0gXFxuXCI7dmFyIGhjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJoZWFkXCIpO2hjLmluc2VydEJlZm9yZShmYyxoYy5maXJzdENoaWxkKTt2YXIgaWM9d2luZG93O2ljLldlYkNvbXBvbmVudHM9aWMuV2ViQ29tcG9uZW50c3x8e2ZsYWdzOnt9fTt2YXIgamM9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2NyaXB0W3NyYyo9XCJ3ZWJjb21wb25lbnRzLWJ1bmRsZVwiXScpLGtjPS93Yy0oLispLyxsYz17fTtpZighbGMubm9PcHRzKXtsb2NhdGlvbi5zZWFyY2guc2xpY2UoMSkuc3BsaXQoXCImXCIpLmZvckVhY2goZnVuY3Rpb24oYSl7YT1hLnNwbGl0KFwiPVwiKTt2YXIgYjthWzBdJiYoYj1hWzBdLm1hdGNoKGtjKSkmJihsY1tiWzFdXT1hWzFdfHwhMCl9KTtpZihqYylmb3IodmFyIG1jPTAsbmM9dm9pZCAwO25jPWpjLmF0dHJpYnV0ZXNbbWNdO21jKyspXCJzcmNcIiE9PW5jLm5hbWUmJihsY1tuYy5uYW1lXT1uYy52YWx1ZXx8ITApO3ZhciBvYz17fTtsYy5sb2cmJmxjLmxvZy5zcGxpdCYmbGMubG9nLnNwbGl0KFwiLFwiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe29jW2FdPSEwfSk7bGMubG9nPW9jfVxuaWMuV2ViQ29tcG9uZW50cy5mbGFncz1sYzt2YXIgcGM9bGMuc2hhZHlkb207aWYocGMpe2ljLlNoYWR5RE9NPWljLlNoYWR5RE9NfHx7fTtpYy5TaGFkeURPTS5mb3JjZT1wYzt2YXIgcWM9bGMubm9QYXRjaDtpYy5TaGFkeURPTS5ub1BhdGNoPVwidHJ1ZVwiPT09cWM/ITA6cWN9dmFyIHJjPWxjLnJlZ2lzdGVyfHxsYy5jZTtyYyYmd2luZG93LmN1c3RvbUVsZW1lbnRzJiYoaWMuY3VzdG9tRWxlbWVudHMuZm9yY2VQb2x5ZmlsbD1yYyk7LypcblxuIENvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dFxuIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0XG4gVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0XG4gQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc29cbiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dFxuKi9cbihmdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXt9ZnVuY3Rpb24gYihwLHIpe2lmKCFwLmNoaWxkTm9kZXMubGVuZ3RoKXJldHVybltdO3N3aXRjaChwLm5vZGVUeXBlKXtjYXNlIE5vZGUuRE9DVU1FTlRfTk9ERTpyZXR1cm4gRi5jYWxsKHAscik7Y2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6cmV0dXJuIEUuY2FsbChwLHIpO2RlZmF1bHQ6cmV0dXJuIHQuY2FsbChwLHIpfX12YXIgYz1cInVuZGVmaW5lZFwiPT09dHlwZW9mIEhUTUxUZW1wbGF0ZUVsZW1lbnQsZD0hKGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKS5jbG9uZU5vZGUoKWluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCksZT0hMTsvVHJpZGVudC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmZnVuY3Rpb24oKXtmdW5jdGlvbiBwKHosUil7aWYoeiBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpZm9yKHZhciBsYjtsYj16LmZpcnN0Q2hpbGQ7KUIuY2FsbCh0aGlzLGxiLFIpO2Vsc2UgQi5jYWxsKHRoaXMsXG56LFIpO3JldHVybiB6fWU9ITA7dmFyIHI9Tm9kZS5wcm90b3R5cGUuY2xvbmVOb2RlO05vZGUucHJvdG90eXBlLmNsb25lTm9kZT1mdW5jdGlvbih6KXt6PXIuY2FsbCh0aGlzLHopO3RoaXMgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50JiYoei5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUpO3JldHVybiB6fTtEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsPUhUTUxFbGVtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsO0RvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3I9SFRNTEVsZW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3I7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUse25vZGVUeXBlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFfSxjb25maWd1cmFibGU6ITB9LGxvY2FsTmFtZTp7Z2V0OmZ1bmN0aW9uKCl7fSxcbmNvbmZpZ3VyYWJsZTohMH0sbm9kZU5hbWU6e2dldDpmdW5jdGlvbigpe3JldHVyblwiI2RvY3VtZW50LWZyYWdtZW50XCJ9LGNvbmZpZ3VyYWJsZTohMH19KTt2YXIgQj1Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmU7Tm9kZS5wcm90b3R5cGUuaW5zZXJ0QmVmb3JlPXA7dmFyIEs9Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ7Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oeil7eiBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQ/cC5jYWxsKHRoaXMseixudWxsKTpLLmNhbGwodGhpcyx6KTtyZXR1cm4gen07dmFyIGFhPU5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLGxhPU5vZGUucHJvdG90eXBlLnJlcGxhY2VDaGlsZDtOb2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQ9ZnVuY3Rpb24oeixSKXt6IGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudD8ocC5jYWxsKHRoaXMseixSKSxhYS5jYWxsKHRoaXMsUikpOmxhLmNhbGwodGhpcyx6LFIpO3JldHVybiBSfTtEb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1cbmZ1bmN0aW9uKCl7dmFyIHo9dGhpcy5jcmVhdGVFbGVtZW50KFwiZGZcIik7ei5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGU7cmV0dXJuIHp9O3ZhciB2YT1Eb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZTtEb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZT1mdW5jdGlvbih6LFIpe1I9dmEuY2FsbCh0aGlzLHosUnx8ITEpO3ogaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50JiYoUi5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUpO3JldHVybiBSfX0oKTt2YXIgZj1Ob2RlLnByb3RvdHlwZS5jbG9uZU5vZGUsZz1Eb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRWxlbWVudCxoPURvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlLGs9Tm9kZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGQsbD1Ob2RlLnByb3RvdHlwZS5hcHBlbmRDaGlsZCxtPU5vZGUucHJvdG90eXBlLnJlcGxhY2VDaGlsZCxxPURPTVBhcnNlci5wcm90b3R5cGUucGFyc2VGcm9tU3RyaW5nLFxuSD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUsXCJpbm5lckhUTUxcIil8fHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbm5lckhUTUx9LHNldDpmdW5jdGlvbihwKXt0aGlzLmlubmVySFRNTD1wfX0sQz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdy5Ob2RlLnByb3RvdHlwZSxcImNoaWxkTm9kZXNcIil8fHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZE5vZGVzfX0sdD1FbGVtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsLEY9RG9jdW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGwsRT1Eb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsLE09ZnVuY3Rpb24oKXtpZighYyl7dmFyIHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRlbXBsYXRlXCIpLHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRlbXBsYXRlXCIpO3IuY29udGVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKTtcbnAuY29udGVudC5hcHBlbmRDaGlsZChyKTtwPXAuY2xvbmVOb2RlKCEwKTtyZXR1cm4gMD09PXAuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aHx8MD09PXAuY29udGVudC5maXJzdENoaWxkLmNvbnRlbnQuY2hpbGROb2Rlcy5sZW5ndGh8fGR9fSgpO2lmKGMpe3ZhciB5PWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudChcInRlbXBsYXRlXCIpLFc9ITAsdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7dy50ZXh0Q29udGVudD1cInRlbXBsYXRle2Rpc3BsYXk6bm9uZTt9XCI7dmFyIHRhPWRvY3VtZW50LmhlYWQ7dGEuaW5zZXJ0QmVmb3JlKHcsdGEuZmlyc3RFbGVtZW50Q2hpbGQpO2EucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoSFRNTEVsZW1lbnQucHJvdG90eXBlKTt2YXIgaGE9IWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikuaGFzT3duUHJvcGVydHkoXCJpbm5lckhUTUxcIik7YS5aPWZ1bmN0aW9uKHApe2lmKCFwLmNvbnRlbnQmJnAubmFtZXNwYWNlVVJJPT09XG5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJKXtwLmNvbnRlbnQ9eS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Zm9yKHZhciByO3I9cC5maXJzdENoaWxkOylsLmNhbGwocC5jb250ZW50LHIpO2lmKGhhKXAuX19wcm90b19fPWEucHJvdG90eXBlO2Vsc2UgaWYocC5jbG9uZU5vZGU9ZnVuY3Rpb24oQil7cmV0dXJuIGEuc2EodGhpcyxCKX0sVyl0cnl7bihwKSxKKHApfWNhdGNoKEIpe1c9ITF9YS5ib290c3RyYXAocC5jb250ZW50KX19O3ZhciBzYT17b3B0aW9uOltcInNlbGVjdFwiXSx0aGVhZDpbXCJ0YWJsZVwiXSxjb2w6W1wiY29sZ3JvdXBcIixcInRhYmxlXCJdLHRyOltcInRib2R5XCIsXCJ0YWJsZVwiXSx0aDpbXCJ0clwiLFwidGJvZHlcIixcInRhYmxlXCJdLHRkOltcInRyXCIsXCJ0Ym9keVwiLFwidGFibGVcIl19LG49ZnVuY3Rpb24ocCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHAsXCJpbm5lckhUTUxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHdhKHRoaXMpfSxzZXQ6ZnVuY3Rpb24ocil7dmFyIEI9XG5zYVsoLzwoW2Etel1bXi9cXDA+XFx4MjBcXHRcXHJcXG5cXGZdKykvaS5leGVjKHIpfHxbXCJcIixcIlwiXSlbMV0udG9Mb3dlckNhc2UoKV07aWYoQilmb3IodmFyIEs9MDtLPEIubGVuZ3RoO0srKylyPVwiPFwiK0JbS10rXCI+XCIrcitcIjwvXCIrQltLXStcIj5cIjt5LmJvZHkuaW5uZXJIVE1MPXI7Zm9yKGEuYm9vdHN0cmFwKHkpO3RoaXMuY29udGVudC5maXJzdENoaWxkOylrLmNhbGwodGhpcy5jb250ZW50LHRoaXMuY29udGVudC5maXJzdENoaWxkKTtyPXkuYm9keTtpZihCKWZvcihLPTA7SzxCLmxlbmd0aDtLKyspcj1yLmxhc3RDaGlsZDtmb3IoO3IuZmlyc3RDaGlsZDspbC5jYWxsKHRoaXMuY29udGVudCxyLmZpcnN0Q2hpbGQpfSxjb25maWd1cmFibGU6ITB9KX0sSj1mdW5jdGlvbihwKXtPYmplY3QuZGVmaW5lUHJvcGVydHkocCxcIm91dGVySFRNTFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIjx0ZW1wbGF0ZT5cIit0aGlzLmlubmVySFRNTCtcIjwvdGVtcGxhdGU+XCJ9LHNldDpmdW5jdGlvbihyKXtpZih0aGlzLnBhcmVudE5vZGUpe3kuYm9keS5pbm5lckhUTUw9XG5yO2ZvcihyPXRoaXMub3duZXJEb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7eS5ib2R5LmZpcnN0Q2hpbGQ7KWwuY2FsbChyLHkuYm9keS5maXJzdENoaWxkKTttLmNhbGwodGhpcy5wYXJlbnROb2RlLHIsdGhpcyl9ZWxzZSB0aHJvdyBFcnJvcihcIkZhaWxlZCB0byBzZXQgdGhlICdvdXRlckhUTUwnIHByb3BlcnR5IG9uICdFbGVtZW50JzogVGhpcyBlbGVtZW50IGhhcyBubyBwYXJlbnQgbm9kZS5cIik7fSxjb25maWd1cmFibGU6ITB9KX07bihhLnByb3RvdHlwZSk7SihhLnByb3RvdHlwZSk7YS5ib290c3RyYXA9ZnVuY3Rpb24ocCl7cD1iKHAsXCJ0ZW1wbGF0ZVwiKTtmb3IodmFyIHI9MCxCPXAubGVuZ3RoLEs7cjxCJiYoSz1wW3JdKTtyKyspYS5aKEspfTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLGZ1bmN0aW9uKCl7YS5ib290c3RyYXAoZG9jdW1lbnQpfSk7RG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oKXt2YXIgcD1cbmcuYXBwbHkodGhpcyxhcmd1bWVudHMpO1widGVtcGxhdGVcIj09PXAubG9jYWxOYW1lJiZhLloocCk7cmV0dXJuIHB9O0RPTVBhcnNlci5wcm90b3R5cGUucGFyc2VGcm9tU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHA9cS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YS5ib290c3RyYXAocCk7cmV0dXJuIHB9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShIVE1MRWxlbWVudC5wcm90b3R5cGUsXCJpbm5lckhUTUxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHdhKHRoaXMpfSxzZXQ6ZnVuY3Rpb24ocCl7SC5zZXQuY2FsbCh0aGlzLHApO2EuYm9vdHN0cmFwKHRoaXMpfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pO3ZhciBmYT0vWyZcXHUwMEEwXCJdL2csZ2M9L1smXFx1MDBBMDw+XS9nLGZiPWZ1bmN0aW9uKHApe3N3aXRjaChwKXtjYXNlIFwiJlwiOnJldHVyblwiJmFtcDtcIjtjYXNlIFwiPFwiOnJldHVyblwiJmx0O1wiO2Nhc2UgXCI+XCI6cmV0dXJuXCImZ3Q7XCI7Y2FzZSAnXCInOnJldHVyblwiJnF1b3Q7XCI7Y2FzZSBcIlxcdTAwYTBcIjpyZXR1cm5cIiZuYnNwO1wifX07XG53PWZ1bmN0aW9uKHApe2Zvcih2YXIgcj17fSxCPTA7QjxwLmxlbmd0aDtCKyspcltwW0JdXT0hMDtyZXR1cm4gcn07dmFyIFVhPXcoXCJhcmVhIGJhc2UgYnIgY29sIGNvbW1hbmQgZW1iZWQgaHIgaW1nIGlucHV0IGtleWdlbiBsaW5rIG1ldGEgcGFyYW0gc291cmNlIHRyYWNrIHdiclwiLnNwbGl0KFwiIFwiKSksZ2I9dyhcInN0eWxlIHNjcmlwdCB4bXAgaWZyYW1lIG5vZW1iZWQgbm9mcmFtZXMgcGxhaW50ZXh0IG5vc2NyaXB0XCIuc3BsaXQoXCIgXCIpKSx3YT1mdW5jdGlvbihwLHIpe1widGVtcGxhdGVcIj09PXAubG9jYWxOYW1lJiYocD1wLmNvbnRlbnQpO2Zvcih2YXIgQj1cIlwiLEs9cj9yKHApOkMuZ2V0LmNhbGwocCksYWE9MCxsYT1LLmxlbmd0aCx2YTthYTxsYSYmKHZhPUtbYWFdKTthYSsrKXthOnt2YXIgej12YTt2YXIgUj1wO3ZhciBsYj1yO3N3aXRjaCh6Lm5vZGVUeXBlKXtjYXNlIE5vZGUuRUxFTUVOVF9OT0RFOmZvcih2YXIgRmM9ei5sb2NhbE5hbWUsbWI9XCI8XCIrRmMsQmg9ei5hdHRyaWJ1dGVzLFxub2U9MDtSPUJoW29lXTtvZSsrKW1iKz1cIiBcIitSLm5hbWUrJz1cIicrUi52YWx1ZS5yZXBsYWNlKGZhLGZiKSsnXCInO21iKz1cIj5cIjt6PVVhW0ZjXT9tYjptYit3YSh6LGxiKStcIjwvXCIrRmMrXCI+XCI7YnJlYWsgYTtjYXNlIE5vZGUuVEVYVF9OT0RFOno9ei5kYXRhO3o9UiYmZ2JbUi5sb2NhbE5hbWVdP3o6ei5yZXBsYWNlKGdjLGZiKTticmVhayBhO2Nhc2UgTm9kZS5DT01NRU5UX05PREU6ej1cIlxceDNjIS0tXCIrei5kYXRhK1wiLS1cXHgzZVwiO2JyZWFrIGE7ZGVmYXVsdDp0aHJvdyB3aW5kb3cuY29uc29sZS5lcnJvcih6KSxFcnJvcihcIm5vdCBpbXBsZW1lbnRlZFwiKTt9fUIrPXp9cmV0dXJuIEJ9fWlmKGN8fE0pe2Euc2E9ZnVuY3Rpb24ocCxyKXt2YXIgQj1mLmNhbGwocCwhMSk7dGhpcy5aJiZ0aGlzLlooQik7ciYmKGwuY2FsbChCLmNvbnRlbnQsZi5jYWxsKHAuY29udGVudCwhMCkpLEkoQi5jb250ZW50LHAuY29udGVudCkpO3JldHVybiBCfTt2YXIgST1mdW5jdGlvbihwLHIpe2lmKHIucXVlcnlTZWxlY3RvckFsbCYmXG4ocj1iKHIsXCJ0ZW1wbGF0ZVwiKSwwIT09ci5sZW5ndGgpKXtwPWIocCxcInRlbXBsYXRlXCIpO2Zvcih2YXIgQj0wLEs9cC5sZW5ndGgsYWEsbGE7QjxLO0IrKylsYT1yW0JdLGFhPXBbQl0sYSYmYS5aJiZhLloobGEpLG0uY2FsbChhYS5wYXJlbnROb2RlLHUuY2FsbChsYSwhMCksYWEpfX0sdT1Ob2RlLnByb3RvdHlwZS5jbG9uZU5vZGU9ZnVuY3Rpb24ocCl7aWYoIWUmJmQmJnRoaXMgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KWlmKHApdmFyIHI9Ry5jYWxsKHRoaXMub3duZXJEb2N1bWVudCx0aGlzLCEwKTtlbHNlIHJldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2Vsc2UgdGhpcy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZcInRlbXBsYXRlXCI9PT10aGlzLmxvY2FsTmFtZSYmdGhpcy5uYW1lc3BhY2VVUkk9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkk/cj1hLnNhKHRoaXMscCk6cj1mLmNhbGwodGhpcyxcbnApO3AmJkkocix0aGlzKTtyZXR1cm4gcn0sRz1Eb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZT1mdW5jdGlvbihwLHIpe3I9cnx8ITE7aWYoXCJ0ZW1wbGF0ZVwiPT09cC5sb2NhbE5hbWUpcmV0dXJuIGEuc2EocCxyKTt2YXIgQj1oLmNhbGwodGhpcyxwLHIpO2lmKHIpe0koQixwKTtwPWIoQiwnc2NyaXB0Om5vdChbdHlwZV0pLHNjcmlwdFt0eXBlPVwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiXSxzY3JpcHRbdHlwZT1cInRleHQvamF2YXNjcmlwdFwiXScpO2Zvcih2YXIgSyxhYT0wO2FhPHAubGVuZ3RoO2FhKyspe0s9cFthYV07cj1nLmNhbGwoZG9jdW1lbnQsXCJzY3JpcHRcIik7ci50ZXh0Q29udGVudD1LLnRleHRDb250ZW50O2Zvcih2YXIgbGE9Sy5hdHRyaWJ1dGVzLHZhPTAsejt2YTxsYS5sZW5ndGg7dmErKyl6PWxhW3ZhXSxyLnNldEF0dHJpYnV0ZSh6Lm5hbWUsei52YWx1ZSk7bS5jYWxsKEsucGFyZW50Tm9kZSxyLEspfX1yZXR1cm4gQn19YyYmKHdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50PVxuYSl9KSgpOy8qXG5cbkNvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG5UaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0XG5UaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dFxuVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0XG5Db2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzb1xuc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHRcbiovXG5mdW5jdGlvbiBzYygpe31zYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue319O2Z1bmN0aW9uIEQoYSl7YS5fX3NoYWR5fHwoYS5fX3NoYWR5PW5ldyBzYyk7cmV0dXJuIGEuX19zaGFkeX1mdW5jdGlvbiBMKGEpe3JldHVybiBhJiZhLl9fc2hhZHl9O3ZhciBOPXdpbmRvdy5TaGFkeURPTXx8e307Ti5ZYT0hKCFFbGVtZW50LnByb3RvdHlwZS5hdHRhY2hTaGFkb3d8fCFOb2RlLnByb3RvdHlwZS5nZXRSb290Tm9kZSk7dmFyIHRjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTm9kZS5wcm90b3R5cGUsXCJmaXJzdENoaWxkXCIpO04uSD0hISh0YyYmdGMuY29uZmlndXJhYmxlJiZ0Yy5nZXQpO04ueWE9Ti5mb3JjZXx8IU4uWWE7Ti5KPU4ubm9QYXRjaHx8ITE7Ti5mYT1OLnByZWZlclBlcmZvcm1hbmNlO04uQWE9XCJvbi1kZW1hbmRcIj09PU4uSjtOLk5hPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goXCJUcmlkZW50XCIpO2Z1bmN0aW9uIHVjKCl7cmV0dXJuIERvY3VtZW50LnByb3RvdHlwZS5tc0VsZW1lbnRzRnJvbVBvaW50P1wibXNFbGVtZW50c0Zyb21Qb2ludFwiOlwiZWxlbWVudHNGcm9tUG9pbnRcIn1mdW5jdGlvbiB2YyhhKXtyZXR1cm4oYT1MKGEpKSYmdm9pZCAwIT09YS5maXJzdENoaWxkfVxuZnVuY3Rpb24gTyhhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3R9ZnVuY3Rpb24gd2MoYSl7cmV0dXJuKGE9KGE9TChhKSkmJmEucm9vdCkmJnhjKGEpfXZhciB5Yz1FbGVtZW50LnByb3RvdHlwZSx6Yz15Yy5tYXRjaGVzfHx5Yy5tYXRjaGVzU2VsZWN0b3J8fHljLm1vek1hdGNoZXNTZWxlY3Rvcnx8eWMubXNNYXRjaGVzU2VsZWN0b3J8fHljLm9NYXRjaGVzU2VsZWN0b3J8fHljLndlYmtpdE1hdGNoZXNTZWxlY3RvcixBYz1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIlwiKSxCYz0wLENjPVtdOyhuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpe2Zvcig7Q2MubGVuZ3RoOyl0cnl7Q2Muc2hpZnQoKSgpfWNhdGNoKGEpe3Rocm93IEFjLnRleHRDb250ZW50PUJjKyssYTt9fSkpLm9ic2VydmUoQWMse2NoYXJhY3RlckRhdGE6ITB9KTtmdW5jdGlvbiBEYyhhKXtDYy5wdXNoKGEpO0FjLnRleHRDb250ZW50PUJjKyt9XG52YXIgRWM9ZG9jdW1lbnQuY29udGFpbnM/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5fX3NoYWR5X25hdGl2ZV9jb250YWlucyhiKX06ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ8fGEuZG9jdW1lbnRFbGVtZW50JiZhLmRvY3VtZW50RWxlbWVudC5fX3NoYWR5X25hdGl2ZV9jb250YWlucyhiKX07ZnVuY3Rpb24gR2MoYSxiKXtmb3IoO2I7KXtpZihiPT1hKXJldHVybiEwO2I9Yi5fX3NoYWR5X3BhcmVudE5vZGV9cmV0dXJuITF9XG5mdW5jdGlvbiBIYyhhKXtmb3IodmFyIGI9YS5sZW5ndGgtMTswPD1iO2ItLSl7dmFyIGM9YVtiXSxkPWMuZ2V0QXR0cmlidXRlKFwiaWRcIil8fGMuZ2V0QXR0cmlidXRlKFwibmFtZVwiKTtkJiZcImxlbmd0aFwiIT09ZCYmaXNOYU4oZCkmJihhW2RdPWMpfWEuaXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gYVtlXX07YS5uYW1lZEl0ZW09ZnVuY3Rpb24oZSl7aWYoXCJsZW5ndGhcIiE9PWUmJmlzTmFOKGUpJiZhW2VdKXJldHVybiBhW2VdO2Zvcih2YXIgZj1rYShhKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSlpZihnPWcudmFsdWUsKGcuZ2V0QXR0cmlidXRlKFwiaWRcIil8fGcuZ2V0QXR0cmlidXRlKFwibmFtZVwiKSk9PWUpcmV0dXJuIGc7cmV0dXJuIG51bGx9O3JldHVybiBhfWZ1bmN0aW9uIEljKGEpe3ZhciBiPVtdO2ZvcihhPWEuX19zaGFkeV9uYXRpdmVfZmlyc3RDaGlsZDthO2E9YS5fX3NoYWR5X25hdGl2ZV9uZXh0U2libGluZyliLnB1c2goYSk7cmV0dXJuIGJ9XG5mdW5jdGlvbiBKYyhhKXt2YXIgYj1bXTtmb3IoYT1hLl9fc2hhZHlfZmlyc3RDaGlsZDthO2E9YS5fX3NoYWR5X25leHRTaWJsaW5nKWIucHVzaChhKTtyZXR1cm4gYn1mdW5jdGlvbiBLYyhhLGIsYyl7Yy5jb25maWd1cmFibGU9ITA7aWYoYy52YWx1ZSlhW2JdPWMudmFsdWU7ZWxzZSB0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYixjKX1jYXRjaChkKXt9fWZ1bmN0aW9uIFAoYSxiLGMsZCl7Yz12b2lkIDA9PT1jP1wiXCI6Yztmb3IodmFyIGUgaW4gYilkJiYwPD1kLmluZGV4T2YoZSl8fEtjKGEsYytlLGJbZV0pfWZ1bmN0aW9uIExjKGEsYil7Zm9yKHZhciBjIGluIGIpYyBpbiBhJiZLYyhhLGMsYltjXSl9ZnVuY3Rpb24gUShhKXt2YXIgYj17fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2JbY109T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLGMpfSk7cmV0dXJuIGJ9XG5mdW5jdGlvbiBNYyhhLGIpe2Zvcih2YXIgYz1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhiKSxkPTAsZTtkPGMubGVuZ3RoO2QrKyllPWNbZF0sYVtlXT1iW2VdfWZ1bmN0aW9uIE5jKGEpe3JldHVybiBhIGluc3RhbmNlb2YgTm9kZT9hOmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFwiXCIrYSl9ZnVuY3Rpb24gT2MoYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGFyZ3VtZW50cy5sZW5ndGg7KytjKWJbY109YXJndW1lbnRzW2NdO2lmKDE9PT1iLmxlbmd0aClyZXR1cm4gTmMoYlswXSk7Yz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yj1rYShiKTtmb3IodmFyIGQ9Yi5uZXh0KCk7IWQuZG9uZTtkPWIubmV4dCgpKWMuYXBwZW5kQ2hpbGQoTmMoZC52YWx1ZSkpO3JldHVybiBjfTt2YXIgUGM9W10sUWM7ZnVuY3Rpb24gUmMoYSl7UWN8fChRYz0hMCxEYyhTYykpO1BjLnB1c2goYSl9ZnVuY3Rpb24gU2MoKXtRYz0hMTtmb3IodmFyIGE9ISFQYy5sZW5ndGg7UGMubGVuZ3RoOylQYy5zaGlmdCgpKCk7cmV0dXJuIGF9U2MubGlzdD1QYztmdW5jdGlvbiBUYygpe3RoaXMuZz0hMTt0aGlzLmFkZGVkTm9kZXM9W107dGhpcy5yZW1vdmVkTm9kZXM9W107dGhpcy5vYT1uZXcgU2V0fWZ1bmN0aW9uIFVjKGEpe2EuZ3x8KGEuZz0hMCxEYyhmdW5jdGlvbigpe2EuZmx1c2goKX0pKX1UYy5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtpZih0aGlzLmcpe3RoaXMuZz0hMTt2YXIgYT10aGlzLnRha2VSZWNvcmRzKCk7YS5sZW5ndGgmJnRoaXMub2EuZm9yRWFjaChmdW5jdGlvbihiKXtiKGEpfSl9fTtUYy5wcm90b3R5cGUudGFrZVJlY29yZHM9ZnVuY3Rpb24oKXtpZih0aGlzLmFkZGVkTm9kZXMubGVuZ3RofHx0aGlzLnJlbW92ZWROb2Rlcy5sZW5ndGgpe3ZhciBhPVt7YWRkZWROb2Rlczp0aGlzLmFkZGVkTm9kZXMscmVtb3ZlZE5vZGVzOnRoaXMucmVtb3ZlZE5vZGVzfV07dGhpcy5hZGRlZE5vZGVzPVtdO3RoaXMucmVtb3ZlZE5vZGVzPVtdO3JldHVybiBhfXJldHVybltdfTtcbmZ1bmN0aW9uIFZjKGEsYil7dmFyIGM9RChhKTtjLmVhfHwoYy5lYT1uZXcgVGMpO2MuZWEub2EuYWRkKGIpO3ZhciBkPWMuZWE7cmV0dXJue1JhOmIsWDpkLFNhOmEsdGFrZVJlY29yZHM6ZnVuY3Rpb24oKXtyZXR1cm4gZC50YWtlUmVjb3JkcygpfX19ZnVuY3Rpb24gV2MoYSl7dmFyIGI9YSYmYS5YO2ImJihiLm9hLmRlbGV0ZShhLlJhKSxiLm9hLnNpemV8fChEKGEuU2EpLmVhPW51bGwpKX1cbmZ1bmN0aW9uIFhjKGEsYil7dmFyIGM9Yi5nZXRSb290Tm9kZSgpO3JldHVybiBhLm1hcChmdW5jdGlvbihkKXt2YXIgZT1jPT09ZC50YXJnZXQuZ2V0Um9vdE5vZGUoKTtpZihlJiZkLmFkZGVkTm9kZXMpe2lmKGU9W10uc2xpY2UuY2FsbChkLmFkZGVkTm9kZXMpLmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4gYz09PWYuZ2V0Um9vdE5vZGUoKX0pLGUubGVuZ3RoKXJldHVybiBkPU9iamVjdC5jcmVhdGUoZCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGQsXCJhZGRlZE5vZGVzXCIse3ZhbHVlOmUsY29uZmlndXJhYmxlOiEwfSksZH1lbHNlIGlmKGUpcmV0dXJuIGR9KS5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIGR9KX07dmFyIFljPS9bJlxcdTAwQTBcIl0vZyxaYz0vWyZcXHUwMEEwPD5dL2c7ZnVuY3Rpb24gJGMoYSl7c3dpdGNoKGEpe2Nhc2UgXCImXCI6cmV0dXJuXCImYW1wO1wiO2Nhc2UgXCI8XCI6cmV0dXJuXCImbHQ7XCI7Y2FzZSBcIj5cIjpyZXR1cm5cIiZndDtcIjtjYXNlICdcIic6cmV0dXJuXCImcXVvdDtcIjtjYXNlIFwiXFx1MDBhMFwiOnJldHVyblwiJm5ic3A7XCJ9fWZ1bmN0aW9uIGFkKGEpe2Zvcih2YXIgYj17fSxjPTA7YzxhLmxlbmd0aDtjKyspYlthW2NdXT0hMDtyZXR1cm4gYn12YXIgYmQ9YWQoXCJhcmVhIGJhc2UgYnIgY29sIGNvbW1hbmQgZW1iZWQgaHIgaW1nIGlucHV0IGtleWdlbiBsaW5rIG1ldGEgcGFyYW0gc291cmNlIHRyYWNrIHdiclwiLnNwbGl0KFwiIFwiKSksY2Q9YWQoXCJzdHlsZSBzY3JpcHQgeG1wIGlmcmFtZSBub2VtYmVkIG5vZnJhbWVzIHBsYWludGV4dCBub3NjcmlwdFwiLnNwbGl0KFwiIFwiKSk7XG5mdW5jdGlvbiBkZChhLGIpe1widGVtcGxhdGVcIj09PWEubG9jYWxOYW1lJiYoYT1hLmNvbnRlbnQpO2Zvcih2YXIgYz1cIlwiLGQ9Yj9iKGEpOmEuY2hpbGROb2RlcyxlPTAsZj1kLmxlbmd0aCxnPXZvaWQgMDtlPGYmJihnPWRbZV0pO2UrKyl7YTp7dmFyIGg9Zzt2YXIgaz1hLGw9Yjtzd2l0Y2goaC5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTprPWgubG9jYWxOYW1lO2Zvcih2YXIgbT1cIjxcIitrLHE9aC5hdHRyaWJ1dGVzLEg9MCxDO0M9cVtIXTtIKyspbSs9XCIgXCIrQy5uYW1lKyc9XCInK0MudmFsdWUucmVwbGFjZShZYywkYykrJ1wiJzttKz1cIj5cIjtoPWJkW2tdP206bStkZChoLGwpK1wiPC9cIitrK1wiPlwiO2JyZWFrIGE7Y2FzZSBOb2RlLlRFWFRfTk9ERTpoPWguZGF0YTtoPWsmJmNkW2subG9jYWxOYW1lXT9oOmgucmVwbGFjZShaYywkYyk7YnJlYWsgYTtjYXNlIE5vZGUuQ09NTUVOVF9OT0RFOmg9XCJcXHgzYyEtLVwiK2guZGF0YStcIi0tXFx4M2VcIjticmVhayBhO2RlZmF1bHQ6dGhyb3cgd2luZG93LmNvbnNvbGUuZXJyb3IoaCksXG5FcnJvcihcIm5vdCBpbXBsZW1lbnRlZFwiKTt9fWMrPWh9cmV0dXJuIGN9O3ZhciBlZD1OLkgsZmQ9e3F1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfcXVlcnlTZWxlY3RvcihhKX0scXVlcnlTZWxlY3RvckFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9xdWVyeVNlbGVjdG9yQWxsKGEpfX0sZ2Q9e307ZnVuY3Rpb24gaGQoYSl7Z2RbYV09ZnVuY3Rpb24oYil7cmV0dXJuIGJbXCJfX3NoYWR5X25hdGl2ZV9cIithXX19ZnVuY3Rpb24gaWQoYSxiKXtQKGEsYixcIl9fc2hhZHlfbmF0aXZlX1wiKTtmb3IodmFyIGMgaW4gYiloZChjKX1mdW5jdGlvbiBTKGEsYil7Yj12b2lkIDA9PT1iP1tdOmI7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY10sZT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGEsZCk7ZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFwiX19zaGFkeV9uYXRpdmVfXCIrZCxlKSxlLnZhbHVlP2ZkW2RdfHwoZmRbZF09ZS52YWx1ZSk6aGQoZCkpfX1cbnZhciBqZD1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGRvY3VtZW50LE5vZGVGaWx0ZXIuU0hPV19BTEwsbnVsbCwhMSksa2Q9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudCxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCxudWxsLCExKSxsZD1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoXCJpbmVydFwiKTtmdW5jdGlvbiBtZChhKXtmb3IodmFyIGI7Yj1hLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7KWEuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQoYil9dmFyIG5kPVtcImZpcnN0RWxlbWVudENoaWxkXCIsXCJsYXN0RWxlbWVudENoaWxkXCIsXCJjaGlsZHJlblwiLFwiY2hpbGRFbGVtZW50Q291bnRcIl0sb2Q9W1wicXVlcnlTZWxlY3RvclwiLFwicXVlcnlTZWxlY3RvckFsbFwiLFwiYXBwZW5kXCIsXCJwcmVwZW5kXCIsXCJyZXBsYWNlQ2hpbGRyZW5cIl07XG5mdW5jdGlvbiBwZCgpe3ZhciBhPVtcImRpc3BhdGNoRXZlbnRcIixcImFkZEV2ZW50TGlzdGVuZXJcIixcInJlbW92ZUV2ZW50TGlzdGVuZXJcIl07d2luZG93LkV2ZW50VGFyZ2V0PyhTKHdpbmRvdy5FdmVudFRhcmdldC5wcm90b3R5cGUsYSksdm9pZCAwPT09d2luZG93Ll9fc2hhZHlfbmF0aXZlX2FkZEV2ZW50TGlzdGVuZXImJlMoV2luZG93LnByb3RvdHlwZSxhKSk6KFMoTm9kZS5wcm90b3R5cGUsYSksUyhXaW5kb3cucHJvdG90eXBlLGEpKTtlZD9TKE5vZGUucHJvdG90eXBlLFwicGFyZW50Tm9kZSBmaXJzdENoaWxkIGxhc3RDaGlsZCBwcmV2aW91c1NpYmxpbmcgbmV4dFNpYmxpbmcgY2hpbGROb2RlcyBwYXJlbnRFbGVtZW50IHRleHRDb250ZW50XCIuc3BsaXQoXCIgXCIpKTppZChOb2RlLnByb3RvdHlwZSx7cGFyZW50Tm9kZTp7Z2V0OmZ1bmN0aW9uKCl7amQuY3VycmVudE5vZGU9dGhpcztyZXR1cm4gamQucGFyZW50Tm9kZSgpfX0sZmlyc3RDaGlsZDp7Z2V0OmZ1bmN0aW9uKCl7amQuY3VycmVudE5vZGU9XG50aGlzO3JldHVybiBqZC5maXJzdENoaWxkKCl9fSxsYXN0Q2hpbGQ6e2dldDpmdW5jdGlvbigpe2pkLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIGpkLmxhc3RDaGlsZCgpfX0scHJldmlvdXNTaWJsaW5nOntnZXQ6ZnVuY3Rpb24oKXtqZC5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBqZC5wcmV2aW91c1NpYmxpbmcoKX19LG5leHRTaWJsaW5nOntnZXQ6ZnVuY3Rpb24oKXtqZC5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBqZC5uZXh0U2libGluZygpfX0sY2hpbGROb2Rlczp7Z2V0OmZ1bmN0aW9uKCl7dmFyIGI9W107amQuY3VycmVudE5vZGU9dGhpcztmb3IodmFyIGM9amQuZmlyc3RDaGlsZCgpO2M7KWIucHVzaChjKSxjPWpkLm5leHRTaWJsaW5nKCk7cmV0dXJuIGJ9fSxwYXJlbnRFbGVtZW50OntnZXQ6ZnVuY3Rpb24oKXtrZC5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBrZC5wYXJlbnROb2RlKCl9fSx0ZXh0Q29udGVudDp7Z2V0OmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMubm9kZVR5cGUpe2Nhc2UgTm9kZS5FTEVNRU5UX05PREU6Y2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6Zm9yKHZhciBiPVxuZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcih0aGlzLE5vZGVGaWx0ZXIuU0hPV19URVhULG51bGwsITEpLGM9XCJcIixkO2Q9Yi5uZXh0Tm9kZSgpOyljKz1kLm5vZGVWYWx1ZTtyZXR1cm4gYztkZWZhdWx0OnJldHVybiB0aGlzLm5vZGVWYWx1ZX19LHNldDpmdW5jdGlvbihiKXtpZihcInVuZGVmaW5lZFwiPT09dHlwZW9mIGJ8fG51bGw9PT1iKWI9XCJcIjtzd2l0Y2godGhpcy5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjYXNlIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERTptZCh0aGlzKTsoMDxiLmxlbmd0aHx8dGhpcy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKSYmdGhpcy5fX3NoYWR5X25hdGl2ZV9pbnNlcnRCZWZvcmUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYiksdm9pZCAwKTticmVhaztkZWZhdWx0OnRoaXMubm9kZVZhbHVlPWJ9fX19KTtTKE5vZGUucHJvdG90eXBlLFwiYXBwZW5kQ2hpbGQgaW5zZXJ0QmVmb3JlIHJlbW92ZUNoaWxkIHJlcGxhY2VDaGlsZCBjbG9uZU5vZGUgY29udGFpbnNcIi5zcGxpdChcIiBcIikpO1xuUyhIVE1MRWxlbWVudC5wcm90b3R5cGUsW1wicGFyZW50RWxlbWVudFwiLFwiY29udGFpbnNcIl0pO2E9e2ZpcnN0RWxlbWVudENoaWxkOntnZXQ6ZnVuY3Rpb24oKXtrZC5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBrZC5maXJzdENoaWxkKCl9fSxsYXN0RWxlbWVudENoaWxkOntnZXQ6ZnVuY3Rpb24oKXtrZC5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBrZC5sYXN0Q2hpbGQoKX19LGNoaWxkcmVuOntnZXQ6ZnVuY3Rpb24oKXt2YXIgYj1bXTtrZC5jdXJyZW50Tm9kZT10aGlzO2Zvcih2YXIgYz1rZC5maXJzdENoaWxkKCk7YzspYi5wdXNoKGMpLGM9a2QubmV4dFNpYmxpbmcoKTtyZXR1cm4gSGMoYil9fSxjaGlsZEVsZW1lbnRDb3VudDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW4/dGhpcy5jaGlsZHJlbi5sZW5ndGg6MH19fTtlZD8oUyhFbGVtZW50LnByb3RvdHlwZSxuZCksUyhFbGVtZW50LnByb3RvdHlwZSxbXCJwcmV2aW91c0VsZW1lbnRTaWJsaW5nXCIsXCJuZXh0RWxlbWVudFNpYmxpbmdcIixcblwiaW5uZXJIVE1MXCIsXCJjbGFzc05hbWVcIl0pLFMoSFRNTEVsZW1lbnQucHJvdG90eXBlLFtcImNoaWxkcmVuXCIsXCJpbm5lckhUTUxcIixcImNsYXNzTmFtZVwiXSkpOihpZChFbGVtZW50LnByb3RvdHlwZSxhKSxpZChFbGVtZW50LnByb3RvdHlwZSx7cHJldmlvdXNFbGVtZW50U2libGluZzp7Z2V0OmZ1bmN0aW9uKCl7a2QuY3VycmVudE5vZGU9dGhpcztyZXR1cm4ga2QucHJldmlvdXNTaWJsaW5nKCl9fSxuZXh0RWxlbWVudFNpYmxpbmc6e2dldDpmdW5jdGlvbigpe2tkLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIGtkLm5leHRTaWJsaW5nKCl9fSxpbm5lckhUTUw6e2dldDpmdW5jdGlvbigpe3JldHVybiBkZCh0aGlzLEljKX0sc2V0OmZ1bmN0aW9uKGIpe3ZhciBjPVwidGVtcGxhdGVcIj09PXRoaXMubG9jYWxOYW1lP3RoaXMuY29udGVudDp0aGlzO21kKGMpO3ZhciBkPXRoaXMubG9jYWxOYW1lfHxcImRpdlwiO2Q9dGhpcy5uYW1lc3BhY2VVUkkmJnRoaXMubmFtZXNwYWNlVVJJIT09bGQubmFtZXNwYWNlVVJJP1xubGQuY3JlYXRlRWxlbWVudE5TKHRoaXMubmFtZXNwYWNlVVJJLGQpOmxkLmNyZWF0ZUVsZW1lbnQoZCk7ZC5pbm5lckhUTUw9Yjtmb3IoYj1cInRlbXBsYXRlXCI9PT10aGlzLmxvY2FsTmFtZT9kLmNvbnRlbnQ6ZDtkPWIuX19zaGFkeV9uYXRpdmVfZmlyc3RDaGlsZDspYy5fX3NoYWR5X25hdGl2ZV9pbnNlcnRCZWZvcmUoZCx2b2lkIDApfX0sY2xhc3NOYW1lOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIn0sc2V0OmZ1bmN0aW9uKGIpe3RoaXMuc2V0QXR0cmlidXRlKFwiY2xhc3NcIixiKX19fSkpO1MoRWxlbWVudC5wcm90b3R5cGUsXCJzZXRBdHRyaWJ1dGUgZ2V0QXR0cmlidXRlIGhhc0F0dHJpYnV0ZSByZW1vdmVBdHRyaWJ1dGUgZm9jdXMgYmx1clwiLnNwbGl0KFwiIFwiKSk7UyhFbGVtZW50LnByb3RvdHlwZSxvZCk7UyhIVE1MRWxlbWVudC5wcm90b3R5cGUsW1wiZm9jdXNcIixcImJsdXJcIl0pO3dpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50JiZcblMod2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQucHJvdG90eXBlLFtcImlubmVySFRNTFwiXSk7ZWQ/UyhEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSxuZCk6aWQoRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUsYSk7UyhEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSxvZCk7ZWQ/KFMoRG9jdW1lbnQucHJvdG90eXBlLG5kKSxTKERvY3VtZW50LnByb3RvdHlwZSxbXCJhY3RpdmVFbGVtZW50XCJdKSk6aWQoRG9jdW1lbnQucHJvdG90eXBlLGEpO1MoRG9jdW1lbnQucHJvdG90eXBlLFtcImltcG9ydE5vZGVcIixcImdldEVsZW1lbnRCeUlkXCIsXCJlbGVtZW50RnJvbVBvaW50XCIsdWMoKV0pO1MoRG9jdW1lbnQucHJvdG90eXBlLG9kKX07dmFyIHFkPVEoe2dldCBjaGlsZE5vZGVzKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9jaGlsZE5vZGVzfSxnZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLl9fc2hhZHlfZmlyc3RDaGlsZH0sZ2V0IGxhc3RDaGlsZCgpe3JldHVybiB0aGlzLl9fc2hhZHlfbGFzdENoaWxkfSxnZXQgY2hpbGRFbGVtZW50Q291bnQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NoaWxkRWxlbWVudENvdW50fSxnZXQgY2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NoaWxkcmVufSxnZXQgZmlyc3RFbGVtZW50Q2hpbGQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2ZpcnN0RWxlbWVudENoaWxkfSxnZXQgbGFzdEVsZW1lbnRDaGlsZCgpe3JldHVybiB0aGlzLl9fc2hhZHlfbGFzdEVsZW1lbnRDaGlsZH0sZ2V0IHNoYWRvd1Jvb3QoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3NoYWRvd1Jvb3R9fSkscmQ9USh7Z2V0IHRleHRDb250ZW50KCl7cmV0dXJuIHRoaXMuX19zaGFkeV90ZXh0Q29udGVudH0sc2V0IHRleHRDb250ZW50KGEpe3RoaXMuX19zaGFkeV90ZXh0Q29udGVudD1cbmF9LGdldCBpbm5lckhUTUwoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2lubmVySFRNTH0sc2V0IGlubmVySFRNTChhKXt0aGlzLl9fc2hhZHlfaW5uZXJIVE1MPWF9fSksc2Q9USh7Z2V0IHBhcmVudEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3BhcmVudEVsZW1lbnR9LGdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9wYXJlbnROb2RlfSxnZXQgbmV4dFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25leHRTaWJsaW5nfSxnZXQgcHJldmlvdXNTaWJsaW5nKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9wcmV2aW91c1NpYmxpbmd9LGdldCBuZXh0RWxlbWVudFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25leHRFbGVtZW50U2libGluZ30sZ2V0IHByZXZpb3VzRWxlbWVudFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3ByZXZpb3VzRWxlbWVudFNpYmxpbmd9LGdldCBjbGFzc05hbWUoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NsYXNzTmFtZX0sc2V0IGNsYXNzTmFtZShhKXt0aGlzLl9fc2hhZHlfY2xhc3NOYW1lPVxuYX19KTtmdW5jdGlvbiB0ZChhKXtmb3IodmFyIGIgaW4gYSl7dmFyIGM9YVtiXTtjJiYoYy5lbnVtZXJhYmxlPSExKX19dGQocWQpO3RkKHJkKTt0ZChzZCk7dmFyIHVkPU4uSHx8ITA9PT1OLkosdmQ9dWQ/ZnVuY3Rpb24oKXt9OmZ1bmN0aW9uKGEpe3ZhciBiPUQoYSk7Yi5QYXx8KGIuUGE9ITAsTGMoYSxzZCkpfSx3ZD11ZD9mdW5jdGlvbigpe306ZnVuY3Rpb24oYSl7dmFyIGI9RChhKTtiLk9hfHwoYi5PYT0hMCxMYyhhLHFkKSx3aW5kb3cuY3VzdG9tRWxlbWVudHMmJndpbmRvdy5jdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrJiYhTi5KfHxMYyhhLHJkKSl9O3ZhciB4ZD1cIl9fZXZlbnRXcmFwcGVyc1wiK0RhdGUubm93KCkseWQ9ZnVuY3Rpb24oKXt2YXIgYT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV2ZW50LnByb3RvdHlwZSxcImNvbXBvc2VkXCIpO3JldHVybiBhP2Z1bmN0aW9uKGIpe3JldHVybiBhLmdldC5jYWxsKGIpfTpudWxsfSgpLHpkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe312YXIgYj0hMSxjPXtnZXQgY2FwdHVyZSgpe2I9ITA7cmV0dXJuITF9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInRlc3RcIixhLGMpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwidGVzdFwiLGEsYyk7cmV0dXJuIGJ9KCk7ZnVuY3Rpb24gQWQoYSl7aWYoYSYmXCJvYmplY3RcIj09PXR5cGVvZiBhKXt2YXIgYj0hIWEuY2FwdHVyZTt2YXIgYz0hIWEub25jZTt2YXIgZD0hIWEucGFzc2l2ZTt2YXIgZT1hLlV9ZWxzZSBiPSEhYSxkPWM9ITE7cmV0dXJue0xhOmUsY2FwdHVyZTpiLG9uY2U6YyxwYXNzaXZlOmQsSmE6emQ/YTpifX1cbnZhciBCZD17Ymx1cjohMCxmb2N1czohMCxmb2N1c2luOiEwLGZvY3Vzb3V0OiEwLGNsaWNrOiEwLGRibGNsaWNrOiEwLG1vdXNlZG93bjohMCxtb3VzZWVudGVyOiEwLG1vdXNlbGVhdmU6ITAsbW91c2Vtb3ZlOiEwLG1vdXNlb3V0OiEwLG1vdXNlb3ZlcjohMCxtb3VzZXVwOiEwLHdoZWVsOiEwLGJlZm9yZWlucHV0OiEwLGlucHV0OiEwLGtleWRvd246ITAsa2V5dXA6ITAsY29tcG9zaXRpb25zdGFydDohMCxjb21wb3NpdGlvbnVwZGF0ZTohMCxjb21wb3NpdGlvbmVuZDohMCx0b3VjaHN0YXJ0OiEwLHRvdWNoZW5kOiEwLHRvdWNobW92ZTohMCx0b3VjaGNhbmNlbDohMCxwb2ludGVyb3ZlcjohMCxwb2ludGVyZW50ZXI6ITAscG9pbnRlcmRvd246ITAscG9pbnRlcm1vdmU6ITAscG9pbnRlcnVwOiEwLHBvaW50ZXJjYW5jZWw6ITAscG9pbnRlcm91dDohMCxwb2ludGVybGVhdmU6ITAsZ290cG9pbnRlcmNhcHR1cmU6ITAsbG9zdHBvaW50ZXJjYXB0dXJlOiEwLGRyYWdzdGFydDohMCxcbmRyYWc6ITAsZHJhZ2VudGVyOiEwLGRyYWdsZWF2ZTohMCxkcmFnb3ZlcjohMCxkcm9wOiEwLGRyYWdlbmQ6ITAsRE9NQWN0aXZhdGU6ITAsRE9NRm9jdXNJbjohMCxET01Gb2N1c091dDohMCxrZXlwcmVzczohMH0sQ2Q9e0RPTUF0dHJNb2RpZmllZDohMCxET01BdHRyaWJ1dGVOYW1lQ2hhbmdlZDohMCxET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQ6ITAsRE9NRWxlbWVudE5hbWVDaGFuZ2VkOiEwLERPTU5vZGVJbnNlcnRlZDohMCxET01Ob2RlSW5zZXJ0ZWRJbnRvRG9jdW1lbnQ6ITAsRE9NTm9kZVJlbW92ZWQ6ITAsRE9NTm9kZVJlbW92ZWRGcm9tRG9jdW1lbnQ6ITAsRE9NU3VidHJlZU1vZGlmaWVkOiEwfTtmdW5jdGlvbiBEZChhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIE5vZGU/YS5fX3NoYWR5X2dldFJvb3ROb2RlKCk6YX1cbmZ1bmN0aW9uIEVkKGEsYil7dmFyIGM9W10sZD1hO2ZvcihhPURkKGEpO2Q7KWMucHVzaChkKSxkPWQuX19zaGFkeV9hc3NpZ25lZFNsb3Q/ZC5fX3NoYWR5X2Fzc2lnbmVkU2xvdDpkLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFJiZkLmhvc3QmJihifHxkIT09YSk/ZC5ob3N0OmQuX19zaGFkeV9wYXJlbnROb2RlO2NbYy5sZW5ndGgtMV09PT1kb2N1bWVudCYmYy5wdXNoKHdpbmRvdyk7cmV0dXJuIGN9ZnVuY3Rpb24gRmQoYSl7YS5fX2NvbXBvc2VkUGF0aHx8KGEuX19jb21wb3NlZFBhdGg9RWQoYS50YXJnZXQsITApKTtyZXR1cm4gYS5fX2NvbXBvc2VkUGF0aH1mdW5jdGlvbiBHZChhLGIpe2lmKCFPKXJldHVybiBhO2E9RWQoYSwhMCk7Zm9yKHZhciBjPTAsZCxlPXZvaWQgMCxmLGc9dm9pZCAwO2M8Yi5sZW5ndGg7YysrKWlmKGQ9YltjXSxmPURkKGQpLGYhPT1lJiYoZz1hLmluZGV4T2YoZiksZT1mKSwhTyhmKXx8LTE8ZylyZXR1cm4gZH1cbmZ1bmN0aW9uIEhkKGEpe2Z1bmN0aW9uIGIoYyxkKXtjPW5ldyBhKGMsZCk7Yy5fX2NvbXBvc2VkPWQmJiEhZC5jb21wb3NlZDtyZXR1cm4gY31iLl9fcHJvdG9fXz1hO2IucHJvdG90eXBlPWEucHJvdG90eXBlO3JldHVybiBifXZhciBJZD17Zm9jdXM6ITAsYmx1cjohMH07ZnVuY3Rpb24gSmQoYSl7cmV0dXJuIGEuX190YXJnZXQhPT1hLnRhcmdldHx8YS5fX3JlbGF0ZWRUYXJnZXQhPT1hLnJlbGF0ZWRUYXJnZXR9ZnVuY3Rpb24gS2QoYSxiLGMpe2lmKGM9Yi5fX2hhbmRsZXJzJiZiLl9faGFuZGxlcnNbYS50eXBlXSYmYi5fX2hhbmRsZXJzW2EudHlwZV1bY10pZm9yKHZhciBkPTAsZTsoZT1jW2RdKSYmKCFKZChhKXx8YS50YXJnZXQhPT1hLnJlbGF0ZWRUYXJnZXQpJiYoZS5jYWxsKGIsYSksIWEuX19pbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQpO2QrKyk7fVxuZnVuY3Rpb24gTGQoYSl7dmFyIGI9YS5jb21wb3NlZFBhdGgoKSxjPWIubWFwKGZ1bmN0aW9uKGspe3JldHVybiBHZChrLGIpfSksZD1hLmJ1YmJsZXM7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsXCJjdXJyZW50VGFyZ2V0XCIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBnfX0pO3ZhciBlPUV2ZW50LkNBUFRVUklOR19QSEFTRTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcImV2ZW50UGhhc2VcIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV9fSk7Zm9yKHZhciBmPWIubGVuZ3RoLTE7MDw9ZjtmLS0pe3ZhciBnPWJbZl07ZT1nPT09Y1tmXT9FdmVudC5BVF9UQVJHRVQ6RXZlbnQuQ0FQVFVSSU5HX1BIQVNFO0tkKGEsZyxcImNhcHR1cmVcIik7aWYoYS5yYSlyZXR1cm59Zm9yKGY9MDtmPGIubGVuZ3RoO2YrKyl7Zz1iW2ZdO3ZhciBoPWc9PT1jW2ZdO2lmKGh8fGQpaWYoZT1oP0V2ZW50LkFUX1RBUkdFVDpcbkV2ZW50LkJVQkJMSU5HX1BIQVNFLEtkKGEsZyxcImJ1YmJsZVwiKSxhLnJhKXJldHVybn1lPTA7Zz1udWxsfWZ1bmN0aW9uIE1kKGEsYixjLGQsZSxmKXtmb3IodmFyIGc9MDtnPGEubGVuZ3RoO2crKyl7dmFyIGg9YVtnXSxrPWgudHlwZSxsPWguY2FwdHVyZSxtPWgub25jZSxxPWgucGFzc2l2ZTtpZihiPT09aC5ub2RlJiZjPT09ayYmZD09PWwmJmU9PT1tJiZmPT09cSlyZXR1cm4gZ31yZXR1cm4tMX1mdW5jdGlvbiBOZChhKXtTYygpO3JldHVybiFOLmZhJiZ0aGlzIGluc3RhbmNlb2YgTm9kZSYmIUVjKGRvY3VtZW50LHRoaXMpPyhhLl9fdGFyZ2V0fHxPZChhLHRoaXMpLExkKGEpKTp0aGlzLl9fc2hhZHlfbmF0aXZlX2Rpc3BhdGNoRXZlbnQoYSl9XG5mdW5jdGlvbiBQZChhLGIsYyl7dmFyIGQ9QWQoYyksZT1kLmNhcHR1cmUsZj1kLm9uY2UsZz1kLnBhc3NpdmUsaD1kLkxhO2Q9ZC5KYTtpZihiKXt2YXIgaz10eXBlb2YgYjtpZihcImZ1bmN0aW9uXCI9PT1rfHxcIm9iamVjdFwiPT09aylpZihcIm9iamVjdFwiIT09a3x8Yi5oYW5kbGVFdmVudCYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGIuaGFuZGxlRXZlbnQpe2lmKENkW2FdKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX2FkZEV2ZW50TGlzdGVuZXIoYSxiLGQpO3ZhciBsPWh8fHRoaXM7aWYoaD1iW3hkXSl7aWYoLTE8TWQoaCxsLGEsZSxmLGcpKXJldHVybn1lbHNlIGJbeGRdPVtdO2g9ZnVuY3Rpb24obSl7ZiYmdGhpcy5fX3NoYWR5X3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpO20uX190YXJnZXR8fE9kKG0pO2lmKGwhPT10aGlzKXt2YXIgcT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG0sXCJjdXJyZW50VGFyZ2V0XCIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShtLFwiY3VycmVudFRhcmdldFwiLFxue2dldDpmdW5jdGlvbigpe3JldHVybiBsfSxjb25maWd1cmFibGU6ITB9KTt2YXIgSD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG0sXCJldmVudFBoYXNlXCIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShtLFwiZXZlbnRQaGFzZVwiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZT9FdmVudC5DQVBUVVJJTkdfUEhBU0U6RXZlbnQuQlVCQkxJTkdfUEhBU0V9fSl9bS5fX3ByZXZpb3VzQ3VycmVudFRhcmdldD1tLmN1cnJlbnRUYXJnZXQ7aWYoIU8obCkmJlwic2xvdFwiIT09bC5sb2NhbE5hbWV8fC0xIT1tLmNvbXBvc2VkUGF0aCgpLmluZGV4T2YobCkpaWYobS5jb21wb3NlZHx8LTE8bS5jb21wb3NlZFBhdGgoKS5pbmRleE9mKGwpKWlmKEpkKG0pJiZtLnRhcmdldD09PW0ucmVsYXRlZFRhcmdldCltLmV2ZW50UGhhc2U9PT1FdmVudC5CVUJCTElOR19QSEFTRSYmbS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtlbHNlIGlmKG0uZXZlbnRQaGFzZT09PVxuRXZlbnQuQ0FQVFVSSU5HX1BIQVNFfHxtLmJ1YmJsZXN8fG0udGFyZ2V0PT09bHx8bCBpbnN0YW5jZW9mIFdpbmRvdyl7dmFyIEM9XCJmdW5jdGlvblwiPT09az9iLmNhbGwobCxtKTpiLmhhbmRsZUV2ZW50JiZiLmhhbmRsZUV2ZW50KG0pO2whPT10aGlzJiYocT8oT2JqZWN0LmRlZmluZVByb3BlcnR5KG0sXCJjdXJyZW50VGFyZ2V0XCIscSkscT1udWxsKTpkZWxldGUgbS5jdXJyZW50VGFyZ2V0LEg/KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLFwiZXZlbnRQaGFzZVwiLEgpLEg9bnVsbCk6ZGVsZXRlIG0uZXZlbnRQaGFzZSk7cmV0dXJuIEN9fTtiW3hkXS5wdXNoKHtub2RlOmwsdHlwZTphLGNhcHR1cmU6ZSxvbmNlOmYscGFzc2l2ZTpnLHBiOmh9KTt0aGlzLl9faGFuZGxlcnM9dGhpcy5fX2hhbmRsZXJzfHx7fTt0aGlzLl9faGFuZGxlcnNbYV09dGhpcy5fX2hhbmRsZXJzW2FdfHx7Y2FwdHVyZTpbXSxidWJibGU6W119O3RoaXMuX19oYW5kbGVyc1thXVtlP1wiY2FwdHVyZVwiOlwiYnViYmxlXCJdLnB1c2goaCk7XG5JZFthXXx8dGhpcy5fX3NoYWR5X25hdGl2ZV9hZGRFdmVudExpc3RlbmVyKGEsaCxkKX19fVxuZnVuY3Rpb24gUWQoYSxiLGMpe2lmKGIpe3ZhciBkPUFkKGMpO2M9ZC5jYXB0dXJlO3ZhciBlPWQub25jZSxmPWQucGFzc2l2ZSxnPWQuTGE7ZD1kLkphO2lmKENkW2FdKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGQpO3ZhciBoPWd8fHRoaXM7Zz12b2lkIDA7dmFyIGs9bnVsbDt0cnl7az1iW3hkXX1jYXRjaChsKXt9ayYmKGU9TWQoayxoLGEsYyxlLGYpLC0xPGUmJihnPWsuc3BsaWNlKGUsMSlbMF0ucGIsay5sZW5ndGh8fChiW3hkXT12b2lkIDApKSk7dGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVFdmVudExpc3RlbmVyKGEsZ3x8YixkKTtnJiZ0aGlzLl9faGFuZGxlcnMmJnRoaXMuX19oYW5kbGVyc1thXSYmKGE9dGhpcy5fX2hhbmRsZXJzW2FdW2M/XCJjYXB0dXJlXCI6XCJidWJibGVcIl0sYj1hLmluZGV4T2YoZyksLTE8YiYmYS5zcGxpY2UoYiwxKSl9fVxuZnVuY3Rpb24gUmQoKXtmb3IodmFyIGEgaW4gSWQpd2luZG93Ll9fc2hhZHlfbmF0aXZlX2FkZEV2ZW50TGlzdGVuZXIoYSxmdW5jdGlvbihiKXtiLl9fdGFyZ2V0fHwoT2QoYiksTGQoYikpfSwhMCl9XG52YXIgU2Q9USh7Z2V0IGNvbXBvc2VkKCl7dm9pZCAwPT09dGhpcy5fX2NvbXBvc2VkJiYoeWQ/dGhpcy5fX2NvbXBvc2VkPVwiZm9jdXNpblwiPT09dGhpcy50eXBlfHxcImZvY3Vzb3V0XCI9PT10aGlzLnR5cGV8fHlkKHRoaXMpOiExIT09dGhpcy5pc1RydXN0ZWQmJih0aGlzLl9fY29tcG9zZWQ9QmRbdGhpcy50eXBlXSkpO3JldHVybiB0aGlzLl9fY29tcG9zZWR8fCExfSxjb21wb3NlZFBhdGg6ZnVuY3Rpb24oKXt0aGlzLl9fY29tcG9zZWRQYXRofHwodGhpcy5fX2NvbXBvc2VkUGF0aD1FZCh0aGlzLl9fdGFyZ2V0LHRoaXMuY29tcG9zZWQpKTtyZXR1cm4gdGhpcy5fX2NvbXBvc2VkUGF0aH0sZ2V0IHRhcmdldCgpe3JldHVybiBHZCh0aGlzLmN1cnJlbnRUYXJnZXR8fHRoaXMuX19wcmV2aW91c0N1cnJlbnRUYXJnZXQsdGhpcy5jb21wb3NlZFBhdGgoKSl9LGdldCByZWxhdGVkVGFyZ2V0KCl7aWYoIXRoaXMuX19yZWxhdGVkVGFyZ2V0KXJldHVybiBudWxsO3RoaXMuX19yZWxhdGVkVGFyZ2V0Q29tcG9zZWRQYXRofHxcbih0aGlzLl9fcmVsYXRlZFRhcmdldENvbXBvc2VkUGF0aD1FZCh0aGlzLl9fcmVsYXRlZFRhcmdldCwhMCkpO3JldHVybiBHZCh0aGlzLmN1cnJlbnRUYXJnZXR8fHRoaXMuX19wcmV2aW91c0N1cnJlbnRUYXJnZXQsdGhpcy5fX3JlbGF0ZWRUYXJnZXRDb21wb3NlZFBhdGgpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXtFdmVudC5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5yYT0hMH0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7RXZlbnQucHJvdG90eXBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMucmE9dGhpcy5fX2ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD0hMH19KTtcbmZ1bmN0aW9uIE9kKGEsYil7Yj12b2lkIDA9PT1iP2EudGFyZ2V0OmI7YS5fX3RhcmdldD1iO2EuX19yZWxhdGVkVGFyZ2V0PWEucmVsYXRlZFRhcmdldDtpZihOLkgpe2I9T2JqZWN0LmdldFByb3RvdHlwZU9mKGEpO2lmKCFiLmhhc093blByb3BlcnR5KFwiX19zaGFkeV9wYXRjaGVkUHJvdG9cIikpe3ZhciBjPU9iamVjdC5jcmVhdGUoYik7Yy5fX3NoYWR5X3NvdXJjZVByb3RvPWI7UChjLFNkKTtiLl9fc2hhZHlfcGF0Y2hlZFByb3RvPWN9YS5fX3Byb3RvX189Yi5fX3NoYWR5X3BhdGNoZWRQcm90b31lbHNlIFAoYSxTZCl9dmFyIFRkPUhkKEV2ZW50KSxVZD1IZChDdXN0b21FdmVudCksVmQ9SGQoTW91c2VFdmVudCk7XG5mdW5jdGlvbiBXZCgpe2lmKCF5ZCYmT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFdmVudC5wcm90b3R5cGUsXCJpc1RydXN0ZWRcIikpe3ZhciBhPWZ1bmN0aW9uKCl7dmFyIGI9bmV3IE1vdXNlRXZlbnQoXCJjbGlja1wiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsY29tcG9zZWQ6ITB9KTt0aGlzLl9fc2hhZHlfZGlzcGF0Y2hFdmVudChiKX07RWxlbWVudC5wcm90b3R5cGUuY2xpY2s/RWxlbWVudC5wcm90b3R5cGUuY2xpY2s9YTpIVE1MRWxlbWVudC5wcm90b3R5cGUuY2xpY2smJihIVE1MRWxlbWVudC5wcm90b3R5cGUuY2xpY2s9YSl9fVxudmFyIFhkPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKEVsZW1lbnQucHJvdG90eXBlKS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuXCJvblwiPT09YS5zdWJzdHJpbmcoMCwyKX0pLFlkPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKEhUTUxFbGVtZW50LnByb3RvdHlwZSkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVyblwib25cIj09PWEuc3Vic3RyaW5nKDAsMil9KTtmdW5jdGlvbiBaZChhKXtyZXR1cm57c2V0OmZ1bmN0aW9uKGIpe3ZhciBjPUQodGhpcyksZD1hLnN1YnN0cmluZygyKTtjLlR8fChjLlQ9e30pO2MuVFthXSYmdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGQsYy5UW2FdKTt0aGlzLl9fc2hhZHlfYWRkRXZlbnRMaXN0ZW5lcihkLGIpO2MuVFthXT1ifSxnZXQ6ZnVuY3Rpb24oKXt2YXIgYj1MKHRoaXMpO3JldHVybiBiJiZiLlQmJmIuVFthXX0sY29uZmlndXJhYmxlOiEwfX07ZnVuY3Rpb24gJGQoYSxiKXtyZXR1cm57aW5kZXg6YSxnYTpbXSxuYTpifX1cbmZ1bmN0aW9uIGFlKGEsYixjLGQpe3ZhciBlPTAsZj0wLGc9MCxoPTAsaz1NYXRoLm1pbihiLWUsZC1mKTtpZigwPT1lJiYwPT1mKWE6e2ZvcihnPTA7ZzxrO2crKylpZihhW2ddIT09Y1tnXSlicmVhayBhO2c9a31pZihiPT1hLmxlbmd0aCYmZD09Yy5sZW5ndGgpe2g9YS5sZW5ndGg7Zm9yKHZhciBsPWMubGVuZ3RoLG09MDttPGstZyYmYmUoYVstLWhdLGNbLS1sXSk7KW0rKztoPW19ZSs9ZztmKz1nO2ItPWg7ZC09aDtpZigwPT1iLWUmJjA9PWQtZilyZXR1cm5bXTtpZihlPT1iKXtmb3IoYj0kZChlLDApO2Y8ZDspYi5nYS5wdXNoKGNbZisrXSk7cmV0dXJuW2JdfWlmKGY9PWQpcmV0dXJuWyRkKGUsYi1lKV07az1lO2c9ZjtkPWQtZysxO2g9Yi1rKzE7Yj1BcnJheShkKTtmb3IobD0wO2w8ZDtsKyspYltsXT1BcnJheShoKSxiW2xdWzBdPWw7Zm9yKGw9MDtsPGg7bCsrKWJbMF1bbF09bDtmb3IobD0xO2w8ZDtsKyspZm9yKG09MTttPGg7bSsrKWlmKGFbayttLTFdPT09Y1tnK2wtMV0pYltsXVttXT1cbmJbbC0xXVttLTFdO2Vsc2V7dmFyIHE9YltsLTFdW21dKzEsSD1iW2xdW20tMV0rMTtiW2xdW21dPXE8SD9xOkh9az1iLmxlbmd0aC0xO2c9YlswXS5sZW5ndGgtMTtkPWJba11bZ107Zm9yKGE9W107MDxrfHwwPGc7KTA9PWs/KGEucHVzaCgyKSxnLS0pOjA9PWc/KGEucHVzaCgzKSxrLS0pOihoPWJbay0xXVtnLTFdLGw9YltrLTFdW2ddLG09YltrXVtnLTFdLHE9bDxtP2w8aD9sOmg6bTxoP206aCxxPT1oPyhoPT1kP2EucHVzaCgwKTooYS5wdXNoKDEpLGQ9aCksay0tLGctLSk6cT09bD8oYS5wdXNoKDMpLGstLSxkPWwpOihhLnB1c2goMiksZy0tLGQ9bSkpO2EucmV2ZXJzZSgpO2I9dm9pZCAwO2s9W107Zm9yKGc9MDtnPGEubGVuZ3RoO2crKylzd2l0Y2goYVtnXSl7Y2FzZSAwOmImJihrLnB1c2goYiksYj12b2lkIDApO2UrKztmKys7YnJlYWs7Y2FzZSAxOmJ8fChiPSRkKGUsMCkpO2IubmErKztlKys7Yi5nYS5wdXNoKGNbZl0pO2YrKzticmVhaztjYXNlIDI6Ynx8KGI9JGQoZSxcbjApKTtiLm5hKys7ZSsrO2JyZWFrO2Nhc2UgMzpifHwoYj0kZChlLDApKSxiLmdhLnB1c2goY1tmXSksZisrfWImJmsucHVzaChiKTtyZXR1cm4ga31mdW5jdGlvbiBiZShhLGIpe3JldHVybiBhPT09Yn07dmFyIGNlPVEoe2Rpc3BhdGNoRXZlbnQ6TmQsYWRkRXZlbnRMaXN0ZW5lcjpQZCxyZW1vdmVFdmVudExpc3RlbmVyOlFkfSk7dmFyIGRlPW51bGw7ZnVuY3Rpb24gZWUoKXtkZXx8KGRlPXdpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLlNjb3BpbmdTaGltKTtyZXR1cm4gZGV8fG51bGx9ZnVuY3Rpb24gZmUoYSxiLGMpe3ZhciBkPWVlKCk7cmV0dXJuIGQmJlwiY2xhc3NcIj09PWI/KGQuc2V0RWxlbWVudENsYXNzKGEsYyksITApOiExfWZ1bmN0aW9uIGdlKGEsYil7dmFyIGM9ZWUoKTtjJiZjLnVuc2NvcGVOb2RlKGEsYil9ZnVuY3Rpb24gaGUoYSxiKXt2YXIgYz1lZSgpO2lmKCFjKXJldHVybiEwO2lmKGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpe2M9ITA7Zm9yKGE9YS5fX3NoYWR5X2ZpcnN0Q2hpbGQ7YTthPWEuX19zaGFkeV9uZXh0U2libGluZyljPWMmJmhlKGEsYik7cmV0dXJuIGN9cmV0dXJuIGEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERT8hMDpjLmN1cnJlbnRTY29wZUZvck5vZGUoYSk9PT1ifVxuZnVuY3Rpb24gaWUoYSl7aWYoYS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFKXJldHVyblwiXCI7dmFyIGI9ZWUoKTtyZXR1cm4gYj9iLmN1cnJlbnRTY29wZUZvck5vZGUoYSk6XCJcIn1mdW5jdGlvbiBqZShhLGIpe2lmKGEpZm9yKGEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmYihhKSxhPWEuX19zaGFkeV9maXJzdENoaWxkO2E7YT1hLl9fc2hhZHlfbmV4dFNpYmxpbmcpYS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZqZShhLGIpfTt2YXIga2U9d2luZG93LmRvY3VtZW50LGxlPU4uZmEsbWU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcImlzQ29ubmVjdGVkXCIpLG5lPW1lJiZtZS5nZXQ7ZnVuY3Rpb24gcGUoYSl7Zm9yKHZhciBiO2I9YS5fX3NoYWR5X2ZpcnN0Q2hpbGQ7KWEuX19zaGFkeV9yZW1vdmVDaGlsZChiKX1mdW5jdGlvbiBxZShhKXt2YXIgYj1MKGEpO2lmKGImJnZvaWQgMCE9PWIucWEpZm9yKGI9YS5fX3NoYWR5X2ZpcnN0Q2hpbGQ7YjtiPWIuX19zaGFkeV9uZXh0U2libGluZylxZShiKTtpZihhPUwoYSkpYS5xYT12b2lkIDB9ZnVuY3Rpb24gcmUoYSl7dmFyIGI9YTtpZihhJiZcInNsb3RcIj09PWEubG9jYWxOYW1lKXt2YXIgYz1MKGEpOyhjPWMmJmMuYWEpJiYoYj1jLmxlbmd0aD9jWzBdOnJlKGEuX19zaGFkeV9uZXh0U2libGluZykpfXJldHVybiBifVxuZnVuY3Rpb24gc2UoYSxiLGMpe2lmKGE9KGE9TChhKSkmJmEuZWEpe2lmKGIpaWYoYi5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSlmb3IodmFyIGQ9MCxlPWIuY2hpbGROb2Rlcy5sZW5ndGg7ZDxlO2QrKylhLmFkZGVkTm9kZXMucHVzaChiLmNoaWxkTm9kZXNbZF0pO2Vsc2UgYS5hZGRlZE5vZGVzLnB1c2goYik7YyYmYS5yZW1vdmVkTm9kZXMucHVzaChjKTtVYyhhKX19XG52YXIgemU9USh7Z2V0IHBhcmVudE5vZGUoKXt2YXIgYT1MKHRoaXMpO2E9YSYmYS5wYXJlbnROb2RlO3JldHVybiB2b2lkIDAhPT1hP2E6dGhpcy5fX3NoYWR5X25hdGl2ZV9wYXJlbnROb2RlfSxnZXQgZmlyc3RDaGlsZCgpe3ZhciBhPUwodGhpcyk7YT1hJiZhLmZpcnN0Q2hpbGQ7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGR9LGdldCBsYXN0Q2hpbGQoKXt2YXIgYT1MKHRoaXMpO2E9YSYmYS5sYXN0Q2hpbGQ7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX2xhc3RDaGlsZH0sZ2V0IG5leHRTaWJsaW5nKCl7dmFyIGE9TCh0aGlzKTthPWEmJmEubmV4dFNpYmxpbmc7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX25leHRTaWJsaW5nfSxnZXQgcHJldmlvdXNTaWJsaW5nKCl7dmFyIGE9TCh0aGlzKTthPWEmJmEucHJldmlvdXNTaWJsaW5nO3JldHVybiB2b2lkIDAhPT1hP2E6dGhpcy5fX3NoYWR5X25hdGl2ZV9wcmV2aW91c1NpYmxpbmd9LFxuZ2V0IGNoaWxkTm9kZXMoKXtpZih2Yyh0aGlzKSl7dmFyIGE9TCh0aGlzKTtpZighYS5jaGlsZE5vZGVzKXthLmNoaWxkTm9kZXM9W107Zm9yKHZhciBiPXRoaXMuX19zaGFkeV9maXJzdENoaWxkO2I7Yj1iLl9fc2hhZHlfbmV4dFNpYmxpbmcpYS5jaGlsZE5vZGVzLnB1c2goYil9dmFyIGM9YS5jaGlsZE5vZGVzfWVsc2UgYz10aGlzLl9fc2hhZHlfbmF0aXZlX2NoaWxkTm9kZXM7Yy5pdGVtPWZ1bmN0aW9uKGQpe3JldHVybiBjW2RdfTtyZXR1cm4gY30sZ2V0IHBhcmVudEVsZW1lbnQoKXt2YXIgYT1MKHRoaXMpOyhhPWEmJmEucGFyZW50Tm9kZSkmJmEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERSYmKGE9bnVsbCk7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX3BhcmVudEVsZW1lbnR9LGdldCBpc0Nvbm5lY3RlZCgpe2lmKG5lJiZuZS5jYWxsKHRoaXMpKXJldHVybiEwO2lmKHRoaXMubm9kZVR5cGU9PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSlyZXR1cm4hMTtcbnZhciBhPXRoaXMub3duZXJEb2N1bWVudDtpZihudWxsPT09YXx8RWMoYSx0aGlzKSlyZXR1cm4hMDtmb3IoYT10aGlzO2EmJiEoYSBpbnN0YW5jZW9mIERvY3VtZW50KTspYT1hLl9fc2hhZHlfcGFyZW50Tm9kZXx8KE8oYSk/YS5ob3N0OnZvaWQgMCk7cmV0dXJuISEoYSYmYSBpbnN0YW5jZW9mIERvY3VtZW50KX0sZ2V0IHRleHRDb250ZW50KCl7aWYodmModGhpcykpe2Zvcih2YXIgYT1bXSxiPXRoaXMuX19zaGFkeV9maXJzdENoaWxkO2I7Yj1iLl9fc2hhZHlfbmV4dFNpYmxpbmcpYi5ub2RlVHlwZSE9PU5vZGUuQ09NTUVOVF9OT0RFJiZhLnB1c2goYi5fX3NoYWR5X3RleHRDb250ZW50KTtyZXR1cm4gYS5qb2luKFwiXCIpfXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3RleHRDb250ZW50fSxzZXQgdGV4dENvbnRlbnQoYSl7aWYoXCJ1bmRlZmluZWRcIj09PXR5cGVvZiBhfHxudWxsPT09YSlhPVwiXCI7c3dpdGNoKHRoaXMubm9kZVR5cGUpe2Nhc2UgTm9kZS5FTEVNRU5UX05PREU6Y2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6aWYoIXZjKHRoaXMpJiZcbk4uSCl7dmFyIGI9dGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGQ7KGIhPXRoaXMuX19zaGFkeV9sYXN0Q2hpbGR8fGImJmIubm9kZVR5cGUhPU5vZGUuVEVYVF9OT0RFKSYmcGUodGhpcyk7dGhpcy5fX3NoYWR5X25hdGl2ZV90ZXh0Q29udGVudD1hfWVsc2UgcGUodGhpcyksKDA8YS5sZW5ndGh8fHRoaXMubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSkmJnRoaXMuX19zaGFkeV9pbnNlcnRCZWZvcmUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYSkpO2JyZWFrO2RlZmF1bHQ6dGhpcy5ub2RlVmFsdWU9YX19LGluc2VydEJlZm9yZTpmdW5jdGlvbihhLGIpe2lmKHRoaXMub3duZXJEb2N1bWVudCE9PWtlJiZhLm93bmVyRG9jdW1lbnQhPT1rZSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9pbnNlcnRCZWZvcmUoYSxiKSxhO2lmKGE9PT10aGlzKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGV4ZWN1dGUgJ2FwcGVuZENoaWxkJyBvbiAnTm9kZSc6IFRoZSBuZXcgY2hpbGQgZWxlbWVudCBjb250YWlucyB0aGUgcGFyZW50LlwiKTtcbmlmKGIpe3ZhciBjPUwoYik7Yz1jJiZjLnBhcmVudE5vZGU7aWYodm9pZCAwIT09YyYmYyE9PXRoaXN8fHZvaWQgMD09PWMmJmIuX19zaGFkeV9uYXRpdmVfcGFyZW50Tm9kZSE9PXRoaXMpdGhyb3cgRXJyb3IoXCJGYWlsZWQgdG8gZXhlY3V0ZSAnaW5zZXJ0QmVmb3JlJyBvbiAnTm9kZSc6IFRoZSBub2RlIGJlZm9yZSB3aGljaCB0aGUgbmV3IG5vZGUgaXMgdG8gYmUgaW5zZXJ0ZWQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBub2RlLlwiKTt9aWYoYj09PWEpcmV0dXJuIGE7c2UodGhpcyxhKTt2YXIgZD1bXSxlPShjPXRlKHRoaXMpKT9jLmhvc3QubG9jYWxOYW1lOmllKHRoaXMpLGY9YS5fX3NoYWR5X3BhcmVudE5vZGU7aWYoZil7dmFyIGc9aWUoYSk7dmFyIGg9ISFjfHwhdGUoYSl8fGxlJiZ2b2lkIDAhPT10aGlzLl9fbm9JbnNlcnRpb25Qb2ludDtmLl9fc2hhZHlfcmVtb3ZlQ2hpbGQoYSxoKX1mPSEwO3ZhciBrPSghbGV8fHZvaWQgMD09PWEuX19ub0luc2VydGlvblBvaW50JiZ2b2lkIDA9PT1cbnRoaXMuX19ub0luc2VydGlvblBvaW50KSYmIWhlKGEsZSksbD1jJiYhYS5fX25vSW5zZXJ0aW9uUG9pbnQmJighbGV8fGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpO2lmKGx8fGspayYmKGc9Z3x8aWUoYSkpLGplKGEsZnVuY3Rpb24obSl7bCYmXCJzbG90XCI9PT1tLmxvY2FsTmFtZSYmZC5wdXNoKG0pO2lmKGspe3ZhciBxPWc7ZWUoKSYmKHEmJmdlKG0scSksKHE9ZWUoKSkmJnEuc2NvcGVOb2RlKG0sZSkpfX0pO2QubGVuZ3RoJiYodWUoYyksYy5pLnB1c2guYXBwbHkoYy5pLHgoZCkpLHZlKGMpKTt2Yyh0aGlzKSYmKHdlKGEsdGhpcyxiKSxoPUwodGhpcyksaC5yb290PyhmPSExLHdjKHRoaXMpJiZ2ZShoLnJvb3QpKTpjJiZcInNsb3RcIj09PXRoaXMubG9jYWxOYW1lJiYoZj0hMSx2ZShjKSkpO2Y/KGM9Tyh0aGlzKT90aGlzLmhvc3Q6dGhpcyxiPyhiPXJlKGIpLGMuX19zaGFkeV9uYXRpdmVfaW5zZXJ0QmVmb3JlKGEsYikpOmMuX19zaGFkeV9uYXRpdmVfYXBwZW5kQ2hpbGQoYSkpOlxuYS5vd25lckRvY3VtZW50IT09dGhpcy5vd25lckRvY3VtZW50JiZ0aGlzLm93bmVyRG9jdW1lbnQuYWRvcHROb2RlKGEpO3JldHVybiBhfSxhcHBlbmRDaGlsZDpmdW5jdGlvbihhKXtpZih0aGlzIT1hfHwhTyhhKSlyZXR1cm4gdGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShhKX0scmVtb3ZlQ2hpbGQ6ZnVuY3Rpb24oYSxiKXtiPXZvaWQgMD09PWI/ITE6YjtpZih0aGlzLm93bmVyRG9jdW1lbnQhPT1rZSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChhKTtpZihhLl9fc2hhZHlfcGFyZW50Tm9kZSE9PXRoaXMpdGhyb3cgRXJyb3IoXCJUaGUgbm9kZSB0byBiZSByZW1vdmVkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgbm9kZTogXCIrYSk7c2UodGhpcyxudWxsLGEpO3ZhciBjPXRlKGEpLGQ9YyYmeGUoYyxhKSxlPUwodGhpcyk7aWYodmModGhpcykmJih5ZShhLHRoaXMpLHdjKHRoaXMpKSl7dmUoZS5yb290KTt2YXIgZj0hMH1pZihlZSgpJiYhYiYmYyYmYS5ub2RlVHlwZSE9PVxuTm9kZS5URVhUX05PREUpe3ZhciBnPWllKGEpO2plKGEsZnVuY3Rpb24oaCl7Z2UoaCxnKX0pfXFlKGEpO2MmJigoYj1cInNsb3RcIj09PXRoaXMubG9jYWxOYW1lKSYmKGY9ITApLChkfHxiKSYmdmUoYykpO2Z8fChmPU8odGhpcyk/dGhpcy5ob3N0OnRoaXMsKCFlLnJvb3QmJlwic2xvdFwiIT09YS5sb2NhbE5hbWV8fGY9PT1hLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGUpJiZmLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUNoaWxkKGEpKTtyZXR1cm4gYX0scmVwbGFjZUNoaWxkOmZ1bmN0aW9uKGEsYil7dGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShhLGIpO3RoaXMuX19zaGFkeV9yZW1vdmVDaGlsZChiKTtyZXR1cm4gYX0sY2xvbmVOb2RlOmZ1bmN0aW9uKGEpe2lmKFwidGVtcGxhdGVcIj09dGhpcy5sb2NhbE5hbWUpcmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfY2xvbmVOb2RlKGEpO3ZhciBiPXRoaXMuX19zaGFkeV9uYXRpdmVfY2xvbmVOb2RlKCExKTtpZihhJiZiLm5vZGVUeXBlIT09XG5Ob2RlLkFUVFJJQlVURV9OT0RFKXthPXRoaXMuX19zaGFkeV9maXJzdENoaWxkO2Zvcih2YXIgYzthO2E9YS5fX3NoYWR5X25leHRTaWJsaW5nKWM9YS5fX3NoYWR5X2Nsb25lTm9kZSghMCksYi5fX3NoYWR5X2FwcGVuZENoaWxkKGMpfXJldHVybiBifSxnZXRSb290Tm9kZTpmdW5jdGlvbihhKXtpZih0aGlzJiZ0aGlzLm5vZGVUeXBlKXt2YXIgYj1EKHRoaXMpLGM9Yi5xYTt2b2lkIDA9PT1jJiYoTyh0aGlzKT8oYz10aGlzLGIucWE9Yyk6KGM9KGM9dGhpcy5fX3NoYWR5X3BhcmVudE5vZGUpP2MuX19zaGFkeV9nZXRSb290Tm9kZShhKTp0aGlzLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5fX3NoYWR5X25hdGl2ZV9jb250YWlucyh0aGlzKSYmKGIucWE9YykpKTtyZXR1cm4gY319LGNvbnRhaW5zOmZ1bmN0aW9uKGEpe3JldHVybiBHYyh0aGlzLGEpfX0pO3ZhciBCZT1RKHtnZXQgYXNzaWduZWRTbG90KCl7dmFyIGE9dGhpcy5fX3NoYWR5X3BhcmVudE5vZGU7KGE9YSYmYS5fX3NoYWR5X3NoYWRvd1Jvb3QpJiZBZShhKTtyZXR1cm4oYT1MKHRoaXMpKSYmYS5hc3NpZ25lZFNsb3R8fG51bGx9fSk7ZnVuY3Rpb24gQ2UoYSxiLGMpe3ZhciBkPVtdO0RlKGEsYixjLGQpO3JldHVybiBkfWZ1bmN0aW9uIERlKGEsYixjLGQpe2ZvcihhPWEuX19zaGFkeV9maXJzdENoaWxkO2E7YT1hLl9fc2hhZHlfbmV4dFNpYmxpbmcpe3ZhciBlO2lmKGU9YS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXtlPWE7dmFyIGY9YixnPWMsaD1kLGs9ZihlKTtrJiZoLnB1c2goZSk7ZyYmZyhrKT9lPWs6KERlKGUsZixnLGgpLGU9dm9pZCAwKX1pZihlKWJyZWFrfX1cbnZhciBFZT17Z2V0IGZpcnN0RWxlbWVudENoaWxkKCl7dmFyIGE9TCh0aGlzKTtpZihhJiZ2b2lkIDAhPT1hLmZpcnN0Q2hpbGQpe2ZvcihhPXRoaXMuX19zaGFkeV9maXJzdENoaWxkO2EmJmEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERTspYT1hLl9fc2hhZHlfbmV4dFNpYmxpbmc7cmV0dXJuIGF9cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfZmlyc3RFbGVtZW50Q2hpbGR9LGdldCBsYXN0RWxlbWVudENoaWxkKCl7dmFyIGE9TCh0aGlzKTtpZihhJiZ2b2lkIDAhPT1hLmxhc3RDaGlsZCl7Zm9yKGE9dGhpcy5fX3NoYWR5X2xhc3RDaGlsZDthJiZhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREU7KWE9YS5fX3NoYWR5X3ByZXZpb3VzU2libGluZztyZXR1cm4gYX1yZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9sYXN0RWxlbWVudENoaWxkfSxnZXQgY2hpbGRyZW4oKXtyZXR1cm4gdmModGhpcyk/SGMoQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEpjKHRoaXMpLFxuZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERX0pKTp0aGlzLl9fc2hhZHlfbmF0aXZlX2NoaWxkcmVufSxnZXQgY2hpbGRFbGVtZW50Q291bnQoKXt2YXIgYT10aGlzLl9fc2hhZHlfY2hpbGRyZW47cmV0dXJuIGE/YS5sZW5ndGg6MH19LEZlPVEoKEVlLmFwcGVuZD1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1hcmd1bWVudHNbY107dGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShPYy5hcHBseShudWxsLHgoYikpLG51bGwpfSxFZS5wcmVwZW5kPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTA7Yzxhcmd1bWVudHMubGVuZ3RoOysrYyliW2NdPWFyZ3VtZW50c1tjXTt0aGlzLl9fc2hhZHlfaW5zZXJ0QmVmb3JlKE9jLmFwcGx5KG51bGwseChiKSksdGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGQpfSxFZS5yZXBsYWNlQ2hpbGRyZW49ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGFyZ3VtZW50cy5sZW5ndGg7KytjKWJbY109XG5hcmd1bWVudHNbY107Zm9yKDtudWxsIT09KGM9dGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGQpOyl0aGlzLl9fc2hhZHlfcmVtb3ZlQ2hpbGQoYyk7dGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShPYy5hcHBseShudWxsLHgoYikpLG51bGwpfSxFZSkpLEdlPVEoe3F1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24oYSl7cmV0dXJuIENlKHRoaXMsZnVuY3Rpb24oYil7cmV0dXJuIHpjLmNhbGwoYixhKX0sZnVuY3Rpb24oYil7cmV0dXJuISFifSlbMF18fG51bGx9LHF1ZXJ5U2VsZWN0b3JBbGw6ZnVuY3Rpb24oYSxiKXtpZihiKXtiPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuX19zaGFkeV9uYXRpdmVfcXVlcnlTZWxlY3RvckFsbChhKSk7dmFyIGM9dGhpcy5fX3NoYWR5X2dldFJvb3ROb2RlKCk7cmV0dXJuIEhjKGIuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBkLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKT09Y30pKX1yZXR1cm4gSGMoQ2UodGhpcyxmdW5jdGlvbihkKXtyZXR1cm4gemMuY2FsbChkLFxuYSl9KSl9fSksSGU9Ti5mYSYmIU4uSj9NYyh7fSxGZSk6RmU7TWMoRmUsR2UpO3ZhciBJZT1RKHthZnRlcjpmdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1hcmd1bWVudHNbY107Yz10aGlzLl9fc2hhZHlfcGFyZW50Tm9kZTtpZihudWxsIT09Yyl7dmFyIGQ9dGhpcy5fX3NoYWR5X25leHRTaWJsaW5nO2MuX19zaGFkeV9pbnNlcnRCZWZvcmUoT2MuYXBwbHkobnVsbCx4KGIpKSxkKX19LGJlZm9yZTpmdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1hcmd1bWVudHNbY107Yz10aGlzLl9fc2hhZHlfcGFyZW50Tm9kZTtudWxsIT09YyYmYy5fX3NoYWR5X2luc2VydEJlZm9yZShPYy5hcHBseShudWxsLHgoYikpLHRoaXMpfSxyZW1vdmU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl9fc2hhZHlfcGFyZW50Tm9kZTtudWxsIT09YSYmYS5fX3NoYWR5X3JlbW92ZUNoaWxkKHRoaXMpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1cbmFyZ3VtZW50c1tjXTtjPXRoaXMuX19zaGFkeV9wYXJlbnROb2RlO2lmKG51bGwhPT1jKXt2YXIgZD10aGlzLl9fc2hhZHlfbmV4dFNpYmxpbmc7Yy5fX3NoYWR5X3JlbW92ZUNoaWxkKHRoaXMpO2MuX19zaGFkeV9pbnNlcnRCZWZvcmUoT2MuYXBwbHkobnVsbCx4KGIpKSxkKX19fSk7dmFyIEplPXdpbmRvdy5kb2N1bWVudDtmdW5jdGlvbiBLZShhLGIpe2lmKFwic2xvdFwiPT09YilhPWEuX19zaGFkeV9wYXJlbnROb2RlLHdjKGEpJiZ2ZShMKGEpLnJvb3QpO2Vsc2UgaWYoXCJzbG90XCI9PT1hLmxvY2FsTmFtZSYmXCJuYW1lXCI9PT1iJiYoYj10ZShhKSkpe2lmKGIuZyl7TGUoYik7dmFyIGM9YS5RYSxkPU1lKGEpO2lmKGQhPT1jKXtjPWIuaFtjXTt2YXIgZT1jLmluZGV4T2YoYSk7MDw9ZSYmYy5zcGxpY2UoZSwxKTtjPWIuaFtkXXx8KGIuaFtkXT1bXSk7Yy5wdXNoKGEpOzE8Yy5sZW5ndGgmJihiLmhbZF09TmUoYykpfX12ZShiKX19XG52YXIgT2U9USh7Z2V0IHByZXZpb3VzRWxlbWVudFNpYmxpbmcoKXt2YXIgYT1MKHRoaXMpO2lmKGEmJnZvaWQgMCE9PWEucHJldmlvdXNTaWJsaW5nKXtmb3IoYT10aGlzLl9fc2hhZHlfcHJldmlvdXNTaWJsaW5nO2EmJmEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERTspYT1hLl9fc2hhZHlfcHJldmlvdXNTaWJsaW5nO3JldHVybiBhfXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3ByZXZpb3VzRWxlbWVudFNpYmxpbmd9LGdldCBuZXh0RWxlbWVudFNpYmxpbmcoKXt2YXIgYT1MKHRoaXMpO2lmKGEmJnZvaWQgMCE9PWEubmV4dFNpYmxpbmcpe2ZvcihhPXRoaXMuX19zaGFkeV9uZXh0U2libGluZzthJiZhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREU7KWE9YS5fX3NoYWR5X25leHRTaWJsaW5nO3JldHVybiBhfXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX25leHRFbGVtZW50U2libGluZ30sZ2V0IHNsb3QoKXtyZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoXCJzbG90XCIpfSxcbnNldCBzbG90KGEpe3RoaXMuX19zaGFkeV9zZXRBdHRyaWJ1dGUoXCJzbG90XCIsYSl9LGdldCBjbGFzc05hbWUoKXtyZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIn0sc2V0IGNsYXNzTmFtZShhKXt0aGlzLl9fc2hhZHlfc2V0QXR0cmlidXRlKFwiY2xhc3NcIixhKX0sc2V0QXR0cmlidXRlOmZ1bmN0aW9uKGEsYil7dGhpcy5vd25lckRvY3VtZW50IT09SmU/dGhpcy5fX3NoYWR5X25hdGl2ZV9zZXRBdHRyaWJ1dGUoYSxiKTpmZSh0aGlzLGEsYil8fCh0aGlzLl9fc2hhZHlfbmF0aXZlX3NldEF0dHJpYnV0ZShhLGIpLEtlKHRoaXMsYSkpfSxyZW1vdmVBdHRyaWJ1dGU6ZnVuY3Rpb24oYSl7dGhpcy5vd25lckRvY3VtZW50IT09SmU/dGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVBdHRyaWJ1dGUoYSk6ZmUodGhpcyxhLFwiXCIpP1wiXCI9PT10aGlzLmdldEF0dHJpYnV0ZShhKSYmdGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVBdHRyaWJ1dGUoYSk6KHRoaXMuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQXR0cmlidXRlKGEpLFxuS2UodGhpcyxhKSl9fSk7Ti5mYXx8WGQuZm9yRWFjaChmdW5jdGlvbihhKXtPZVthXT1aZChhKX0pO1xudmFyIFRlPVEoe2F0dGFjaFNoYWRvdzpmdW5jdGlvbihhKXtpZighdGhpcyl0aHJvdyBFcnJvcihcIk11c3QgcHJvdmlkZSBhIGhvc3QuXCIpO2lmKCFhKXRocm93IEVycm9yKFwiTm90IGVub3VnaCBhcmd1bWVudHMuXCIpO2lmKGEuc2hhZHlVcGdyYWRlRnJhZ21lbnQmJiFOLk5hKXt2YXIgYj1hLnNoYWR5VXBncmFkZUZyYWdtZW50O2IuX19wcm90b19fPVNoYWRvd1Jvb3QucHJvdG90eXBlO1BlKGIsdGhpcyxhKTtRZShiLGIpO2E9Yi5fX25vSW5zZXJ0aW9uUG9pbnQ/bnVsbDpiLnF1ZXJ5U2VsZWN0b3JBbGwoXCJzbG90XCIpO2IuX19ub0luc2VydGlvblBvaW50PXZvaWQgMDtpZihhJiZhLmxlbmd0aCl7dmFyIGM9Yjt1ZShjKTtjLmkucHVzaC5hcHBseShjLmkseChhKSk7dmUoYil9Yi5ob3N0Ll9fc2hhZHlfbmF0aXZlX2FwcGVuZENoaWxkKGIpfWVsc2UgYj1uZXcgUmUoU2UsdGhpcyxhKTtyZXR1cm4gdGhpcy5fX0NFX3NoYWRvd1Jvb3Q9Yn0sZ2V0IHNoYWRvd1Jvb3QoKXt2YXIgYT1MKHRoaXMpO1xucmV0dXJuIGEmJmEuZ2J8fG51bGx9fSk7TWMoT2UsVGUpO3ZhciBVZT1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoXCJpbmVydFwiKSxWZT1RKHtnZXQgaW5uZXJIVE1MKCl7cmV0dXJuIHZjKHRoaXMpP2RkKFwidGVtcGxhdGVcIj09PXRoaXMubG9jYWxOYW1lP3RoaXMuY29udGVudDp0aGlzLEpjKTp0aGlzLl9fc2hhZHlfbmF0aXZlX2lubmVySFRNTH0sc2V0IGlubmVySFRNTChhKXtpZihcInRlbXBsYXRlXCI9PT10aGlzLmxvY2FsTmFtZSl0aGlzLl9fc2hhZHlfbmF0aXZlX2lubmVySFRNTD1hO2Vsc2V7cGUodGhpcyk7dmFyIGI9dGhpcy5sb2NhbE5hbWV8fFwiZGl2XCI7Yj10aGlzLm5hbWVzcGFjZVVSSSYmdGhpcy5uYW1lc3BhY2VVUkkhPT1VZS5uYW1lc3BhY2VVUkk/VWUuY3JlYXRlRWxlbWVudE5TKHRoaXMubmFtZXNwYWNlVVJJLGIpOlVlLmNyZWF0ZUVsZW1lbnQoYik7Zm9yKE4uSD9iLl9fc2hhZHlfbmF0aXZlX2lubmVySFRNTD1hOmIuaW5uZXJIVE1MPWE7YT1iLl9fc2hhZHlfZmlyc3RDaGlsZDspdGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShhKX19fSk7dmFyIFdlPVEoe2JsdXI6ZnVuY3Rpb24oKXt2YXIgYT1MKHRoaXMpOyhhPShhPWEmJmEucm9vdCkmJmEuYWN0aXZlRWxlbWVudCk/YS5fX3NoYWR5X2JsdXIoKTp0aGlzLl9fc2hhZHlfbmF0aXZlX2JsdXIoKX19KTtOLmZhfHxZZC5mb3JFYWNoKGZ1bmN0aW9uKGEpe1dlW2FdPVpkKGEpfSk7dmFyIFhlPVEoe2Fzc2lnbmVkTm9kZXM6ZnVuY3Rpb24oYSl7aWYoXCJzbG90XCI9PT10aGlzLmxvY2FsTmFtZSl7dmFyIGI9dGhpcy5fX3NoYWR5X2dldFJvb3ROb2RlKCk7YiYmTyhiKSYmQWUoYik7cmV0dXJuKGI9TCh0aGlzKSk/KGEmJmEuZmxhdHRlbj9iLmFhOmIuYXNzaWduZWROb2Rlcyl8fFtdOltdfX0sYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLGIsYyl7aWYoXCJzbG90XCIhPT10aGlzLmxvY2FsTmFtZXx8XCJzbG90Y2hhbmdlXCI9PT1hKVBkLmNhbGwodGhpcyxhLGIsYyk7ZWxzZXtcIm9iamVjdFwiIT09dHlwZW9mIGMmJihjPXtjYXB0dXJlOiEhY30pO3ZhciBkPXRoaXMuX19zaGFkeV9wYXJlbnROb2RlO2lmKCFkKXRocm93IEVycm9yKFwiU2hhZHlET00gY2Fubm90IGF0dGFjaCBldmVudCB0byBzbG90IHVubGVzcyBpdCBoYXMgYSBgcGFyZW50Tm9kZWBcIik7Yy5VPXRoaXM7ZC5fX3NoYWR5X2FkZEV2ZW50TGlzdGVuZXIoYSxiLGMpfX0scmVtb3ZlRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLFxuYixjKXtpZihcInNsb3RcIiE9PXRoaXMubG9jYWxOYW1lfHxcInNsb3RjaGFuZ2VcIj09PWEpUWQuY2FsbCh0aGlzLGEsYixjKTtlbHNle1wib2JqZWN0XCIhPT10eXBlb2YgYyYmKGM9e2NhcHR1cmU6ISFjfSk7dmFyIGQ9dGhpcy5fX3NoYWR5X3BhcmVudE5vZGU7aWYoIWQpdGhyb3cgRXJyb3IoXCJTaGFkeURPTSBjYW5ub3QgYXR0YWNoIGV2ZW50IHRvIHNsb3QgdW5sZXNzIGl0IGhhcyBhIGBwYXJlbnROb2RlYFwiKTtjLlU9dGhpcztkLl9fc2hhZHlfcmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGIsYyl9fX0pO3ZhciBZZT1RKHtnZXRFbGVtZW50QnlJZDpmdW5jdGlvbihhKXtyZXR1cm5cIlwiPT09YT9udWxsOkNlKHRoaXMsZnVuY3Rpb24oYil7cmV0dXJuIGIuaWQ9PWF9LGZ1bmN0aW9uKGIpe3JldHVybiEhYn0pWzBdfHxudWxsfX0pO2Z1bmN0aW9uIFplKGEsYil7Zm9yKHZhciBjO2ImJiFhLmhhcyhjPWIuX19zaGFkeV9nZXRSb290Tm9kZSgpKTspYj1jLmhvc3Q7cmV0dXJuIGJ9ZnVuY3Rpb24gJGUoYSl7dmFyIGI9bmV3IFNldDtmb3IoYi5hZGQoYSk7TyhhKSYmYS5ob3N0OylhPWEuaG9zdC5fX3NoYWR5X2dldFJvb3ROb2RlKCksYi5hZGQoYSk7cmV0dXJuIGJ9XG52YXIgYWY9XCJfX3NoYWR5X25hdGl2ZV9cIit1YygpLGJmPVEoe2dldCBhY3RpdmVFbGVtZW50KCl7dmFyIGE9Ti5IP2RvY3VtZW50Ll9fc2hhZHlfbmF0aXZlX2FjdGl2ZUVsZW1lbnQ6ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtpZighYXx8IWEubm9kZVR5cGUpcmV0dXJuIG51bGw7dmFyIGI9ISFPKHRoaXMpO2lmKCEodGhpcz09PWRvY3VtZW50fHxiJiZ0aGlzLmhvc3QhPT1hJiZ0aGlzLmhvc3QuX19zaGFkeV9uYXRpdmVfY29udGFpbnMoYSkpKXJldHVybiBudWxsO2ZvcihiPXRlKGEpO2ImJmIhPT10aGlzOylhPWIuaG9zdCxiPXRlKGEpO3JldHVybiB0aGlzPT09ZG9jdW1lbnQ/Yj9udWxsOmE6Yj09PXRoaXM/YTpudWxsfSxlbGVtZW50c0Zyb21Qb2ludDpmdW5jdGlvbihhLGIpe2E9W10uc2xpY2UuY2FsbChkb2N1bWVudFthZl0oYSxiKSk7Yj0kZSh0aGlzKTtmb3IodmFyIGM9bmV3IFNldCxkPTA7ZDxhLmxlbmd0aDtkKyspYy5hZGQoWmUoYixhW2RdKSk7dmFyIGU9W107Yy5mb3JFYWNoKGZ1bmN0aW9uKGYpe3JldHVybiBlLnB1c2goZil9KTtcbnJldHVybiBlfSxlbGVtZW50RnJvbVBvaW50OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuX19zaGFkeV9lbGVtZW50c0Zyb21Qb2ludChhLGIpWzBdfHxudWxsfX0pO3ZhciBjZj13aW5kb3cuZG9jdW1lbnQsZGY9USh7aW1wb3J0Tm9kZTpmdW5jdGlvbihhLGIpe2lmKGEub3duZXJEb2N1bWVudCE9PWNmfHxcInRlbXBsYXRlXCI9PT1hLmxvY2FsTmFtZSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9pbXBvcnROb2RlKGEsYik7dmFyIGM9dGhpcy5fX3NoYWR5X25hdGl2ZV9pbXBvcnROb2RlKGEsITEpO2lmKGIpZm9yKGE9YS5fX3NoYWR5X2ZpcnN0Q2hpbGQ7YTthPWEuX19zaGFkeV9uZXh0U2libGluZyliPXRoaXMuX19zaGFkeV9pbXBvcnROb2RlKGEsITApLGMuX19zaGFkeV9hcHBlbmRDaGlsZChiKTtyZXR1cm4gY319KTt2YXIgZWY9USh7ZGlzcGF0Y2hFdmVudDpOZCxhZGRFdmVudExpc3RlbmVyOlBkLmJpbmQod2luZG93KSxyZW1vdmVFdmVudExpc3RlbmVyOlFkLmJpbmQod2luZG93KX0pO3ZhciBmZj17fTtPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEhUTUxFbGVtZW50LnByb3RvdHlwZSxcInBhcmVudEVsZW1lbnRcIikmJihmZi5wYXJlbnRFbGVtZW50PXplLnBhcmVudEVsZW1lbnQpO09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTEVsZW1lbnQucHJvdG90eXBlLFwiY29udGFpbnNcIikmJihmZi5jb250YWlucz16ZS5jb250YWlucyk7T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsXCJjaGlsZHJlblwiKSYmKGZmLmNoaWxkcmVuPUZlLmNoaWxkcmVuKTtPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEhUTUxFbGVtZW50LnByb3RvdHlwZSxcImlubmVySFRNTFwiKSYmKGZmLmlubmVySFRNTD1WZS5pbm5lckhUTUwpO09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTEVsZW1lbnQucHJvdG90eXBlLFwiY2xhc3NOYW1lXCIpJiYoZmYuY2xhc3NOYW1lPU9lLmNsYXNzTmFtZSk7XG52YXIgZ2Y9e0V2ZW50VGFyZ2V0OltjZV0sTm9kZTpbemUsd2luZG93LkV2ZW50VGFyZ2V0P251bGw6Y2VdLFRleHQ6W0JlXSxDb21tZW50OltCZV0sQ0RBVEFTZWN0aW9uOltCZV0sUHJvY2Vzc2luZ0luc3RydWN0aW9uOltCZV0sRWxlbWVudDpbT2UsRmUsSWUsQmUsIU4uSHx8XCJpbm5lckhUTUxcImluIEVsZW1lbnQucHJvdG90eXBlP1ZlOm51bGwsd2luZG93LkhUTUxTbG90RWxlbWVudD9udWxsOlhlXSxIVE1MRWxlbWVudDpbV2UsZmZdLEhUTUxTbG90RWxlbWVudDpbWGVdLERvY3VtZW50RnJhZ21lbnQ6W0hlLFllXSxEb2N1bWVudDpbZGYsSGUsWWUsYmZdLFdpbmRvdzpbZWZdLENoYXJhY3RlckRhdGE6W0llXX0saGY9Ti5IP251bGw6W1wiaW5uZXJIVE1MXCIsXCJ0ZXh0Q29udGVudFwiXTtmdW5jdGlvbiBqZihhLGIsYyxkKXtiLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGEmJmUmJlAoYSxlLGMsZCl9KX1cbmZ1bmN0aW9uIGtmKGEpe3ZhciBiPWE/bnVsbDpoZixjO2ZvcihjIGluIGdmKWpmKHdpbmRvd1tjXSYmd2luZG93W2NdLnByb3RvdHlwZSxnZltjXSxhLGIpfVtcIlRleHRcIixcIkNvbW1lbnRcIixcIkNEQVRBU2VjdGlvblwiLFwiUHJvY2Vzc2luZ0luc3RydWN0aW9uXCJdLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGI9d2luZG93W2FdLGM9T2JqZWN0LmNyZWF0ZShiLnByb3RvdHlwZSk7Yy5fX3NoYWR5X3Byb3RvSXNQYXRjaGVkPSEwO2pmKGMsZ2YuRXZlbnRUYXJnZXQpO2pmKGMsZ2YuTm9kZSk7Z2ZbYV0mJmpmKGMsZ2ZbYV0pO2IucHJvdG90eXBlLl9fc2hhZHlfcGF0Y2hlZFByb3RvPWN9KTtmdW5jdGlvbiBsZihhKXthLl9fc2hhZHlfcHJvdG9Jc1BhdGNoZWQ9ITA7amYoYSxnZi5FdmVudFRhcmdldCk7amYoYSxnZi5Ob2RlKTtqZihhLGdmLkVsZW1lbnQpO2pmKGEsZ2YuSFRNTEVsZW1lbnQpO2pmKGEsZ2YuSFRNTFNsb3RFbGVtZW50KTtyZXR1cm4gYX07dmFyIG1mPU4uQWEsbmY9Ti5IO2Z1bmN0aW9uIG9mKGEsYil7aWYobWYmJiFhLl9fc2hhZHlfcHJvdG9Jc1BhdGNoZWQmJiFPKGEpKXt2YXIgYz1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYSksZD1jLmhhc093blByb3BlcnR5KFwiX19zaGFkeV9wYXRjaGVkUHJvdG9cIikmJmMuX19zaGFkeV9wYXRjaGVkUHJvdG87ZHx8KGQ9T2JqZWN0LmNyZWF0ZShjKSxsZihkKSxjLl9fc2hhZHlfcGF0Y2hlZFByb3RvPWQpO09iamVjdC5zZXRQcm90b3R5cGVPZihhLGQpfW5mfHwoMT09PWI/dmQoYSk6Mj09PWImJndkKGEpKX1cbmZ1bmN0aW9uIHBmKGEsYixjLGQpe29mKGEsMSk7ZD1kfHxudWxsO3ZhciBlPUQoYSksZj1kP0QoZCk6bnVsbDtlLnByZXZpb3VzU2libGluZz1kP2YucHJldmlvdXNTaWJsaW5nOmIuX19zaGFkeV9sYXN0Q2hpbGQ7aWYoZj1MKGUucHJldmlvdXNTaWJsaW5nKSlmLm5leHRTaWJsaW5nPWE7aWYoZj1MKGUubmV4dFNpYmxpbmc9ZCkpZi5wcmV2aW91c1NpYmxpbmc9YTtlLnBhcmVudE5vZGU9YjtkP2Q9PT1jLmZpcnN0Q2hpbGQmJihjLmZpcnN0Q2hpbGQ9YSk6KGMubGFzdENoaWxkPWEsYy5maXJzdENoaWxkfHwoYy5maXJzdENoaWxkPWEpKTtjLmNoaWxkTm9kZXM9bnVsbH1cbmZ1bmN0aW9uIHdlKGEsYixjKXtvZihiLDIpO3ZhciBkPUQoYik7dm9pZCAwIT09ZC5maXJzdENoaWxkJiYoZC5jaGlsZE5vZGVzPW51bGwpO2lmKGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpZm9yKGE9YS5fX3NoYWR5X25hdGl2ZV9maXJzdENoaWxkO2E7YT1hLl9fc2hhZHlfbmF0aXZlX25leHRTaWJsaW5nKXBmKGEsYixkLGMpO2Vsc2UgcGYoYSxiLGQsYyl9XG5mdW5jdGlvbiB5ZShhLGIpe3ZhciBjPUQoYSk7Yj1EKGIpO2E9PT1iLmZpcnN0Q2hpbGQmJihiLmZpcnN0Q2hpbGQ9Yy5uZXh0U2libGluZyk7YT09PWIubGFzdENoaWxkJiYoYi5sYXN0Q2hpbGQ9Yy5wcmV2aW91c1NpYmxpbmcpO2E9Yy5wcmV2aW91c1NpYmxpbmc7dmFyIGQ9Yy5uZXh0U2libGluZzthJiYoRChhKS5uZXh0U2libGluZz1kKTtkJiYoRChkKS5wcmV2aW91c1NpYmxpbmc9YSk7Yy5wYXJlbnROb2RlPWMucHJldmlvdXNTaWJsaW5nPWMubmV4dFNpYmxpbmc9dm9pZCAwO3ZvaWQgMCE9PWIuY2hpbGROb2RlcyYmKGIuY2hpbGROb2Rlcz1udWxsKX1cbmZ1bmN0aW9uIFFlKGEsYil7dmFyIGM9RChhKTtpZihifHx2b2lkIDA9PT1jLmZpcnN0Q2hpbGQpe2MuY2hpbGROb2Rlcz1udWxsO3ZhciBkPWMuZmlyc3RDaGlsZD1hLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7Yy5sYXN0Q2hpbGQ9YS5fX3NoYWR5X25hdGl2ZV9sYXN0Q2hpbGQ7b2YoYSwyKTtjPWQ7Zm9yKGQ9dm9pZCAwO2M7Yz1jLl9fc2hhZHlfbmF0aXZlX25leHRTaWJsaW5nKXt2YXIgZT1EKGMpO2UucGFyZW50Tm9kZT1ifHxhO2UubmV4dFNpYmxpbmc9Yy5fX3NoYWR5X25hdGl2ZV9uZXh0U2libGluZztlLnByZXZpb3VzU2libGluZz1kfHxudWxsO2Q9YztvZihjLDEpfX19O3ZhciBxZj1RKHthZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYixjKXtcIm9iamVjdFwiIT09dHlwZW9mIGMmJihjPXtjYXB0dXJlOiEhY30pO2MuVT1jLlV8fHRoaXM7dGhpcy5ob3N0Ll9fc2hhZHlfYWRkRXZlbnRMaXN0ZW5lcihhLGIsYyl9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiLGMpe1wib2JqZWN0XCIhPT10eXBlb2YgYyYmKGM9e2NhcHR1cmU6ISFjfSk7Yy5VPWMuVXx8dGhpczt0aGlzLmhvc3QuX19zaGFkeV9yZW1vdmVFdmVudExpc3RlbmVyKGEsYixjKX19KTtmdW5jdGlvbiByZihhLGIpe1AoYSxxZixiKTtQKGEsYmYsYik7UChhLFZlLGIpO1AoYSxGZSxiKTtOLkomJiFiPyhQKGEsemUsYiksUChhLFllLGIpKTpOLkh8fChQKGEsc2QpLFAoYSxxZCksUChhLHJkKSl9O3ZhciBTZT17fSxzZj1OLmRlZmVyQ29ubmVjdGlvbkNhbGxiYWNrcyYmXCJsb2FkaW5nXCI9PT1kb2N1bWVudC5yZWFkeVN0YXRlLHRmO2Z1bmN0aW9uIHVmKGEpe3ZhciBiPVtdO2RvIGIudW5zaGlmdChhKTt3aGlsZShhPWEuX19zaGFkeV9wYXJlbnROb2RlKTtyZXR1cm4gYn1mdW5jdGlvbiBSZShhLGIsYyl7aWYoYSE9PVNlKXRocm93IG5ldyBUeXBlRXJyb3IoXCJJbGxlZ2FsIGNvbnN0cnVjdG9yXCIpO3RoaXMuZz1udWxsO1BlKHRoaXMsYixjKX1cbmZ1bmN0aW9uIFBlKGEsYixjKXthLmhvc3Q9YjthLm1vZGU9YyYmYy5tb2RlO1FlKGEuaG9zdCk7Yj1EKGEuaG9zdCk7Yi5yb290PWE7Yi5nYj1cImNsb3NlZFwiIT09YS5tb2RlP2E6bnVsbDtiPUQoYSk7Yi5maXJzdENoaWxkPWIubGFzdENoaWxkPWIucGFyZW50Tm9kZT1iLm5leHRTaWJsaW5nPWIucHJldmlvdXNTaWJsaW5nPW51bGw7aWYoTi5wcmVmZXJQZXJmb3JtYW5jZSlmb3IoO2I9YS5ob3N0Ll9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7KWEuaG9zdC5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChiKTtlbHNlIHZlKGEpfWZ1bmN0aW9uIHZlKGEpe2EuWXx8KGEuWT0hMCxSYyhmdW5jdGlvbigpe3JldHVybiBBZShhKX0pKX1cbmZ1bmN0aW9uIEFlKGEpe3ZhciBiO2lmKGI9YS5ZKXtmb3IodmFyIGM7YTspYTp7YS5ZJiYoYz1hKSxiPWE7YT1iLmhvc3QuX19zaGFkeV9nZXRSb290Tm9kZSgpO2lmKE8oYSkmJihiPUwoYi5ob3N0KSkmJjA8Yi5pYSlicmVhayBhO2E9dm9pZCAwfWI9Y30oYz1iKSYmYy5fcmVuZGVyU2VsZigpfVxuUmUucHJvdG90eXBlLl9yZW5kZXJTZWxmPWZ1bmN0aW9uKCl7dmFyIGE9c2Y7c2Y9ITA7dGhpcy5ZPSExO2lmKHRoaXMuZyl7TGUodGhpcyk7Zm9yKHZhciBiPTAsYztiPHRoaXMuZy5sZW5ndGg7YisrKXtjPXRoaXMuZ1tiXTt2YXIgZD1MKGMpLGU9ZC5hc3NpZ25lZE5vZGVzO2QuYXNzaWduZWROb2Rlcz1bXTtkLmFhPVtdO2lmKGQuR2E9ZSlmb3IoZD0wO2Q8ZS5sZW5ndGg7ZCsrKXt2YXIgZj1MKGVbZF0pO2YudWE9Zi5hc3NpZ25lZFNsb3Q7Zi5hc3NpZ25lZFNsb3Q9PT1jJiYoZi5hc3NpZ25lZFNsb3Q9bnVsbCl9fWZvcihiPXRoaXMuaG9zdC5fX3NoYWR5X2ZpcnN0Q2hpbGQ7YjtiPWIuX19zaGFkeV9uZXh0U2libGluZyl2Zih0aGlzLGIpO2ZvcihiPTA7Yjx0aGlzLmcubGVuZ3RoO2IrKyl7Yz10aGlzLmdbYl07ZT1MKGMpO2lmKCFlLmFzc2lnbmVkTm9kZXMubGVuZ3RoKWZvcihkPWMuX19zaGFkeV9maXJzdENoaWxkO2Q7ZD1kLl9fc2hhZHlfbmV4dFNpYmxpbmcpdmYodGhpcyxcbmQsYyk7KGQ9KGQ9TChjLl9fc2hhZHlfcGFyZW50Tm9kZSkpJiZkLnJvb3QpJiYoeGMoZCl8fGQuWSkmJmQuX3JlbmRlclNlbGYoKTt3Zih0aGlzLGUuYWEsZS5hc3NpZ25lZE5vZGVzKTtpZihkPWUuR2Epe2ZvcihmPTA7ZjxkLmxlbmd0aDtmKyspTChkW2ZdKS51YT1udWxsO2UuR2E9bnVsbDtkLmxlbmd0aD5lLmFzc2lnbmVkTm9kZXMubGVuZ3RoJiYoZS54YT0hMCl9ZS54YSYmKGUueGE9ITEseGYodGhpcyxjKSl9Yz10aGlzLmc7Yj1bXTtmb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKWQ9Y1tlXS5fX3NoYWR5X3BhcmVudE5vZGUsKGY9TChkKSkmJmYucm9vdHx8ISgwPmIuaW5kZXhPZihkKSl8fGIucHVzaChkKTtmb3IoYz0wO2M8Yi5sZW5ndGg7YysrKXtmPWJbY107ZT1mPT09dGhpcz90aGlzLmhvc3Q6ZjtkPVtdO2ZvcihmPWYuX19zaGFkeV9maXJzdENoaWxkO2Y7Zj1mLl9fc2hhZHlfbmV4dFNpYmxpbmcpaWYoXCJzbG90XCI9PWYubG9jYWxOYW1lKWZvcih2YXIgZz1MKGYpLmFhLGg9XG4wO2g8Zy5sZW5ndGg7aCsrKWQucHVzaChnW2hdKTtlbHNlIGQucHVzaChmKTtmPUljKGUpO2c9YWUoZCxkLmxlbmd0aCxmLGYubGVuZ3RoKTtmb3IodmFyIGs9aD0wLGw9dm9pZCAwO2g8Zy5sZW5ndGgmJihsPWdbaF0pO2grKyl7Zm9yKHZhciBtPTAscT12b2lkIDA7bTxsLmdhLmxlbmd0aCYmKHE9bC5nYVttXSk7bSsrKXEuX19zaGFkeV9uYXRpdmVfcGFyZW50Tm9kZT09PWUmJmUuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQocSksZi5zcGxpY2UobC5pbmRleCtrLDEpO2stPWwubmF9az0wO2ZvcihsPXZvaWQgMDtrPGcubGVuZ3RoJiYobD1nW2tdKTtrKyspZm9yKGg9ZltsLmluZGV4XSxtPWwuaW5kZXg7bTxsLmluZGV4K2wubmE7bSsrKXE9ZFttXSxlLl9fc2hhZHlfbmF0aXZlX2luc2VydEJlZm9yZShxLGgpLGYuc3BsaWNlKG0sMCxxKX19aWYoIU4ucHJlZmVyUGVyZm9ybWFuY2UmJiF0aGlzLkZhKWZvcihiPXRoaXMuaG9zdC5fX3NoYWR5X2ZpcnN0Q2hpbGQ7YjtiPWIuX19zaGFkeV9uZXh0U2libGluZyljPVxuTChiKSxiLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGUhPT10aGlzLmhvc3R8fFwic2xvdFwiIT09Yi5sb2NhbE5hbWUmJmMuYXNzaWduZWRTbG90fHx0aGlzLmhvc3QuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQoYik7dGhpcy5GYT0hMDtzZj1hO3RmJiZ0ZigpfTtmdW5jdGlvbiB2ZihhLGIsYyl7dmFyIGQ9RChiKSxlPWQudWE7ZC51YT1udWxsO2N8fChjPShhPWEuaFtiLl9fc2hhZHlfc2xvdHx8XCJfX2NhdGNoYWxsXCJdKSYmYVswXSk7Yz8oRChjKS5hc3NpZ25lZE5vZGVzLnB1c2goYiksZC5hc3NpZ25lZFNsb3Q9Yyk6ZC5hc3NpZ25lZFNsb3Q9dm9pZCAwO2UhPT1kLmFzc2lnbmVkU2xvdCYmZC5hc3NpZ25lZFNsb3QmJihEKGQuYXNzaWduZWRTbG90KS54YT0hMCl9XG5mdW5jdGlvbiB3ZihhLGIsYyl7Zm9yKHZhciBkPTAsZT12b2lkIDA7ZDxjLmxlbmd0aCYmKGU9Y1tkXSk7ZCsrKWlmKFwic2xvdFwiPT1lLmxvY2FsTmFtZSl7dmFyIGY9TChlKS5hc3NpZ25lZE5vZGVzO2YmJmYubGVuZ3RoJiZ3ZihhLGIsZil9ZWxzZSBiLnB1c2goY1tkXSl9ZnVuY3Rpb24geGYoYSxiKXtiLl9fc2hhZHlfbmF0aXZlX2Rpc3BhdGNoRXZlbnQobmV3IEV2ZW50KFwic2xvdGNoYW5nZVwiKSk7Yj1MKGIpO2IuYXNzaWduZWRTbG90JiZ4ZihhLGIuYXNzaWduZWRTbG90KX1mdW5jdGlvbiB1ZShhKXthLmk9YS5pfHxbXTthLmc9YS5nfHxbXTthLmg9YS5ofHx7fX1cbmZ1bmN0aW9uIExlKGEpe2lmKGEuaSYmYS5pLmxlbmd0aCl7Zm9yKHZhciBiPWEuaSxjLGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTtRZShlKTt2YXIgZj1lLl9fc2hhZHlfcGFyZW50Tm9kZTtRZShmKTtmPUwoZik7Zi5pYT0oZi5pYXx8MCkrMTtmPU1lKGUpO2EuaFtmXT8oYz1jfHx7fSxjW2ZdPSEwLGEuaFtmXS5wdXNoKGUpKTphLmhbZl09W2VdO2EuZy5wdXNoKGUpfWlmKGMpZm9yKHZhciBnIGluIGMpYS5oW2ddPU5lKGEuaFtnXSk7YS5pPVtdfX1mdW5jdGlvbiBNZShhKXt2YXIgYj1hLm5hbWV8fGEuZ2V0QXR0cmlidXRlKFwibmFtZVwiKXx8XCJfX2NhdGNoYWxsXCI7cmV0dXJuIGEuUWE9Yn1cbmZ1bmN0aW9uIE5lKGEpe3JldHVybiBhLnNvcnQoZnVuY3Rpb24oYixjKXtiPXVmKGIpO2Zvcih2YXIgZD11ZihjKSxlPTA7ZTxiLmxlbmd0aDtlKyspe2M9YltlXTt2YXIgZj1kW2VdO2lmKGMhPT1mKXJldHVybiBiPUpjKGMuX19zaGFkeV9wYXJlbnROb2RlKSxiLmluZGV4T2YoYyktYi5pbmRleE9mKGYpfX0pfVxuZnVuY3Rpb24geGUoYSxiKXtpZihhLmcpe0xlKGEpO3ZhciBjPWEuaCxkO2ZvcihkIGluIGMpZm9yKHZhciBlPWNbZF0sZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgZz1lW2ZdO2lmKEdjKGIsZykpe2Uuc3BsaWNlKGYsMSk7dmFyIGg9YS5nLmluZGV4T2YoZyk7MDw9aCYmKGEuZy5zcGxpY2UoaCwxKSwoaD1MKGcuX19zaGFkeV9wYXJlbnROb2RlKSkmJmguaWEmJmguaWEtLSk7Zi0tO2c9TChnKTtpZihoPWcuYWEpZm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGU7bSYmbS5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChsKX1nLmFhPVtdO2cuYXNzaWduZWROb2Rlcz1bXTtoPSEwfX1yZXR1cm4gaH19ZnVuY3Rpb24geGMoYSl7TGUoYSk7cmV0dXJuISghYS5nfHwhYS5nLmxlbmd0aCl9XG4oZnVuY3Rpb24oYSl7YS5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGU7cmYoYSxcIl9fc2hhZHlfXCIpO3JmKGEpO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGEse25vZGVUeXBlOnt2YWx1ZTpOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUsY29uZmlndXJhYmxlOiEwfSxub2RlTmFtZTp7dmFsdWU6XCIjZG9jdW1lbnQtZnJhZ21lbnRcIixjb25maWd1cmFibGU6ITB9LG5vZGVWYWx1ZTp7dmFsdWU6bnVsbCxjb25maWd1cmFibGU6ITB9fSk7W1wibG9jYWxOYW1lXCIsXCJuYW1lc3BhY2VVUklcIixcInByZWZpeFwiXS5mb3JFYWNoKGZ1bmN0aW9uKGIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGIse3ZhbHVlOnZvaWQgMCxjb25maWd1cmFibGU6ITB9KX0pO1tcIm93bmVyRG9jdW1lbnRcIixcImJhc2VVUklcIixcImlzQ29ubmVjdGVkXCJdLmZvckVhY2goZnVuY3Rpb24oYil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaG9zdFtiXX0sXG5jb25maWd1cmFibGU6ITB9KX0pfSkoUmUucHJvdG90eXBlKTtcbmlmKHdpbmRvdy5jdXN0b21FbGVtZW50cyYmd2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSYmTi55YSYmIU4ucHJlZmVyUGVyZm9ybWFuY2Upe3ZhciB5Zj1uZXcgTWFwO3RmPWZ1bmN0aW9uKCl7dmFyIGE9W107eWYuZm9yRWFjaChmdW5jdGlvbihkLGUpe2EucHVzaChbZSxkXSl9KTt5Zi5jbGVhcigpO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgYz1hW2JdWzBdO2FbYl1bMV0/Yy5fX3NoYWR5ZG9tX2Nvbm5lY3RlZENhbGxiYWNrKCk6Yy5fX3NoYWR5ZG9tX2Rpc2Nvbm5lY3RlZENhbGxiYWNrKCl9fTtzZiYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInJlYWR5c3RhdGVjaGFuZ2VcIixmdW5jdGlvbigpe3NmPSExO3RmKCl9LHtvbmNlOiEwfSk7dmFyIHpmPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0wLGU9XCJfX2lzQ29ubmVjdGVkXCIrZCsrO2lmKGJ8fGMpYS5wcm90b3R5cGUuY29ubmVjdGVkQ2FsbGJhY2s9YS5wcm90b3R5cGUuX19zaGFkeWRvbV9jb25uZWN0ZWRDYWxsYmFjaz1cbmZ1bmN0aW9uKCl7c2Y/eWYuc2V0KHRoaXMsITApOnRoaXNbZV18fCh0aGlzW2VdPSEwLGImJmIuY2FsbCh0aGlzKSl9LGEucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWEucHJvdG90eXBlLl9fc2hhZHlkb21fZGlzY29ubmVjdGVkQ2FsbGJhY2s9ZnVuY3Rpb24oKXtzZj90aGlzLmlzQ29ubmVjdGVkfHx5Zi5zZXQodGhpcywhMSk6dGhpc1tlXSYmKHRoaXNbZV09ITEsYyYmYy5jYWxsKHRoaXMpKX07cmV0dXJuIGF9LEFmPXdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUsQmY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjayxkPWIucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrO0FmLmNhbGwod2luZG93LmN1c3RvbUVsZW1lbnRzLGEsemYoYixjLGQpKTtiLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjaz1jO2IucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWR9O3dpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmU9XG5CZjtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkN1c3RvbUVsZW1lbnRSZWdpc3RyeS5wcm90b3R5cGUsXCJkZWZpbmVcIix7dmFsdWU6QmYsY29uZmlndXJhYmxlOiEwfSl9ZnVuY3Rpb24gdGUoYSl7YT1hLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKTtpZihPKGEpKXJldHVybiBhfTtmdW5jdGlvbiBDZihhKXt0aGlzLm5vZGU9YX12PUNmLnByb3RvdHlwZTt2LmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hZGRFdmVudExpc3RlbmVyKGEsYixjKX07di5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGIsYyl9O3YuYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2FwcGVuZENoaWxkKGEpfTt2Lmluc2VydEJlZm9yZT1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9pbnNlcnRCZWZvcmUoYSxiKX07di5yZW1vdmVDaGlsZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcmVtb3ZlQ2hpbGQoYSl9O3YucmVwbGFjZUNoaWxkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3JlcGxhY2VDaGlsZChhLGIpfTtcbnYuY2xvbmVOb2RlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9jbG9uZU5vZGUoYSl9O3YuZ2V0Um9vdE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2dldFJvb3ROb2RlKGEpfTt2LmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9jb250YWlucyhhKX07di5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9kaXNwYXRjaEV2ZW50KGEpfTt2LnNldEF0dHJpYnV0ZT1mdW5jdGlvbihhLGIpe3RoaXMubm9kZS5fX3NoYWR5X3NldEF0dHJpYnV0ZShhLGIpfTt2LmdldEF0dHJpYnV0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbmF0aXZlX2dldEF0dHJpYnV0ZShhKX07di5oYXNBdHRyaWJ1dGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X25hdGl2ZV9oYXNBdHRyaWJ1dGUoYSl9O3YucmVtb3ZlQXR0cmlidXRlPWZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X3JlbW92ZUF0dHJpYnV0ZShhKX07XG52LmF0dGFjaFNoYWRvdz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYXR0YWNoU2hhZG93KGEpfTt2LmZvY3VzPWZ1bmN0aW9uKCl7dGhpcy5ub2RlLl9fc2hhZHlfbmF0aXZlX2ZvY3VzKCl9O3YuYmx1cj1mdW5jdGlvbigpe3RoaXMubm9kZS5fX3NoYWR5X2JsdXIoKX07di5pbXBvcnROb2RlPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5ub2RlLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9OT0RFKXJldHVybiB0aGlzLm5vZGUuX19zaGFkeV9pbXBvcnROb2RlKGEsYil9O3YuZ2V0RWxlbWVudEJ5SWQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5ub2RlLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9OT0RFKXJldHVybiB0aGlzLm5vZGUuX19zaGFkeV9nZXRFbGVtZW50QnlJZChhKX07di5lbGVtZW50c0Zyb21Qb2ludD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9lbGVtZW50c0Zyb21Qb2ludChhLGIpfTtcbnYuZWxlbWVudEZyb21Qb2ludD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9lbGVtZW50RnJvbVBvaW50KGEsYil9O3YucXVlcnlTZWxlY3Rvcj1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcXVlcnlTZWxlY3RvcihhKX07di5xdWVyeVNlbGVjdG9yQWxsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3F1ZXJ5U2VsZWN0b3JBbGwoYSxiKX07di5hc3NpZ25lZE5vZGVzPWZ1bmN0aW9uKGEpe2lmKFwic2xvdFwiPT09dGhpcy5ub2RlLmxvY2FsTmFtZSlyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYXNzaWduZWROb2RlcyhhKX07di5hcHBlbmQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGFyZ3VtZW50cy5sZW5ndGg7KytjKWJbY109YXJndW1lbnRzW2NdO3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hcHBlbmQuYXBwbHkodGhpcy5ub2RlLHgoYikpfTtcbnYucHJlcGVuZD1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1hcmd1bWVudHNbY107cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3ByZXBlbmQuYXBwbHkodGhpcy5ub2RlLHgoYikpfTt2LmFmdGVyPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTA7Yzxhcmd1bWVudHMubGVuZ3RoOysrYyliW2NdPWFyZ3VtZW50c1tjXTtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYWZ0ZXIuYXBwbHkodGhpcy5ub2RlLHgoYikpfTt2LmJlZm9yZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1hcmd1bWVudHNbY107cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2JlZm9yZS5hcHBseSh0aGlzLm5vZGUseChiKSl9O3YucmVtb3ZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3JlbW92ZSgpfTtcbnYucmVwbGFjZVdpdGg9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGFyZ3VtZW50cy5sZW5ndGg7KytjKWJbY109YXJndW1lbnRzW2NdO3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9yZXBsYWNlV2l0aC5hcHBseSh0aGlzLm5vZGUseChiKSl9O1xuZWEuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ2YucHJvdG90eXBlLHthY3RpdmVFbGVtZW50Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtpZihPKHRoaXMubm9kZSl8fHRoaXMubm9kZS5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfTk9ERSlyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYWN0aXZlRWxlbWVudH19LF9hY3RpdmVFbGVtZW50Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hY3RpdmVFbGVtZW50fX0saG9zdDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7aWYoTyh0aGlzLm5vZGUpKXJldHVybiB0aGlzLm5vZGUuaG9zdH19LHBhcmVudE5vZGU6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9wYXJlbnROb2RlfX0sZmlyc3RDaGlsZDp7Y29uZmlndXJhYmxlOiEwLFxuZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfZmlyc3RDaGlsZH19LGxhc3RDaGlsZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2xhc3RDaGlsZH19LG5leHRTaWJsaW5nOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbmV4dFNpYmxpbmd9fSxwcmV2aW91c1NpYmxpbmc6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9wcmV2aW91c1NpYmxpbmd9fSxjaGlsZE5vZGVzOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2hpbGROb2Rlc319LHBhcmVudEVsZW1lbnQ6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLFxuZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3BhcmVudEVsZW1lbnR9fSxmaXJzdEVsZW1lbnRDaGlsZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2ZpcnN0RWxlbWVudENoaWxkfX0sbGFzdEVsZW1lbnRDaGlsZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2xhc3RFbGVtZW50Q2hpbGR9fSxuZXh0RWxlbWVudFNpYmxpbmc6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9uZXh0RWxlbWVudFNpYmxpbmd9fSxwcmV2aW91c0VsZW1lbnRTaWJsaW5nOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcHJldmlvdXNFbGVtZW50U2libGluZ319LFxuY2hpbGRyZW46e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9jaGlsZHJlbn19LGNoaWxkRWxlbWVudENvdW50Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2hpbGRFbGVtZW50Q291bnR9fSxzaGFkb3dSb290Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfc2hhZG93Um9vdH19LGFzc2lnbmVkU2xvdDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2Fzc2lnbmVkU2xvdH19LGlzQ29ubmVjdGVkOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfaXNDb25uZWN0ZWR9fSxpbm5lckhUTUw6e2NvbmZpZ3VyYWJsZTohMCxcbmVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2lubmVySFRNTH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X2lubmVySFRNTD1hfX0sdGV4dENvbnRlbnQ6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV90ZXh0Q29udGVudH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X3RleHRDb250ZW50PWF9fSxzbG90Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfc2xvdH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X3Nsb3Q9YX19LGNsYXNzTmFtZTp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2NsYXNzTmFtZX0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X2NsYXNzTmFtZT1cbmF9fX0pO2Z1bmN0aW9uIERmKGEpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShDZi5wcm90b3R5cGUsYSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZVtcIl9fc2hhZHlfXCIrYV19LHNldDpmdW5jdGlvbihiKXt0aGlzLm5vZGVbXCJfX3NoYWR5X1wiK2FdPWJ9LGNvbmZpZ3VyYWJsZTohMH0pfVhkLmZvckVhY2goZnVuY3Rpb24oYSl7cmV0dXJuIERmKGEpfSk7WWQuZm9yRWFjaChmdW5jdGlvbihhKXtyZXR1cm4gRGYoYSl9KTt2YXIgRWY9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gRmYoYSl7aWYoTyhhKXx8YSBpbnN0YW5jZW9mIENmKXJldHVybiBhO3ZhciBiPUVmLmdldChhKTtifHwoYj1uZXcgQ2YoYSksRWYuc2V0KGEsYikpO3JldHVybiBifTtpZihOLnlhKXt2YXIgR2Y9Ti5IP2Z1bmN0aW9uKGEpe3JldHVybiBhfTpmdW5jdGlvbihhKXt3ZChhKTt2ZChhKTtyZXR1cm4gYX0sU2hhZHlET009e2luVXNlOk4ueWEscGF0Y2g6R2YsaXNTaGFkeVJvb3Q6TyxlbnF1ZXVlOlJjLGZsdXNoOlNjLGZsdXNoSW5pdGlhbDpmdW5jdGlvbihhKXshYS5GYSYmYS5ZJiZBZShhKX0sc2V0dGluZ3M6TixmaWx0ZXJNdXRhdGlvbnM6WGMsb2JzZXJ2ZUNoaWxkcmVuOlZjLHVub2JzZXJ2ZUNoaWxkcmVuOldjLGRlZmVyQ29ubmVjdGlvbkNhbGxiYWNrczpOLmRlZmVyQ29ubmVjdGlvbkNhbGxiYWNrcyxwcmVmZXJQZXJmb3JtYW5jZTpOLnByZWZlclBlcmZvcm1hbmNlLGhhbmRsZXNEeW5hbWljU2NvcGluZzohMCx3cmFwOk4uSj9GZjpHZix3cmFwSWZOZWVkZWQ6ITA9PT1OLko/RmY6ZnVuY3Rpb24oYSl7cmV0dXJuIGF9LFdyYXBwZXI6Q2YsY29tcG9zZWRQYXRoOkZkLG5vUGF0Y2g6Ti5KLHBhdGNoT25EZW1hbmQ6Ti5BYSxuYXRpdmVNZXRob2RzOmZkLFxubmF0aXZlVHJlZTpnZCxwYXRjaEVsZW1lbnRQcm90bzpsZn07d2luZG93LlNoYWR5RE9NPVNoYWR5RE9NO3BkKCk7a2YoXCJfX3NoYWR5X1wiKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZG9jdW1lbnQsXCJfYWN0aXZlRWxlbWVudFwiLGJmLmFjdGl2ZUVsZW1lbnQpO1AoV2luZG93LnByb3RvdHlwZSxlZixcIl9fc2hhZHlfXCIpO04uSj9OLkFhJiZQKEVsZW1lbnQucHJvdG90eXBlLFRlKTooa2YoKSxXZCgpKTtSZCgpO3dpbmRvdy5FdmVudD1UZDt3aW5kb3cuQ3VzdG9tRXZlbnQ9VWQ7d2luZG93Lk1vdXNlRXZlbnQ9VmQ7d2luZG93LlNoYWRvd1Jvb3Q9UmV9O3ZhciBIZj13aW5kb3cuRG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQsSWY9d2luZG93LkRvY3VtZW50LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50TlMsSmY9d2luZG93LkRvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlLEtmPXdpbmRvdy5Eb2N1bWVudC5wcm90b3R5cGUucHJlcGVuZCxMZj13aW5kb3cuRG9jdW1lbnQucHJvdG90eXBlLmFwcGVuZCxNZj13aW5kb3cuRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUucHJlcGVuZCxOZj13aW5kb3cuRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUuYXBwZW5kLE9mPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5jbG9uZU5vZGUsUGY9d2luZG93Lk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkLFFmPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmUsUmY9d2luZG93Lk5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLFNmPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQsVGY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuTm9kZS5wcm90b3R5cGUsXG5cInRleHRDb250ZW50XCIpLFVmPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hdHRhY2hTaGFkb3csVmY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUsXCJpbm5lckhUTUxcIiksV2Y9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmdldEF0dHJpYnV0ZSxYZj13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuc2V0QXR0cmlidXRlLFlmPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGUsWmY9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmdldEF0dHJpYnV0ZU5TLCRmPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5zZXRBdHRyaWJ1dGVOUyxhZz13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlTlMsYmc9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmluc2VydEFkamFjZW50RWxlbWVudCxjZz13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuaW5zZXJ0QWRqYWNlbnRIVE1MLGRnPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5wcmVwZW5kLFxuZWc9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFwcGVuZCxmZz13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuYmVmb3JlLGdnPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hZnRlcixoZz13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucmVwbGFjZVdpdGgsaWc9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLnJlbW92ZSxqZz13aW5kb3cuSFRNTEVsZW1lbnQsa2c9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlLFwiaW5uZXJIVE1MXCIpLGxnPXdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUuaW5zZXJ0QWRqYWNlbnRFbGVtZW50LG1nPXdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUuaW5zZXJ0QWRqYWNlbnRIVE1MO3ZhciBuZz1uZXcgU2V0O1wiYW5ub3RhdGlvbi14bWwgY29sb3ItcHJvZmlsZSBmb250LWZhY2UgZm9udC1mYWNlLXNyYyBmb250LWZhY2UtdXJpIGZvbnQtZmFjZS1mb3JtYXQgZm9udC1mYWNlLW5hbWUgbWlzc2luZy1nbHlwaFwiLnNwbGl0KFwiIFwiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3JldHVybiBuZy5hZGQoYSl9KTtmdW5jdGlvbiBvZyhhKXt2YXIgYj1uZy5oYXMoYSk7YT0vXlthLXpdWy4wLTlfYS16XSotWy0uMC05X2Etel0qJC8udGVzdChhKTtyZXR1cm4hYiYmYX12YXIgcGc9ZG9jdW1lbnQuY29udGFpbnM/ZG9jdW1lbnQuY29udGFpbnMuYmluZChkb2N1bWVudCk6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNvbnRhaW5zLmJpbmQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTtcbmZ1bmN0aW9uIFQoYSl7dmFyIGI9YS5pc0Nvbm5lY3RlZDtpZih2b2lkIDAhPT1iKXJldHVybiBiO2lmKHBnKGEpKXJldHVybiEwO2Zvcig7YSYmIShhLl9fQ0VfaXNJbXBvcnREb2N1bWVudHx8YSBpbnN0YW5jZW9mIERvY3VtZW50KTspYT1hLnBhcmVudE5vZGV8fCh3aW5kb3cuU2hhZG93Um9vdCYmYSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Q/YS5ob3N0OnZvaWQgMCk7cmV0dXJuISghYXx8IShhLl9fQ0VfaXNJbXBvcnREb2N1bWVudHx8YSBpbnN0YW5jZW9mIERvY3VtZW50KSl9ZnVuY3Rpb24gcWcoYSl7dmFyIGI9YS5jaGlsZHJlbjtpZihiKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChiKTtiPVtdO2ZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZylhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJmIucHVzaChhKTtyZXR1cm4gYn1cbmZ1bmN0aW9uIHJnKGEsYil7Zm9yKDtiJiZiIT09YSYmIWIubmV4dFNpYmxpbmc7KWI9Yi5wYXJlbnROb2RlO3JldHVybiBiJiZiIT09YT9iLm5leHRTaWJsaW5nOm51bGx9XG5mdW5jdGlvbiBzZyhhLGIsYyl7Zm9yKHZhciBkPWE7ZDspe2lmKGQubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSl7dmFyIGU9ZDtiKGUpO3ZhciBmPWUubG9jYWxOYW1lO2lmKFwibGlua1wiPT09ZiYmXCJpbXBvcnRcIj09PWUuZ2V0QXR0cmlidXRlKFwicmVsXCIpKXtkPWUuaW1wb3J0O3ZvaWQgMD09PWMmJihjPW5ldyBTZXQpO2lmKGQgaW5zdGFuY2VvZiBOb2RlJiYhYy5oYXMoZCkpZm9yKGMuYWRkKGQpLGQ9ZC5maXJzdENoaWxkO2Q7ZD1kLm5leHRTaWJsaW5nKXNnKGQsYixjKTtkPXJnKGEsZSk7Y29udGludWV9ZWxzZSBpZihcInRlbXBsYXRlXCI9PT1mKXtkPXJnKGEsZSk7Y29udGludWV9aWYoZT1lLl9fQ0Vfc2hhZG93Um9vdClmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpc2coZSxiLGMpfWQ9ZC5maXJzdENoaWxkP2QuZmlyc3RDaGlsZDpyZyhhLGQpfX07ZnVuY3Rpb24gdGcoKXt2YXIgYT0hKG51bGw9PT11Z3x8dm9pZCAwPT09dWd8fCF1Zy5ub0RvY3VtZW50Q29uc3RydWN0aW9uT2JzZXJ2ZXIpLGI9IShudWxsPT09dWd8fHZvaWQgMD09PXVnfHwhdWcuc2hhZHlEb21GYXN0V2Fsayk7dGhpcy5jYT1bXTt0aGlzLmc9W107dGhpcy5XPSExO3RoaXMuc2hhZHlEb21GYXN0V2Fsaz1iO3RoaXMubmI9IWF9ZnVuY3Rpb24gdmcoYSxiLGMsZCl7dmFyIGU9d2luZG93LlNoYWR5RE9NO2lmKGEuc2hhZHlEb21GYXN0V2FsayYmZSYmZS5pblVzZSl7aWYoYi5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZjKGIpLGIucXVlcnlTZWxlY3RvckFsbClmb3IoYT1lLm5hdGl2ZU1ldGhvZHMucXVlcnlTZWxlY3RvckFsbC5jYWxsKGIsXCIqXCIpLGI9MDtiPGEubGVuZ3RoO2IrKyljKGFbYl0pfWVsc2Ugc2coYixjLGQpfWZ1bmN0aW9uIHdnKGEsYil7YS5XPSEwO2EuY2EucHVzaChiKX1cbmZ1bmN0aW9uIHhnKGEsYil7YS5XPSEwO2EuZy5wdXNoKGIpfWZ1bmN0aW9uIHlnKGEsYil7YS5XJiZ2ZyhhLGIsZnVuY3Rpb24oYyl7cmV0dXJuIHpnKGEsYyl9KX1mdW5jdGlvbiB6ZyhhLGIpe2lmKGEuVyYmIWIuX19DRV9wYXRjaGVkKXtiLl9fQ0VfcGF0Y2hlZD0hMDtmb3IodmFyIGM9MDtjPGEuY2EubGVuZ3RoO2MrKylhLmNhW2NdKGIpO2ZvcihjPTA7YzxhLmcubGVuZ3RoO2MrKylhLmdbY10oYil9fWZ1bmN0aW9uIEFnKGEsYil7dmFyIGM9W107dmcoYSxiLGZ1bmN0aW9uKGUpe3JldHVybiBjLnB1c2goZSl9KTtmb3IoYj0wO2I8Yy5sZW5ndGg7YisrKXt2YXIgZD1jW2JdOzE9PT1kLl9fQ0Vfc3RhdGU/YS5jb25uZWN0ZWRDYWxsYmFjayhkKTpCZyhhLGQpfX1cbmZ1bmN0aW9uIENnKGEsYil7dmFyIGM9W107dmcoYSxiLGZ1bmN0aW9uKGUpe3JldHVybiBjLnB1c2goZSl9KTtmb3IoYj0wO2I8Yy5sZW5ndGg7YisrKXt2YXIgZD1jW2JdOzE9PT1kLl9fQ0Vfc3RhdGUmJmEuZGlzY29ubmVjdGVkQ2FsbGJhY2soZCl9fVxuZnVuY3Rpb24gRGcoYSxiLGMpe2M9dm9pZCAwPT09Yz97fTpjO3ZhciBkPWMub2IsZT1jLnVwZ3JhZGV8fGZ1bmN0aW9uKGcpe3JldHVybiBCZyhhLGcpfSxmPVtdO3ZnKGEsYixmdW5jdGlvbihnKXthLlcmJnpnKGEsZyk7aWYoXCJsaW5rXCI9PT1nLmxvY2FsTmFtZSYmXCJpbXBvcnRcIj09PWcuZ2V0QXR0cmlidXRlKFwicmVsXCIpKXt2YXIgaD1nLmltcG9ydDtoIGluc3RhbmNlb2YgTm9kZSYmKGguX19DRV9pc0ltcG9ydERvY3VtZW50PSEwLGguX19DRV9yZWdpc3RyeT1kb2N1bWVudC5fX0NFX3JlZ2lzdHJ5KTtoJiZcImNvbXBsZXRlXCI9PT1oLnJlYWR5U3RhdGU/aC5fX0NFX2RvY3VtZW50TG9hZEhhbmRsZWQ9ITA6Zy5hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLGZ1bmN0aW9uKCl7dmFyIGs9Zy5pbXBvcnQ7aWYoIWsuX19DRV9kb2N1bWVudExvYWRIYW5kbGVkKXtrLl9fQ0VfZG9jdW1lbnRMb2FkSGFuZGxlZD0hMDt2YXIgbD1uZXcgU2V0O2QmJihkLmZvckVhY2goZnVuY3Rpb24obSl7cmV0dXJuIGwuYWRkKG0pfSksXG5sLmRlbGV0ZShrKSk7RGcoYSxrLHtvYjpsLHVwZ3JhZGU6ZX0pfX0pfWVsc2UgZi5wdXNoKGcpfSxkKTtmb3IoYj0wO2I8Zi5sZW5ndGg7YisrKWUoZltiXSl9XG5mdW5jdGlvbiBCZyhhLGIpe3RyeXt2YXIgYz1iLm93bmVyRG9jdW1lbnQsZD1jLl9fQ0VfcmVnaXN0cnk7dmFyIGU9ZCYmKGMuZGVmYXVsdFZpZXd8fGMuX19DRV9pc0ltcG9ydERvY3VtZW50KT9FZyhkLGIubG9jYWxOYW1lKTp2b2lkIDA7aWYoZSYmdm9pZCAwPT09Yi5fX0NFX3N0YXRlKXtlLmNvbnN0cnVjdGlvblN0YWNrLnB1c2goYik7dHJ5e3RyeXtpZihuZXcgZS5jb25zdHJ1Y3RvckZ1bmN0aW9uIT09Yil0aHJvdyBFcnJvcihcIlRoZSBjdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvciBkaWQgbm90IHByb2R1Y2UgdGhlIGVsZW1lbnQgYmVpbmcgdXBncmFkZWQuXCIpO31maW5hbGx5e2UuY29uc3RydWN0aW9uU3RhY2sucG9wKCl9fWNhdGNoKGspe3Rocm93IGIuX19DRV9zdGF0ZT0yLGs7fWIuX19DRV9zdGF0ZT0xO2IuX19DRV9kZWZpbml0aW9uPWU7aWYoZS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2smJmIuaGFzQXR0cmlidXRlcygpKXt2YXIgZj1lLm9ic2VydmVkQXR0cmlidXRlcztcbmZvcihlPTA7ZTxmLmxlbmd0aDtlKyspe3ZhciBnPWZbZV0saD1iLmdldEF0dHJpYnV0ZShnKTtudWxsIT09aCYmYS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soYixnLG51bGwsaCxudWxsKX19VChiKSYmYS5jb25uZWN0ZWRDYWxsYmFjayhiKX19Y2F0Y2goayl7Rmcoayl9fXRnLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjaz1mdW5jdGlvbihhKXt2YXIgYj1hLl9fQ0VfZGVmaW5pdGlvbjtpZihiLmNvbm5lY3RlZENhbGxiYWNrKXRyeXtiLmNvbm5lY3RlZENhbGxiYWNrLmNhbGwoYSl9Y2F0Y2goYyl7RmcoYyl9fTt0Zy5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2s9ZnVuY3Rpb24oYSl7dmFyIGI9YS5fX0NFX2RlZmluaXRpb247aWYoYi5kaXNjb25uZWN0ZWRDYWxsYmFjayl0cnl7Yi5kaXNjb25uZWN0ZWRDYWxsYmFjay5jYWxsKGEpfWNhdGNoKGMpe0ZnKGMpfX07XG50Zy5wcm90b3R5cGUuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS5fX0NFX2RlZmluaXRpb247aWYoZi5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2smJi0xPGYub2JzZXJ2ZWRBdHRyaWJ1dGVzLmluZGV4T2YoYikpdHJ5e2YuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrLmNhbGwoYSxiLGMsZCxlKX1jYXRjaChnKXtGZyhnKX19O1xuZnVuY3Rpb24gR2coYSxiLGMsZCl7dmFyIGU9Yi5fX0NFX3JlZ2lzdHJ5O2lmKGUmJihudWxsPT09ZHx8XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCI9PT1kKSYmKGU9RWcoZSxjKSkpdHJ5e3ZhciBmPW5ldyBlLmNvbnN0cnVjdG9yRnVuY3Rpb247aWYodm9pZCAwPT09Zi5fX0NFX3N0YXRlfHx2b2lkIDA9PT1mLl9fQ0VfZGVmaW5pdGlvbil0aHJvdyBFcnJvcihcIkZhaWxlZCB0byBjb25zdHJ1Y3QgJ1wiK2MrXCInOiBUaGUgcmV0dXJuZWQgdmFsdWUgd2FzIG5vdCBjb25zdHJ1Y3RlZCB3aXRoIHRoZSBIVE1MRWxlbWVudCBjb25zdHJ1Y3Rvci5cIik7aWYoXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCIhPT1mLm5hbWVzcGFjZVVSSSl0aHJvdyBFcnJvcihcIkZhaWxlZCB0byBjb25zdHJ1Y3QgJ1wiK2MrXCInOiBUaGUgY29uc3RydWN0ZWQgZWxlbWVudCdzIG5hbWVzcGFjZSBtdXN0IGJlIHRoZSBIVE1MIG5hbWVzcGFjZS5cIik7aWYoZi5oYXNBdHRyaWJ1dGVzKCkpdGhyb3cgRXJyb3IoXCJGYWlsZWQgdG8gY29uc3RydWN0ICdcIitcbmMrXCInOiBUaGUgY29uc3RydWN0ZWQgZWxlbWVudCBtdXN0IG5vdCBoYXZlIGFueSBhdHRyaWJ1dGVzLlwiKTtpZihudWxsIT09Zi5maXJzdENoaWxkKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGNvbnN0cnVjdCAnXCIrYytcIic6IFRoZSBjb25zdHJ1Y3RlZCBlbGVtZW50IG11c3Qgbm90IGhhdmUgYW55IGNoaWxkcmVuLlwiKTtpZihudWxsIT09Zi5wYXJlbnROb2RlKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGNvbnN0cnVjdCAnXCIrYytcIic6IFRoZSBjb25zdHJ1Y3RlZCBlbGVtZW50IG11c3Qgbm90IGhhdmUgYSBwYXJlbnQgbm9kZS5cIik7aWYoZi5vd25lckRvY3VtZW50IT09Yil0aHJvdyBFcnJvcihcIkZhaWxlZCB0byBjb25zdHJ1Y3QgJ1wiK2MrXCInOiBUaGUgY29uc3RydWN0ZWQgZWxlbWVudCdzIG93bmVyIGRvY3VtZW50IGlzIGluY29ycmVjdC5cIik7aWYoZi5sb2NhbE5hbWUhPT1jKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGNvbnN0cnVjdCAnXCIrYytcIic6IFRoZSBjb25zdHJ1Y3RlZCBlbGVtZW50J3MgbG9jYWwgbmFtZSBpcyBpbmNvcnJlY3QuXCIpO1xucmV0dXJuIGZ9Y2F0Y2goZyl7cmV0dXJuIEZnKGcpLGI9bnVsbD09PWQ/SGYuY2FsbChiLGMpOklmLmNhbGwoYixkLGMpLE9iamVjdC5zZXRQcm90b3R5cGVPZihiLEhUTUxVbmtub3duRWxlbWVudC5wcm90b3R5cGUpLGIuX19DRV9zdGF0ZT0yLGIuX19DRV9kZWZpbml0aW9uPXZvaWQgMCx6ZyhhLGIpLGJ9Yj1udWxsPT09ZD9IZi5jYWxsKGIsYyk6SWYuY2FsbChiLGQsYyk7emcoYSxiKTtyZXR1cm4gYn1cbmZ1bmN0aW9uIEZnKGEpe3ZhciBiPWEubWVzc2FnZSxjPWEuc291cmNlVVJMfHxhLmZpbGVOYW1lfHxcIlwiLGQ9YS5saW5lfHxhLmxpbmVOdW1iZXJ8fDAsZT1hLmNvbHVtbnx8YS5jb2x1bW5OdW1iZXJ8fDAsZj12b2lkIDA7dm9pZCAwPT09RXJyb3JFdmVudC5wcm90b3R5cGUuaW5pdEVycm9yRXZlbnQ/Zj1uZXcgRXJyb3JFdmVudChcImVycm9yXCIse2NhbmNlbGFibGU6ITAsbWVzc2FnZTpiLGZpbGVuYW1lOmMsbGluZW5vOmQsY29sbm86ZSxlcnJvcjphfSk6KGY9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJFcnJvckV2ZW50XCIpLGYuaW5pdEVycm9yRXZlbnQoXCJlcnJvclwiLCExLCEwLGIsYyxkKSxmLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsXCJkZWZhdWx0UHJldmVudGVkXCIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH19KX0pO3ZvaWQgMD09PWYuZXJyb3ImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLFwiZXJyb3JcIixcbntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTt3aW5kb3cuZGlzcGF0Y2hFdmVudChmKTtmLmRlZmF1bHRQcmV2ZW50ZWR8fGNvbnNvbGUuZXJyb3IoYSl9O2Z1bmN0aW9uIEhnKCl7dmFyIGE9dGhpczt0aGlzLkk9dm9pZCAwO3RoaXMuSGE9bmV3IFByb21pc2UoZnVuY3Rpb24oYil7YS5nPWJ9KX1IZy5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihhKXtpZih0aGlzLkkpdGhyb3cgRXJyb3IoXCJBbHJlYWR5IHJlc29sdmVkLlwiKTt0aGlzLkk9YTt0aGlzLmcoYSl9O2Z1bmN0aW9uIElnKGEpe3ZhciBiPWRvY3VtZW50O3RoaXMuWD12b2lkIDA7dGhpcy5TPWE7dGhpcy5nPWI7RGcodGhpcy5TLHRoaXMuZyk7XCJsb2FkaW5nXCI9PT10aGlzLmcucmVhZHlTdGF0ZSYmKHRoaXMuWD1uZXcgTXV0YXRpb25PYnNlcnZlcih0aGlzLmguYmluZCh0aGlzKSksdGhpcy5YLm9ic2VydmUodGhpcy5nLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pKX1mdW5jdGlvbiBKZyhhKXthLlgmJmEuWC5kaXNjb25uZWN0KCl9SWcucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nLnJlYWR5U3RhdGU7XCJpbnRlcmFjdGl2ZVwiIT09YiYmXCJjb21wbGV0ZVwiIT09Ynx8SmcodGhpcyk7Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKylmb3IodmFyIGM9YVtiXS5hZGRlZE5vZGVzLGQ9MDtkPGMubGVuZ3RoO2QrKylEZyh0aGlzLlMsY1tkXSl9O2Z1bmN0aW9uIFUoYSl7dGhpcy5rYT1uZXcgTWFwO3RoaXMubGE9bmV3IE1hcDt0aGlzLkNhPW5ldyBNYXA7dGhpcy50YT0hMTt0aGlzLndhPW5ldyBNYXA7dGhpcy5qYT1mdW5jdGlvbihiKXtyZXR1cm4gYigpfTt0aGlzLlY9ITE7dGhpcy5tYT1bXTt0aGlzLlM9YTt0aGlzLkRhPWEubmI/bmV3IElnKGEpOnZvaWQgMH12PVUucHJvdG90eXBlO3YuZWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2lmKCEoYiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ3VzdG9tIGVsZW1lbnQgY29uc3RydWN0b3IgZ2V0dGVycyBtdXN0IGJlIGZ1bmN0aW9ucy5cIik7S2codGhpcyxhKTt0aGlzLmthLnNldChhLGIpO3RoaXMubWEucHVzaChhKTt0aGlzLlZ8fCh0aGlzLlY9ITAsdGhpcy5qYShmdW5jdGlvbigpe3JldHVybiBMZyhjKX0pKX07XG52LmRlZmluZT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7aWYoIShiIGluc3RhbmNlb2YgRnVuY3Rpb24pKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvcnMgbXVzdCBiZSBmdW5jdGlvbnMuXCIpO0tnKHRoaXMsYSk7TWcodGhpcyxhLGIpO3RoaXMubWEucHVzaChhKTt0aGlzLlZ8fCh0aGlzLlY9ITAsdGhpcy5qYShmdW5jdGlvbigpe3JldHVybiBMZyhjKX0pKX07ZnVuY3Rpb24gS2coYSxiKXtpZighb2coYikpdGhyb3cgbmV3IFN5bnRheEVycm9yKFwiVGhlIGVsZW1lbnQgbmFtZSAnXCIrYitcIicgaXMgbm90IHZhbGlkLlwiKTtpZihFZyhhLGIpKXRocm93IEVycm9yKFwiQSBjdXN0b20gZWxlbWVudCB3aXRoIG5hbWUgJ1wiKyhiK1wiJyBoYXMgYWxyZWFkeSBiZWVuIGRlZmluZWQuXCIpKTtpZihhLnRhKXRocm93IEVycm9yKFwiQSBjdXN0b20gZWxlbWVudCBpcyBhbHJlYWR5IGJlaW5nIGRlZmluZWQuXCIpO31cbmZ1bmN0aW9uIE1nKGEsYixjKXthLnRhPSEwO3ZhciBkO3RyeXt2YXIgZT1jLnByb3RvdHlwZTtpZighKGUgaW5zdGFuY2VvZiBPYmplY3QpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJUaGUgY3VzdG9tIGVsZW1lbnQgY29uc3RydWN0b3IncyBwcm90b3R5cGUgaXMgbm90IGFuIG9iamVjdC5cIik7dmFyIGY9ZnVuY3Rpb24obSl7dmFyIHE9ZVttXTtpZih2b2lkIDAhPT1xJiYhKHEgaW5zdGFuY2VvZiBGdW5jdGlvbikpdGhyb3cgRXJyb3IoXCJUaGUgJ1wiK20rXCInIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbi5cIik7cmV0dXJuIHF9O3ZhciBnPWYoXCJjb25uZWN0ZWRDYWxsYmFja1wiKTt2YXIgaD1mKFwiZGlzY29ubmVjdGVkQ2FsbGJhY2tcIik7dmFyIGs9ZihcImFkb3B0ZWRDYWxsYmFja1wiKTt2YXIgbD0oZD1mKFwiYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrXCIpKSYmYy5vYnNlcnZlZEF0dHJpYnV0ZXN8fFtdfWNhdGNoKG0pe3Rocm93IG07fWZpbmFsbHl7YS50YT0hMX1jPXtsb2NhbE5hbWU6YixcbmNvbnN0cnVjdG9yRnVuY3Rpb246Yyxjb25uZWN0ZWRDYWxsYmFjazpnLGRpc2Nvbm5lY3RlZENhbGxiYWNrOmgsYWRvcHRlZENhbGxiYWNrOmssYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrOmQsb2JzZXJ2ZWRBdHRyaWJ1dGVzOmwsY29uc3RydWN0aW9uU3RhY2s6W119O2EubGEuc2V0KGIsYyk7YS5DYS5zZXQoYy5jb25zdHJ1Y3RvckZ1bmN0aW9uLGMpO3JldHVybiBjfXYudXBncmFkZT1mdW5jdGlvbihhKXtEZyh0aGlzLlMsYSl9O1xuZnVuY3Rpb24gTGcoYSl7aWYoITEhPT1hLlYpe2EuVj0hMTtmb3IodmFyIGI9W10sYz1hLm1hLGQ9bmV3IE1hcCxlPTA7ZTxjLmxlbmd0aDtlKyspZC5zZXQoY1tlXSxbXSk7RGcoYS5TLGRvY3VtZW50LHt1cGdyYWRlOmZ1bmN0aW9uKGspe2lmKHZvaWQgMD09PWsuX19DRV9zdGF0ZSl7dmFyIGw9ay5sb2NhbE5hbWUsbT1kLmdldChsKTttP20ucHVzaChrKTphLmxhLmhhcyhsKSYmYi5wdXNoKGspfX19KTtmb3IoZT0wO2U8Yi5sZW5ndGg7ZSsrKUJnKGEuUyxiW2VdKTtmb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKXtmb3IodmFyIGY9Y1tlXSxnPWQuZ2V0KGYpLGg9MDtoPGcubGVuZ3RoO2grKylCZyhhLlMsZ1toXSk7KGY9YS53YS5nZXQoZikpJiZmLnJlc29sdmUodm9pZCAwKX1jLmxlbmd0aD0wfX12LmdldD1mdW5jdGlvbihhKXtpZihhPUVnKHRoaXMsYSkpcmV0dXJuIGEuY29uc3RydWN0b3JGdW5jdGlvbn07XG52LndoZW5EZWZpbmVkPWZ1bmN0aW9uKGEpe2lmKCFvZyhhKSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IFN5bnRheEVycm9yKFwiJ1wiK2ErXCInIGlzIG5vdCBhIHZhbGlkIGN1c3RvbSBlbGVtZW50IG5hbWUuXCIpKTt2YXIgYj10aGlzLndhLmdldChhKTtpZihiKXJldHVybiBiLkhhO2I9bmV3IEhnO3RoaXMud2Euc2V0KGEsYik7dmFyIGM9dGhpcy5sYS5oYXMoYSl8fHRoaXMua2EuaGFzKGEpO2E9LTE9PT10aGlzLm1hLmluZGV4T2YoYSk7YyYmYSYmYi5yZXNvbHZlKHZvaWQgMCk7cmV0dXJuIGIuSGF9O3YucG9seWZpbGxXcmFwRmx1c2hDYWxsYmFjaz1mdW5jdGlvbihhKXt0aGlzLkRhJiZKZyh0aGlzLkRhKTt2YXIgYj10aGlzLmphO3RoaXMuamE9ZnVuY3Rpb24oYyl7cmV0dXJuIGEoZnVuY3Rpb24oKXtyZXR1cm4gYihjKX0pfX07XG5mdW5jdGlvbiBFZyhhLGIpe3ZhciBjPWEubGEuZ2V0KGIpO2lmKGMpcmV0dXJuIGM7aWYoYz1hLmthLmdldChiKSl7YS5rYS5kZWxldGUoYik7dHJ5e3JldHVybiBNZyhhLGIsYygpKX1jYXRjaChkKXtGZyhkKX19fXdpbmRvdy5DdXN0b21FbGVtZW50UmVnaXN0cnk9VTtVLnByb3RvdHlwZS5kZWZpbmU9VS5wcm90b3R5cGUuZGVmaW5lO1UucHJvdG90eXBlLnVwZ3JhZGU9VS5wcm90b3R5cGUudXBncmFkZTtVLnByb3RvdHlwZS5nZXQ9VS5wcm90b3R5cGUuZ2V0O1UucHJvdG90eXBlLndoZW5EZWZpbmVkPVUucHJvdG90eXBlLndoZW5EZWZpbmVkO1UucHJvdG90eXBlLnBvbHlmaWxsRGVmaW5lTGF6eT1VLnByb3RvdHlwZS5lYjtVLnByb3RvdHlwZS5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrPVUucHJvdG90eXBlLnBvbHlmaWxsV3JhcEZsdXNoQ2FsbGJhY2s7ZnVuY3Rpb24gTmcoYSxiLGMpe2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2Zvcih2YXIgZz1bXSxoPTA7aDxhcmd1bWVudHMubGVuZ3RoOysraClnW2hdPWFyZ3VtZW50c1toXTtoPVtdO2Zvcih2YXIgaz1bXSxsPTA7bDxnLmxlbmd0aDtsKyspe3ZhciBtPWdbbF07bSBpbnN0YW5jZW9mIEVsZW1lbnQmJlQobSkmJmsucHVzaChtKTtpZihtIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudClmb3IobT1tLmZpcnN0Q2hpbGQ7bTttPW0ubmV4dFNpYmxpbmcpaC5wdXNoKG0pO2Vsc2UgaC5wdXNoKG0pfWUuYXBwbHkodGhpcyxnKTtmb3IoZz0wO2c8ay5sZW5ndGg7ZysrKUNnKGEsa1tnXSk7aWYoVCh0aGlzKSlmb3IoZz0wO2c8aC5sZW5ndGg7ZysrKWs9aFtnXSxrIGluc3RhbmNlb2YgRWxlbWVudCYmQWcoYSxrKX19dm9pZCAwIT09Yy5wcmVwZW5kJiYoYi5wcmVwZW5kPWQoYy5wcmVwZW5kKSk7dm9pZCAwIT09Yy5hcHBlbmQmJihiLmFwcGVuZD1kKGMuYXBwZW5kKSl9XG47ZnVuY3Rpb24gT2coYSl7RG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oYil7cmV0dXJuIEdnKGEsdGhpcyxiLG51bGwpfTtEb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZT1mdW5jdGlvbihiLGMpe2I9SmYuY2FsbCh0aGlzLGIsISFjKTt0aGlzLl9fQ0VfcmVnaXN0cnk/RGcoYSxiKTp5ZyhhLGIpO3JldHVybiBifTtEb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRWxlbWVudE5TPWZ1bmN0aW9uKGIsYyl7cmV0dXJuIEdnKGEsdGhpcyxjLGIpfTtOZyhhLERvY3VtZW50LnByb3RvdHlwZSx7cHJlcGVuZDpLZixhcHBlbmQ6TGZ9KX07ZnVuY3Rpb24gUGcoYSl7ZnVuY3Rpb24gYihkKXtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciBmPVtdLGc9MDtnPGFyZ3VtZW50cy5sZW5ndGg7KytnKWZbZ109YXJndW1lbnRzW2ddO2c9W107Zm9yKHZhciBoPVtdLGs9MDtrPGYubGVuZ3RoO2srKyl7dmFyIGw9ZltrXTtsIGluc3RhbmNlb2YgRWxlbWVudCYmVChsKSYmaC5wdXNoKGwpO2lmKGwgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KWZvcihsPWwuZmlyc3RDaGlsZDtsO2w9bC5uZXh0U2libGluZylnLnB1c2gobCk7ZWxzZSBnLnB1c2gobCl9ZC5hcHBseSh0aGlzLGYpO2ZvcihmPTA7ZjxoLmxlbmd0aDtmKyspQ2coYSxoW2ZdKTtpZihUKHRoaXMpKWZvcihmPTA7ZjxnLmxlbmd0aDtmKyspaD1nW2ZdLGggaW5zdGFuY2VvZiBFbGVtZW50JiZBZyhhLGgpfX12YXIgYz1FbGVtZW50LnByb3RvdHlwZTt2b2lkIDAhPT1mZyYmKGMuYmVmb3JlPWIoZmcpKTt2b2lkIDAhPT1nZyYmKGMuYWZ0ZXI9YihnZykpO3ZvaWQgMCE9PVxuaGcmJihjLnJlcGxhY2VXaXRoPWZ1bmN0aW9uKGQpe2Zvcih2YXIgZT1bXSxmPTA7Zjxhcmd1bWVudHMubGVuZ3RoOysrZillW2ZdPWFyZ3VtZW50c1tmXTtmPVtdO2Zvcih2YXIgZz1bXSxoPTA7aDxlLmxlbmd0aDtoKyspe3ZhciBrPWVbaF07ayBpbnN0YW5jZW9mIEVsZW1lbnQmJlQoaykmJmcucHVzaChrKTtpZihrIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudClmb3Ioaz1rLmZpcnN0Q2hpbGQ7aztrPWsubmV4dFNpYmxpbmcpZi5wdXNoKGspO2Vsc2UgZi5wdXNoKGspfWg9VCh0aGlzKTtoZy5hcHBseSh0aGlzLGUpO2ZvcihlPTA7ZTxnLmxlbmd0aDtlKyspQ2coYSxnW2VdKTtpZihoKWZvcihDZyhhLHRoaXMpLGU9MDtlPGYubGVuZ3RoO2UrKylnPWZbZV0sZyBpbnN0YW5jZW9mIEVsZW1lbnQmJkFnKGEsZyl9KTt2b2lkIDAhPT1pZyYmKGMucmVtb3ZlPWZ1bmN0aW9uKCl7dmFyIGQ9VCh0aGlzKTtpZy5jYWxsKHRoaXMpO2QmJkNnKGEsdGhpcyl9KX07ZnVuY3Rpb24gUWcoYSl7ZnVuY3Rpb24gYihlLGYpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiaW5uZXJIVE1MXCIse2VudW1lcmFibGU6Zi5lbnVtZXJhYmxlLGNvbmZpZ3VyYWJsZTohMCxnZXQ6Zi5nZXQsc2V0OmZ1bmN0aW9uKGcpe3ZhciBoPXRoaXMsaz12b2lkIDA7VCh0aGlzKSYmKGs9W10sdmcoYSx0aGlzLGZ1bmN0aW9uKHEpe3EhPT1oJiZrLnB1c2gocSl9KSk7Zi5zZXQuY2FsbCh0aGlzLGcpO2lmKGspZm9yKHZhciBsPTA7bDxrLmxlbmd0aDtsKyspe3ZhciBtPWtbbF07MT09PW0uX19DRV9zdGF0ZSYmYS5kaXNjb25uZWN0ZWRDYWxsYmFjayhtKX10aGlzLm93bmVyRG9jdW1lbnQuX19DRV9yZWdpc3RyeT9EZyhhLHRoaXMpOnlnKGEsdGhpcyk7cmV0dXJuIGd9fSl9ZnVuY3Rpb24gYyhlLGYpe2UuaW5zZXJ0QWRqYWNlbnRFbGVtZW50PWZ1bmN0aW9uKGcsaCl7dmFyIGs9VChoKTtnPWYuY2FsbCh0aGlzLGcsaCk7ayYmQ2coYSxoKTtUKGcpJiZBZyhhLGgpO3JldHVybiBnfX1cbmZ1bmN0aW9uIGQoZSxmKXtmdW5jdGlvbiBnKGgsayl7Zm9yKHZhciBsPVtdO2ghPT1rO2g9aC5uZXh0U2libGluZylsLnB1c2goaCk7Zm9yKGs9MDtrPGwubGVuZ3RoO2srKylEZyhhLGxba10pfWUuaW5zZXJ0QWRqYWNlbnRIVE1MPWZ1bmN0aW9uKGgsayl7aD1oLnRvTG93ZXJDYXNlKCk7aWYoXCJiZWZvcmViZWdpblwiPT09aCl7dmFyIGw9dGhpcy5wcmV2aW91c1NpYmxpbmc7Zi5jYWxsKHRoaXMsaCxrKTtnKGx8fHRoaXMucGFyZW50Tm9kZS5maXJzdENoaWxkLHRoaXMpfWVsc2UgaWYoXCJhZnRlcmJlZ2luXCI9PT1oKWw9dGhpcy5maXJzdENoaWxkLGYuY2FsbCh0aGlzLGgsayksZyh0aGlzLmZpcnN0Q2hpbGQsbCk7ZWxzZSBpZihcImJlZm9yZWVuZFwiPT09aClsPXRoaXMubGFzdENoaWxkLGYuY2FsbCh0aGlzLGgsayksZyhsfHx0aGlzLmZpcnN0Q2hpbGQsbnVsbCk7ZWxzZSBpZihcImFmdGVyZW5kXCI9PT1oKWw9dGhpcy5uZXh0U2libGluZyxmLmNhbGwodGhpcyxoLGspLGcodGhpcy5uZXh0U2libGluZyxcbmwpO2Vsc2UgdGhyb3cgbmV3IFN5bnRheEVycm9yKFwiVGhlIHZhbHVlIHByb3ZpZGVkIChcIitTdHJpbmcoaCkrXCIpIGlzIG5vdCBvbmUgb2YgJ2JlZm9yZWJlZ2luJywgJ2FmdGVyYmVnaW4nLCAnYmVmb3JlZW5kJywgb3IgJ2FmdGVyZW5kJy5cIik7fX1VZiYmKEVsZW1lbnQucHJvdG90eXBlLmF0dGFjaFNoYWRvdz1mdW5jdGlvbihlKXtlPVVmLmNhbGwodGhpcyxlKTtpZihhLlcmJiFlLl9fQ0VfcGF0Y2hlZCl7ZS5fX0NFX3BhdGNoZWQ9ITA7Zm9yKHZhciBmPTA7ZjxhLmNhLmxlbmd0aDtmKyspYS5jYVtmXShlKX1yZXR1cm4gdGhpcy5fX0NFX3NoYWRvd1Jvb3Q9ZX0pO1ZmJiZWZi5nZXQ/YihFbGVtZW50LnByb3RvdHlwZSxWZik6a2cmJmtnLmdldD9iKEhUTUxFbGVtZW50LnByb3RvdHlwZSxrZyk6eGcoYSxmdW5jdGlvbihlKXtiKGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBPZi5jYWxsKHRoaXMsITApLmlubmVySFRNTH0sc2V0OmZ1bmN0aW9uKGYpe3ZhciBnPVxuXCJ0ZW1wbGF0ZVwiPT09dGhpcy5sb2NhbE5hbWUsaD1nP3RoaXMuY29udGVudDp0aGlzLGs9SWYuY2FsbChkb2N1bWVudCx0aGlzLm5hbWVzcGFjZVVSSSx0aGlzLmxvY2FsTmFtZSk7Zm9yKGsuaW5uZXJIVE1MPWY7MDxoLmNoaWxkTm9kZXMubGVuZ3RoOylSZi5jYWxsKGgsaC5jaGlsZE5vZGVzWzBdKTtmb3IoZj1nP2suY29udGVudDprOzA8Zi5jaGlsZE5vZGVzLmxlbmd0aDspUGYuY2FsbChoLGYuY2hpbGROb2Rlc1swXSl9fSl9KTtFbGVtZW50LnByb3RvdHlwZS5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oZSxmKXtpZigxIT09dGhpcy5fX0NFX3N0YXRlKXJldHVybiBYZi5jYWxsKHRoaXMsZSxmKTt2YXIgZz1XZi5jYWxsKHRoaXMsZSk7WGYuY2FsbCh0aGlzLGUsZik7Zj1XZi5jYWxsKHRoaXMsZSk7YS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodGhpcyxlLGcsZixudWxsKX07RWxlbWVudC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTlM9ZnVuY3Rpb24oZSxmLGcpe2lmKDEhPT10aGlzLl9fQ0Vfc3RhdGUpcmV0dXJuICRmLmNhbGwodGhpcyxcbmUsZixnKTt2YXIgaD1aZi5jYWxsKHRoaXMsZSxmKTskZi5jYWxsKHRoaXMsZSxmLGcpO2c9WmYuY2FsbCh0aGlzLGUsZik7YS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodGhpcyxmLGgsZyxlKX07RWxlbWVudC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlPWZ1bmN0aW9uKGUpe2lmKDEhPT10aGlzLl9fQ0Vfc3RhdGUpcmV0dXJuIFlmLmNhbGwodGhpcyxlKTt2YXIgZj1XZi5jYWxsKHRoaXMsZSk7WWYuY2FsbCh0aGlzLGUpO251bGwhPT1mJiZhLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0aGlzLGUsZixudWxsLG51bGwpfTtFbGVtZW50LnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGVOUz1mdW5jdGlvbihlLGYpe2lmKDEhPT10aGlzLl9fQ0Vfc3RhdGUpcmV0dXJuIGFnLmNhbGwodGhpcyxlLGYpO3ZhciBnPVpmLmNhbGwodGhpcyxlLGYpO2FnLmNhbGwodGhpcyxlLGYpO3ZhciBoPVpmLmNhbGwodGhpcyxlLGYpO2chPT1oJiZhLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0aGlzLFxuZixnLGgsZSl9O2xnP2MoSFRNTEVsZW1lbnQucHJvdG90eXBlLGxnKTpiZyYmYyhFbGVtZW50LnByb3RvdHlwZSxiZyk7bWc/ZChIVE1MRWxlbWVudC5wcm90b3R5cGUsbWcpOmNnJiZkKEVsZW1lbnQucHJvdG90eXBlLGNnKTtOZyhhLEVsZW1lbnQucHJvdG90eXBlLHtwcmVwZW5kOmRnLGFwcGVuZDplZ30pO1BnKGEpfTt2YXIgUmc9e307ZnVuY3Rpb24gU2coYSl7ZnVuY3Rpb24gYigpe3ZhciBjPXRoaXMuY29uc3RydWN0b3I7dmFyIGQ9ZG9jdW1lbnQuX19DRV9yZWdpc3RyeS5DYS5nZXQoYyk7aWYoIWQpdGhyb3cgRXJyb3IoXCJGYWlsZWQgdG8gY29uc3RydWN0IGEgY3VzdG9tIGVsZW1lbnQ6IFRoZSBjb25zdHJ1Y3RvciB3YXMgbm90IHJlZ2lzdGVyZWQgd2l0aCBgY3VzdG9tRWxlbWVudHNgLlwiKTt2YXIgZT1kLmNvbnN0cnVjdGlvblN0YWNrO2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gZT1IZi5jYWxsKGRvY3VtZW50LGQubG9jYWxOYW1lKSxPYmplY3Quc2V0UHJvdG90eXBlT2YoZSxjLnByb3RvdHlwZSksZS5fX0NFX3N0YXRlPTEsZS5fX0NFX2RlZmluaXRpb249ZCx6ZyhhLGUpLGU7dmFyIGY9ZS5sZW5ndGgtMSxnPWVbZl07aWYoZz09PVJnKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGNvbnN0cnVjdCAnXCIrZC5sb2NhbE5hbWUrXCInOiBUaGlzIGVsZW1lbnQgd2FzIGFscmVhZHkgY29uc3RydWN0ZWQuXCIpO2VbZl09XG5SZztPYmplY3Quc2V0UHJvdG90eXBlT2YoZyxjLnByb3RvdHlwZSk7emcoYSxnKTtyZXR1cm4gZ31iLnByb3RvdHlwZT1qZy5wcm90b3R5cGU7T2JqZWN0LmRlZmluZVByb3BlcnR5KEhUTUxFbGVtZW50LnByb3RvdHlwZSxcImNvbnN0cnVjdG9yXCIse3dyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHZhbHVlOmJ9KTt3aW5kb3cuSFRNTEVsZW1lbnQ9Yn07ZnVuY3Rpb24gVGcoYSl7ZnVuY3Rpb24gYihjLGQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShjLFwidGV4dENvbnRlbnRcIix7ZW51bWVyYWJsZTpkLmVudW1lcmFibGUsY29uZmlndXJhYmxlOiEwLGdldDpkLmdldCxzZXQ6ZnVuY3Rpb24oZSl7aWYodGhpcy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKWQuc2V0LmNhbGwodGhpcyxlKTtlbHNle3ZhciBmPXZvaWQgMDtpZih0aGlzLmZpcnN0Q2hpbGQpe3ZhciBnPXRoaXMuY2hpbGROb2RlcyxoPWcubGVuZ3RoO2lmKDA8aCYmVCh0aGlzKSl7Zj1BcnJheShoKTtmb3IodmFyIGs9MDtrPGg7aysrKWZba109Z1trXX19ZC5zZXQuY2FsbCh0aGlzLGUpO2lmKGYpZm9yKGU9MDtlPGYubGVuZ3RoO2UrKylDZyhhLGZbZV0pfX19KX1Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmU9ZnVuY3Rpb24oYyxkKXtpZihjIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCl7dmFyIGU9cWcoYyk7Yz1RZi5jYWxsKHRoaXMsYyxkKTtpZihUKHRoaXMpKWZvcihkPVxuMDtkPGUubGVuZ3RoO2QrKylBZyhhLGVbZF0pO3JldHVybiBjfWU9YyBpbnN0YW5jZW9mIEVsZW1lbnQmJlQoYyk7ZD1RZi5jYWxsKHRoaXMsYyxkKTtlJiZDZyhhLGMpO1QodGhpcykmJkFnKGEsYyk7cmV0dXJuIGR9O05vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkPWZ1bmN0aW9uKGMpe2lmKGMgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KXt2YXIgZD1xZyhjKTtjPVBmLmNhbGwodGhpcyxjKTtpZihUKHRoaXMpKWZvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKUFnKGEsZFtlXSk7cmV0dXJuIGN9ZD1jIGluc3RhbmNlb2YgRWxlbWVudCYmVChjKTtlPVBmLmNhbGwodGhpcyxjKTtkJiZDZyhhLGMpO1QodGhpcykmJkFnKGEsYyk7cmV0dXJuIGV9O05vZGUucHJvdG90eXBlLmNsb25lTm9kZT1mdW5jdGlvbihjKXtjPU9mLmNhbGwodGhpcywhIWMpO3RoaXMub3duZXJEb2N1bWVudC5fX0NFX3JlZ2lzdHJ5P0RnKGEsYyk6eWcoYSxjKTtyZXR1cm4gY307Tm9kZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGQ9XG5mdW5jdGlvbihjKXt2YXIgZD1jIGluc3RhbmNlb2YgRWxlbWVudCYmVChjKSxlPVJmLmNhbGwodGhpcyxjKTtkJiZDZyhhLGMpO3JldHVybiBlfTtOb2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQ9ZnVuY3Rpb24oYyxkKXtpZihjIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCl7dmFyIGU9cWcoYyk7Yz1TZi5jYWxsKHRoaXMsYyxkKTtpZihUKHRoaXMpKWZvcihDZyhhLGQpLGQ9MDtkPGUubGVuZ3RoO2QrKylBZyhhLGVbZF0pO3JldHVybiBjfWU9YyBpbnN0YW5jZW9mIEVsZW1lbnQmJlQoYyk7dmFyIGY9U2YuY2FsbCh0aGlzLGMsZCksZz1UKHRoaXMpO2cmJkNnKGEsZCk7ZSYmQ2coYSxjKTtnJiZBZyhhLGMpO3JldHVybiBmfTtUZiYmVGYuZ2V0P2IoTm9kZS5wcm90b3R5cGUsVGYpOndnKGEsZnVuY3Rpb24oYyl7YihjLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIGQ9W10sZT10aGlzLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpZS5ub2RlVHlwZSE9PVxuTm9kZS5DT01NRU5UX05PREUmJmQucHVzaChlLnRleHRDb250ZW50KTtyZXR1cm4gZC5qb2luKFwiXCIpfSxzZXQ6ZnVuY3Rpb24oZCl7Zm9yKDt0aGlzLmZpcnN0Q2hpbGQ7KVJmLmNhbGwodGhpcyx0aGlzLmZpcnN0Q2hpbGQpO251bGwhPWQmJlwiXCIhPT1kJiZQZi5jYWxsKHRoaXMsZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZCkpfX0pfSl9O3ZhciB1Zz13aW5kb3cuY3VzdG9tRWxlbWVudHM7ZnVuY3Rpb24gVWcoKXt2YXIgYT1uZXcgdGc7U2coYSk7T2coYSk7TmcoYSxEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSx7cHJlcGVuZDpNZixhcHBlbmQ6TmZ9KTtUZyhhKTtRZyhhKTthPW5ldyBVKGEpO2RvY3VtZW50Ll9fQ0VfcmVnaXN0cnk9YTtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LFwiY3VzdG9tRWxlbWVudHNcIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6YX0pfXVnJiYhdWcuZm9yY2VQb2x5ZmlsbCYmXCJmdW5jdGlvblwiPT10eXBlb2YgdWcuZGVmaW5lJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiB1Zy5nZXR8fFVnKCk7d2luZG93Ll9fQ0VfaW5zdGFsbFBvbHlmaWxsPVVnOy8qXG5cbkNvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG5UaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0XG5UaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dFxuVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0XG5Db2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzb1xuc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHRcbiovXG5mdW5jdGlvbiBWZygpe3RoaXMuZW5kPXRoaXMuc3RhcnQ9MDt0aGlzLnJ1bGVzPXRoaXMucGFyZW50PXRoaXMucHJldmlvdXM9bnVsbDt0aGlzLmNzc1RleHQ9dGhpcy5wYXJzZWRDc3NUZXh0PVwiXCI7dGhpcy5hdFJ1bGU9ITE7dGhpcy50eXBlPTA7dGhpcy5wYXJzZWRTZWxlY3Rvcj10aGlzLnNlbGVjdG9yPXRoaXMua2V5ZnJhbWVzTmFtZT1cIlwifVxuZnVuY3Rpb24gV2coYSl7dmFyIGI9YT1hLnJlcGxhY2UoWGcsXCJcIikucmVwbGFjZShZZyxcIlwiKSxjPW5ldyBWZztjLnN0YXJ0PTA7Yy5lbmQ9Yi5sZW5ndGg7Zm9yKHZhciBkPWMsZT0wLGY9Yi5sZW5ndGg7ZTxmO2UrKylpZihcIntcIj09PWJbZV0pe2QucnVsZXN8fChkLnJ1bGVzPVtdKTt2YXIgZz1kLGg9Zy5ydWxlc1tnLnJ1bGVzLmxlbmd0aC0xXXx8bnVsbDtkPW5ldyBWZztkLnN0YXJ0PWUrMTtkLnBhcmVudD1nO2QucHJldmlvdXM9aDtnLnJ1bGVzLnB1c2goZCl9ZWxzZVwifVwiPT09YltlXSYmKGQuZW5kPWUrMSxkPWQucGFyZW50fHxjKTtyZXR1cm4gWmcoYyxhKX1cbmZ1bmN0aW9uIFpnKGEsYil7dmFyIGM9Yi5zdWJzdHJpbmcoYS5zdGFydCxhLmVuZC0xKTthLnBhcnNlZENzc1RleHQ9YS5jc3NUZXh0PWMudHJpbSgpO2EucGFyZW50JiYoYz1iLnN1YnN0cmluZyhhLnByZXZpb3VzP2EucHJldmlvdXMuZW5kOmEucGFyZW50LnN0YXJ0LGEuc3RhcnQtMSksYz0kZyhjKSxjPWMucmVwbGFjZShhaCxcIiBcIiksYz1jLnN1YnN0cmluZyhjLmxhc3RJbmRleE9mKFwiO1wiKSsxKSxjPWEucGFyc2VkU2VsZWN0b3I9YS5zZWxlY3Rvcj1jLnRyaW0oKSxhLmF0UnVsZT0wPT09Yy5pbmRleE9mKFwiQFwiKSxhLmF0UnVsZT8wPT09Yy5pbmRleE9mKFwiQG1lZGlhXCIpP2EudHlwZT1iaDpjLm1hdGNoKGNoKSYmKGEudHlwZT1kaCxhLmtleWZyYW1lc05hbWU9YS5zZWxlY3Rvci5zcGxpdChhaCkucG9wKCkpOmEudHlwZT0wPT09Yy5pbmRleE9mKFwiLS1cIik/ZWg6ZmgpO2lmKGM9YS5ydWxlcylmb3IodmFyIGQ9MCxlPWMubGVuZ3RoLGY9dm9pZCAwO2Q8ZSYmKGY9Y1tkXSk7ZCsrKVpnKGYsXG5iKTtyZXR1cm4gYX1mdW5jdGlvbiAkZyhhKXtyZXR1cm4gYS5yZXBsYWNlKC9cXFxcKFswLTlhLWZdezEsNn0pXFxzL2dpLGZ1bmN0aW9uKGIsYyl7Yj1jO2ZvcihjPTYtYi5sZW5ndGg7Yy0tOyliPVwiMFwiK2I7cmV0dXJuXCJcXFxcXCIrYn0pfVxuZnVuY3Rpb24gZ2goYSxiLGMpe2M9dm9pZCAwPT09Yz9cIlwiOmM7dmFyIGQ9XCJcIjtpZihhLmNzc1RleHR8fGEucnVsZXMpe3ZhciBlPWEucnVsZXMsZjtpZihmPWUpZj1lWzBdLGY9IShmJiZmLnNlbGVjdG9yJiYwPT09Zi5zZWxlY3Rvci5pbmRleE9mKFwiLS1cIikpO2lmKGYpe2Y9MDtmb3IodmFyIGc9ZS5sZW5ndGgsaD12b2lkIDA7ZjxnJiYoaD1lW2ZdKTtmKyspZD1naChoLGIsZCl9ZWxzZSBiP2I9YS5jc3NUZXh0OihiPWEuY3NzVGV4dCxiPWIucmVwbGFjZShoaCxcIlwiKS5yZXBsYWNlKGloLFwiXCIpLGI9Yi5yZXBsYWNlKGpoLFwiXCIpLnJlcGxhY2Uoa2gsXCJcIikpLChkPWIudHJpbSgpKSYmKGQ9XCIgIFwiK2QrXCJcXG5cIil9ZCYmKGEuc2VsZWN0b3ImJihjKz1hLnNlbGVjdG9yK1wiIHtcXG5cIiksYys9ZCxhLnNlbGVjdG9yJiYoYys9XCJ9XFxuXFxuXCIpKTtyZXR1cm4gY31cbnZhciBmaD0xLGRoPTcsYmg9NCxlaD0xRTMsWGc9L1xcL1xcKlteKl0qXFwqKyhbXi8qXVteKl0qXFwqKykqXFwvL2dpbSxZZz0vQGltcG9ydFteO10qOy9naW0saGg9Lyg/Ol5bXjtcXC1cXHN9XSspPy0tW147e31dKj86W157fTtdKj8oPzpbO1xcbl18JCkvZ2ltLGloPS8oPzpeW147XFwtXFxzfV0rKT8tLVteO3t9XSo/Oltee307XSo/e1tefV0qP30oPzpbO1xcbl18JCk/L2dpbSxqaD0vQGFwcGx5XFxzKlxcKD9bXik7XSpcXCk/XFxzKig/Ols7XFxuXXwkKT8vZ2ltLGtoPS9bXjs6XSo/OlteO10qP3ZhclxcKFteO10qXFwpKD86WztcXG5dfCQpPy9naW0sY2g9L15AW15cXHNdKmtleWZyYW1lcy8sYWg9L1xccysvZzt2YXIgVj0hKHdpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmluVXNlKSxsaDtmdW5jdGlvbiBtaChhKXtsaD1hJiZhLnNoaW1jc3Nwcm9wZXJ0aWVzPyExOlZ8fCEobmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQXBwbGVXZWJLaXRcXC82MDF8RWRnZVxcLzE1Lyl8fCF3aW5kb3cuQ1NTfHwhQ1NTLnN1cHBvcnRzfHwhQ1NTLnN1cHBvcnRzKFwiYm94LXNoYWRvd1wiLFwiMCAwIDAgdmFyKC0tZm9vKVwiKSl9dmFyIG5oO3dpbmRvdy5TaGFkeUNTUyYmdm9pZCAwIT09d2luZG93LlNoYWR5Q1NTLmNzc0J1aWxkJiYobmg9d2luZG93LlNoYWR5Q1NTLmNzc0J1aWxkKTt2YXIgb2g9ISghd2luZG93LlNoYWR5Q1NTfHwhd2luZG93LlNoYWR5Q1NTLmRpc2FibGVSdW50aW1lKTtcbndpbmRvdy5TaGFkeUNTUyYmdm9pZCAwIT09d2luZG93LlNoYWR5Q1NTLm5hdGl2ZUNzcz9saD13aW5kb3cuU2hhZHlDU1MubmF0aXZlQ3NzOndpbmRvdy5TaGFkeUNTUz8obWgod2luZG93LlNoYWR5Q1NTKSx3aW5kb3cuU2hhZHlDU1M9dm9pZCAwKTptaCh3aW5kb3cuV2ViQ29tcG9uZW50cyYmd2luZG93LldlYkNvbXBvbmVudHMuZmxhZ3MpO3ZhciBYPWxoO3ZhciBwaD0vKD86XnxbO1xcc3tdXFxzKikoLS1bXFx3LV0qPylcXHMqOlxccyooPzooKD86Jyg/OlxcXFwnfC4pKj8nfFwiKD86XFxcXFwifC4pKj9cInxcXChbXildKj9cXCl8W159O3tdKSspfFxceyhbXn1dKilcXH0oPzooPz1bO1xcc31dKXwkKSkvZ2kscWg9Lyg/Ol58XFxXKylAYXBwbHlcXHMqXFwoPyhbXik7XFxuXSopXFwpPy9naSxyaD0vKC0tW1xcdy1dKylcXHMqKFs6LDspXXwkKS9naSxzaD0vKGFuaW1hdGlvblxccyo6KXwoYW5pbWF0aW9uLW5hbWVcXHMqOikvLHRoPS9AbWVkaWFcXHMoLiopLyx1aD0vXFx7W159XSpcXH0vZzt2YXIgdmg9bmV3IFNldDtmdW5jdGlvbiB3aChhLGIpe2lmKCFhKXJldHVyblwiXCI7XCJzdHJpbmdcIj09PXR5cGVvZiBhJiYoYT1XZyhhKSk7YiYmeGgoYSxiKTtyZXR1cm4gZ2goYSxYKX1mdW5jdGlvbiB5aChhKXshYS5fX2Nzc1J1bGVzJiZhLnRleHRDb250ZW50JiYoYS5fX2Nzc1J1bGVzPVdnKGEudGV4dENvbnRlbnQpKTtyZXR1cm4gYS5fX2Nzc1J1bGVzfHxudWxsfWZ1bmN0aW9uIHpoKGEpe3JldHVybiEhYS5wYXJlbnQmJmEucGFyZW50LnR5cGU9PT1kaH1mdW5jdGlvbiB4aChhLGIsYyxkKXtpZihhKXt2YXIgZT0hMSxmPWEudHlwZTtpZihkJiZmPT09Ymgpe3ZhciBnPWEuc2VsZWN0b3IubWF0Y2godGgpO2cmJih3aW5kb3cubWF0Y2hNZWRpYShnWzFdKS5tYXRjaGVzfHwoZT0hMCkpfWY9PT1maD9iKGEpOmMmJmY9PT1kaD9jKGEpOmY9PT1laCYmKGU9ITApO2lmKChhPWEucnVsZXMpJiYhZSlmb3IoZT0wLGY9YS5sZW5ndGgsZz12b2lkIDA7ZTxmJiYoZz1hW2VdKTtlKyspeGgoZyxiLGMsZCl9fVxuZnVuY3Rpb24gQWgoYSxiLGMsZCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO2ImJmUuc2V0QXR0cmlidXRlKFwic2NvcGVcIixiKTtlLnRleHRDb250ZW50PWE7Q2goZSxjLGQpO3JldHVybiBlfXZhciBEaD1udWxsO2Z1bmN0aW9uIEVoKGEpe2E9ZG9jdW1lbnQuY3JlYXRlQ29tbWVudChcIiBTaGFkeSBET00gc3R5bGVzIGZvciBcIithK1wiIFwiKTt2YXIgYj1kb2N1bWVudC5oZWFkO2IuaW5zZXJ0QmVmb3JlKGEsKERoP0RoLm5leHRTaWJsaW5nOm51bGwpfHxiLmZpcnN0Q2hpbGQpO3JldHVybiBEaD1hfWZ1bmN0aW9uIENoKGEsYixjKXtiPWJ8fGRvY3VtZW50LmhlYWQ7Yi5pbnNlcnRCZWZvcmUoYSxjJiZjLm5leHRTaWJsaW5nfHxiLmZpcnN0Q2hpbGQpO0RoP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oRGgpPT09Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcmJihEaD1hKTpEaD1hfVxuZnVuY3Rpb24gRmgoYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2I8ZDtiKyspaWYoXCIoXCI9PT1hW2JdKWMrKztlbHNlIGlmKFwiKVwiPT09YVtiXSYmMD09PS0tYylyZXR1cm4gYjtyZXR1cm4tMX1mdW5jdGlvbiBHaChhLGIpe3ZhciBjPWEuaW5kZXhPZihcInZhcihcIik7aWYoLTE9PT1jKXJldHVybiBiKGEsXCJcIixcIlwiLFwiXCIpO3ZhciBkPUZoKGEsYyszKSxlPWEuc3Vic3RyaW5nKGMrNCxkKTtjPWEuc3Vic3RyaW5nKDAsYyk7YT1HaChhLnN1YnN0cmluZyhkKzEpLGIpO2Q9ZS5pbmRleE9mKFwiLFwiKTtyZXR1cm4tMT09PWQ/YihjLGUudHJpbSgpLFwiXCIsYSk6YihjLGUuc3Vic3RyaW5nKDAsZCkudHJpbSgpLGUuc3Vic3RyaW5nKGQrMSkudHJpbSgpLGEpfWZ1bmN0aW9uIEhoKGEsYil7Vj9hLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsYik6d2luZG93LlNoYWR5RE9NLm5hdGl2ZU1ldGhvZHMuc2V0QXR0cmlidXRlLmNhbGwoYSxcImNsYXNzXCIsYil9XG52YXIgSWg9d2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00ud3JhcHx8ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2Z1bmN0aW9uIEpoKGEpe3ZhciBiPWEubG9jYWxOYW1lLGM9XCJcIjtiPy0xPGIuaW5kZXhPZihcIi1cIil8fChjPWIsYj1hLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoXCJpc1wiKXx8XCJcIik6KGI9YS5pcyxjPWEuZXh0ZW5kcyk7cmV0dXJue2lzOmIsaGE6Y319ZnVuY3Rpb24gS2goYSl7Zm9yKHZhciBiPVtdLGM9XCJcIixkPTA7MDw9ZCYmZDxhLmxlbmd0aDtkKyspaWYoXCIoXCI9PT1hW2RdKXt2YXIgZT1GaChhLGQpO2MrPWEuc2xpY2UoZCxlKzEpO2Q9ZX1lbHNlXCIsXCI9PT1hW2RdPyhiLnB1c2goYyksYz1cIlwiKTpjKz1hW2RdO2MmJmIucHVzaChjKTtyZXR1cm4gYn1cbmZ1bmN0aW9uIExoKGEpe2lmKHZvaWQgMCE9PW5oKXJldHVybiBuaDtpZih2b2lkIDA9PT1hLl9fY3NzQnVpbGQpe3ZhciBiPWEuZ2V0QXR0cmlidXRlKFwiY3NzLWJ1aWxkXCIpO2lmKGIpYS5fX2Nzc0J1aWxkPWI7ZWxzZXthOntiPVwidGVtcGxhdGVcIj09PWEubG9jYWxOYW1lP2EuY29udGVudC5maXJzdENoaWxkOmEuZmlyc3RDaGlsZDtpZihiIGluc3RhbmNlb2YgQ29tbWVudCYmKGI9Yi50ZXh0Q29udGVudC50cmltKCkuc3BsaXQoXCI6XCIpLFwiY3NzLWJ1aWxkXCI9PT1iWzBdKSl7Yj1iWzFdO2JyZWFrIGF9Yj1cIlwifWlmKFwiXCIhPT1iKXt2YXIgYz1cInRlbXBsYXRlXCI9PT1hLmxvY2FsTmFtZT9hLmNvbnRlbnQuZmlyc3RDaGlsZDphLmZpcnN0Q2hpbGQ7Yy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpfWEuX19jc3NCdWlsZD1ifX1yZXR1cm4gYS5fX2Nzc0J1aWxkfHxcIlwifVxuZnVuY3Rpb24gTWgoYSl7YT12b2lkIDA9PT1hP1wiXCI6YTtyZXR1cm5cIlwiIT09YSYmWD9WP1wic2hhZG93XCI9PT1hOlwic2hhZHlcIj09PWE6ITF9O2Z1bmN0aW9uIE5oKCl7fWZ1bmN0aW9uIE9oKGEsYil7UGgoUWgsYSxmdW5jdGlvbihjKXtSaChjLGJ8fFwiXCIpfSl9ZnVuY3Rpb24gUGgoYSxiLGMpe2Iubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmYyhiKTt2YXIgZDtcInRlbXBsYXRlXCI9PT1iLmxvY2FsTmFtZT9kPShiLmNvbnRlbnR8fGIuX2NvbnRlbnR8fGIpLmNoaWxkTm9kZXM6ZD1iLmNoaWxkcmVufHxiLmNoaWxkTm9kZXM7aWYoZClmb3IoYj0wO2I8ZC5sZW5ndGg7YisrKVBoKGEsZFtiXSxjKX1cbmZ1bmN0aW9uIFJoKGEsYixjKXtpZihiKWlmKGEuY2xhc3NMaXN0KWM/KGEuY2xhc3NMaXN0LnJlbW92ZShcInN0eWxlLXNjb3BlXCIpLGEuY2xhc3NMaXN0LnJlbW92ZShiKSk6KGEuY2xhc3NMaXN0LmFkZChcInN0eWxlLXNjb3BlXCIpLGEuY2xhc3NMaXN0LmFkZChiKSk7ZWxzZSBpZihhLmdldEF0dHJpYnV0ZSl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKTtjP2QmJihiPWQucmVwbGFjZShcInN0eWxlLXNjb3BlXCIsXCJcIikucmVwbGFjZShiLFwiXCIpLEhoKGEsYikpOkhoKGEsKGQ/ZCtcIiBcIjpcIlwiKStcInN0eWxlLXNjb3BlIFwiK2IpfX1mdW5jdGlvbiBTaChhLGIsYyl7UGgoUWgsYSxmdW5jdGlvbihkKXtSaChkLGIsITApO1JoKGQsYyl9KX1mdW5jdGlvbiBUaChhLGIpe1BoKFFoLGEsZnVuY3Rpb24oYyl7UmgoYyxifHxcIlwiLCEwKX0pfVxuZnVuY3Rpb24gVWgoYSxiLGMsZCxlKXt2YXIgZj1RaDtlPXZvaWQgMD09PWU/XCJcIjplO1wiXCI9PT1lJiYoVnx8XCJzaGFkeVwiPT09KHZvaWQgMD09PWQ/XCJcIjpkKT9lPXdoKGIsYyk6KGE9SmgoYSksZT1WaChmLGIsYS5pcyxhLmhhLGMpK1wiXFxuXFxuXCIpKTtyZXR1cm4gZS50cmltKCl9ZnVuY3Rpb24gVmgoYSxiLGMsZCxlKXt2YXIgZj1XaChjLGQpO2M9Yz9cIi5cIitjOlwiXCI7cmV0dXJuIHdoKGIsZnVuY3Rpb24oZyl7Zy5pfHwoZy5zZWxlY3Rvcj1nLkY9WGgoYSxnLGEuaCxjLGYpLGcuaT0hMCk7ZSYmZShnLGMsZil9KX1mdW5jdGlvbiBXaChhLGIpe3JldHVybiBiP1wiW2lzPVwiK2ErXCJdXCI6YX1cbmZ1bmN0aW9uIFhoKGEsYixjLGQsZSl7dmFyIGY9S2goYi5zZWxlY3Rvcik7aWYoIXpoKGIpKXtiPTA7Zm9yKHZhciBnPWYubGVuZ3RoLGg9dm9pZCAwO2I8ZyYmKGg9ZltiXSk7YisrKWZbYl09Yy5jYWxsKGEsaCxkLGUpfXJldHVybiBmLmZpbHRlcihmdW5jdGlvbihrKXtyZXR1cm4hIWt9KS5qb2luKFwiLFwiKX1mdW5jdGlvbiBZaChhKXtyZXR1cm4gYS5yZXBsYWNlKFpoLGZ1bmN0aW9uKGIsYyxkKXstMTxkLmluZGV4T2YoXCIrXCIpP2Q9ZC5yZXBsYWNlKC9cXCsvZyxcIl9fX1wiKTotMTxkLmluZGV4T2YoXCJfX19cIikmJihkPWQucmVwbGFjZSgvX19fL2csXCIrXCIpKTtyZXR1cm5cIjpcIitjK1wiKFwiK2QrXCIpXCJ9KX1cbmZ1bmN0aW9uICRoKGEpe2Zvcih2YXIgYj1bXSxjO2M9YS5tYXRjaChhaSk7KXt2YXIgZD1jLmluZGV4LGU9RmgoYSxkKTtpZigtMT09PWUpdGhyb3cgRXJyb3IoYy5pbnB1dCtcIiBzZWxlY3RvciBtaXNzaW5nICcpJ1wiKTtjPWEuc2xpY2UoZCxlKzEpO2E9YS5yZXBsYWNlKGMsXCJcXHVlMDAwXCIpO2IucHVzaChjKX1yZXR1cm57QmE6YSxtYXRjaGVzOmJ9fWZ1bmN0aW9uIGJpKGEsYil7dmFyIGM9YS5zcGxpdChcIlxcdWUwMDBcIik7cmV0dXJuIGIucmVkdWNlKGZ1bmN0aW9uKGQsZSxmKXtyZXR1cm4gZCtlK2NbZisxXX0sY1swXSl9XG5OaC5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7YT1hLnRyaW0oKTt2YXIgZT1aaC50ZXN0KGEpO2UmJihhPWEucmVwbGFjZShaaCxmdW5jdGlvbihoLGssbCl7cmV0dXJuXCI6XCIraytcIihcIitsLnJlcGxhY2UoL1xccy9nLFwiXCIpK1wiKVwifSksYT1ZaChhKSk7dmFyIGY9YWkudGVzdChhKTtpZihmKXt2YXIgZz0kaChhKTthPWcuQmE7Zz1nLm1hdGNoZXN9YT1hLnJlcGxhY2UoY2ksXCI6aG9zdCAkMVwiKTthPWEucmVwbGFjZShkaSxmdW5jdGlvbihoLGssbCl7ZHx8KGg9ZWkobCxrLGIsYyksZD1kfHxoLnN0b3Asaz1oLlVhLGw9aC52YWx1ZSk7cmV0dXJuIGsrbH0pO2YmJihhPWJpKGEsZykpO2UmJihhPVloKGEpKTtyZXR1cm4gYT1hLnJlcGxhY2UoZmksZnVuY3Rpb24oaCxrLGwsbSl7cmV0dXJuJ1tkaXI9XCInK2wrJ1wiXSAnK2srbStcIiwgXCIraysnW2Rpcj1cIicrbCsnXCJdJyttfSl9O1xuZnVuY3Rpb24gZWkoYSxiLGMsZCl7dmFyIGU9YS5pbmRleE9mKFwiOjpzbG90dGVkXCIpOzA8PWEuaW5kZXhPZihcIjpob3N0XCIpP2E9Z2koYSxkKTowIT09ZSYmKGE9Yz9oaShhLGMpOmEpO2M9ITE7MDw9ZSYmKGI9XCJcIixjPSEwKTtpZihjKXt2YXIgZj0hMDtjJiYoYT1hLnJlcGxhY2UoaWksZnVuY3Rpb24oZyxoKXtyZXR1cm5cIiA+IFwiK2h9KSl9cmV0dXJue3ZhbHVlOmEsVWE6YixzdG9wOmZ9fWZ1bmN0aW9uIGhpKGEsYil7YT1hLnNwbGl0KC8oXFxbLis/XFxdKS8pO2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspaWYoMT09PWQlMiljLnB1c2goYVtkXSk7ZWxzZXt2YXIgZT1hW2RdO2lmKFwiXCIhPT1lfHxkIT09YS5sZW5ndGgtMSllPWUuc3BsaXQoXCI6XCIpLGVbMF0rPWIsYy5wdXNoKGUuam9pbihcIjpcIikpfXJldHVybiBjLmpvaW4oXCJcIil9XG5mdW5jdGlvbiBnaShhLGIpe3ZhciBjPWEubWF0Y2goamkpO3JldHVybihjPWMmJmNbMl0udHJpbSgpfHxcIlwiKT9jWzBdLm1hdGNoKGtpKT9hLnJlcGxhY2UoamksZnVuY3Rpb24oZCxlLGYpe3JldHVybiBiK2Z9KTpjLnNwbGl0KGtpKVswXT09PWI/YzpcInNob3VsZF9ub3RfbWF0Y2hcIjphLnJlcGxhY2UoXCI6aG9zdFwiLGIpfWZ1bmN0aW9uIGxpKGEpe1wiOnJvb3RcIj09PWEuc2VsZWN0b3ImJihhLnNlbGVjdG9yPVwiaHRtbFwiKX1OaC5wcm90b3R5cGUuaT1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXRjaChcIjpob3N0XCIpP1wiXCI6YS5tYXRjaChcIjo6c2xvdHRlZFwiKT90aGlzLmgoYSxcIjpub3QoLnN0eWxlLXNjb3BlKVwiKTpoaShhLnRyaW0oKSxcIjpub3QoLnN0eWxlLXNjb3BlKVwiKX07ZWEuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTmgucHJvdG90eXBlLHtnOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cInN0eWxlLXNjb3BlXCJ9fX0pO1xudmFyIFpoPS86KG50aFstXFx3XSspXFwoKFteKV0rKVxcKS8sZGk9LyhefFtcXHM+K35dKykoKD86XFxbLis/XFxdfFteXFxzPit+PVtdKSspL2csa2k9L1tbLjojKl0vLGNpPS9eKDo6c2xvdHRlZCkvLGppPS8oOmhvc3QpKD86XFwoKCg/OlxcKFteKShdKlxcKXxbXikoXSopKz8pXFwpKS8saWk9Lyg/Ojo6c2xvdHRlZCkoPzpcXCgoKD86XFwoW14pKF0qXFwpfFteKShdKikrPylcXCkpLyxmaT0vKC4qKTpkaXJcXCgoPzoobHRyfHJ0bCkpXFwpKC4qKS8sYWk9LzooPzptYXRjaGVzfGFueXwtKD86d2Via2l0fG1veiktYW55KS8sUWg9bmV3IE5oO2Z1bmN0aW9uIG1pKGEsYixjLGQsZSl7dGhpcy5NPWF8fG51bGw7dGhpcy5oPWJ8fG51bGw7dGhpcy56YT1jfHxbXTt0aGlzLks9bnVsbDt0aGlzLmNzc0J1aWxkPWV8fFwiXCI7dGhpcy5oYT1kfHxcIlwiO3RoaXMuZz10aGlzLkw9dGhpcy5SPW51bGx9ZnVuY3Rpb24gbmkoYSl7cmV0dXJuIGE/YS5fX3N0eWxlSW5mbzpudWxsfWZ1bmN0aW9uIG9pKGEsYil7cmV0dXJuIGEuX19zdHlsZUluZm89Yn1taS5wcm90b3R5cGUuaT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk19O21pLnByb3RvdHlwZS5fZ2V0U3R5bGVSdWxlcz1taS5wcm90b3R5cGUuaTtmdW5jdGlvbiBwaShhKXt2YXIgYj10aGlzLm1hdGNoZXN8fHRoaXMubWF0Y2hlc1NlbGVjdG9yfHx0aGlzLm1vek1hdGNoZXNTZWxlY3Rvcnx8dGhpcy5tc01hdGNoZXNTZWxlY3Rvcnx8dGhpcy5vTWF0Y2hlc1NlbGVjdG9yfHx0aGlzLndlYmtpdE1hdGNoZXNTZWxlY3RvcjtyZXR1cm4gYiYmYi5jYWxsKHRoaXMsYSl9dmFyIHFpPS86aG9zdFxccyo+XFxzKi8scmk9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaChcIlRyaWRlbnRcIik7ZnVuY3Rpb24gc2koKXt9ZnVuY3Rpb24gdGkoYSl7dmFyIGI9e30sYz1bXSxkPTA7eGgoYSxmdW5jdGlvbihmKXt1aShmKTtmLmluZGV4PWQrKztmPWYuRC5jc3NUZXh0O2Zvcih2YXIgZztnPXJoLmV4ZWMoZik7KXt2YXIgaD1nWzFdO1wiOlwiIT09Z1syXSYmKGJbaF09ITApfX0sZnVuY3Rpb24oZil7Yy5wdXNoKGYpfSk7YS5oPWM7YT1bXTtmb3IodmFyIGUgaW4gYilhLnB1c2goZSk7cmV0dXJuIGF9XG5mdW5jdGlvbiB1aShhKXtpZighYS5EKXt2YXIgYj17fSxjPXt9O3ZpKGEsYykmJihiLlA9YyxhLnJ1bGVzPW51bGwpO2IuY3NzVGV4dD1hLnBhcnNlZENzc1RleHQucmVwbGFjZSh1aCxcIlwiKS5yZXBsYWNlKHBoLFwiXCIpO2EuRD1ifX1mdW5jdGlvbiB2aShhLGIpe3ZhciBjPWEuRDtpZihjKXtpZihjLlApcmV0dXJuIE9iamVjdC5hc3NpZ24oYixjLlApLCEwfWVsc2V7Yz1hLnBhcnNlZENzc1RleHQ7Zm9yKHZhciBkO2E9cGguZXhlYyhjKTspe2Q9KGFbMl18fGFbM10pLnRyaW0oKTtpZihcImluaGVyaXRcIiE9PWR8fFwidW5zZXRcIiE9PWQpYlthWzFdLnRyaW0oKV09ZDtkPSEwfXJldHVybiBkfX1cbmZ1bmN0aW9uIHdpKGEsYixjKXtiJiYoYj0wPD1iLmluZGV4T2YoXCI7XCIpP3hpKGEsYixjKTpHaChiLGZ1bmN0aW9uKGQsZSxmLGcpe2lmKCFlKXJldHVybiBkK2c7KGU9d2koYSxjW2VdLGMpKSYmXCJpbml0aWFsXCIhPT1lP1wiYXBwbHktc2hpbS1pbmhlcml0XCI9PT1lJiYoZT1cImluaGVyaXRcIik6ZT13aShhLGNbZl18fGYsYyl8fGY7cmV0dXJuIGQrKGV8fFwiXCIpK2d9KSk7cmV0dXJuIGImJmIudHJpbSgpfHxcIlwifVxuZnVuY3Rpb24geGkoYSxiLGMpe2I9Yi5zcGxpdChcIjtcIik7Zm9yKHZhciBkPTAsZSxmO2Q8Yi5sZW5ndGg7ZCsrKWlmKGU9YltkXSl7cWgubGFzdEluZGV4PTA7aWYoZj1xaC5leGVjKGUpKWU9d2koYSxjW2ZbMV1dLGMpO2Vsc2UgaWYoZj1lLmluZGV4T2YoXCI6XCIpLC0xIT09Zil7dmFyIGc9ZS5zdWJzdHJpbmcoZik7Zz1nLnRyaW0oKTtnPXdpKGEsZyxjKXx8ZztlPWUuc3Vic3RyaW5nKDAsZikrZ31iW2RdPWUmJmUubGFzdEluZGV4T2YoXCI7XCIpPT09ZS5sZW5ndGgtMT9lLnNsaWNlKDAsLTEpOmV8fFwiXCJ9cmV0dXJuIGIuam9pbihcIjtcIil9XG5mdW5jdGlvbiB5aShhLGIpe3ZhciBjPXt9LGQ9W107eGgoYSxmdW5jdGlvbihlKXtlLkR8fHVpKGUpO3ZhciBmPWUuRnx8ZS5wYXJzZWRTZWxlY3RvcjtiJiZlLkQuUCYmZiYmcGkuY2FsbChiLGYpJiYodmkoZSxjKSxlPWUuaW5kZXgsZj1wYXJzZUludChlLzMyLDEwKSxkW2ZdPShkW2ZdfHwwKXwxPDxlJTMyKX0sbnVsbCwhMCk7cmV0dXJue1A6YyxrZXk6ZH19XG5mdW5jdGlvbiB6aShhLGIsYyxkKXtiLkR8fHVpKGIpO2lmKGIuRC5QKXt2YXIgZT1KaChhKTthPWUuaXM7ZT1lLmhhO2U9YT9XaChhLGUpOlwiaHRtbFwiO3ZhciBmPWIucGFyc2VkU2VsZWN0b3I7dmFyIGc9ISFmLm1hdGNoKHFpKXx8XCJodG1sXCI9PT1lJiYtMTxmLmluZGV4T2YoXCJodG1sXCIpO3ZhciBoPTA9PT1mLmluZGV4T2YoXCI6aG9zdFwiKSYmIWc7XCJzaGFkeVwiPT09YyYmKGc9Zj09PWUrXCIgPiAqLlwiK2V8fC0xIT09Zi5pbmRleE9mKFwiaHRtbFwiKSxoPSFnJiYwPT09Zi5pbmRleE9mKGUpKTtpZihnfHxoKWM9ZSxoJiYoYi5GfHwoYi5GPVhoKFFoLGIsUWguaCxhP1wiLlwiK2E6XCJcIixlKSksYz1iLkZ8fGUpLGcmJlwiaHRtbFwiPT09ZSYmKGM9Yi5GfHxiLk8pLGQoe0JhOmMsYWI6aCxxYjpnfSl9fVxuZnVuY3Rpb24gQWkoYSxiLGMpe3ZhciBkPXt9LGU9e307eGgoYixmdW5jdGlvbihmKXt6aShhLGYsYyxmdW5jdGlvbihnKXtwaS5jYWxsKGEuX2VsZW1lbnR8fGEsZy5CYSkmJihnLmFiP3ZpKGYsZCk6dmkoZixlKSl9KX0sbnVsbCwhMCk7cmV0dXJue2hiOmUsWmE6ZH19XG5mdW5jdGlvbiBCaShhLGIsYyxkKXt2YXIgZT1KaChiKSxmPVdoKGUuaXMsZS5oYSksZz1uZXcgUmVnRXhwKFwiKD86XnxbXi4jWzpdKVwiKyhiLmV4dGVuZHM/XCJcXFxcXCIrZi5zbGljZSgwLC0xKStcIlxcXFxdXCI6ZikrXCIoJHxbLjpbXFxcXHM+K35dKVwiKSxoPW5pKGIpO2U9aC5NO2g9aC5jc3NCdWlsZDt2YXIgaz1DaShlLGQpO3JldHVybiBVaChiLGUsZnVuY3Rpb24obCl7dmFyIG09XCJcIjtsLkR8fHVpKGwpO2wuRC5jc3NUZXh0JiYobT14aShhLGwuRC5jc3NUZXh0LGMpKTtsLmNzc1RleHQ9bTtpZighViYmIXpoKGwpJiZsLmNzc1RleHQpe3ZhciBxPW09bC5jc3NUZXh0O251bGw9PWwuSWEmJihsLklhPXNoLnRlc3QobSkpO2lmKGwuSWEpaWYobnVsbD09bC5wYSl7bC5wYT1bXTtmb3IodmFyIEggaW4gaylxPWtbSF0scT1xKG0pLG0hPT1xJiYobT1xLGwucGEucHVzaChIKSl9ZWxzZXtmb3IoSD0wO0g8bC5wYS5sZW5ndGg7KytIKXE9a1tsLnBhW0hdXSxtPXEobSk7cT1tfWwuY3NzVGV4dD1xO2wuRj1cbmwuRnx8bC5zZWxlY3RvcjttPVwiLlwiK2Q7SD1LaChsLkYpO3E9MDtmb3IodmFyIEM9SC5sZW5ndGgsdD12b2lkIDA7cTxDJiYodD1IW3FdKTtxKyspSFtxXT10Lm1hdGNoKGcpP3QucmVwbGFjZShmLG0pOm0rXCIgXCIrdDtsLnNlbGVjdG9yPUguam9pbihcIixcIil9fSxoKX1mdW5jdGlvbiBDaShhLGIpe2E9YS5oO3ZhciBjPXt9O2lmKCFWJiZhKWZvcih2YXIgZD0wLGU9YVtkXTtkPGEubGVuZ3RoO2U9YVsrK2RdKXt2YXIgZj1lLGc9YjtmLnU9bmV3IFJlZ0V4cChcIlxcXFxiXCIrZi5rZXlmcmFtZXNOYW1lK1wiKD8hXFxcXEJ8LSlcIixcImdcIik7Zi5nPWYua2V5ZnJhbWVzTmFtZStcIi1cIitnO2YuRj1mLkZ8fGYuc2VsZWN0b3I7Zi5zZWxlY3Rvcj1mLkYucmVwbGFjZShmLmtleWZyYW1lc05hbWUsZi5nKTtjW2Uua2V5ZnJhbWVzTmFtZV09RGkoZSl9cmV0dXJuIGN9ZnVuY3Rpb24gRGkoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBiLnJlcGxhY2UoYS51LGEuZyl9fVxuZnVuY3Rpb24gRWkoYSxiKXt2YXIgYz1GaSxkPXloKGEpO2EudGV4dENvbnRlbnQ9d2goZCxmdW5jdGlvbihlKXt2YXIgZj1lLmNzc1RleHQ9ZS5wYXJzZWRDc3NUZXh0O2UuRCYmZS5ELmNzc1RleHQmJihmPWYucmVwbGFjZShoaCxcIlwiKS5yZXBsYWNlKGloLFwiXCIpLGUuY3NzVGV4dD14aShjLGYsYikpfSl9ZWEuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoc2kucHJvdG90eXBlLHtnOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIngtc2NvcGVcIn19fSk7dmFyIEZpPW5ldyBzaTt2YXIgR2k9e30sSGk9d2luZG93LmN1c3RvbUVsZW1lbnRzO2lmKEhpJiYhViYmIW9oKXt2YXIgSWk9SGkuZGVmaW5lO0hpLmRlZmluZT1mdW5jdGlvbihhLGIsYyl7R2lbYV18fChHaVthXT1FaChhKSk7SWkuY2FsbChIaSxhLGIsYyl9fTtmdW5jdGlvbiBKaSgpe3RoaXMuY2FjaGU9e319SmkucHJvdG90eXBlLnN0b3JlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuY2FjaGVbYV18fFtdO2UucHVzaCh7UDpiLHN0eWxlRWxlbWVudDpjLEw6ZH0pOzEwMDxlLmxlbmd0aCYmZS5zaGlmdCgpO3RoaXMuY2FjaGVbYV09ZX07ZnVuY3Rpb24gS2koKXt9dmFyIExpPW5ldyBSZWdFeHAoUWguZytcIlxcXFxzKihbXlxcXFxzXSopXCIpO2Z1bmN0aW9uIE1pKGEpe3JldHVybihhPShhLmNsYXNzTGlzdCYmYS5jbGFzc0xpc3QudmFsdWU/YS5jbGFzc0xpc3QudmFsdWU6YS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIikubWF0Y2goTGkpKT9hWzFdOlwiXCJ9ZnVuY3Rpb24gTmkoYSl7dmFyIGI9SWgoYSkuZ2V0Um9vdE5vZGUoKTtyZXR1cm4gYj09PWF8fGI9PT1hLm93bmVyRG9jdW1lbnQ/XCJcIjooYT1iLmhvc3QpP0poKGEpLmlzOlwiXCJ9XG5mdW5jdGlvbiBPaShhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXTtpZihjLnRhcmdldCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYy50YXJnZXQhPT1kb2N1bWVudC5oZWFkKWZvcih2YXIgZD0wO2Q8Yy5hZGRlZE5vZGVzLmxlbmd0aDtkKyspe3ZhciBlPWMuYWRkZWROb2Rlc1tkXTtpZihlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBmPWUuZ2V0Um9vdE5vZGUoKSxnPU1pKGUpO2lmKGcmJmY9PT1lLm93bmVyRG9jdW1lbnQmJihcInN0eWxlXCIhPT1lLmxvY2FsTmFtZSYmXCJ0ZW1wbGF0ZVwiIT09ZS5sb2NhbE5hbWV8fFwiXCI9PT1MaChlKSkpVGgoZSxnKTtlbHNlIGlmKGYgaW5zdGFuY2VvZiBTaGFkb3dSb290KWZvcihmPU5pKGUpLGYhPT1nJiZTaChlLGcsZiksZT13aW5kb3cuU2hhZHlET00ubmF0aXZlTWV0aG9kcy5xdWVyeVNlbGVjdG9yQWxsLmNhbGwoZSxcIjpub3QoLlwiK1FoLmcrXCIpXCIpLGc9MDtnPGUubGVuZ3RoO2crKyl7Zj1lW2ddO1xudmFyIGg9TmkoZik7aCYmUmgoZixoKX19fX19XG5pZighKFZ8fHdpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmhhbmRsZXNEeW5hbWljU2NvcGluZykpe3ZhciBQaT1uZXcgTXV0YXRpb25PYnNlcnZlcihPaSksUWk9ZnVuY3Rpb24oYSl7UGkub2JzZXJ2ZShhLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pfTtpZih3aW5kb3cuY3VzdG9tRWxlbWVudHMmJiF3aW5kb3cuY3VzdG9tRWxlbWVudHMucG9seWZpbGxXcmFwRmx1c2hDYWxsYmFjaylRaShkb2N1bWVudCk7ZWxzZXt2YXIgUmk9ZnVuY3Rpb24oKXtRaShkb2N1bWVudC5ib2R5KX07d2luZG93LkhUTUxJbXBvcnRzP3dpbmRvdy5IVE1MSW1wb3J0cy53aGVuUmVhZHkoUmkpOnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2lmKFwibG9hZGluZ1wiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSl7dmFyIGE9ZnVuY3Rpb24oKXtSaSgpO2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZWFkeXN0YXRlY2hhbmdlXCIsYSl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJyZWFkeXN0YXRlY2hhbmdlXCIsXG5hKX1lbHNlIFJpKCl9KX1LaT1mdW5jdGlvbigpe09pKFBpLnRha2VSZWNvcmRzKCkpfX07dmFyIFNpPXt9O3ZhciBUaT1Qcm9taXNlLnJlc29sdmUoKTtmdW5jdGlvbiBVaShhKXtpZihhPVNpW2FdKWEuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uPWEuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9ufHwwLGEuX2FwcGx5U2hpbVZhbGlkYXRpbmdWZXJzaW9uPWEuX2FwcGx5U2hpbVZhbGlkYXRpbmdWZXJzaW9ufHwwLGEuX2FwcGx5U2hpbU5leHRWZXJzaW9uPShhLl9hcHBseVNoaW1OZXh0VmVyc2lvbnx8MCkrMX1mdW5jdGlvbiBWaShhKXtyZXR1cm4gYS5fYXBwbHlTaGltQ3VycmVudFZlcnNpb249PT1hLl9hcHBseVNoaW1OZXh0VmVyc2lvbn1mdW5jdGlvbiBXaShhKXthLl9hcHBseVNoaW1WYWxpZGF0aW5nVmVyc2lvbj1hLl9hcHBseVNoaW1OZXh0VmVyc2lvbjthLl92YWxpZGF0aW5nfHwoYS5fdmFsaWRhdGluZz0hMCxUaS50aGVuKGZ1bmN0aW9uKCl7YS5fYXBwbHlTaGltQ3VycmVudFZlcnNpb249YS5fYXBwbHlTaGltTmV4dFZlcnNpb247YS5fdmFsaWRhdGluZz0hMX0pKX07dmFyIFhpPXt9LFlpPW5ldyBKaTtmdW5jdGlvbiBZKCl7dGhpcy5kYT17fTt0aGlzLmk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3ZhciBhPW5ldyBWZzthLnJ1bGVzPVtdO3RoaXMudT1vaSh0aGlzLmksbmV3IG1pKGEpKTt0aGlzLk89ITE7dGhpcy5nPXRoaXMuaD1udWxsfXY9WS5wcm90b3R5cGU7di5mbHVzaD1mdW5jdGlvbigpe0tpKCl9O3YuWGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHloKGEpfTt2LmxiPWZ1bmN0aW9uKGEpe3JldHVybiB3aChhKX07di5wcmVwYXJlVGVtcGxhdGU9ZnVuY3Rpb24oYSxiLGMpe3RoaXMucHJlcGFyZVRlbXBsYXRlRG9tKGEsYik7dGhpcy5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoYSxiLGMpfTtcbnYucHJlcGFyZVRlbXBsYXRlU3R5bGVzPWZ1bmN0aW9uKGEsYixjKXtpZighYS5fcHJlcGFyZWQmJiFvaCl7Vnx8R2lbYl18fChHaVtiXT1FaChiKSk7YS5fcHJlcGFyZWQ9ITA7YS5uYW1lPWI7YS5leHRlbmRzPWM7U2lbYl09YTt2YXIgZD1MaChhKSxlPU1oKGQpO2M9e2lzOmIsZXh0ZW5kczpjfTtmb3IodmFyIGY9W10sZz1hLmNvbnRlbnQucXVlcnlTZWxlY3RvckFsbChcInN0eWxlXCIpLGg9MDtoPGcubGVuZ3RoO2grKyl7dmFyIGs9Z1toXTtpZihrLmhhc0F0dHJpYnV0ZShcInNoYWR5LXVuc2NvcGVkXCIpKXtpZighVil7dmFyIGw9ay50ZXh0Q29udGVudDtpZighdmguaGFzKGwpKXt2aC5hZGQobCk7dmFyIG09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO20uc2V0QXR0cmlidXRlKFwic2hhZHktdW5zY29wZWRcIixcIlwiKTttLnRleHRDb250ZW50PWw7ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChtKX1rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoayl9fWVsc2UgZi5wdXNoKGsudGV4dENvbnRlbnQpLFxuay5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGspfWY9Zi5qb2luKFwiXCIpLnRyaW0oKSsoWGlbYl18fFwiXCIpO1ppKHRoaXMpO2lmKCFlKXtpZihnPSFkKWc9cWgudGVzdChmKXx8cGgudGVzdChmKSxxaC5sYXN0SW5kZXg9MCxwaC5sYXN0SW5kZXg9MDtoPVdnKGYpO2cmJlgmJnRoaXMuaCYmdGhpcy5oLnRyYW5zZm9ybVJ1bGVzKGgsYik7YS5fc3R5bGVBc3Q9aH1nPVtdO1h8fChnPXRpKGEuX3N0eWxlQXN0KSk7aWYoIWcubGVuZ3RofHxYKWg9Vj9hLmNvbnRlbnQ6bnVsbCxiPUdpW2JdfHxudWxsLGQ9VWgoYyxhLl9zdHlsZUFzdCxudWxsLGQsZT9mOlwiXCIpLGQ9ZC5sZW5ndGg/QWgoZCxjLmlzLGgsYik6bnVsbCxhLl9zdHlsZT1kO2EuZz1nfX07di5mYj1mdW5jdGlvbihhLGIpe1hpW2JdPWEuam9pbihcIiBcIil9O1xudi5wcmVwYXJlVGVtcGxhdGVEb209ZnVuY3Rpb24oYSxiKXtpZighb2gpe3ZhciBjPUxoKGEpO1Z8fFwic2hhZHlcIj09PWN8fGEuX2RvbVByZXBhcmVkfHwoYS5fZG9tUHJlcGFyZWQ9ITAsT2goYS5jb250ZW50LGIpKX19O2Z1bmN0aW9uICRpKGEpe3ZhciBiPUpoKGEpLGM9Yi5pcztiPWIuaGE7dmFyIGQ9R2lbY118fG51bGwsZT1TaVtjXTtpZihlKXtjPWUuX3N0eWxlQXN0O3ZhciBmPWUuZztlPUxoKGUpO2I9bmV3IG1pKGMsZCxmLGIsZSk7b2koYSxiKTtyZXR1cm4gYn19XG5mdW5jdGlvbiBhaihhKXshYS5nJiZ3aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5DdXN0b21TdHlsZUludGVyZmFjZSYmKGEuZz13aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2UsYS5nLnRyYW5zZm9ybUNhbGxiYWNrPWZ1bmN0aW9uKGIpe2EuTWEoYil9LGEuZy52YWxpZGF0ZUNhbGxiYWNrPWZ1bmN0aW9uKCl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7KGEuZy5lbnF1ZXVlZHx8YS5PKSYmYS5mbHVzaEN1c3RvbVN0eWxlcygpfSl9KX1mdW5jdGlvbiBaaShhKXtpZighYS5oJiZ3aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5BcHBseVNoaW0pe2EuaD13aW5kb3cuU2hhZHlDU1MuQXBwbHlTaGltO2EuaC5pbnZhbGlkQ2FsbGJhY2s9VWk7dmFyIGI9ITB9ZWxzZSBiPSExO2FqKGEpO3JldHVybiBifVxudi5mbHVzaEN1c3RvbVN0eWxlcz1mdW5jdGlvbigpe2lmKCFvaCl7dmFyIGE9WmkodGhpcyk7aWYodGhpcy5nKXt2YXIgYj10aGlzLmcucHJvY2Vzc1N0eWxlcygpO2lmKChhfHx0aGlzLmcuZW5xdWV1ZWQpJiYhTWgodGhpcy51LmNzc0J1aWxkKSl7aWYoWCl7aWYoIXRoaXMudS5jc3NCdWlsZClmb3IoYT0wO2E8Yi5sZW5ndGg7YSsrKXt2YXIgYz10aGlzLmcuZ2V0U3R5bGVGb3JDdXN0b21TdHlsZShiW2FdKTtpZihjJiZYJiZ0aGlzLmgpe3ZhciBkPXloKGMpO1ppKHRoaXMpO3RoaXMuaC50cmFuc2Zvcm1SdWxlcyhkKTtjLnRleHRDb250ZW50PXdoKGQpfX19ZWxzZXtiaih0aGlzLGIpO2NqKHRoaXMsdGhpcy5pLHRoaXMudSk7Zm9yKGE9MDthPGIubGVuZ3RoO2ErKykoYz10aGlzLmcuZ2V0U3R5bGVGb3JDdXN0b21TdHlsZShiW2FdKSkmJkVpKGMsdGhpcy51LlIpO3RoaXMuTyYmdGhpcy5zdHlsZURvY3VtZW50KCl9dGhpcy5nLmVucXVldWVkPSExfX19fTtcbmZ1bmN0aW9uIGJqKGEsYil7Yj1iLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYS5nLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGUoYyl9KS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuISFjfSk7Yi5zb3J0KGZ1bmN0aW9uKGMsZCl7Yz1kLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMpO3JldHVybiBjJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HPzE6YyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORz8tMTowfSk7YS51Lk0ucnVsZXM9Yi5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIHloKGMpfSl9XG52LnN0eWxlRWxlbWVudD1mdW5jdGlvbihhLGIpe2lmKG9oKXtpZihiKXtuaShhKXx8b2koYSxuZXcgbWkobnVsbCkpO3ZhciBjPW5pKGEpO2MuSz1jLkt8fHt9O09iamVjdC5hc3NpZ24oYy5LLGIpO2RqKHRoaXMsYSxjKX19ZWxzZSBpZihjPW5pKGEpfHwkaShhKSlpZihhIT09dGhpcy5pJiYodGhpcy5PPSEwKSxiJiYoYy5LPWMuS3x8e30sT2JqZWN0LmFzc2lnbihjLkssYikpLFgpZGoodGhpcyxhLGMpO2Vsc2UgaWYodGhpcy5mbHVzaCgpLGNqKHRoaXMsYSxjKSxjLnphJiZjLnphLmxlbmd0aCl7Yj1KaChhKS5pczt2YXIgZDthOntpZihkPVlpLmNhY2hlW2JdKWZvcih2YXIgZT1kLmxlbmd0aC0xOzA8PWU7ZS0tKXt2YXIgZj1kW2VdO2I6e3ZhciBnPWMuemE7Zm9yKHZhciBoPTA7aDxnLmxlbmd0aDtoKyspe3ZhciBrPWdbaF07aWYoZi5QW2tdIT09Yy5SW2tdKXtnPSExO2JyZWFrIGJ9fWc9ITB9aWYoZyl7ZD1mO2JyZWFrIGF9fWQ9dm9pZCAwfWc9ZD9kLnN0eWxlRWxlbWVudDpcbm51bGw7ZT1jLkw7KGY9ZCYmZC5MKXx8KGY9dGhpcy5kYVtiXT0odGhpcy5kYVtiXXx8MCkrMSxmPWIrXCItXCIrZik7Yy5MPWY7Zj1jLkw7aD1GaTtoPWc/Zy50ZXh0Q29udGVudHx8XCJcIjpCaShoLGEsYy5SLGYpO2s9bmkoYSk7dmFyIGw9ay5nO2wmJiFWJiZsIT09ZyYmKGwuX3VzZUNvdW50LS0sMD49bC5fdXNlQ291bnQmJmwucGFyZW50Tm9kZSYmbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGwpKTtWP2suZz8oay5nLnRleHRDb250ZW50PWgsZz1rLmcpOmgmJihnPUFoKGgsZixhLnNoYWRvd1Jvb3Qsay5oKSk6Zz9nLnBhcmVudE5vZGV8fChyaSYmLTE8aC5pbmRleE9mKFwiQG1lZGlhXCIpJiYoZy50ZXh0Q29udGVudD1oKSxDaChnLG51bGwsay5oKSk6aCYmKGc9QWgoaCxmLG51bGwsay5oKSk7ZyYmKGcuX3VzZUNvdW50PWcuX3VzZUNvdW50fHwwLGsuZyE9ZyYmZy5fdXNlQ291bnQrKyxrLmc9Zyk7Zj1nO1Z8fChnPWMuTCxrPWg9YS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIixlJiZcbihrPWgucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXHMqeC1zY29wZVxcXFxzKlwiK2UrXCJcXFxccypcIixcImdcIiksXCIgXCIpKSxrKz0oaz9cIiBcIjpcIlwiKStcIngtc2NvcGUgXCIrZyxoIT09ayYmSGgoYSxrKSk7ZHx8WWkuc3RvcmUoYixjLlIsZixjLkwpfX07XG5mdW5jdGlvbiBkaihhLGIsYyl7dmFyIGQ9SmgoYikuaXM7aWYoYy5LKXt2YXIgZT1jLkssZjtmb3IoZiBpbiBlKW51bGw9PT1mP2Iuc3R5bGUucmVtb3ZlUHJvcGVydHkoZik6Yi5zdHlsZS5zZXRQcm9wZXJ0eShmLGVbZl0pfWU9U2lbZF07aWYoISghZSYmYiE9PWEuaXx8ZSYmXCJcIiE9PUxoKGUpKSYmZSYmZS5fc3R5bGUmJiFWaShlKSl7aWYoVmkoZSl8fGUuX2FwcGx5U2hpbVZhbGlkYXRpbmdWZXJzaW9uIT09ZS5fYXBwbHlTaGltTmV4dFZlcnNpb24pWmkoYSksYS5oJiZhLmgudHJhbnNmb3JtUnVsZXMoZS5fc3R5bGVBc3QsZCksZS5fc3R5bGUudGV4dENvbnRlbnQ9VWgoYixjLk0pLFdpKGUpO1YmJihhPWIuc2hhZG93Um9vdCkmJihhPWEucXVlcnlTZWxlY3RvcihcInN0eWxlXCIpKSYmKGEudGV4dENvbnRlbnQ9VWgoYixjLk0pKTtjLk09ZS5fc3R5bGVBc3R9fVxuZnVuY3Rpb24gZWooYSxiKXtyZXR1cm4oYj1JaChiKS5nZXRSb290Tm9kZSgpLmhvc3QpP25pKGIpfHwkaShiKT9iOmVqKGEsYik6YS5pfWZ1bmN0aW9uIGNqKGEsYixjKXt2YXIgZD1laihhLGIpLGU9bmkoZCksZj1lLlI7ZD09PWEuaXx8Znx8KGNqKGEsZCxlKSxmPWUuUik7YT1PYmplY3QuY3JlYXRlKGZ8fG51bGwpO2Q9QWkoYixjLk0sYy5jc3NCdWlsZCk7Yj15aShlLk0sYikuUDtPYmplY3QuYXNzaWduKGEsZC5aYSxiLGQuaGIpO2I9Yy5LO2Zvcih2YXIgZyBpbiBiKWlmKChlPWJbZ10pfHwwPT09ZSlhW2ddPWU7Zz1GaTtiPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGEpO2ZvcihlPTA7ZTxiLmxlbmd0aDtlKyspZD1iW2VdLGFbZF09d2koZyxhW2RdLGEpO2MuUj1hfXYuc3R5bGVEb2N1bWVudD1mdW5jdGlvbihhKXt0aGlzLnN0eWxlU3VidHJlZSh0aGlzLmksYSl9O1xudi5zdHlsZVN1YnRyZWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1JaChhKSxkPWMuc2hhZG93Um9vdCxlPWE9PT10aGlzLmk7KGR8fGUpJiZ0aGlzLnN0eWxlRWxlbWVudChhLGIpO2lmKGE9ZT9jOmQpZm9yKGE9QXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwoXCIqXCIpKS5maWx0ZXIoZnVuY3Rpb24oZil7cmV0dXJuIEloKGYpLnNoYWRvd1Jvb3R9KSxiPTA7YjxhLmxlbmd0aDtiKyspdGhpcy5zdHlsZVN1YnRyZWUoYVtiXSl9O1xudi5NYT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9TGgoYSk7YyE9PXRoaXMudS5jc3NCdWlsZCYmKHRoaXMudS5jc3NCdWlsZD1jKTtpZighTWgoYykpe3ZhciBkPXloKGEpO3hoKGQsZnVuY3Rpb24oZSl7aWYoVilsaShlKTtlbHNle3ZhciBmPVFoO2Uuc2VsZWN0b3I9ZS5wYXJzZWRTZWxlY3RvcjtsaShlKTtlLnNlbGVjdG9yPWUuRj1YaChmLGUsZi5pLHZvaWQgMCx2b2lkIDApfVgmJlwiXCI9PT1jJiYoWmkoYiksYi5oJiZiLmgudHJhbnNmb3JtUnVsZShlKSl9KTtYP2EudGV4dENvbnRlbnQ9d2goZCk6dGhpcy51Lk0ucnVsZXMucHVzaChkKX19O3YuZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlPWZ1bmN0aW9uKGEsYil7dmFyIGM7WHx8KGM9KG5pKGEpfHxuaShlaih0aGlzLGEpKSkuUltiXSk7cmV0dXJuKGM9Y3x8d2luZG93LmdldENvbXB1dGVkU3R5bGUoYSkuZ2V0UHJvcGVydHlWYWx1ZShiKSk/Yy50cmltKCk6XCJcIn07XG52LmtiPWZ1bmN0aW9uKGEsYil7dmFyIGM9SWgoYSkuZ2V0Um9vdE5vZGUoKTtiPWI/KFwic3RyaW5nXCI9PT10eXBlb2YgYj9iOlN0cmluZyhiKSkuc3BsaXQoL1xccy8pOltdO2M9Yy5ob3N0JiZjLmhvc3QubG9jYWxOYW1lO2lmKCFjKXt2YXIgZD1hLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpO2lmKGQpe2Q9ZC5zcGxpdCgvXFxzLyk7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDtlKyspaWYoZFtlXT09PVFoLmcpe2M9ZFtlKzFdO2JyZWFrfX19YyYmYi5wdXNoKFFoLmcsYyk7WHx8KGM9bmkoYSkpJiZjLkwmJmIucHVzaChGaS5nLGMuTCk7SGgoYSxiLmpvaW4oXCIgXCIpKX07di5UYT1mdW5jdGlvbihhKXtyZXR1cm4gbmkoYSl9O3YuamI9ZnVuY3Rpb24oYSxiKXtSaChhLGIpfTt2Lm1iPWZ1bmN0aW9uKGEsYil7UmgoYSxiLCEwKX07di5pYj1mdW5jdGlvbihhKXtyZXR1cm4gTmkoYSl9O3YuVmE9ZnVuY3Rpb24oYSl7cmV0dXJuIE1pKGEpfTtZLnByb3RvdHlwZS5mbHVzaD1ZLnByb3RvdHlwZS5mbHVzaDtcblkucHJvdG90eXBlLnByZXBhcmVUZW1wbGF0ZT1ZLnByb3RvdHlwZS5wcmVwYXJlVGVtcGxhdGU7WS5wcm90b3R5cGUuc3R5bGVFbGVtZW50PVkucHJvdG90eXBlLnN0eWxlRWxlbWVudDtZLnByb3RvdHlwZS5zdHlsZURvY3VtZW50PVkucHJvdG90eXBlLnN0eWxlRG9jdW1lbnQ7WS5wcm90b3R5cGUuc3R5bGVTdWJ0cmVlPVkucHJvdG90eXBlLnN0eWxlU3VidHJlZTtZLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlVmFsdWU9WS5wcm90b3R5cGUuZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlO1kucHJvdG90eXBlLnNldEVsZW1lbnRDbGFzcz1ZLnByb3RvdHlwZS5rYjtZLnByb3RvdHlwZS5fc3R5bGVJbmZvRm9yTm9kZT1ZLnByb3RvdHlwZS5UYTtZLnByb3RvdHlwZS50cmFuc2Zvcm1DdXN0b21TdHlsZUZvckRvY3VtZW50PVkucHJvdG90eXBlLk1hO1kucHJvdG90eXBlLmdldFN0eWxlQXN0PVkucHJvdG90eXBlLlhhO1kucHJvdG90eXBlLnN0eWxlQXN0VG9TdHJpbmc9WS5wcm90b3R5cGUubGI7XG5ZLnByb3RvdHlwZS5mbHVzaEN1c3RvbVN0eWxlcz1ZLnByb3RvdHlwZS5mbHVzaEN1c3RvbVN0eWxlcztZLnByb3RvdHlwZS5zY29wZU5vZGU9WS5wcm90b3R5cGUuamI7WS5wcm90b3R5cGUudW5zY29wZU5vZGU9WS5wcm90b3R5cGUubWI7WS5wcm90b3R5cGUuc2NvcGVGb3JOb2RlPVkucHJvdG90eXBlLmliO1kucHJvdG90eXBlLmN1cnJlbnRTY29wZUZvck5vZGU9WS5wcm90b3R5cGUuVmE7WS5wcm90b3R5cGUucHJlcGFyZUFkb3B0ZWRDc3NUZXh0PVkucHJvdG90eXBlLmZiO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFkucHJvdG90eXBlLHtuYXRpdmVTaGFkb3c6e2dldDpmdW5jdGlvbigpe3JldHVybiBWfX0sbmF0aXZlQ3NzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWH19fSk7dmFyIFo9bmV3IFksZmosZ2o7d2luZG93LlNoYWR5Q1NTJiYoZmo9d2luZG93LlNoYWR5Q1NTLkFwcGx5U2hpbSxnaj13aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2UpO1xud2luZG93LlNoYWR5Q1NTPXtTY29waW5nU2hpbTpaLHByZXBhcmVUZW1wbGF0ZTpmdW5jdGlvbihhLGIsYyl7Wi5mbHVzaEN1c3RvbVN0eWxlcygpO1oucHJlcGFyZVRlbXBsYXRlKGEsYixjKX0scHJlcGFyZVRlbXBsYXRlRG9tOmZ1bmN0aW9uKGEsYil7Wi5wcmVwYXJlVGVtcGxhdGVEb20oYSxiKX0scHJlcGFyZVRlbXBsYXRlU3R5bGVzOmZ1bmN0aW9uKGEsYixjKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoYSxiLGMpfSxzdHlsZVN1YnRyZWU6ZnVuY3Rpb24oYSxiKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5zdHlsZVN1YnRyZWUoYSxiKX0sc3R5bGVFbGVtZW50OmZ1bmN0aW9uKGEpe1ouZmx1c2hDdXN0b21TdHlsZXMoKTtaLnN0eWxlRWxlbWVudChhKX0sc3R5bGVEb2N1bWVudDpmdW5jdGlvbihhKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5zdHlsZURvY3VtZW50KGEpfSxmbHVzaEN1c3RvbVN0eWxlczpmdW5jdGlvbigpe1ouZmx1c2hDdXN0b21TdHlsZXMoKX0sXG5nZXRDb21wdXRlZFN0eWxlVmFsdWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gWi5nZXRDb21wdXRlZFN0eWxlVmFsdWUoYSxiKX0sbmF0aXZlQ3NzOlgsbmF0aXZlU2hhZG93OlYsY3NzQnVpbGQ6bmgsZGlzYWJsZVJ1bnRpbWU6b2h9O2ZqJiYod2luZG93LlNoYWR5Q1NTLkFwcGx5U2hpbT1maik7Z2omJih3aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2U9Z2opOyhmdW5jdGlvbihhKXtmdW5jdGlvbiBiKHQpe1wiXCI9PXQmJihmLmNhbGwodGhpcyksdGhpcy5tPSEwKTtyZXR1cm4gdC50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGModCl7dmFyIEY9dC5jaGFyQ29kZUF0KDApO3JldHVybiAzMjxGJiYxMjc+RiYmLTE9PVszNCwzNSw2MCw2Miw2Myw5Nl0uaW5kZXhPZihGKT90OmVuY29kZVVSSUNvbXBvbmVudCh0KX1mdW5jdGlvbiBkKHQpe3ZhciBGPXQuY2hhckNvZGVBdCgwKTtyZXR1cm4gMzI8RiYmMTI3PkYmJi0xPT1bMzQsMzUsNjAsNjIsOTZdLmluZGV4T2YoRik/dDplbmNvZGVVUklDb21wb25lbnQodCl9ZnVuY3Rpb24gZSh0LEYsRSl7ZnVuY3Rpb24gTShmYSl7c2EucHVzaChmYSl9dmFyIHk9Rnx8XCJzY2hlbWUgc3RhcnRcIixXPTAsdz1cIlwiLHRhPSExLGhhPSExLHNhPVtdO2E6Zm9yKDsodm9pZCAwIT10W1ctMV18fDA9PVcpJiYhdGhpcy5tOyl7dmFyIG49dFtXXTtzd2l0Y2goeSl7Y2FzZSBcInNjaGVtZSBzdGFydFwiOmlmKG4mJnEudGVzdChuKSl3Kz1cbm4udG9Mb3dlckNhc2UoKSx5PVwic2NoZW1lXCI7ZWxzZSBpZihGKXtNKFwiSW52YWxpZCBzY2hlbWUuXCIpO2JyZWFrIGF9ZWxzZXt3PVwiXCI7eT1cIm5vIHNjaGVtZVwiO2NvbnRpbnVlfWJyZWFrO2Nhc2UgXCJzY2hlbWVcIjppZihuJiZILnRlc3Qobikpdys9bi50b0xvd2VyQ2FzZSgpO2Vsc2UgaWYoXCI6XCI9PW4pe3RoaXMubD13O3c9XCJcIjtpZihGKWJyZWFrIGE7dm9pZCAwIT09bFt0aGlzLmxdJiYodGhpcy5HPSEwKTt5PVwiZmlsZVwiPT10aGlzLmw/XCJyZWxhdGl2ZVwiOnRoaXMuRyYmRSYmRS5sPT10aGlzLmw/XCJyZWxhdGl2ZSBvciBhdXRob3JpdHlcIjp0aGlzLkc/XCJhdXRob3JpdHkgZmlyc3Qgc2xhc2hcIjpcInNjaGVtZSBkYXRhXCJ9ZWxzZSBpZihGKXt2b2lkIDAhPW4mJk0oXCJDb2RlIHBvaW50IG5vdCBhbGxvd2VkIGluIHNjaGVtZTogXCIrbik7YnJlYWsgYX1lbHNle3c9XCJcIjtXPTA7eT1cIm5vIHNjaGVtZVwiO2NvbnRpbnVlfWJyZWFrO2Nhc2UgXCJzY2hlbWUgZGF0YVwiOlwiP1wiPT1uPyh0aGlzLkE9XCI/XCIsXG55PVwicXVlcnlcIik6XCIjXCI9PW4/KHRoaXMuQz1cIiNcIix5PVwiZnJhZ21lbnRcIik6dm9pZCAwIT1uJiZcIlxcdFwiIT1uJiZcIlxcblwiIT1uJiZcIlxcclwiIT1uJiYodGhpcy52YSs9YyhuKSk7YnJlYWs7Y2FzZSBcIm5vIHNjaGVtZVwiOmlmKEUmJnZvaWQgMCE9PWxbRS5sXSl7eT1cInJlbGF0aXZlXCI7Y29udGludWV9ZWxzZSBNKFwiTWlzc2luZyBzY2hlbWUuXCIpLGYuY2FsbCh0aGlzKSx0aGlzLm09ITA7YnJlYWs7Y2FzZSBcInJlbGF0aXZlIG9yIGF1dGhvcml0eVwiOmlmKFwiL1wiPT1uJiZcIi9cIj09dFtXKzFdKXk9XCJhdXRob3JpdHkgaWdub3JlIHNsYXNoZXNcIjtlbHNle00oXCJFeHBlY3RlZCAvLCBnb3Q6IFwiK24pO3k9XCJyZWxhdGl2ZVwiO2NvbnRpbnVlfWJyZWFrO2Nhc2UgXCJyZWxhdGl2ZVwiOnRoaXMuRz0hMDtcImZpbGVcIiE9dGhpcy5sJiYodGhpcy5sPUUubCk7aWYodm9pZCAwPT1uKXt0aGlzLm89RS5vO3RoaXMudj1FLnY7dGhpcy5zPUUucy5zbGljZSgpO3RoaXMuQT1FLkE7dGhpcy5CPUUuQjt0aGlzLmo9RS5qO1xuYnJlYWsgYX1lbHNlIGlmKFwiL1wiPT1ufHxcIlxcXFxcIj09bilcIlxcXFxcIj09biYmTShcIlxcXFwgaXMgYW4gaW52YWxpZCBjb2RlIHBvaW50LlwiKSx5PVwicmVsYXRpdmUgc2xhc2hcIjtlbHNlIGlmKFwiP1wiPT1uKXRoaXMubz1FLm8sdGhpcy52PUUudix0aGlzLnM9RS5zLnNsaWNlKCksdGhpcy5BPVwiP1wiLHRoaXMuQj1FLkIsdGhpcy5qPUUuaix5PVwicXVlcnlcIjtlbHNlIGlmKFwiI1wiPT1uKXRoaXMubz1FLm8sdGhpcy52PUUudix0aGlzLnM9RS5zLnNsaWNlKCksdGhpcy5BPUUuQSx0aGlzLkM9XCIjXCIsdGhpcy5CPUUuQix0aGlzLmo9RS5qLHk9XCJmcmFnbWVudFwiO2Vsc2V7eT10W1crMV07dmFyIEo9dFtXKzJdO2lmKFwiZmlsZVwiIT10aGlzLmx8fCFxLnRlc3Qobil8fFwiOlwiIT15JiZcInxcIiE9eXx8dm9pZCAwIT1KJiZcIi9cIiE9SiYmXCJcXFxcXCIhPUomJlwiP1wiIT1KJiZcIiNcIiE9Sil0aGlzLm89RS5vLHRoaXMudj1FLnYsdGhpcy5CPUUuQix0aGlzLmo9RS5qLHRoaXMucz1FLnMuc2xpY2UoKSx0aGlzLnMucG9wKCk7eT1cblwicmVsYXRpdmUgcGF0aFwiO2NvbnRpbnVlfWJyZWFrO2Nhc2UgXCJyZWxhdGl2ZSBzbGFzaFwiOmlmKFwiL1wiPT1ufHxcIlxcXFxcIj09bilcIlxcXFxcIj09biYmTShcIlxcXFwgaXMgYW4gaW52YWxpZCBjb2RlIHBvaW50LlwiKSx5PVwiZmlsZVwiPT10aGlzLmw/XCJmaWxlIGhvc3RcIjpcImF1dGhvcml0eSBpZ25vcmUgc2xhc2hlc1wiO2Vsc2V7XCJmaWxlXCIhPXRoaXMubCYmKHRoaXMubz1FLm8sdGhpcy52PUUudix0aGlzLkI9RS5CLHRoaXMuaj1FLmopO3k9XCJyZWxhdGl2ZSBwYXRoXCI7Y29udGludWV9YnJlYWs7Y2FzZSBcImF1dGhvcml0eSBmaXJzdCBzbGFzaFwiOmlmKFwiL1wiPT1uKXk9XCJhdXRob3JpdHkgc2Vjb25kIHNsYXNoXCI7ZWxzZXtNKFwiRXhwZWN0ZWQgJy8nLCBnb3Q6IFwiK24pO3k9XCJhdXRob3JpdHkgaWdub3JlIHNsYXNoZXNcIjtjb250aW51ZX1icmVhaztjYXNlIFwiYXV0aG9yaXR5IHNlY29uZCBzbGFzaFwiOnk9XCJhdXRob3JpdHkgaWdub3JlIHNsYXNoZXNcIjtpZihcIi9cIiE9bil7TShcIkV4cGVjdGVkICcvJywgZ290OiBcIitcbm4pO2NvbnRpbnVlfWJyZWFrO2Nhc2UgXCJhdXRob3JpdHkgaWdub3JlIHNsYXNoZXNcIjppZihcIi9cIiE9biYmXCJcXFxcXCIhPW4pe3k9XCJhdXRob3JpdHlcIjtjb250aW51ZX1lbHNlIE0oXCJFeHBlY3RlZCBhdXRob3JpdHksIGdvdDogXCIrbik7YnJlYWs7Y2FzZSBcImF1dGhvcml0eVwiOmlmKFwiQFwiPT1uKXt0YSYmKE0oXCJAIGFscmVhZHkgc2Vlbi5cIiksdys9XCIlNDBcIik7dGE9ITA7Zm9yKG49MDtuPHcubGVuZ3RoO24rKylKPXdbbl0sXCJcXHRcIj09Snx8XCJcXG5cIj09Snx8XCJcXHJcIj09Sj9NKFwiSW52YWxpZCB3aGl0ZXNwYWNlIGluIGF1dGhvcml0eS5cIik6XCI6XCI9PUomJm51bGw9PT10aGlzLmo/dGhpcy5qPVwiXCI6KEo9YyhKKSxudWxsIT09dGhpcy5qP3RoaXMuais9Sjp0aGlzLkIrPUopO3c9XCJcIn1lbHNlIGlmKHZvaWQgMD09bnx8XCIvXCI9PW58fFwiXFxcXFwiPT1ufHxcIj9cIj09bnx8XCIjXCI9PW4pe1ctPXcubGVuZ3RoO3c9XCJcIjt5PVwiaG9zdFwiO2NvbnRpbnVlfWVsc2Ugdys9bjticmVhaztjYXNlIFwiZmlsZSBob3N0XCI6aWYodm9pZCAwPT1cbm58fFwiL1wiPT1ufHxcIlxcXFxcIj09bnx8XCI/XCI9PW58fFwiI1wiPT1uKXsyIT13Lmxlbmd0aHx8IXEudGVzdCh3WzBdKXx8XCI6XCIhPXdbMV0mJlwifFwiIT13WzFdPygwIT13Lmxlbmd0aCYmKHRoaXMubz1iLmNhbGwodGhpcyx3KSx3PVwiXCIpLHk9XCJyZWxhdGl2ZSBwYXRoIHN0YXJ0XCIpOnk9XCJyZWxhdGl2ZSBwYXRoXCI7Y29udGludWV9ZWxzZVwiXFx0XCI9PW58fFwiXFxuXCI9PW58fFwiXFxyXCI9PW4/TShcIkludmFsaWQgd2hpdGVzcGFjZSBpbiBmaWxlIGhvc3QuXCIpOncrPW47YnJlYWs7Y2FzZSBcImhvc3RcIjpjYXNlIFwiaG9zdG5hbWVcIjppZihcIjpcIiE9bnx8aGEpaWYodm9pZCAwPT1ufHxcIi9cIj09bnx8XCJcXFxcXCI9PW58fFwiP1wiPT1ufHxcIiNcIj09bil7dGhpcy5vPWIuY2FsbCh0aGlzLHcpO3c9XCJcIjt5PVwicmVsYXRpdmUgcGF0aCBzdGFydFwiO2lmKEYpYnJlYWsgYTtjb250aW51ZX1lbHNlXCJcXHRcIiE9biYmXCJcXG5cIiE9biYmXCJcXHJcIiE9bj8oXCJbXCI9PW4/aGE9ITA6XCJdXCI9PW4mJihoYT0hMSksdys9bik6TShcIkludmFsaWQgY29kZSBwb2ludCBpbiBob3N0L2hvc3RuYW1lOiBcIitcbm4pO2Vsc2UgaWYodGhpcy5vPWIuY2FsbCh0aGlzLHcpLHc9XCJcIix5PVwicG9ydFwiLFwiaG9zdG5hbWVcIj09RilicmVhayBhO2JyZWFrO2Nhc2UgXCJwb3J0XCI6aWYoL1swLTldLy50ZXN0KG4pKXcrPW47ZWxzZSBpZih2b2lkIDA9PW58fFwiL1wiPT1ufHxcIlxcXFxcIj09bnx8XCI/XCI9PW58fFwiI1wiPT1ufHxGKXtcIlwiIT13JiYodz1wYXJzZUludCh3LDEwKSx3IT1sW3RoaXMubF0mJih0aGlzLnY9dytcIlwiKSx3PVwiXCIpO2lmKEYpYnJlYWsgYTt5PVwicmVsYXRpdmUgcGF0aCBzdGFydFwiO2NvbnRpbnVlfWVsc2VcIlxcdFwiPT1ufHxcIlxcblwiPT1ufHxcIlxcclwiPT1uP00oXCJJbnZhbGlkIGNvZGUgcG9pbnQgaW4gcG9ydDogXCIrbik6KGYuY2FsbCh0aGlzKSx0aGlzLm09ITApO2JyZWFrO2Nhc2UgXCJyZWxhdGl2ZSBwYXRoIHN0YXJ0XCI6XCJcXFxcXCI9PW4mJk0oXCInXFxcXCcgbm90IGFsbG93ZWQgaW4gcGF0aC5cIik7eT1cInJlbGF0aXZlIHBhdGhcIjtpZihcIi9cIiE9biYmXCJcXFxcXCIhPW4pY29udGludWU7YnJlYWs7Y2FzZSBcInJlbGF0aXZlIHBhdGhcIjppZih2b2lkIDAhPVxubiYmXCIvXCIhPW4mJlwiXFxcXFwiIT1uJiYoRnx8XCI/XCIhPW4mJlwiI1wiIT1uKSlcIlxcdFwiIT1uJiZcIlxcblwiIT1uJiZcIlxcclwiIT1uJiYodys9YyhuKSk7ZWxzZXtcIlxcXFxcIj09biYmTShcIlxcXFwgbm90IGFsbG93ZWQgaW4gcmVsYXRpdmUgcGF0aC5cIik7aWYoSj1tW3cudG9Mb3dlckNhc2UoKV0pdz1KO1wiLi5cIj09dz8odGhpcy5zLnBvcCgpLFwiL1wiIT1uJiZcIlxcXFxcIiE9biYmdGhpcy5zLnB1c2goXCJcIikpOlwiLlwiPT13JiZcIi9cIiE9biYmXCJcXFxcXCIhPW4/dGhpcy5zLnB1c2goXCJcIik6XCIuXCIhPXcmJihcImZpbGVcIj09dGhpcy5sJiYwPT10aGlzLnMubGVuZ3RoJiYyPT13Lmxlbmd0aCYmcS50ZXN0KHdbMF0pJiZcInxcIj09d1sxXSYmKHc9d1swXStcIjpcIiksdGhpcy5zLnB1c2godykpO3c9XCJcIjtcIj9cIj09bj8odGhpcy5BPVwiP1wiLHk9XCJxdWVyeVwiKTpcIiNcIj09biYmKHRoaXMuQz1cIiNcIix5PVwiZnJhZ21lbnRcIil9YnJlYWs7Y2FzZSBcInF1ZXJ5XCI6Rnx8XCIjXCIhPW4/dm9pZCAwIT1uJiZcIlxcdFwiIT1uJiZcIlxcblwiIT1uJiZcIlxcclwiIT1uJiYodGhpcy5BKz1cbmQobikpOih0aGlzLkM9XCIjXCIseT1cImZyYWdtZW50XCIpO2JyZWFrO2Nhc2UgXCJmcmFnbWVudFwiOnZvaWQgMCE9biYmXCJcXHRcIiE9biYmXCJcXG5cIiE9biYmXCJcXHJcIiE9biYmKHRoaXMuQys9bil9VysrfX1mdW5jdGlvbiBmKCl7dGhpcy5CPXRoaXMudmE9dGhpcy5sPVwiXCI7dGhpcy5qPW51bGw7dGhpcy52PXRoaXMubz1cIlwiO3RoaXMucz1bXTt0aGlzLkM9dGhpcy5BPVwiXCI7dGhpcy5HPXRoaXMubT0hMX1mdW5jdGlvbiBnKHQsRil7dm9pZCAwPT09Rnx8RiBpbnN0YW5jZW9mIGd8fChGPW5ldyBnKFN0cmluZyhGKSkpO3RoaXMuZz10O2YuY2FsbCh0aGlzKTtlLmNhbGwodGhpcyx0aGlzLmcucmVwbGFjZSgvXlsgXFx0XFxyXFxuXFxmXSt8WyBcXHRcXHJcXG5cXGZdKyQvZyxcIlwiKSxudWxsLEYpfXZhciBoPSExO3RyeXt2YXIgaz1uZXcgVVJMKFwiYlwiLFwiaHR0cDovL2FcIik7ay5wYXRobmFtZT1cImMlMjBkXCI7aD1cImh0dHA6Ly9hL2MlMjBkXCI9PT1rLmhyZWZ9Y2F0Y2godCl7fWlmKCFoKXt2YXIgbD1PYmplY3QuY3JlYXRlKG51bGwpO1xubC5mdHA9MjE7bC5maWxlPTA7bC5nb3BoZXI9NzA7bC5odHRwPTgwO2wuaHR0cHM9NDQzO2wud3M9ODA7bC53c3M9NDQzO3ZhciBtPU9iamVjdC5jcmVhdGUobnVsbCk7bVtcIiUyZVwiXT1cIi5cIjttW1wiLiUyZVwiXT1cIi4uXCI7bVtcIiUyZS5cIl09XCIuLlwiO21bXCIlMmUlMmVcIl09XCIuLlwiO3ZhciBxPS9bYS16QS1aXS8sSD0vW2EtekEtWjAtOStcXC0uXS87Zy5wcm90b3R5cGU9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaHJlZn0sZ2V0IGhyZWYoKXtpZih0aGlzLm0pcmV0dXJuIHRoaXMuZzt2YXIgdD1cIlwiO2lmKFwiXCIhPXRoaXMuQnx8bnVsbCE9dGhpcy5qKXQ9dGhpcy5CKyhudWxsIT10aGlzLmo/XCI6XCIrdGhpcy5qOlwiXCIpK1wiQFwiO3JldHVybiB0aGlzLnByb3RvY29sKyh0aGlzLkc/XCIvL1wiK3QrdGhpcy5ob3N0OlwiXCIpK3RoaXMucGF0aG5hbWUrdGhpcy5BK3RoaXMuQ30sc2V0IGhyZWYodCl7Zi5jYWxsKHRoaXMpO2UuY2FsbCh0aGlzLHQpfSxnZXQgcHJvdG9jb2woKXtyZXR1cm4gdGhpcy5sK1xuXCI6XCJ9LHNldCBwcm90b2NvbCh0KXt0aGlzLm18fGUuY2FsbCh0aGlzLHQrXCI6XCIsXCJzY2hlbWUgc3RhcnRcIil9LGdldCBob3N0KCl7cmV0dXJuIHRoaXMubT9cIlwiOnRoaXMudj90aGlzLm8rXCI6XCIrdGhpcy52OnRoaXMub30sc2V0IGhvc3QodCl7IXRoaXMubSYmdGhpcy5HJiZlLmNhbGwodGhpcyx0LFwiaG9zdFwiKX0sZ2V0IGhvc3RuYW1lKCl7cmV0dXJuIHRoaXMub30sc2V0IGhvc3RuYW1lKHQpeyF0aGlzLm0mJnRoaXMuRyYmZS5jYWxsKHRoaXMsdCxcImhvc3RuYW1lXCIpfSxnZXQgcG9ydCgpe3JldHVybiB0aGlzLnZ9LHNldCBwb3J0KHQpeyF0aGlzLm0mJnRoaXMuRyYmZS5jYWxsKHRoaXMsdCxcInBvcnRcIil9LGdldCBwYXRobmFtZSgpe3JldHVybiB0aGlzLm0/XCJcIjp0aGlzLkc/XCIvXCIrdGhpcy5zLmpvaW4oXCIvXCIpOnRoaXMudmF9LHNldCBwYXRobmFtZSh0KXshdGhpcy5tJiZ0aGlzLkcmJih0aGlzLnM9W10sZS5jYWxsKHRoaXMsdCxcInJlbGF0aXZlIHBhdGggc3RhcnRcIikpfSxnZXQgc2VhcmNoKCl7cmV0dXJuIHRoaXMubXx8XG4hdGhpcy5BfHxcIj9cIj09dGhpcy5BP1wiXCI6dGhpcy5BfSxzZXQgc2VhcmNoKHQpeyF0aGlzLm0mJnRoaXMuRyYmKHRoaXMuQT1cIj9cIixcIj9cIj09dFswXSYmKHQ9dC5zbGljZSgxKSksZS5jYWxsKHRoaXMsdCxcInF1ZXJ5XCIpKX0sZ2V0IGhhc2goKXtyZXR1cm4gdGhpcy5tfHwhdGhpcy5DfHxcIiNcIj09dGhpcy5DP1wiXCI6dGhpcy5DfSxzZXQgaGFzaCh0KXt0aGlzLm18fCh0Pyh0aGlzLkM9XCIjXCIsXCIjXCI9PXRbMF0mJih0PXQuc2xpY2UoMSkpLGUuY2FsbCh0aGlzLHQsXCJmcmFnbWVudFwiKSk6dGhpcy5DPVwiXCIpfSxnZXQgb3JpZ2luKCl7dmFyIHQ7aWYodGhpcy5tfHwhdGhpcy5sKXJldHVyblwiXCI7c3dpdGNoKHRoaXMubCl7Y2FzZSBcImRhdGFcIjpjYXNlIFwiZmlsZVwiOmNhc2UgXCJqYXZhc2NyaXB0XCI6Y2FzZSBcIm1haWx0b1wiOnJldHVyblwibnVsbFwifXJldHVybih0PXRoaXMuaG9zdCk/dGhpcy5sK1wiOi8vXCIrdDpcIlwifX07dmFyIEM9YS5VUkw7QyYmKGcuY3JlYXRlT2JqZWN0VVJMPWZ1bmN0aW9uKHQpe3JldHVybiBDLmNyZWF0ZU9iamVjdFVSTC5hcHBseShDLFxuYXJndW1lbnRzKX0sZy5yZXZva2VPYmplY3RVUkw9ZnVuY3Rpb24odCl7Qy5yZXZva2VPYmplY3RVUkwodCl9KTthLlVSTD1nfX0pKHdpbmRvdyk7LypcblxuQ29weXJpZ2h0IChjKSAyMDE4IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cblRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHRcblRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0XG5UaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHRcbkNvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvXG5zdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dFxuKi9cbnZhciBoaj13aW5kb3cuY3VzdG9tRWxlbWVudHMsaWo9ITEsamo9bnVsbDtoai5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrJiZoai5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKGZ1bmN0aW9uKGEpe2pqPWE7aWomJmEoKX0pO2Z1bmN0aW9uIGtqKCl7d2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQuYm9vdHN0cmFwJiZ3aW5kb3cuSFRNTFRlbXBsYXRlRWxlbWVudC5ib290c3RyYXAod2luZG93LmRvY3VtZW50KTtqaiYmamooKTtpaj0hMDt3aW5kb3cuV2ViQ29tcG9uZW50cy5yZWFkeT0hMDtkb2N1bWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChcIldlYkNvbXBvbmVudHNSZWFkeVwiLHtidWJibGVzOiEwfSkpfVxuXCJjb21wbGV0ZVwiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZT8od2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsa2opLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLGZ1bmN0aW9uKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsa2opO2tqKCl9KSk6a2ooKTt9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD13ZWJjb21wb25lbnRzLWJ1bmRsZS5qcy5tYXBcbiIsIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoYykgMjAxOCBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0XG4gKiBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dFxuICogVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0XG4gKiBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzb1xuICogc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHRcbiAqL1xuXG4oZnVuY3Rpb24gKCkge1xuICAndXNlIHN0cmljdCc7XG5cbiAgLyoqXG4gICAqIEJhc2ljIGZsb3cgb2YgdGhlIGxvYWRlciBwcm9jZXNzXG4gICAqXG4gICAqIFRoZXJlIGFyZSA0IGZsb3dzIHRoZSBsb2FkZXIgY2FuIHRha2Ugd2hlbiBib290aW5nIHVwXG4gICAqXG4gICAqIC0gU3luY2hyb25vdXMgc2NyaXB0LCBubyBwb2x5ZmlsbHMgbmVlZGVkXG4gICAqICAgLSB3YWl0IGZvciBgRE9NQ29udGVudExvYWRlZGBcbiAgICogICAtIGZpcmUgV0NSIGV2ZW50LCBhcyB0aGVyZSBjb3VsZCBub3QgYmUgYW55IGNhbGxiYWNrcyBwYXNzZWQgdG8gYHdhaXRGb3JgXG4gICAqXG4gICAqIC0gU3luY2hyb25vdXMgc2NyaXB0LCBwb2x5ZmlsbHMgbmVlZGVkXG4gICAqICAgLSBkb2N1bWVudC53cml0ZSB0aGUgcG9seWZpbGwgYnVuZGxlXG4gICAqICAgLSB3YWl0IG9uIHRoZSBgbG9hZGAgZXZlbnQgb2YgdGhlIGJ1bmRsZSB0byBiYXRjaCBDdXN0b20gRWxlbWVudCB1cGdyYWRlc1xuICAgKiAgIC0gd2FpdCBmb3IgYERPTUNvbnRlbnRMb2FkZWRgXG4gICAqICAgLSBydW4gY2FsbGJhY2tzIHBhc3NlZCB0byBgd2FpdEZvcmBcbiAgICogICAtIGZpcmUgV0NSIGV2ZW50XG4gICAqXG4gICAqIC0gQXN5bmNocm9ub3VzIHNjcmlwdCwgbm8gcG9seWZpbGxzIG5lZWRlZFxuICAgKiAgIC0gd2FpdCBmb3IgYERPTUNvbnRlbnRMb2FkZWRgXG4gICAqICAgLSBydW4gY2FsbGJhY2tzIHBhc3NlZCB0byBgd2FpdEZvcmBcbiAgICogICAtIGZpcmUgV0NSIGV2ZW50XG4gICAqXG4gICAqIC0gQXN5bmNocm9ub3VzIHNjcmlwdCwgcG9seWZpbGxzIG5lZWRlZFxuICAgKiAgIC0gQXBwZW5kIHRoZSBwb2x5ZmlsbCBidW5kbGUgc2NyaXB0XG4gICAqICAgLSB3YWl0IGZvciBgbG9hZGAgZXZlbnQgb2YgdGhlIGJ1bmRsZVxuICAgKiAgIC0gYmF0Y2ggQ3VzdG9tIEVsZW1lbnQgVXBncmFkZXNcbiAgICogICAtIHJ1biBjYWxsYmFja3MgcGFzcyB0byBgd2FpdEZvcmBcbiAgICogICAtIGZpcmUgV0NSIGV2ZW50XG4gICAqL1xuXG4gIHZhciBwb2x5ZmlsbHNMb2FkZWQgPSBmYWxzZTtcbiAgdmFyIHdoZW5Mb2FkZWRGbnMgPSBbXTtcbiAgdmFyIGFsbG93VXBncmFkZXMgPSBmYWxzZTtcbiAgdmFyIGZsdXNoRm47XG5cbiAgZnVuY3Rpb24gZmlyZUV2ZW50KCkge1xuICAgIHdpbmRvdy5XZWJDb21wb25lbnRzLnJlYWR5ID0gdHJ1ZTtcbiAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50KCdXZWJDb21wb25lbnRzUmVhZHknLCB7YnViYmxlczogdHJ1ZX0pXG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGJhdGNoQ3VzdG9tRWxlbWVudHMoKSB7XG4gICAgaWYgKHdpbmRvdy5jdXN0b21FbGVtZW50cyAmJiBjdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKGZ1bmN0aW9uIChmbHVzaENhbGxiYWNrKSB7XG4gICAgICAgIGZsdXNoRm4gPSBmbHVzaENhbGxiYWNrO1xuICAgICAgICBpZiAoYWxsb3dVcGdyYWRlcykge1xuICAgICAgICAgIGZsdXNoRm4oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYXN5bmNSZWFkeSgpIHtcbiAgICBiYXRjaEN1c3RvbUVsZW1lbnRzKCk7XG4gICAgcmVhZHkoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlYWR5KCkge1xuICAgIC8vIGJvb3RzdHJhcCA8dGVtcGxhdGU+IGVsZW1lbnRzIGJlZm9yZSBjdXN0b20gZWxlbWVudHNcbiAgICBpZiAod2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQgJiYgSFRNTFRlbXBsYXRlRWxlbWVudC5ib290c3RyYXApIHtcbiAgICAgIEhUTUxUZW1wbGF0ZUVsZW1lbnQuYm9vdHN0cmFwKHdpbmRvdy5kb2N1bWVudCk7XG4gICAgfVxuICAgIHBvbHlmaWxsc0xvYWRlZCA9IHRydWU7XG4gICAgcnVuV2hlbkxvYWRlZEZucygpLnRoZW4oZmlyZUV2ZW50KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJ1bldoZW5Mb2FkZWRGbnMoKSB7XG4gICAgYWxsb3dVcGdyYWRlcyA9IGZhbHNlO1xuICAgIHZhciBmbnNNYXAgPSB3aGVuTG9hZGVkRm5zLm1hcChmdW5jdGlvbiAoZm4pIHtcbiAgICAgIHJldHVybiBmbiBpbnN0YW5jZW9mIEZ1bmN0aW9uID8gZm4oKSA6IGZuO1xuICAgIH0pO1xuICAgIHdoZW5Mb2FkZWRGbnMgPSBbXTtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoZm5zTWFwKVxuICAgICAgLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICBhbGxvd1VwZ3JhZGVzID0gdHJ1ZTtcbiAgICAgICAgZmx1c2hGbiAmJiBmbHVzaEZuKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgfSk7XG4gIH1cblxuICB3aW5kb3cuV2ViQ29tcG9uZW50cyA9IHdpbmRvdy5XZWJDb21wb25lbnRzIHx8IHt9O1xuICB3aW5kb3cuV2ViQ29tcG9uZW50cy5yZWFkeSA9IHdpbmRvdy5XZWJDb21wb25lbnRzLnJlYWR5IHx8IGZhbHNlO1xuICB3aW5kb3cuV2ViQ29tcG9uZW50cy53YWl0Rm9yID1cbiAgICB3aW5kb3cuV2ViQ29tcG9uZW50cy53YWl0Rm9yIHx8XG4gICAgZnVuY3Rpb24gKHdhaXRGbikge1xuICAgICAgaWYgKCF3YWl0Rm4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgd2hlbkxvYWRlZEZucy5wdXNoKHdhaXRGbik7XG4gICAgICBpZiAocG9seWZpbGxzTG9hZGVkKSB7XG4gICAgICAgIHJ1bldoZW5Mb2FkZWRGbnMoKTtcbiAgICAgIH1cbiAgICB9O1xuICB3aW5kb3cuV2ViQ29tcG9uZW50cy5fYmF0Y2hDdXN0b21FbGVtZW50cyA9IGJhdGNoQ3VzdG9tRWxlbWVudHM7XG5cbiAgdmFyIG5hbWUgPSAnd2ViY29tcG9uZW50cy1sb2FkZXIuanMnO1xuICAvLyBGZWF0dXJlIGRldGVjdCB3aGljaCBwb2x5ZmlsbCBuZWVkcyB0byBiZSBpbXBvcnRlZC5cbiAgdmFyIHBvbHlmaWxscyA9IFtdO1xuICBpZiAoXG4gICAgIShcbiAgICAgICdhdHRhY2hTaGFkb3cnIGluIEVsZW1lbnQucHJvdG90eXBlICYmICdnZXRSb290Tm9kZScgaW4gRWxlbWVudC5wcm90b3R5cGVcbiAgICApIHx8XG4gICAgKHdpbmRvdy5TaGFkeURPTSAmJiB3aW5kb3cuU2hhZHlET00uZm9yY2UpXG4gICkge1xuICAgIHBvbHlmaWxscy5wdXNoKCdzZCcpO1xuICB9XG4gIGlmICghd2luZG93LmN1c3RvbUVsZW1lbnRzIHx8IHdpbmRvdy5jdXN0b21FbGVtZW50cy5mb3JjZVBvbHlmaWxsKSB7XG4gICAgcG9seWZpbGxzLnB1c2goJ2NlJyk7XG4gIH1cblxuICB2YXIgbmVlZHNUZW1wbGF0ZSA9IChmdW5jdGlvbiAoKSB7XG4gICAgLy8gbm8gcmVhbCA8dGVtcGxhdGU+IGJlY2F1c2Ugbm8gYGNvbnRlbnRgIHByb3BlcnR5IChJRSBhbmQgb2xkZXIgYnJvd3NlcnMpXG4gICAgdmFyIHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZW1wbGF0ZScpO1xuICAgIGlmICghKCdjb250ZW50JyBpbiB0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIGJyb2tlbiBkb2MgZnJhZ21lbnQgKG9sZGVyIEVkZ2UpXG4gICAgaWYgKCEodC5jb250ZW50LmNsb25lTm9kZSgpIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBicm9rZW4gPHRlbXBsYXRlPiBjbG9uaW5nIChFZGdlIHVwIHRvIGF0IGxlYXN0IHZlcnNpb24gMTcpXG4gICAgdmFyIHQyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTtcbiAgICB0Mi5jb250ZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcbiAgICB0LmNvbnRlbnQuYXBwZW5kQ2hpbGQodDIpO1xuICAgIHZhciBjbG9uZSA9IHQuY2xvbmVOb2RlKHRydWUpO1xuICAgIHJldHVybiAoXG4gICAgICBjbG9uZS5jb250ZW50LmNoaWxkTm9kZXMubGVuZ3RoID09PSAwIHx8XG4gICAgICBjbG9uZS5jb250ZW50LmZpcnN0Q2hpbGQuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMFxuICAgICk7XG4gIH0pKCk7XG5cbiAgLy8gTk9URTogYW55IGJyb3dzZXIgdGhhdCBkb2VzIG5vdCBoYXZlIHRlbXBsYXRlIG9yIEVTNiBmZWF0dXJlc1xuICAvLyBtdXN0IGxvYWQgdGhlIGZ1bGwgc3VpdGUgb2YgcG9seWZpbGxzLlxuICBpZiAoXG4gICAgIXdpbmRvdy5Qcm9taXNlIHx8XG4gICAgIUFycmF5LmZyb20gfHxcbiAgICAhd2luZG93LlVSTCB8fFxuICAgICF3aW5kb3cuU3ltYm9sIHx8XG4gICAgbmVlZHNUZW1wbGF0ZVxuICApIHtcbiAgICBwb2x5ZmlsbHMgPSBbJ3NkLWNlLXBmJ107XG4gIH1cblxuICBpZiAocG9seWZpbGxzLmxlbmd0aCkge1xuICAgIHZhciB1cmw7XG4gICAgdmFyIHBvbHlmaWxsRmlsZSA9ICdidW5kbGVzL3dlYmNvbXBvbmVudHMtJyArIHBvbHlmaWxscy5qb2luKCctJykgKyAnLmpzJztcblxuICAgIC8vIExvYWQgaXQgZnJvbSB0aGUgcmlnaHQgcGxhY2UuXG4gICAgaWYgKHdpbmRvdy5XZWJDb21wb25lbnRzLnJvb3QpIHtcbiAgICAgIHVybCA9IHdpbmRvdy5XZWJDb21wb25lbnRzLnJvb3QgKyBwb2x5ZmlsbEZpbGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzY3JpcHRbc3JjKj1cIicgKyBuYW1lICsgJ1wiXScpO1xuICAgICAgLy8gTG9hZCBpdCBmcm9tIHRoZSByaWdodCBwbGFjZS5cbiAgICAgIHVybCA9IHNjcmlwdC5zcmMucmVwbGFjZShuYW1lLCBwb2x5ZmlsbEZpbGUpO1xuICAgIH1cblxuICAgIHZhciBuZXdTY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBuZXdTY3JpcHQuc3JjID0gdXJsO1xuICAgIC8vIGlmIHJlYWR5U3RhdGUgaXMgJ2xvYWRpbmcnLCB0aGlzIHNjcmlwdCBpcyBzeW5jaHJvbm91c1xuICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnbG9hZGluZycpIHtcbiAgICAgIC8vIG1ha2Ugc3VyZSBjdXN0b20gZWxlbWVudHMgYXJlIGJhdGNoZWQgd2hlbmV2ZXIgcGFyc2VyIGdldHMgdG8gdGhlIGluamVjdGVkIHNjcmlwdFxuICAgICAgbmV3U2NyaXB0LnNldEF0dHJpYnV0ZShcbiAgICAgICAgJ29ubG9hZCcsXG4gICAgICAgICd3aW5kb3cuV2ViQ29tcG9uZW50cy5fYmF0Y2hDdXN0b21FbGVtZW50cygpJ1xuICAgICAgKTtcbiAgICAgIGRvY3VtZW50LndyaXRlKG5ld1NjcmlwdC5vdXRlckhUTUwpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIHJlYWR5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3U2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFzeW5jUmVhZHkoKTtcbiAgICAgIH0pO1xuICAgICAgbmV3U2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgZnVuY3Rpb24gKCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBsb2FkIHBvbHlmaWxsIGJ1bmRsZScgKyB1cmwpO1xuICAgICAgfSk7XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG5ld1NjcmlwdCk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIGlmIHJlYWR5U3RhdGUgaXMgJ2NvbXBsZXRlJywgc2NyaXB0IGlzIGxvYWRlZCBpbXBlcmF0aXZlbHkgb24gYSBzcGVjLWNvbXBsaWFudCBicm93c2VyLCBzbyBqdXN0IGZpcmUgV0NSXG4gICAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScpIHtcbiAgICAgIHBvbHlmaWxsc0xvYWRlZCA9IHRydWU7XG4gICAgICBmaXJlRXZlbnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhpcyBzY3JpcHQgbWF5IGNvbWUgYmV0d2VlbiBEQ0wgYW5kIGxvYWQsIHNvIGxpc3RlbiBmb3IgYm90aCwgYW5kIGNhbmNlbCBsb2FkIGxpc3RlbmVyIGlmIERDTCBmaXJlc1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZWFkeSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZWFkeSk7XG4gICAgICAgIHJlYWR5KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn0pKCk7XG4iLCIvKlxuICogSW50ZXJuYXRpb25hbCBUZWxlcGhvbmUgSW5wdXQgdjE2LjEuMFxuICogaHR0cHM6Ly9naXRodWIuY29tL2phY2tvY25yL2ludGwtdGVsLWlucHV0LmdpdFxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKi9cblxuLy8gd3JhcCBpbiBVTURcbihmdW5jdGlvbihmYWN0b3J5KSB7XG4gICAgaWYgKHR5cGVvZiBtb2R1bGUgPT09IFwib2JqZWN0XCIgJiYgbW9kdWxlLmV4cG9ydHMpIG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpOyBlbHNlIHdpbmRvdy5pbnRsVGVsSW5wdXQgPSBmYWN0b3J5KCk7XG59KShmdW5jdGlvbih1bmRlZmluZWQpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIEFycmF5IG9mIGNvdW50cnkgb2JqZWN0cyBmb3IgdGhlIGZsYWcgZHJvcGRvd24uXG4gICAgICAgIC8vIEhlcmUgaXMgdGhlIGNyaXRlcmlhIGZvciB0aGUgcGx1Z2luIHRvIHN1cHBvcnQgYSBnaXZlbiBjb3VudHJ5L3RlcnJpdG9yeVxuICAgICAgICAvLyAtIEl0IGhhcyBhbiBpc28yIGNvZGU6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT18zMTY2LTFfYWxwaGEtMlxuICAgICAgICAvLyAtIEl0IGhhcyBpdCdzIG93biBjb3VudHJ5IGNhbGxpbmcgY29kZSAoaXQgaXMgbm90IGEgc3ViLXJlZ2lvbiBvZiBhbm90aGVyIGNvdW50cnkpOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaXN0X29mX2NvdW50cnlfY2FsbGluZ19jb2Rlc1xuICAgICAgICAvLyAtIEl0IGhhcyBhIGZsYWcgaW4gdGhlIHJlZ2lvbi1mbGFncyBwcm9qZWN0OiBodHRwczovL2dpdGh1Yi5jb20vYmVoZGFkL3JlZ2lvbi1mbGFncy90cmVlL2doLXBhZ2VzL3BuZ1xuICAgICAgICAvLyAtIEl0IGlzIHN1cHBvcnRlZCBieSBsaWJwaG9uZW51bWJlciAoaXQgbXVzdCBiZSBsaXN0ZWQgb24gdGhpcyBwYWdlKTogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZWkxOG4vbGlicGhvbmVudW1iZXIvYmxvYi9tYXN0ZXIvcmVzb3VyY2VzL1Nob3J0TnVtYmVyTWV0YWRhdGEueG1sXG4gICAgICAgIC8vIEVhY2ggY291bnRyeSBhcnJheSBoYXMgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjpcbiAgICAgICAgLy8gW1xuICAgICAgICAvLyAgICBDb3VudHJ5IG5hbWUsXG4gICAgICAgIC8vICAgIGlzbzIgY29kZSxcbiAgICAgICAgLy8gICAgSW50ZXJuYXRpb25hbCBkaWFsIGNvZGUsXG4gICAgICAgIC8vICAgIE9yZGVyIChpZiA+MSBjb3VudHJ5IHdpdGggc2FtZSBkaWFsIGNvZGUpLFxuICAgICAgICAvLyAgICBBcmVhIGNvZGVzXG4gICAgICAgIC8vIF1cbiAgICAgICAgdmFyIGFsbENvdW50cmllcyA9IFsgWyBcIkFmZ2hhbmlzdGFuICjigKvYp9mB2LrYp9mG2LPYqtin2YbigKzigI4pXCIsIFwiYWZcIiwgXCI5M1wiIF0sIFsgXCJBbGJhbmlhIChTaHFpcMOrcmkpXCIsIFwiYWxcIiwgXCIzNTVcIiBdLCBbIFwiQWxnZXJpYSAo4oCr2KfZhNis2LLYp9im2LHigKzigI4pXCIsIFwiZHpcIiwgXCIyMTNcIiBdLCBbIFwiQW1lcmljYW4gU2Ftb2FcIiwgXCJhc1wiLCBcIjFcIiwgNSwgWyBcIjY4NFwiIF0gXSwgWyBcIkFuZG9ycmFcIiwgXCJhZFwiLCBcIjM3NlwiIF0sIFsgXCJBbmdvbGFcIiwgXCJhb1wiLCBcIjI0NFwiIF0sIFsgXCJBbmd1aWxsYVwiLCBcImFpXCIsIFwiMVwiLCA2LCBbIFwiMjY0XCIgXSBdLCBbIFwiQW50aWd1YSBhbmQgQmFyYnVkYVwiLCBcImFnXCIsIFwiMVwiLCA3LCBbIFwiMjY4XCIgXSBdLCBbIFwiQXJnZW50aW5hXCIsIFwiYXJcIiwgXCI1NFwiIF0sIFsgXCJBcm1lbmlhICjVgNWh1bXVodW91b/VodW2KVwiLCBcImFtXCIsIFwiMzc0XCIgXSwgWyBcIkFydWJhXCIsIFwiYXdcIiwgXCIyOTdcIiBdLCBbIFwiQXVzdHJhbGlhXCIsIFwiYXVcIiwgXCI2MVwiLCAwIF0sIFsgXCJBdXN0cmlhICjDlnN0ZXJyZWljaClcIiwgXCJhdFwiLCBcIjQzXCIgXSwgWyBcIkF6ZXJiYWlqYW4gKEF6yZlyYmF5Y2FuKVwiLCBcImF6XCIsIFwiOTk0XCIgXSwgWyBcIkJhaGFtYXNcIiwgXCJic1wiLCBcIjFcIiwgOCwgWyBcIjI0MlwiIF0gXSwgWyBcIkJhaHJhaW4gKOKAq9in2YTYqNit2LHZitmG4oCs4oCOKVwiLCBcImJoXCIsIFwiOTczXCIgXSwgWyBcIkJhbmdsYWRlc2ggKOCmrOCmvuCmguCmsuCmvuCmpuCnh+CmtilcIiwgXCJiZFwiLCBcIjg4MFwiIF0sIFsgXCJCYXJiYWRvc1wiLCBcImJiXCIsIFwiMVwiLCA5LCBbIFwiMjQ2XCIgXSBdLCBbIFwiQmVsYXJ1cyAo0JHQtdC70LDRgNGD0YHRjClcIiwgXCJieVwiLCBcIjM3NVwiIF0sIFsgXCJCZWxnaXVtIChCZWxnacOrKVwiLCBcImJlXCIsIFwiMzJcIiBdLCBbIFwiQmVsaXplXCIsIFwiYnpcIiwgXCI1MDFcIiBdLCBbIFwiQmVuaW4gKELDqW5pbilcIiwgXCJialwiLCBcIjIyOVwiIF0sIFsgXCJCZXJtdWRhXCIsIFwiYm1cIiwgXCIxXCIsIDEwLCBbIFwiNDQxXCIgXSBdLCBbIFwiQmh1dGFuICjgvaDgvZbgvrLgvbTgvYIpXCIsIFwiYnRcIiwgXCI5NzVcIiBdLCBbIFwiQm9saXZpYVwiLCBcImJvXCIsIFwiNTkxXCIgXSwgWyBcIkJvc25pYSBhbmQgSGVyemVnb3ZpbmEgKNCR0L7RgdC90LAg0Lgg0KXQtdGA0YbQtdCz0L7QstC40L3QsClcIiwgXCJiYVwiLCBcIjM4N1wiIF0sIFsgXCJCb3Rzd2FuYVwiLCBcImJ3XCIsIFwiMjY3XCIgXSwgWyBcIkJyYXppbCAoQnJhc2lsKVwiLCBcImJyXCIsIFwiNTVcIiBdLCBbIFwiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5XCIsIFwiaW9cIiwgXCIyNDZcIiBdLCBbIFwiQnJpdGlzaCBWaXJnaW4gSXNsYW5kc1wiLCBcInZnXCIsIFwiMVwiLCAxMSwgWyBcIjI4NFwiIF0gXSwgWyBcIkJydW5laVwiLCBcImJuXCIsIFwiNjczXCIgXSwgWyBcIkJ1bGdhcmlhICjQkdGK0LvQs9Cw0YDQuNGPKVwiLCBcImJnXCIsIFwiMzU5XCIgXSwgWyBcIkJ1cmtpbmEgRmFzb1wiLCBcImJmXCIsIFwiMjI2XCIgXSwgWyBcIkJ1cnVuZGkgKFVidXJ1bmRpKVwiLCBcImJpXCIsIFwiMjU3XCIgXSwgWyBcIkNhbWJvZGlhICjhnoDhnpjhn5LhnpbhnrvhnofhnrYpXCIsIFwia2hcIiwgXCI4NTVcIiBdLCBbIFwiQ2FtZXJvb24gKENhbWVyb3VuKVwiLCBcImNtXCIsIFwiMjM3XCIgXSwgWyBcIkNhbmFkYVwiLCBcImNhXCIsIFwiMVwiLCAxLCBbIFwiMjA0XCIsIFwiMjI2XCIsIFwiMjM2XCIsIFwiMjQ5XCIsIFwiMjUwXCIsIFwiMjg5XCIsIFwiMzA2XCIsIFwiMzQzXCIsIFwiMzY1XCIsIFwiMzg3XCIsIFwiNDAzXCIsIFwiNDE2XCIsIFwiNDE4XCIsIFwiNDMxXCIsIFwiNDM3XCIsIFwiNDM4XCIsIFwiNDUwXCIsIFwiNTA2XCIsIFwiNTE0XCIsIFwiNTE5XCIsIFwiNTQ4XCIsIFwiNTc5XCIsIFwiNTgxXCIsIFwiNTg3XCIsIFwiNjA0XCIsIFwiNjEzXCIsIFwiNjM5XCIsIFwiNjQ3XCIsIFwiNjcyXCIsIFwiNzA1XCIsIFwiNzA5XCIsIFwiNzQyXCIsIFwiNzc4XCIsIFwiNzgwXCIsIFwiNzgyXCIsIFwiODA3XCIsIFwiODE5XCIsIFwiODI1XCIsIFwiODY3XCIsIFwiODczXCIsIFwiOTAyXCIsIFwiOTA1XCIgXSBdLCBbIFwiQ2FwZSBWZXJkZSAoS2FidSBWZXJkaSlcIiwgXCJjdlwiLCBcIjIzOFwiIF0sIFsgXCJDYXJpYmJlYW4gTmV0aGVybGFuZHNcIiwgXCJicVwiLCBcIjU5OVwiLCAxLCBbIFwiM1wiLCBcIjRcIiwgXCI3XCIgXSBdLCBbIFwiQ2F5bWFuIElzbGFuZHNcIiwgXCJreVwiLCBcIjFcIiwgMTIsIFsgXCIzNDVcIiBdIF0sIFsgXCJDZW50cmFsIEFmcmljYW4gUmVwdWJsaWMgKFLDqXB1YmxpcXVlIGNlbnRyYWZyaWNhaW5lKVwiLCBcImNmXCIsIFwiMjM2XCIgXSwgWyBcIkNoYWQgKFRjaGFkKVwiLCBcInRkXCIsIFwiMjM1XCIgXSwgWyBcIkNoaWxlXCIsIFwiY2xcIiwgXCI1NlwiIF0sIFsgXCJDaGluYSAo5Lit5Zu9KVwiLCBcImNuXCIsIFwiODZcIiBdLCBbIFwiQ2hyaXN0bWFzIElzbGFuZFwiLCBcImN4XCIsIFwiNjFcIiwgMiBdLCBbIFwiQ29jb3MgKEtlZWxpbmcpIElzbGFuZHNcIiwgXCJjY1wiLCBcIjYxXCIsIDEgXSwgWyBcIkNvbG9tYmlhXCIsIFwiY29cIiwgXCI1N1wiIF0sIFsgXCJDb21vcm9zICjigKvYrNiy2LEg2KfZhNmC2YXYseKArOKAjilcIiwgXCJrbVwiLCBcIjI2OVwiIF0sIFsgXCJDb25nbyAoRFJDKSAoSmFtaHVyaSB5YSBLaWRlbW9rcmFzaWEgeWEgS29uZ28pXCIsIFwiY2RcIiwgXCIyNDNcIiBdLCBbIFwiQ29uZ28gKFJlcHVibGljKSAoQ29uZ28tQnJhenphdmlsbGUpXCIsIFwiY2dcIiwgXCIyNDJcIiBdLCBbIFwiQ29vayBJc2xhbmRzXCIsIFwiY2tcIiwgXCI2ODJcIiBdLCBbIFwiQ29zdGEgUmljYVwiLCBcImNyXCIsIFwiNTA2XCIgXSwgWyBcIkPDtHRlIGTigJlJdm9pcmVcIiwgXCJjaVwiLCBcIjIyNVwiIF0sIFsgXCJDcm9hdGlhIChIcnZhdHNrYSlcIiwgXCJoclwiLCBcIjM4NVwiIF0sIFsgXCJDdWJhXCIsIFwiY3VcIiwgXCI1M1wiIF0sIFsgXCJDdXJhw6dhb1wiLCBcImN3XCIsIFwiNTk5XCIsIDAgXSwgWyBcIkN5cHJ1cyAozprPjc+Az4HOv8+CKVwiLCBcImN5XCIsIFwiMzU3XCIgXSwgWyBcIkN6ZWNoIFJlcHVibGljICjEjGVza8OhIHJlcHVibGlrYSlcIiwgXCJjelwiLCBcIjQyMFwiIF0sIFsgXCJEZW5tYXJrIChEYW5tYXJrKVwiLCBcImRrXCIsIFwiNDVcIiBdLCBbIFwiRGppYm91dGlcIiwgXCJkalwiLCBcIjI1M1wiIF0sIFsgXCJEb21pbmljYVwiLCBcImRtXCIsIFwiMVwiLCAxMywgWyBcIjc2N1wiIF0gXSwgWyBcIkRvbWluaWNhbiBSZXB1YmxpYyAoUmVww7pibGljYSBEb21pbmljYW5hKVwiLCBcImRvXCIsIFwiMVwiLCAyLCBbIFwiODA5XCIsIFwiODI5XCIsIFwiODQ5XCIgXSBdLCBbIFwiRWN1YWRvclwiLCBcImVjXCIsIFwiNTkzXCIgXSwgWyBcIkVneXB0ICjigKvZhdi12LHigKzigI4pXCIsIFwiZWdcIiwgXCIyMFwiIF0sIFsgXCJFbCBTYWx2YWRvclwiLCBcInN2XCIsIFwiNTAzXCIgXSwgWyBcIkVxdWF0b3JpYWwgR3VpbmVhIChHdWluZWEgRWN1YXRvcmlhbClcIiwgXCJncVwiLCBcIjI0MFwiIF0sIFsgXCJFcml0cmVhXCIsIFwiZXJcIiwgXCIyOTFcIiBdLCBbIFwiRXN0b25pYSAoRWVzdGkpXCIsIFwiZWVcIiwgXCIzNzJcIiBdLCBbIFwiRXRoaW9waWFcIiwgXCJldFwiLCBcIjI1MVwiIF0sIFsgXCJGYWxrbGFuZCBJc2xhbmRzIChJc2xhcyBNYWx2aW5hcylcIiwgXCJma1wiLCBcIjUwMFwiIF0sIFsgXCJGYXJvZSBJc2xhbmRzIChGw7hyb3lhcilcIiwgXCJmb1wiLCBcIjI5OFwiIF0sIFsgXCJGaWppXCIsIFwiZmpcIiwgXCI2NzlcIiBdLCBbIFwiRmlubGFuZCAoU3VvbWkpXCIsIFwiZmlcIiwgXCIzNThcIiwgMCBdLCBbIFwiRnJhbmNlXCIsIFwiZnJcIiwgXCIzM1wiIF0sIFsgXCJGcmVuY2ggR3VpYW5hIChHdXlhbmUgZnJhbsOnYWlzZSlcIiwgXCJnZlwiLCBcIjU5NFwiIF0sIFsgXCJGcmVuY2ggUG9seW5lc2lhIChQb2x5bsOpc2llIGZyYW7Dp2Fpc2UpXCIsIFwicGZcIiwgXCI2ODlcIiBdLCBbIFwiR2Fib25cIiwgXCJnYVwiLCBcIjI0MVwiIF0sIFsgXCJHYW1iaWFcIiwgXCJnbVwiLCBcIjIyMFwiIF0sIFsgXCJHZW9yZ2lhICjhg6Hhg5Dhg6Xhg5Dhg6Dhg5fhg5Xhg5Thg5rhg50pXCIsIFwiZ2VcIiwgXCI5OTVcIiBdLCBbIFwiR2VybWFueSAoRGV1dHNjaGxhbmQpXCIsIFwiZGVcIiwgXCI0OVwiIF0sIFsgXCJHaGFuYSAoR2FhbmEpXCIsIFwiZ2hcIiwgXCIyMzNcIiBdLCBbIFwiR2licmFsdGFyXCIsIFwiZ2lcIiwgXCIzNTBcIiBdLCBbIFwiR3JlZWNlICjOlc67zrvOrM60zrEpXCIsIFwiZ3JcIiwgXCIzMFwiIF0sIFsgXCJHcmVlbmxhbmQgKEthbGFhbGxpdCBOdW5hYXQpXCIsIFwiZ2xcIiwgXCIyOTlcIiBdLCBbIFwiR3JlbmFkYVwiLCBcImdkXCIsIFwiMVwiLCAxNCwgWyBcIjQ3M1wiIF0gXSwgWyBcIkd1YWRlbG91cGVcIiwgXCJncFwiLCBcIjU5MFwiLCAwIF0sIFsgXCJHdWFtXCIsIFwiZ3VcIiwgXCIxXCIsIDE1LCBbIFwiNjcxXCIgXSBdLCBbIFwiR3VhdGVtYWxhXCIsIFwiZ3RcIiwgXCI1MDJcIiBdLCBbIFwiR3Vlcm5zZXlcIiwgXCJnZ1wiLCBcIjQ0XCIsIDEsIFsgXCIxNDgxXCIsIFwiNzc4MVwiLCBcIjc4MzlcIiwgXCI3OTExXCIgXSBdLCBbIFwiR3VpbmVhIChHdWluw6llKVwiLCBcImduXCIsIFwiMjI0XCIgXSwgWyBcIkd1aW5lYS1CaXNzYXUgKEd1aW7DqSBCaXNzYXUpXCIsIFwiZ3dcIiwgXCIyNDVcIiBdLCBbIFwiR3V5YW5hXCIsIFwiZ3lcIiwgXCI1OTJcIiBdLCBbIFwiSGFpdGlcIiwgXCJodFwiLCBcIjUwOVwiIF0sIFsgXCJIb25kdXJhc1wiLCBcImhuXCIsIFwiNTA0XCIgXSwgWyBcIkhvbmcgS29uZyAo6aaZ5rivKVwiLCBcImhrXCIsIFwiODUyXCIgXSwgWyBcIkh1bmdhcnkgKE1hZ3lhcm9yc3rDoWcpXCIsIFwiaHVcIiwgXCIzNlwiIF0sIFsgXCJJY2VsYW5kICjDjXNsYW5kKVwiLCBcImlzXCIsIFwiMzU0XCIgXSwgWyBcIkluZGlhICjgpK3gpL7gpLDgpKQpXCIsIFwiaW5cIiwgXCI5MVwiIF0sIFsgXCJJbmRvbmVzaWFcIiwgXCJpZFwiLCBcIjYyXCIgXSwgWyBcIklyYW4gKOKAq9in24zYsdin2YbigKzigI4pXCIsIFwiaXJcIiwgXCI5OFwiIF0sIFsgXCJJcmFxICjigKvYp9mE2LnYsdin2YLigKzigI4pXCIsIFwiaXFcIiwgXCI5NjRcIiBdLCBbIFwiSXJlbGFuZFwiLCBcImllXCIsIFwiMzUzXCIgXSwgWyBcIklzbGUgb2YgTWFuXCIsIFwiaW1cIiwgXCI0NFwiLCAyLCBbIFwiMTYyNFwiLCBcIjc0NTc2XCIsIFwiNzUyNFwiLCBcIjc5MjRcIiwgXCI3NjI0XCIgXSBdLCBbIFwiSXNyYWVsICjigKvXmdep16jXkNec4oCs4oCOKVwiLCBcImlsXCIsIFwiOTcyXCIgXSwgWyBcIkl0YWx5IChJdGFsaWEpXCIsIFwiaXRcIiwgXCIzOVwiLCAwIF0sIFsgXCJKYW1haWNhXCIsIFwiam1cIiwgXCIxXCIsIDQsIFsgXCI4NzZcIiwgXCI2NThcIiBdIF0sIFsgXCJKYXBhbiAo5pel5pysKVwiLCBcImpwXCIsIFwiODFcIiBdLCBbIFwiSmVyc2V5XCIsIFwiamVcIiwgXCI0NFwiLCAzLCBbIFwiMTUzNFwiLCBcIjc1MDlcIiwgXCI3NzAwXCIsIFwiNzc5N1wiLCBcIjc4MjlcIiwgXCI3OTM3XCIgXSBdLCBbIFwiSm9yZGFuICjigKvYp9mE2KPYsdiv2YbigKzigI4pXCIsIFwiam9cIiwgXCI5NjJcIiBdLCBbIFwiS2F6YWtoc3RhbiAo0JrQsNC30LDRhdGB0YLQsNC9KVwiLCBcImt6XCIsIFwiN1wiLCAxLCBbIFwiMzNcIiwgXCI3XCIgXSBdLCBbIFwiS2VueWFcIiwgXCJrZVwiLCBcIjI1NFwiIF0sIFsgXCJLaXJpYmF0aVwiLCBcImtpXCIsIFwiNjg2XCIgXSwgWyBcIktvc292b1wiLCBcInhrXCIsIFwiMzgzXCIgXSwgWyBcIkt1d2FpdCAo4oCr2KfZhNmD2YjZitiq4oCs4oCOKVwiLCBcImt3XCIsIFwiOTY1XCIgXSwgWyBcIkt5cmd5enN0YW4gKNCa0YvRgNCz0YvQt9GB0YLQsNC9KVwiLCBcImtnXCIsIFwiOTk2XCIgXSwgWyBcIkxhb3MgKOC6peC6suC6pylcIiwgXCJsYVwiLCBcIjg1NlwiIF0sIFsgXCJMYXR2aWEgKExhdHZpamEpXCIsIFwibHZcIiwgXCIzNzFcIiBdLCBbIFwiTGViYW5vbiAo4oCr2YTYqNmG2KfZhuKArOKAjilcIiwgXCJsYlwiLCBcIjk2MVwiIF0sIFsgXCJMZXNvdGhvXCIsIFwibHNcIiwgXCIyNjZcIiBdLCBbIFwiTGliZXJpYVwiLCBcImxyXCIsIFwiMjMxXCIgXSwgWyBcIkxpYnlhICjigKvZhNmK2KjZitin4oCs4oCOKVwiLCBcImx5XCIsIFwiMjE4XCIgXSwgWyBcIkxpZWNodGVuc3RlaW5cIiwgXCJsaVwiLCBcIjQyM1wiIF0sIFsgXCJMaXRodWFuaWEgKExpZXR1dmEpXCIsIFwibHRcIiwgXCIzNzBcIiBdLCBbIFwiTHV4ZW1ib3VyZ1wiLCBcImx1XCIsIFwiMzUyXCIgXSwgWyBcIk1hY2F1ICjmvrPploApXCIsIFwibW9cIiwgXCI4NTNcIiBdLCBbIFwiTWFjZWRvbmlhIChGWVJPTSkgKNCc0LDQutC10LTQvtC90LjRmNCwKVwiLCBcIm1rXCIsIFwiMzg5XCIgXSwgWyBcIk1hZGFnYXNjYXIgKE1hZGFnYXNpa2FyYSlcIiwgXCJtZ1wiLCBcIjI2MVwiIF0sIFsgXCJNYWxhd2lcIiwgXCJtd1wiLCBcIjI2NVwiIF0sIFsgXCJNYWxheXNpYVwiLCBcIm15XCIsIFwiNjBcIiBdLCBbIFwiTWFsZGl2ZXNcIiwgXCJtdlwiLCBcIjk2MFwiIF0sIFsgXCJNYWxpXCIsIFwibWxcIiwgXCIyMjNcIiBdLCBbIFwiTWFsdGFcIiwgXCJtdFwiLCBcIjM1NlwiIF0sIFsgXCJNYXJzaGFsbCBJc2xhbmRzXCIsIFwibWhcIiwgXCI2OTJcIiBdLCBbIFwiTWFydGluaXF1ZVwiLCBcIm1xXCIsIFwiNTk2XCIgXSwgWyBcIk1hdXJpdGFuaWEgKOKAq9mF2YjYsdmK2KrYp9mG2YrYp+KArOKAjilcIiwgXCJtclwiLCBcIjIyMlwiIF0sIFsgXCJNYXVyaXRpdXMgKE1vcmlzKVwiLCBcIm11XCIsIFwiMjMwXCIgXSwgWyBcIk1heW90dGVcIiwgXCJ5dFwiLCBcIjI2MlwiLCAxLCBbIFwiMjY5XCIsIFwiNjM5XCIgXSBdLCBbIFwiTWV4aWNvIChNw6l4aWNvKVwiLCBcIm14XCIsIFwiNTJcIiBdLCBbIFwiTWljcm9uZXNpYVwiLCBcImZtXCIsIFwiNjkxXCIgXSwgWyBcIk1vbGRvdmEgKFJlcHVibGljYSBNb2xkb3ZhKVwiLCBcIm1kXCIsIFwiMzczXCIgXSwgWyBcIk1vbmFjb1wiLCBcIm1jXCIsIFwiMzc3XCIgXSwgWyBcIk1vbmdvbGlhICjQnNC+0L3Qs9C+0LspXCIsIFwibW5cIiwgXCI5NzZcIiBdLCBbIFwiTW9udGVuZWdybyAoQ3JuYSBHb3JhKVwiLCBcIm1lXCIsIFwiMzgyXCIgXSwgWyBcIk1vbnRzZXJyYXRcIiwgXCJtc1wiLCBcIjFcIiwgMTYsIFsgXCI2NjRcIiBdIF0sIFsgXCJNb3JvY2NvICjigKvYp9mE2YXYutix2KjigKzigI4pXCIsIFwibWFcIiwgXCIyMTJcIiwgMCBdLCBbIFwiTW96YW1iaXF1ZSAoTW/Dp2FtYmlxdWUpXCIsIFwibXpcIiwgXCIyNThcIiBdLCBbIFwiTXlhbm1hciAoQnVybWEpICjhgJnhgLzhgJThgLrhgJnhgKwpXCIsIFwibW1cIiwgXCI5NVwiIF0sIFsgXCJOYW1pYmlhIChOYW1pYmnDqylcIiwgXCJuYVwiLCBcIjI2NFwiIF0sIFsgXCJOYXVydVwiLCBcIm5yXCIsIFwiNjc0XCIgXSwgWyBcIk5lcGFsICjgpKjgpYfgpKrgpL7gpLIpXCIsIFwibnBcIiwgXCI5NzdcIiBdLCBbIFwiTmV0aGVybGFuZHMgKE5lZGVybGFuZClcIiwgXCJubFwiLCBcIjMxXCIgXSwgWyBcIk5ldyBDYWxlZG9uaWEgKE5vdXZlbGxlLUNhbMOpZG9uaWUpXCIsIFwibmNcIiwgXCI2ODdcIiBdLCBbIFwiTmV3IFplYWxhbmRcIiwgXCJuelwiLCBcIjY0XCIgXSwgWyBcIk5pY2FyYWd1YVwiLCBcIm5pXCIsIFwiNTA1XCIgXSwgWyBcIk5pZ2VyIChOaWphcilcIiwgXCJuZVwiLCBcIjIyN1wiIF0sIFsgXCJOaWdlcmlhXCIsIFwibmdcIiwgXCIyMzRcIiBdLCBbIFwiTml1ZVwiLCBcIm51XCIsIFwiNjgzXCIgXSwgWyBcIk5vcmZvbGsgSXNsYW5kXCIsIFwibmZcIiwgXCI2NzJcIiBdLCBbIFwiTm9ydGggS29yZWEgKOyhsOyEoCDrr7zso7zso7zsnZgg7J2466+8IOqzte2ZlOq1rSlcIiwgXCJrcFwiLCBcIjg1MFwiIF0sIFsgXCJOb3J0aGVybiBNYXJpYW5hIElzbGFuZHNcIiwgXCJtcFwiLCBcIjFcIiwgMTcsIFsgXCI2NzBcIiBdIF0sIFsgXCJOb3J3YXkgKE5vcmdlKVwiLCBcIm5vXCIsIFwiNDdcIiwgMCBdLCBbIFwiT21hbiAo4oCr2LnZj9mF2KfZhuKArOKAjilcIiwgXCJvbVwiLCBcIjk2OFwiIF0sIFsgXCJQYWtpc3RhbiAo4oCr2b7Yp9qp2LPYqtin2YbigKzigI4pXCIsIFwicGtcIiwgXCI5MlwiIF0sIFsgXCJQYWxhdVwiLCBcInB3XCIsIFwiNjgwXCIgXSwgWyBcIlBhbGVzdGluZSAo4oCr2YHZhNiz2LfZitmG4oCs4oCOKVwiLCBcInBzXCIsIFwiOTcwXCIgXSwgWyBcIlBhbmFtYSAoUGFuYW3DoSlcIiwgXCJwYVwiLCBcIjUwN1wiIF0sIFsgXCJQYXB1YSBOZXcgR3VpbmVhXCIsIFwicGdcIiwgXCI2NzVcIiBdLCBbIFwiUGFyYWd1YXlcIiwgXCJweVwiLCBcIjU5NVwiIF0sIFsgXCJQZXJ1IChQZXLDuilcIiwgXCJwZVwiLCBcIjUxXCIgXSwgWyBcIlBoaWxpcHBpbmVzXCIsIFwicGhcIiwgXCI2M1wiIF0sIFsgXCJQb2xhbmQgKFBvbHNrYSlcIiwgXCJwbFwiLCBcIjQ4XCIgXSwgWyBcIlBvcnR1Z2FsXCIsIFwicHRcIiwgXCIzNTFcIiBdLCBbIFwiUHVlcnRvIFJpY29cIiwgXCJwclwiLCBcIjFcIiwgMywgWyBcIjc4N1wiLCBcIjkzOVwiIF0gXSwgWyBcIlFhdGFyICjigKvZgti32LHigKzigI4pXCIsIFwicWFcIiwgXCI5NzRcIiBdLCBbIFwiUsOpdW5pb24gKExhIFLDqXVuaW9uKVwiLCBcInJlXCIsIFwiMjYyXCIsIDAgXSwgWyBcIlJvbWFuaWEgKFJvbcOibmlhKVwiLCBcInJvXCIsIFwiNDBcIiBdLCBbIFwiUnVzc2lhICjQoNC+0YHRgdC40Y8pXCIsIFwicnVcIiwgXCI3XCIsIDAgXSwgWyBcIlJ3YW5kYVwiLCBcInJ3XCIsIFwiMjUwXCIgXSwgWyBcIlNhaW50IEJhcnRow6lsZW15XCIsIFwiYmxcIiwgXCI1OTBcIiwgMSBdLCBbIFwiU2FpbnQgSGVsZW5hXCIsIFwic2hcIiwgXCIyOTBcIiBdLCBbIFwiU2FpbnQgS2l0dHMgYW5kIE5ldmlzXCIsIFwia25cIiwgXCIxXCIsIDE4LCBbIFwiODY5XCIgXSBdLCBbIFwiU2FpbnQgTHVjaWFcIiwgXCJsY1wiLCBcIjFcIiwgMTksIFsgXCI3NThcIiBdIF0sIFsgXCJTYWludCBNYXJ0aW4gKFNhaW50LU1hcnRpbiAocGFydGllIGZyYW7Dp2Fpc2UpKVwiLCBcIm1mXCIsIFwiNTkwXCIsIDIgXSwgWyBcIlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24gKFNhaW50LVBpZXJyZS1ldC1NaXF1ZWxvbilcIiwgXCJwbVwiLCBcIjUwOFwiIF0sIFsgXCJTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lc1wiLCBcInZjXCIsIFwiMVwiLCAyMCwgWyBcIjc4NFwiIF0gXSwgWyBcIlNhbW9hXCIsIFwid3NcIiwgXCI2ODVcIiBdLCBbIFwiU2FuIE1hcmlub1wiLCBcInNtXCIsIFwiMzc4XCIgXSwgWyBcIlPDo28gVG9tw6kgYW5kIFByw61uY2lwZSAoU8OjbyBUb23DqSBlIFByw61uY2lwZSlcIiwgXCJzdFwiLCBcIjIzOVwiIF0sIFsgXCJTYXVkaSBBcmFiaWEgKOKAq9in2YTZhdmF2YTZg9ipINin2YTYudix2KjZitipINin2YTYs9i52YjYr9mK2KnigKzigI4pXCIsIFwic2FcIiwgXCI5NjZcIiBdLCBbIFwiU2VuZWdhbCAoU8OpbsOpZ2FsKVwiLCBcInNuXCIsIFwiMjIxXCIgXSwgWyBcIlNlcmJpYSAo0KHRgNCx0LjRmNCwKVwiLCBcInJzXCIsIFwiMzgxXCIgXSwgWyBcIlNleWNoZWxsZXNcIiwgXCJzY1wiLCBcIjI0OFwiIF0sIFsgXCJTaWVycmEgTGVvbmVcIiwgXCJzbFwiLCBcIjIzMlwiIF0sIFsgXCJTaW5nYXBvcmVcIiwgXCJzZ1wiLCBcIjY1XCIgXSwgWyBcIlNpbnQgTWFhcnRlblwiLCBcInN4XCIsIFwiMVwiLCAyMSwgWyBcIjcyMVwiIF0gXSwgWyBcIlNsb3Zha2lhIChTbG92ZW5za28pXCIsIFwic2tcIiwgXCI0MjFcIiBdLCBbIFwiU2xvdmVuaWEgKFNsb3ZlbmlqYSlcIiwgXCJzaVwiLCBcIjM4NlwiIF0sIFsgXCJTb2xvbW9uIElzbGFuZHNcIiwgXCJzYlwiLCBcIjY3N1wiIF0sIFsgXCJTb21hbGlhIChTb29tYWFsaXlhKVwiLCBcInNvXCIsIFwiMjUyXCIgXSwgWyBcIlNvdXRoIEFmcmljYVwiLCBcInphXCIsIFwiMjdcIiBdLCBbIFwiU291dGggS29yZWEgKOuMgO2VnOuvvOq1rSlcIiwgXCJrclwiLCBcIjgyXCIgXSwgWyBcIlNvdXRoIFN1ZGFuICjigKvYrNmG2YjYqCDYp9mE2LPZiNiv2KfZhuKArOKAjilcIiwgXCJzc1wiLCBcIjIxMVwiIF0sIFsgXCJTcGFpbiAoRXNwYcOxYSlcIiwgXCJlc1wiLCBcIjM0XCIgXSwgWyBcIlNyaSBMYW5rYSAo4LeB4LeK4oCN4La74LeTIOC2veC2guC2muC3j+C3gClcIiwgXCJsa1wiLCBcIjk0XCIgXSwgWyBcIlN1ZGFuICjigKvYp9mE2LPZiNiv2KfZhuKArOKAjilcIiwgXCJzZFwiLCBcIjI0OVwiIF0sIFsgXCJTdXJpbmFtZVwiLCBcInNyXCIsIFwiNTk3XCIgXSwgWyBcIlN2YWxiYXJkIGFuZCBKYW4gTWF5ZW5cIiwgXCJzalwiLCBcIjQ3XCIsIDEsIFsgXCI3OVwiIF0gXSwgWyBcIlN3YXppbGFuZFwiLCBcInN6XCIsIFwiMjY4XCIgXSwgWyBcIlN3ZWRlbiAoU3ZlcmlnZSlcIiwgXCJzZVwiLCBcIjQ2XCIgXSwgWyBcIlN3aXR6ZXJsYW5kIChTY2h3ZWl6KVwiLCBcImNoXCIsIFwiNDFcIiBdLCBbIFwiU3lyaWEgKOKAq9iz2YjYsdmK2KfigKzigI4pXCIsIFwic3lcIiwgXCI5NjNcIiBdLCBbIFwiVGFpd2FuICjlj7DngaMpXCIsIFwidHdcIiwgXCI4ODZcIiBdLCBbIFwiVGFqaWtpc3RhblwiLCBcInRqXCIsIFwiOTkyXCIgXSwgWyBcIlRhbnphbmlhXCIsIFwidHpcIiwgXCIyNTVcIiBdLCBbIFwiVGhhaWxhbmQgKOC5hOC4l+C4oilcIiwgXCJ0aFwiLCBcIjY2XCIgXSwgWyBcIlRpbW9yLUxlc3RlXCIsIFwidGxcIiwgXCI2NzBcIiBdLCBbIFwiVG9nb1wiLCBcInRnXCIsIFwiMjI4XCIgXSwgWyBcIlRva2VsYXVcIiwgXCJ0a1wiLCBcIjY5MFwiIF0sIFsgXCJUb25nYVwiLCBcInRvXCIsIFwiNjc2XCIgXSwgWyBcIlRyaW5pZGFkIGFuZCBUb2JhZ29cIiwgXCJ0dFwiLCBcIjFcIiwgMjIsIFsgXCI4NjhcIiBdIF0sIFsgXCJUdW5pc2lhICjigKvYqtmI2YbYs+KArOKAjilcIiwgXCJ0blwiLCBcIjIxNlwiIF0sIFsgXCJUdXJrZXkgKFTDvHJraXllKVwiLCBcInRyXCIsIFwiOTBcIiBdLCBbIFwiVHVya21lbmlzdGFuXCIsIFwidG1cIiwgXCI5OTNcIiBdLCBbIFwiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzXCIsIFwidGNcIiwgXCIxXCIsIDIzLCBbIFwiNjQ5XCIgXSBdLCBbIFwiVHV2YWx1XCIsIFwidHZcIiwgXCI2ODhcIiBdLCBbIFwiVS5TLiBWaXJnaW4gSXNsYW5kc1wiLCBcInZpXCIsIFwiMVwiLCAyNCwgWyBcIjM0MFwiIF0gXSwgWyBcIlVnYW5kYVwiLCBcInVnXCIsIFwiMjU2XCIgXSwgWyBcIlVrcmFpbmUgKNCj0LrRgNCw0ZfQvdCwKVwiLCBcInVhXCIsIFwiMzgwXCIgXSwgWyBcIlVuaXRlZCBBcmFiIEVtaXJhdGVzICjigKvYp9mE2KXZhdin2LHYp9iqINin2YTYudix2KjZitipINin2YTZhdiq2K3Yr9ip4oCs4oCOKVwiLCBcImFlXCIsIFwiOTcxXCIgXSwgWyBcIlVuaXRlZCBLaW5nZG9tXCIsIFwiZ2JcIiwgXCI0NFwiLCAwIF0sIFsgXCJVbml0ZWQgU3RhdGVzXCIsIFwidXNcIiwgXCIxXCIsIDAgXSwgWyBcIlVydWd1YXlcIiwgXCJ1eVwiLCBcIjU5OFwiIF0sIFsgXCJVemJla2lzdGFuIChPyrt6YmVraXN0b24pXCIsIFwidXpcIiwgXCI5OThcIiBdLCBbIFwiVmFudWF0dVwiLCBcInZ1XCIsIFwiNjc4XCIgXSwgWyBcIlZhdGljYW4gQ2l0eSAoQ2l0dMOgIGRlbCBWYXRpY2FubylcIiwgXCJ2YVwiLCBcIjM5XCIsIDEsIFsgXCIwNjY5OFwiIF0gXSwgWyBcIlZlbmV6dWVsYVwiLCBcInZlXCIsIFwiNThcIiBdLCBbIFwiVmlldG5hbSAoVmnhu4d0IE5hbSlcIiwgXCJ2blwiLCBcIjg0XCIgXSwgWyBcIldhbGxpcyBhbmQgRnV0dW5hIChXYWxsaXMtZXQtRnV0dW5hKVwiLCBcIndmXCIsIFwiNjgxXCIgXSwgWyBcIldlc3Rlcm4gU2FoYXJhICjigKvYp9mE2LXYrdix2KfYoSDYp9mE2LrYsdio2YrYqeKArOKAjilcIiwgXCJlaFwiLCBcIjIxMlwiLCAxLCBbIFwiNTI4OFwiLCBcIjUyODlcIiBdIF0sIFsgXCJZZW1lbiAo4oCr2KfZhNmK2YXZhuKArOKAjilcIiwgXCJ5ZVwiLCBcIjk2N1wiIF0sIFsgXCJaYW1iaWFcIiwgXCJ6bVwiLCBcIjI2MFwiIF0sIFsgXCJaaW1iYWJ3ZVwiLCBcInp3XCIsIFwiMjYzXCIgXSwgWyBcIsOFbGFuZCBJc2xhbmRzXCIsIFwiYXhcIiwgXCIzNThcIiwgMSwgWyBcIjE4XCIgXSBdIF07XG4gICAgICAgIC8vIGxvb3Agb3ZlciBhbGwgb2YgdGhlIGNvdW50cmllcyBhYm92ZSwgcmVzdHJ1Y3R1cmluZyB0aGUgZGF0YSB0byBiZSBvYmplY3RzIHdpdGggbmFtZWQga2V5c1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbENvdW50cmllcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIGMgPSBhbGxDb3VudHJpZXNbaV07XG4gICAgICAgICAgICBhbGxDb3VudHJpZXNbaV0gPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogY1swXSxcbiAgICAgICAgICAgICAgICBpc28yOiBjWzFdLFxuICAgICAgICAgICAgICAgIGRpYWxDb2RlOiBjWzJdLFxuICAgICAgICAgICAgICAgIHByaW9yaXR5OiBjWzNdIHx8IDAsXG4gICAgICAgICAgICAgICAgYXJlYUNvZGVzOiBjWzRdIHx8IG51bGxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgICAgIGZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgICAgICAgICAgIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHtcbiAgICAgICAgICAgIGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpO1xuICAgICAgICAgICAgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpO1xuICAgICAgICAgICAgcmV0dXJuIENvbnN0cnVjdG9yO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpbnRsVGVsSW5wdXRHbG9iYWxzID0ge1xuICAgICAgICAgICAgZ2V0SW5zdGFuY2U6IGZ1bmN0aW9uIGdldEluc3RhbmNlKGlucHV0KSB7XG4gICAgICAgICAgICAgICAgdmFyIGlkID0gaW5wdXQuZ2V0QXR0cmlidXRlKFwiZGF0YS1pbnRsLXRlbC1pbnB1dC1pZFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuaW5zdGFuY2VzW2lkXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbnN0YW5jZXM6IHt9XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSB3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscyA9IGludGxUZWxJbnB1dEdsb2JhbHM7XG4gICAgICAgIC8vIHRoZXNlIHZhcnMgcGVyc2lzdCB0aHJvdWdoIGFsbCBpbnN0YW5jZXMgb2YgdGhlIHBsdWdpblxuICAgICAgICB2YXIgaWQgPSAwO1xuICAgICAgICB2YXIgZGVmYXVsdHMgPSB7XG4gICAgICAgICAgICAvLyB3aGV0aGVyIG9yIG5vdCB0byBhbGxvdyB0aGUgZHJvcGRvd25cbiAgICAgICAgICAgIGFsbG93RHJvcGRvd246IHRydWUsXG4gICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBqdXN0IGEgZGlhbCBjb2RlIGluIHRoZSBpbnB1dDogcmVtb3ZlIGl0IG9uIGJsdXJcbiAgICAgICAgICAgIGF1dG9IaWRlRGlhbENvZGU6IHRydWUsXG4gICAgICAgICAgICAvLyBhZGQgYSBwbGFjZWhvbGRlciBpbiB0aGUgaW5wdXQgd2l0aCBhbiBleGFtcGxlIG51bWJlciBmb3IgdGhlIHNlbGVjdGVkIGNvdW50cnlcbiAgICAgICAgICAgIGF1dG9QbGFjZWhvbGRlcjogXCJwb2xpdGVcIixcbiAgICAgICAgICAgIC8vIG1vZGlmeSB0aGUgcGFyZW50Q2xhc3NcbiAgICAgICAgICAgIGN1c3RvbUNvbnRhaW5lcjogXCJcIixcbiAgICAgICAgICAgIC8vIG1vZGlmeSB0aGUgYXV0byBwbGFjZWhvbGRlclxuICAgICAgICAgICAgY3VzdG9tUGxhY2Vob2xkZXI6IG51bGwsXG4gICAgICAgICAgICAvLyBhcHBlbmQgbWVudSB0byBzcGVjaWZpZWQgZWxlbWVudFxuICAgICAgICAgICAgZHJvcGRvd25Db250YWluZXI6IG51bGwsXG4gICAgICAgICAgICAvLyBkb24ndCBkaXNwbGF5IHRoZXNlIGNvdW50cmllc1xuICAgICAgICAgICAgZXhjbHVkZUNvdW50cmllczogW10sXG4gICAgICAgICAgICAvLyBmb3JtYXQgdGhlIGlucHV0IHZhbHVlIGR1cmluZyBpbml0aWFsaXNhdGlvbiBhbmQgb24gc2V0TnVtYmVyXG4gICAgICAgICAgICBmb3JtYXRPbkRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICAvLyBnZW9JcCBsb29rdXAgZnVuY3Rpb25cbiAgICAgICAgICAgIGdlb0lwTG9va3VwOiBudWxsLFxuICAgICAgICAgICAgLy8gaW5qZWN0IGEgaGlkZGVuIGlucHV0IHdpdGggdGhpcyBuYW1lLCBhbmQgb24gc3VibWl0LCBwb3B1bGF0ZSBpdCB3aXRoIHRoZSByZXN1bHQgb2YgZ2V0TnVtYmVyXG4gICAgICAgICAgICBoaWRkZW5JbnB1dDogXCJcIixcbiAgICAgICAgICAgIC8vIGluaXRpYWwgY291bnRyeVxuICAgICAgICAgICAgaW5pdGlhbENvdW50cnk6IFwiXCIsXG4gICAgICAgICAgICAvLyBsb2NhbGl6ZWQgY291bnRyeSBuYW1lcyBlLmcuIHsgJ2RlJzogJ0RldXRzY2hsYW5kJyB9XG4gICAgICAgICAgICBsb2NhbGl6ZWRDb3VudHJpZXM6IG51bGwsXG4gICAgICAgICAgICAvLyBkb24ndCBpbnNlcnQgaW50ZXJuYXRpb25hbCBkaWFsIGNvZGVzXG4gICAgICAgICAgICBuYXRpb25hbE1vZGU6IHRydWUsXG4gICAgICAgICAgICAvLyBkaXNwbGF5IG9ubHkgdGhlc2UgY291bnRyaWVzXG4gICAgICAgICAgICBvbmx5Q291bnRyaWVzOiBbXSxcbiAgICAgICAgICAgIC8vIG51bWJlciB0eXBlIHRvIHVzZSBmb3IgcGxhY2Vob2xkZXJzXG4gICAgICAgICAgICBwbGFjZWhvbGRlck51bWJlclR5cGU6IFwiTU9CSUxFXCIsXG4gICAgICAgICAgICAvLyB0aGUgY291bnRyaWVzIGF0IHRoZSB0b3Agb2YgdGhlIGxpc3QuIGRlZmF1bHRzIHRvIHVuaXRlZCBzdGF0ZXMgYW5kIHVuaXRlZCBraW5nZG9tXG4gICAgICAgICAgICBwcmVmZXJyZWRDb3VudHJpZXM6IFsgXCJ1c1wiLCBcImdiXCIgXSxcbiAgICAgICAgICAgIC8vIGRpc3BsYXkgdGhlIGNvdW50cnkgZGlhbCBjb2RlIG5leHQgdG8gdGhlIHNlbGVjdGVkIGZsYWcgc28gaXQncyBub3QgcGFydCBvZiB0aGUgdHlwZWQgbnVtYmVyXG4gICAgICAgICAgICBzZXBhcmF0ZURpYWxDb2RlOiBmYWxzZSxcbiAgICAgICAgICAgIC8vIHNwZWNpZnkgdGhlIHBhdGggdG8gdGhlIGxpYnBob25lbnVtYmVyIHNjcmlwdCB0byBlbmFibGUgdmFsaWRhdGlvbi9mb3JtYXR0aW5nXG4gICAgICAgICAgICB1dGlsc1NjcmlwdDogXCJcIlxuICAgICAgICB9O1xuICAgICAgICAvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaXN0X29mX05vcnRoX0FtZXJpY2FuX051bWJlcmluZ19QbGFuX2FyZWFfY29kZXMjTm9uLWdlb2dyYXBoaWNfYXJlYV9jb2Rlc1xuICAgICAgICB2YXIgcmVnaW9ubGVzc05hbnBOdW1iZXJzID0gWyBcIjgwMFwiLCBcIjgyMlwiLCBcIjgzM1wiLCBcIjg0NFwiLCBcIjg1NVwiLCBcIjg2NlwiLCBcIjg3N1wiLCBcIjg4MFwiLCBcIjg4MVwiLCBcIjg4MlwiLCBcIjg4M1wiLCBcIjg4NFwiLCBcIjg4NVwiLCBcIjg4NlwiLCBcIjg4N1wiLCBcIjg4OFwiLCBcIjg4OVwiIF07XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICAvLyBrZWVwIHRyYWNrIG9mIGlmIHRoZSB3aW5kb3cubG9hZCBldmVudCBoYXMgZmlyZWQgYXMgaW1wb3NzaWJsZSB0byBjaGVjayBhZnRlciB0aGUgZmFjdFxuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIC8vIFVQREFURTogdXNlIGEgcHVibGljIHN0YXRpYyBmaWVsZCBzbyB3ZSBjYW4gZnVkZ2UgaXQgaW4gdGhlIHRlc3RzXG4gICAgICAgICAgICAgICAgd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMud2luZG93TG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIHV0aWxpdHkgZnVuY3Rpb24gdG8gaXRlcmF0ZSBvdmVyIGFuIG9iamVjdC4gY2FuJ3QgdXNlIE9iamVjdC5lbnRyaWVzIG9yIG5hdGl2ZSBmb3JFYWNoIGJlY2F1c2VcbiAgICAgICAgLy8gb2YgSUUxMVxuICAgICAgICB2YXIgZm9yRWFjaFByb3AgPSBmdW5jdGlvbiBmb3JFYWNoUHJvcChvYmosIGNhbGxiYWNrKSB7XG4gICAgICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjYWxsYmFjayhrZXlzW2ldLCBvYmpba2V5c1tpXV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICAvLyBydW4gYSBtZXRob2Qgb24gZWFjaCBpbnN0YW5jZSBvZiB0aGUgcGx1Z2luXG4gICAgICAgIHZhciBmb3JFYWNoSW5zdGFuY2UgPSBmdW5jdGlvbiBmb3JFYWNoSW5zdGFuY2UobWV0aG9kKSB7XG4gICAgICAgICAgICBmb3JFYWNoUHJvcCh3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5pbnN0YW5jZXMsIGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLmluc3RhbmNlc1trZXldW21ldGhvZF0oKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICAvLyB0aGlzIGlzIG91ciBwbHVnaW4gY2xhc3MgdGhhdCB3ZSB3aWxsIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgdmFyIEl0aSA9IC8qI19fUFVSRV9fKi9cbiAgICAgICAgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBmdW5jdGlvbiBJdGkoaW5wdXQsIG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJdGkpO1xuICAgICAgICAgICAgICAgIHRoaXMuaWQgPSBpZCsrO1xuICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQgPSBpbnB1dDtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUl0ZW0gPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMuaGlnaGxpZ2h0ZWRJdGVtID0gbnVsbDtcbiAgICAgICAgICAgICAgICAvLyBwcm9jZXNzIHNwZWNpZmllZCBvcHRpb25zIC8gZGVmYXVsdHNcbiAgICAgICAgICAgICAgICAvLyBhbHRlcm5hdGl2ZSB0byBPYmplY3QuYXNzaWduLCB3aGljaCBpc24ndCBzdXBwb3J0ZWQgYnkgSUUxMVxuICAgICAgICAgICAgICAgIHZhciBjdXN0b21PcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB7fTtcbiAgICAgICAgICAgICAgICBmb3JFYWNoUHJvcChkZWZhdWx0cywgZnVuY3Rpb24oa2V5LCB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5vcHRpb25zW2tleV0gPSBjdXN0b21PcHRpb25zLmhhc093blByb3BlcnR5KGtleSkgPyBjdXN0b21PcHRpb25zW2tleV0gOiB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhZEluaXRpYWxQbGFjZWhvbGRlciA9IEJvb2xlYW4oaW5wdXQuZ2V0QXR0cmlidXRlKFwicGxhY2Vob2xkZXJcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgX2NyZWF0ZUNsYXNzKEl0aSwgWyB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9pbml0XCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9pbml0KCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgaW4gbmF0aW9uYWxNb2RlLCBkaXNhYmxlIG9wdGlvbnMgcmVsYXRpbmcgdG8gZGlhbCBjb2Rlc1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm5hdGlvbmFsTW9kZSkgdGhpcy5vcHRpb25zLmF1dG9IaWRlRGlhbENvZGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgc2VwYXJhdGVEaWFsQ29kZSB0aGVuIGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBBKSBpbnNlcnQgZGlhbCBjb2RlIGludG8gaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgLy8gKGF1dG9IaWRlRGlhbENvZGUpLCBhbmQgQikgZGlzcGxheSBuYXRpb25hbCBudW1iZXJzIChiZWNhdXNlIHdlJ3JlIGRpc3BsYXlpbmcgdGhlIGNvdW50cnlcbiAgICAgICAgICAgICAgICAgICAgLy8gZGlhbCBjb2RlIG5leHQgdG8gdGhlbSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5zZXBhcmF0ZURpYWxDb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMuYXV0b0hpZGVEaWFsQ29kZSA9IHRoaXMub3B0aW9ucy5uYXRpb25hbE1vZGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyB3ZSBjYW5ub3QganVzdCB0ZXN0IHNjcmVlbiBzaXplIGFzIHNvbWUgc21hcnRwaG9uZXMvd2Vic2l0ZSBtZXRhIHRhZ3Mgd2lsbCByZXBvcnQgZGVza3RvcFxuICAgICAgICAgICAgICAgICAgICAvLyByZXNvbHV0aW9uc1xuICAgICAgICAgICAgICAgICAgICAvLyBOb3RlOiBmb3Igc29tZSByZWFzb24gamFzbWluZSBicmVha3MgaWYgeW91IHB1dCB0aGlzIGluIHRoZSBtYWluIFBsdWdpbiBmdW5jdGlvbiB3aXRoIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyByZXN0IG9mIHRoZXNlIGRlY2xhcmF0aW9uc1xuICAgICAgICAgICAgICAgICAgICAvLyBOb3RlOiB0byB0YXJnZXQgQW5kcm9pZCBNb2JpbGVzIChhbmQgbm90IFRhYmxldHMpLCB3ZSBtdXN0IGZpbmQgJ0FuZHJvaWQnIGFuZCAnTW9iaWxlJ1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlID0gL0FuZHJvaWQuK01vYmlsZXx3ZWJPU3xpUGhvbmV8aVBvZHxCbGFja0JlcnJ5fElFTW9iaWxlfE9wZXJhIE1pbmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJpZ2dlciB0aGUgbW9iaWxlIGRyb3Bkb3duIGNzc1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKFwiaXRpLW1vYmlsZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9uIG1vYmlsZSwgd2Ugd2FudCBhIGZ1bGwgc2NyZWVuIGRyb3Bkb3duLCBzbyB3ZSBtdXN0IGFwcGVuZCBpdCB0byB0aGUgYm9keVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZHJvcGRvd25Db250YWluZXIpIHRoaXMub3B0aW9ucy5kcm9wZG93bkNvbnRhaW5lciA9IGRvY3VtZW50LmJvZHk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlc2UgcHJvbWlzZXMgZ2V0IHJlc29sdmVkIHdoZW4gdGhlaXIgaW5kaXZpZHVhbCByZXF1ZXN0cyBjb21wbGV0ZVxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIHdheSB0aGUgZGV2IGNhbiBkbyBzb21ldGhpbmcgbGlrZSBpdGkucHJvbWlzZS50aGVuKC4uLikgdG8ga25vdyB3aGVuIGFsbCByZXF1ZXN0cyBhcmVcbiAgICAgICAgICAgICAgICAgICAgLy8gY29tcGxldGVcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBQcm9taXNlICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYXV0b0NvdW50cnlQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMyLnJlc29sdmVBdXRvQ291bnRyeVByb21pc2UgPSByZXNvbHZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzMi5yZWplY3RBdXRvQ291bnRyeVByb21pc2UgPSByZWplY3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1dGlsc1NjcmlwdFByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpczIucmVzb2x2ZVV0aWxzU2NyaXB0UHJvbWlzZSA9IHJlc29sdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMyLnJlamVjdFV0aWxzU2NyaXB0UHJvbWlzZSA9IHJlamVjdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9taXNlID0gUHJvbWlzZS5hbGwoWyBhdXRvQ291bnRyeVByb21pc2UsIHV0aWxzU2NyaXB0UHJvbWlzZSBdKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgZXJyb3JzIHdoZW4gUHJvbWlzZSBkb2Vzbid0IGV4aXN0XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVBdXRvQ291bnRyeVByb21pc2UgPSB0aGlzLnJlamVjdEF1dG9Db3VudHJ5UHJvbWlzZSA9IGZ1bmN0aW9uKCkge307XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVVdGlsc1NjcmlwdFByb21pc2UgPSB0aGlzLnJlamVjdFV0aWxzU2NyaXB0UHJvbWlzZSA9IGZ1bmN0aW9uKCkge307XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gaW4gdmFyaW91cyBzaXR1YXRpb25zIHRoZXJlIGNvdWxkIGJlIG5vIGNvdW50cnkgc2VsZWN0ZWQgaW5pdGlhbGx5LCBidXQgd2UgbmVlZCB0byBiZSBhYmxlXG4gICAgICAgICAgICAgICAgICAgIC8vIHRvIGFzc3VtZSB0aGlzIHZhcmlhYmxlIGV4aXN0c1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcHJvY2VzcyBhbGwgdGhlIGRhdGE6IG9ubHlDb3VudHJpZXMsIGV4Y2x1ZGVDb3VudHJpZXMsIHByZWZlcnJlZENvdW50cmllcyBldGNcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc0NvdW50cnlEYXRhKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGdlbmVyYXRlIHRoZSBtYXJrdXBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VuZXJhdGVNYXJrdXAoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2V0IHRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBpbnB1dCB2YWx1ZSBhbmQgdGhlIHNlbGVjdGVkIGZsYWdcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0SW5pdGlhbFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHN0YXJ0IGFsbCBvZiB0aGUgZXZlbnQgbGlzdGVuZXJzOiBhdXRvSGlkZURpYWxDb2RlLCBpbnB1dCBrZXlkb3duLCBzZWxlY3RlZEZsYWcgY2xpY2tcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5pdExpc3RlbmVycygpO1xuICAgICAgICAgICAgICAgICAgICAvLyB1dGlscyBzY3JpcHQsIGFuZCBhdXRvIGNvdW50cnlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5pdFJlcXVlc3RzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfcHJvY2Vzc0NvdW50cnlEYXRhXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9wcm9jZXNzQ291bnRyeURhdGEoKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHByb2Nlc3Mgb25seUNvdW50cmllcyBvciBleGNsdWRlQ291bnRyaWVzIGFycmF5IGlmIHByZXNlbnRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc0FsbENvdW50cmllcygpO1xuICAgICAgICAgICAgICAgICAgICAvLyBwcm9jZXNzIHRoZSBjb3VudHJ5Q29kZXMgbWFwXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NDb3VudHJ5Q29kZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcHJvY2VzcyB0aGUgcHJlZmVycmVkQ291bnRyaWVzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NQcmVmZXJyZWRDb3VudHJpZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdHJhbnNsYXRlIGNvdW50cmllcyBhY2NvcmRpbmcgdG8gbG9jYWxpemVkQ291bnRyaWVzIG9wdGlvblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmxvY2FsaXplZENvdW50cmllcykgdGhpcy5fdHJhbnNsYXRlQ291bnRyaWVzQnlMb2NhbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc29ydCBjb3VudHJpZXMgYnkgbmFtZVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9ubHlDb3VudHJpZXMubGVuZ3RoIHx8IHRoaXMub3B0aW9ucy5sb2NhbGl6ZWRDb3VudHJpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyaWVzLnNvcnQodGhpcy5fY291bnRyeU5hbWVTb3J0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2FkZENvdW50cnlDb2RlXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9hZGRDb3VudHJ5Q29kZShpc28yLCBkaWFsQ29kZSwgcHJpb3JpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRpYWxDb2RlLmxlbmd0aCA+IHRoaXMuZGlhbENvZGVNYXhMZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbENvZGVNYXhMZW4gPSBkaWFsQ29kZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNvdW50cnlDb2Rlcy5oYXNPd25Qcm9wZXJ0eShkaWFsQ29kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUNvZGVzW2RpYWxDb2RlXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGJhaWwgaWYgd2UgYWxyZWFkeSBoYXZlIHRoaXMgY291bnRyeSBmb3IgdGhpcyBkaWFsQ29kZVxuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY291bnRyeUNvZGVzW2RpYWxDb2RlXS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY291bnRyeUNvZGVzW2RpYWxDb2RlXVtpXSA9PT0gaXNvMikgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGZvciB1bmRlZmluZWQgYXMgMCBpcyBmYWxzeVxuICAgICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBwcmlvcml0eSAhPT0gdW5kZWZpbmVkID8gcHJpb3JpdHkgOiB0aGlzLmNvdW50cnlDb2Rlc1tkaWFsQ29kZV0ubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlDb2Rlc1tkaWFsQ29kZV1baW5kZXhdID0gaXNvMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9wcm9jZXNzQWxsQ291bnRyaWVzXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9wcm9jZXNzQWxsQ291bnRyaWVzKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9ubHlDb3VudHJpZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbG93ZXJDYXNlT25seUNvdW50cmllcyA9IHRoaXMub3B0aW9ucy5vbmx5Q291bnRyaWVzLm1hcChmdW5jdGlvbihjb3VudHJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50cnkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb3VudHJpZXMgPSBhbGxDb3VudHJpZXMuZmlsdGVyKGZ1bmN0aW9uKGNvdW50cnkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG93ZXJDYXNlT25seUNvdW50cmllcy5pbmRleE9mKGNvdW50cnkuaXNvMikgPiAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9ucy5leGNsdWRlQ291bnRyaWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxvd2VyQ2FzZUV4Y2x1ZGVDb3VudHJpZXMgPSB0aGlzLm9wdGlvbnMuZXhjbHVkZUNvdW50cmllcy5tYXAoZnVuY3Rpb24oY291bnRyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb3VudHJ5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyaWVzID0gYWxsQ291bnRyaWVzLmZpbHRlcihmdW5jdGlvbihjb3VudHJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvd2VyQ2FzZUV4Y2x1ZGVDb3VudHJpZXMuaW5kZXhPZihjb3VudHJ5LmlzbzIpID09PSAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb3VudHJpZXMgPSBhbGxDb3VudHJpZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl90cmFuc2xhdGVDb3VudHJpZXNCeUxvY2FsZVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfdHJhbnNsYXRlQ291bnRyaWVzQnlMb2NhbGUoKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jb3VudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc28gPSB0aGlzLmNvdW50cmllc1tpXS5pc28yLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmxvY2FsaXplZENvdW50cmllcy5oYXNPd25Qcm9wZXJ0eShpc28pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb3VudHJpZXNbaV0ubmFtZSA9IHRoaXMub3B0aW9ucy5sb2NhbGl6ZWRDb3VudHJpZXNbaXNvXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2NvdW50cnlOYW1lU29ydFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfY291bnRyeU5hbWVTb3J0KGEsIGIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfcHJvY2Vzc0NvdW50cnlDb2Rlc1wiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfcHJvY2Vzc0NvdW50cnlDb2RlcygpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsQ29kZU1heExlbiA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUNvZGVzID0ge307XG4gICAgICAgICAgICAgICAgICAgIC8vIGZpcnN0OiBhZGQgZGlhbCBjb2Rlc1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY291bnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYyA9IHRoaXMuY291bnRyaWVzW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWRkQ291bnRyeUNvZGUoYy5pc28yLCBjLmRpYWxDb2RlLCBjLnByaW9yaXR5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBuZXh0OiBhZGQgYXJlYSBjb2Rlc1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIGlzIGEgc2Vjb25kIGxvb3Agb3ZlciBjb3VudHJpZXMsIHRvIG1ha2Ugc3VyZSB3ZSBoYXZlIGFsbCBvZiB0aGUgXCJyb290XCIgY291bnRyaWVzXG4gICAgICAgICAgICAgICAgICAgIC8vIGFscmVhZHkgaW4gdGhlIG1hcCwgc28gdGhhdCB3ZSBjYW4gYWNjZXNzIHRoZW0sIGFzIGVhY2ggdGltZSB3ZSBhZGQgYW4gYXJlYSBjb2RlIHN1YnN0cmluZ1xuICAgICAgICAgICAgICAgICAgICAvLyB0byB0aGUgbWFwLCB3ZSBhbHNvIG5lZWQgdG8gaW5jbHVkZSB0aGUgXCJyb290XCIgY291bnRyeSdzIGNvZGUsIGFzIHRoYXQgYWxzbyBtYXRjaGVzXG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCB0aGlzLmNvdW50cmllcy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYyA9IHRoaXMuY291bnRyaWVzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFyZWEgY29kZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfYy5hcmVhQ29kZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcm9vdENvdW50cnlDb2RlID0gdGhpcy5jb3VudHJ5Q29kZXNbX2MuZGlhbENvZGVdWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvciBlYWNoIGFyZWEgY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgX2MuYXJlYUNvZGVzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhcmVhQ29kZSA9IF9jLmFyZWFDb2Rlc1tqXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9yIGVhY2ggZGlnaXQgaW4gdGhlIGFyZWEgY29kZSB0byBhZGQgYWxsIHBhcnRpYWwgbWF0Y2hlcyBhcyB3ZWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGsgPSAxOyBrIDwgYXJlYUNvZGUubGVuZ3RoOyBrKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwYXJ0aWFsRGlhbENvZGUgPSBfYy5kaWFsQ29kZSArIGFyZWFDb2RlLnN1YnN0cigwLCBrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0YXJ0IHdpdGggdGhlIHJvb3QgY291bnRyeSwgYXMgdGhhdCBhbHNvIG1hdGNoZXMgdGhpcyBkaWFsIGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FkZENvdW50cnlDb2RlKHJvb3RDb3VudHJ5Q29kZSwgcGFydGlhbERpYWxDb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FkZENvdW50cnlDb2RlKF9jLmlzbzIsIHBhcnRpYWxEaWFsQ29kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIHRoZSBmdWxsIGFyZWEgY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hZGRDb3VudHJ5Q29kZShfYy5pc28yLCBfYy5kaWFsQ29kZSArIGFyZWFDb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9wcm9jZXNzUHJlZmVycmVkQ291bnRyaWVzXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9wcm9jZXNzUHJlZmVycmVkQ291bnRyaWVzKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZWZlcnJlZENvdW50cmllcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub3B0aW9ucy5wcmVmZXJyZWRDb3VudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudHJ5Q29kZSA9IHRoaXMub3B0aW9ucy5wcmVmZXJyZWRDb3VudHJpZXNbaV0udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudHJ5RGF0YSA9IHRoaXMuX2dldENvdW50cnlEYXRhKGNvdW50cnlDb2RlLCBmYWxzZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnRyeURhdGEpIHRoaXMucHJlZmVycmVkQ291bnRyaWVzLnB1c2goY291bnRyeURhdGEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfY3JlYXRlRWxcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2NyZWF0ZUVsKG5hbWUsIGF0dHJzLCBjb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGF0dHJzKSBmb3JFYWNoUHJvcChhdHRycywgZnVuY3Rpb24oa2V5LCB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVsLnNldEF0dHJpYnV0ZShrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250YWluZXIpIGNvbnRhaW5lci5hcHBlbmRDaGlsZChlbCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9nZW5lcmF0ZU1hcmt1cFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2VuZXJhdGVNYXJrdXAoKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIGF1dG9jb21wbGV0ZSBkb2VzIG5vdCBleGlzdCBvbiB0aGUgZWxlbWVudCBhbmQgaXRzIGZvcm0sIHRoZW5cbiAgICAgICAgICAgICAgICAgICAgLy8gcHJldmVudCBhdXRvY29tcGxldGUgYXMgdGhlcmUncyBubyBzYWZlLCBjcm9zcy1icm93c2VyIGV2ZW50IHdlIGNhbiByZWFjdCB0bywgc28gaXQgY2FuXG4gICAgICAgICAgICAgICAgICAgIC8vIGVhc2lseSBwdXQgdGhlIHBsdWdpbiBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUgZS5nLiB0aGUgd3JvbmcgZmxhZyBzZWxlY3RlZCBmb3IgdGhlXG4gICAgICAgICAgICAgICAgICAgIC8vIGF1dG9jb21wbGV0ZWQgbnVtYmVyLCB3aGljaCBvbiBzdWJtaXQgY291bGQgbWVhbiB3cm9uZyBudW1iZXIgaXMgc2F2ZWQgKGVzcCBpbiBuYXRpb25hbE1vZGUpXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy50ZWxJbnB1dC5oYXNBdHRyaWJ1dGUoXCJhdXRvY29tcGxldGVcIikgJiYgISh0aGlzLnRlbElucHV0LmZvcm0gJiYgdGhpcy50ZWxJbnB1dC5mb3JtLmhhc0F0dHJpYnV0ZShcImF1dG9jb21wbGV0ZVwiKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQuc2V0QXR0cmlidXRlKFwiYXV0b2NvbXBsZXRlXCIsIFwib2ZmXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnRhaW5lcnMgKG1vc3RseSBmb3IgcG9zaXRpb25pbmcpXG4gICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnRDbGFzcyA9IFwiaXRpXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYWxsb3dEcm9wZG93bikgcGFyZW50Q2xhc3MgKz0gXCIgaXRpLS1hbGxvdy1kcm9wZG93blwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUpIHBhcmVudENsYXNzICs9IFwiIGl0aS0tc2VwYXJhdGUtZGlhbC1jb2RlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuY3VzdG9tQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRDbGFzcyArPSBcIiBcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudENsYXNzICs9IHRoaXMub3B0aW9ucy5jdXN0b21Db250YWluZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIHdyYXBwZXIgPSB0aGlzLl9jcmVhdGVFbChcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcImNsYXNzXCI6IHBhcmVudENsYXNzXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdyYXBwZXIsIHRoaXMudGVsSW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZsYWdzQ29udGFpbmVyID0gdGhpcy5fY3JlYXRlRWwoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJjbGFzc1wiOiBcIml0aV9fZmxhZy1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICB9LCB3cmFwcGVyKTtcbiAgICAgICAgICAgICAgICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZCh0aGlzLnRlbElucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2VsZWN0ZWQgZmxhZyAoZGlzcGxheWVkIHRvIGxlZnQgb2YgaW5wdXQpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbGFnID0gdGhpcy5fY3JlYXRlRWwoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJjbGFzc1wiOiBcIml0aV9fc2VsZWN0ZWQtZmxhZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZTogXCJjb21ib2JveFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJhcmlhLW93bnNcIjogXCJjb3VudHJ5LWxpc3Rib3hcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJpYS1leHBhbmRlZFwiOiBcImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5mbGFnc0NvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbGFnSW5uZXIgPSB0aGlzLl9jcmVhdGVFbChcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcImNsYXNzXCI6IFwiaXRpX19mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5zZWxlY3RlZEZsYWcpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREaWFsQ29kZSA9IHRoaXMuX2NyZWF0ZUVsKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNsYXNzXCI6IFwiaXRpX19zZWxlY3RlZC1kaWFsLWNvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5zZWxlY3RlZEZsYWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYWxsb3dEcm9wZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFrZSBlbGVtZW50IGZvY3VzYWJsZSBhbmQgdGFiIG5hdmlnYWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZsYWcuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCIwXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bkFycm93ID0gdGhpcy5fY3JlYXRlRWwoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY2xhc3NcIjogXCJpdGlfX2Fycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHRoaXMuc2VsZWN0ZWRGbGFnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvdW50cnkgZHJvcGRvd246IHByZWZlcnJlZCBjb3VudHJpZXMsIHRoZW4gZGl2aWRlciwgdGhlbiBhbGwgY291bnRyaWVzXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlMaXN0ID0gdGhpcy5fY3JlYXRlRWwoXCJ1bFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjbGFzc1wiOiBcIml0aV9fY291bnRyeS1saXN0IGl0aV9faGlkZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcImNvdW50cnktbGlzdGJveFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6IFwibGlzdGJveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByZWZlcnJlZENvdW50cmllcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hcHBlbmRMaXN0SXRlbXModGhpcy5wcmVmZXJyZWRDb3VudHJpZXMsIFwiaXRpX19wcmVmZXJyZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY3JlYXRlRWwoXCJsaVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY2xhc3NcIjogXCJpdGlfX2RpdmlkZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZTogXCJzZXBhcmF0b3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWRpc2FibGVkXCI6IFwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5jb3VudHJ5TGlzdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hcHBlbmRMaXN0SXRlbXModGhpcy5jb3VudHJpZXMsIFwiaXRpX19zdGFuZGFyZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBkcm9wZG93bkNvbnRhaW5lciBtYXJrdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZHJvcGRvd25Db250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duID0gdGhpcy5fY3JlYXRlRWwoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNsYXNzXCI6IFwiaXRpIGl0aS0tY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duLmFwcGVuZENoaWxkKHRoaXMuY291bnRyeUxpc3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZsYWdzQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuY291bnRyeUxpc3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuaGlkZGVuSW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBoaWRkZW5JbnB1dE5hbWUgPSB0aGlzLm9wdGlvbnMuaGlkZGVuSW5wdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZSA9IHRoaXMudGVsSW5wdXQuZ2V0QXR0cmlidXRlKFwibmFtZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBuYW1lLmxhc3RJbmRleE9mKFwiW1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBpbnB1dCBuYW1lIGNvbnRhaW5zIHNxdWFyZSBicmFja2V0cywgdGhlbiBnaXZlIHRoZSBoaWRkZW4gaW5wdXQgdGhlIHNhbWUgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZXBsYWNpbmcgdGhlIGNvbnRlbnRzIG9mIHRoZSBsYXN0IHNldCBvZiBicmFja2V0cyB3aXRoIHRoZSBnaXZlbiBoaWRkZW5JbnB1dCBuYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgIT09IC0xKSBoaWRkZW5JbnB1dE5hbWUgPSBcIlwiLmNvbmNhdChuYW1lLnN1YnN0cigwLCBpKSwgXCJbXCIpLmNvbmNhdChoaWRkZW5JbnB1dE5hbWUsIFwiXVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZGVuSW5wdXQgPSB0aGlzLl9jcmVhdGVFbChcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImhpZGRlblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGhpZGRlbklucHV0TmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuaGlkZGVuSW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfYXBwZW5kTGlzdEl0ZW1zXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9hcHBlbmRMaXN0SXRlbXMoY291bnRyaWVzLCBjbGFzc05hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgY3JlYXRlIHNvIG1hbnkgRE9NIGVsZW1lbnRzLCBpdCBpcyBmYXN0ZXIgdG8gYnVpbGQgYSB0ZW1wIHN0cmluZ1xuICAgICAgICAgICAgICAgICAgICAvLyBhbmQgdGhlbiBhZGQgZXZlcnl0aGluZyB0byB0aGUgRE9NIGluIG9uZSBnbyBhdCB0aGUgZW5kXG4gICAgICAgICAgICAgICAgICAgIHZhciB0bXAgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAvLyBmb3IgZWFjaCBjb3VudHJ5XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYyA9IGNvdW50cmllc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW4gdGhlIGxpc3QgaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wICs9IFwiPGxpIGNsYXNzPSdpdGlfX2NvdW50cnkgXCIuY29uY2F0KGNsYXNzTmFtZSwgXCInIHRhYkluZGV4PSctMScgaWQ9J2l0aS1pdGVtLVwiKS5jb25jYXQoYy5pc28yLCBcIicgcm9sZT0nb3B0aW9uJyBkYXRhLWRpYWwtY29kZT0nXCIpLmNvbmNhdChjLmRpYWxDb2RlLCBcIicgZGF0YS1jb3VudHJ5LWNvZGU9J1wiKS5jb25jYXQoYy5pc28yLCBcIic+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIHRoZSBmbGFnXG4gICAgICAgICAgICAgICAgICAgICAgICB0bXAgKz0gXCI8ZGl2IGNsYXNzPSdpdGlfX2ZsYWctYm94Jz48ZGl2IGNsYXNzPSdpdGlfX2ZsYWcgaXRpX19cIi5jb25jYXQoYy5pc28yLCBcIic+PC9kaXY+PC9kaXY+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIHRoZSBjb3VudHJ5IG5hbWUgYW5kIGRpYWwgY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wICs9IFwiPHNwYW4gY2xhc3M9J2l0aV9fY291bnRyeS1uYW1lJz5cIi5jb25jYXQoYy5uYW1lLCBcIjwvc3Bhbj5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0bXAgKz0gXCI8c3BhbiBjbGFzcz0naXRpX19kaWFsLWNvZGUnPitcIi5jb25jYXQoYy5kaWFsQ29kZSwgXCI8L3NwYW4+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2xvc2UgdGhlIGxpc3QgaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wICs9IFwiPC9saT5cIjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlMaXN0Lmluc2VydEFkamFjZW50SFRNTChcImJlZm9yZWVuZFwiLCB0bXApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3NldEluaXRpYWxTdGF0ZVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfc2V0SW5pdGlhbFN0YXRlKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdmFsID0gdGhpcy50ZWxJbnB1dC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRpYWxDb2RlID0gdGhpcy5fZ2V0RGlhbENvZGUodmFsKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGlzUmVnaW9ubGVzc05hbnAgPSB0aGlzLl9pc1JlZ2lvbmxlc3NOYW5wKHZhbCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfdGhpcyRvcHRpb25zID0gdGhpcy5vcHRpb25zLCBpbml0aWFsQ291bnRyeSA9IF90aGlzJG9wdGlvbnMuaW5pdGlhbENvdW50cnksIG5hdGlvbmFsTW9kZSA9IF90aGlzJG9wdGlvbnMubmF0aW9uYWxNb2RlLCBhdXRvSGlkZURpYWxDb2RlID0gX3RoaXMkb3B0aW9ucy5hdXRvSGlkZURpYWxDb2RlLCBzZXBhcmF0ZURpYWxDb2RlID0gX3RoaXMkb3B0aW9ucy5zZXBhcmF0ZURpYWxDb2RlO1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiB3ZSBhbHJlYWR5IGhhdmUgYSBkaWFsIGNvZGUsIGFuZCBpdCdzIG5vdCBhIHJlZ2lvbmxlc3NOYW5wLCB3ZSBjYW4gZ28gYWhlYWQgYW5kIHNldCB0aGVcbiAgICAgICAgICAgICAgICAgICAgLy8gZmxhZywgZWxzZSBmYWxsIGJhY2sgdG8gdGhlIGRlZmF1bHQgY291bnRyeVxuICAgICAgICAgICAgICAgICAgICBpZiAoZGlhbENvZGUgJiYgIWlzUmVnaW9ubGVzc05hbnApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUZsYWdGcm9tTnVtYmVyKHZhbCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5pdGlhbENvdW50cnkgIT09IFwiYXV0b1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzZWUgaWYgd2Ugc2hvdWxkIHNlbGVjdCBhIGZsYWdcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbml0aWFsQ291bnRyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldEZsYWcoaW5pdGlhbENvdW50cnkudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkaWFsQ29kZSAmJiBpc1JlZ2lvbmxlc3NOYW5wKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhcyBpbnRsIGRpYWwgY29kZSwgaXMgcmVnaW9ubGVzcyBuYW5wLCBhbmQgbm8gaW5pdGlhbENvdW50cnksIHNvIGRlZmF1bHQgdG8gVVNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0RmxhZyhcInVzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vIGRpYWwgY29kZSBhbmQgbm8gaW5pdGlhbENvdW50cnksIHNvIGRlZmF1bHQgdG8gZmlyc3QgaW4gbGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5ID0gdGhpcy5wcmVmZXJyZWRDb3VudHJpZXMubGVuZ3RoID8gdGhpcy5wcmVmZXJyZWRDb3VudHJpZXNbMF0uaXNvMiA6IHRoaXMuY291bnRyaWVzWzBdLmlzbzI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZXRGbGFnKHRoaXMuZGVmYXVsdENvdW50cnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgZW1wdHkgYW5kIG5vIG5hdGlvbmFsTW9kZSBhbmQgbm8gYXV0b0hpZGVEaWFsQ29kZSB0aGVuIGluc2VydCB0aGUgZGVmYXVsdCBkaWFsIGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdmFsICYmICFuYXRpb25hbE1vZGUgJiYgIWF1dG9IaWRlRGlhbENvZGUgJiYgIXNlcGFyYXRlRGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnZhbHVlID0gXCIrXCIuY29uY2F0KHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5kaWFsQ29kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogaWYgaW5pdGlhbENvdW50cnkgaXMgc2V0IHRvIGF1dG8sIHRoYXQgd2lsbCBiZSBoYW5kbGVkIHNlcGFyYXRlbHlcbiAgICAgICAgICAgICAgICAgICAgLy8gZm9ybWF0IC0gbm90ZSB0aGlzIHdvbnQgYmUgcnVuIGFmdGVyIF91cGRhdGVEaWFsQ29kZSBhcyB0aGF0J3Mgb25seSBjYWxsZWQgaWYgbm8gdmFsXG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWwpIHRoaXMuX3VwZGF0ZVZhbEZyb21OdW1iZXIodmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9pbml0TGlzdGVuZXJzXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9pbml0TGlzdGVuZXJzKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbml0S2V5TGlzdGVuZXJzKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXV0b0hpZGVEaWFsQ29kZSkgdGhpcy5faW5pdEJsdXJMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd0Ryb3Bkb3duKSB0aGlzLl9pbml0RHJvcGRvd25MaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGlkZGVuSW5wdXQpIHRoaXMuX2luaXRIaWRkZW5JbnB1dExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfaW5pdEhpZGRlbklucHV0TGlzdGVuZXJcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2luaXRIaWRkZW5JbnB1dExpc3RlbmVyKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlSGlkZGVuSW5wdXRTdWJtaXQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzMy5oaWRkZW5JbnB1dC52YWx1ZSA9IF90aGlzMy5nZXROdW1iZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudGVsSW5wdXQuZm9ybSkgdGhpcy50ZWxJbnB1dC5mb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgdGhpcy5faGFuZGxlSGlkZGVuSW5wdXRTdWJtaXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2dldENsb3Nlc3RMYWJlbFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0Q2xvc2VzdExhYmVsKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZWwgPSB0aGlzLnRlbElucHV0O1xuICAgICAgICAgICAgICAgICAgICB3aGlsZSAoZWwgJiYgZWwudGFnTmFtZSAhPT0gXCJMQUJFTFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbCA9IGVsLnBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2luaXREcm9wZG93bkxpc3RlbmVyc1wiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfaW5pdERyb3Bkb3duTGlzdGVuZXJzKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3RoaXM0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgLy8gaGFjayBmb3IgaW5wdXQgbmVzdGVkIGluc2lkZSBsYWJlbCAod2hpY2ggaXMgdmFsaWQgbWFya3VwKTogY2xpY2tpbmcgdGhlIHNlbGVjdGVkLWZsYWcgdG9cbiAgICAgICAgICAgICAgICAgICAgLy8gb3BlbiB0aGUgZHJvcGRvd24gd291bGQgdGhlbiBhdXRvbWF0aWNhbGx5IHRyaWdnZXIgYSAybmQgY2xpY2sgb24gdGhlIGlucHV0IHdoaWNoIHdvdWxkXG4gICAgICAgICAgICAgICAgICAgIC8vIGNsb3NlIGl0IGFnYWluXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUxhYmVsQ2xpY2sgPSBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB0aGUgZHJvcGRvd24gaXMgY2xvc2VkLCB0aGVuIGZvY3VzIHRoZSBpbnB1dCwgZWxzZSBpZ25vcmUgdGhlIGNsaWNrXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX3RoaXM0LmNvdW50cnlMaXN0LmNsYXNzTGlzdC5jb250YWlucyhcIml0aV9faGlkZVwiKSkgX3RoaXM0LnRlbElucHV0LmZvY3VzKCk7IGVsc2UgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB2YXIgbGFiZWwgPSB0aGlzLl9nZXRDbG9zZXN0TGFiZWwoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxhYmVsKSBsYWJlbC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5faGFuZGxlTGFiZWxDbGljayk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRvZ2dsZSBjb3VudHJ5IGRyb3Bkb3duIG9uIGNsaWNrXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUNsaWNrU2VsZWN0ZWRGbGFnID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IGludGVyY2VwdCB0aGlzIGV2ZW50IGlmIHdlJ3JlIG9wZW5pbmcgdGhlIGRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlbHNlIGxldCBpdCBidWJibGUgdXAgdG8gdGhlIHRvcCAoXCJjbGljay1vZmYtdG8tY2xvc2VcIiBsaXN0ZW5lcilcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdlIGNhbm5vdCBqdXN0IHN0b3BQcm9wYWdhdGlvbiBhcyBpdCBtYXkgYmUgbmVlZGVkIHRvIGNsb3NlIGFub3RoZXIgaW5zdGFuY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfdGhpczQuY291bnRyeUxpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKFwiaXRpX19oaWRlXCIpICYmICFfdGhpczQudGVsSW5wdXQuZGlzYWJsZWQgJiYgIV90aGlzNC50ZWxJbnB1dC5yZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzNC5fc2hvd0Ryb3Bkb3duKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbGFnLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLl9oYW5kbGVDbGlja1NlbGVjdGVkRmxhZyk7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9wZW4gZHJvcGRvd24gbGlzdCBpZiBjdXJyZW50bHkgZm9jdXNlZFxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVGbGFnc0NvbnRhaW5lcktleWRvd24gPSBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXNEcm9wZG93bkhpZGRlbiA9IF90aGlzNC5jb3VudHJ5TGlzdC5jbGFzc0xpc3QuY29udGFpbnMoXCJpdGlfX2hpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNEcm9wZG93bkhpZGRlbiAmJiBbIFwiQXJyb3dVcFwiLCBcIlVwXCIsIFwiQXJyb3dEb3duXCIsIFwiRG93blwiLCBcIiBcIiwgXCJFbnRlclwiIF0uaW5kZXhPZihlLmtleSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcHJldmVudCBmb3JtIGZyb20gYmVpbmcgc3VibWl0dGVkIGlmIFwiRU5URVJcIiB3YXMgcHJlc3NlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IGV2ZW50IGZyb20gYmVpbmcgaGFuZGxlZCBhZ2FpbiBieSBkb2N1bWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXM0Ll9zaG93RHJvcGRvd24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFsbG93IG5hdmlnYXRpb24gZnJvbSBkcm9wZG93biB0byBpbnB1dCBvbiBUQUJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gXCJUYWJcIikgX3RoaXM0Ll9jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmxhZ3NDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5faGFuZGxlRmxhZ3NDb250YWluZXJLZXlkb3duKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9pbml0UmVxdWVzdHNcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2luaXRSZXF1ZXN0cygpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF90aGlzNSA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSB1c2VyIGhhcyBzcGVjaWZpZWQgdGhlIHBhdGggdG8gdGhlIHV0aWxzIHNjcmlwdCwgZmV0Y2ggaXQgb24gd2luZG93LmxvYWQsIGVsc2UgcmVzb2x2ZVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnV0aWxzU2NyaXB0ICYmICF3aW5kb3cuaW50bFRlbElucHV0VXRpbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBwbHVnaW4gaXMgYmVpbmcgaW5pdGlhbGlzZWQgYWZ0ZXIgdGhlIHdpbmRvdy5sb2FkIGV2ZW50IGhhcyBhbHJlYWR5IGJlZW4gZmlyZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy53aW5kb3dMb2FkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5sb2FkVXRpbHModGhpcy5vcHRpb25zLnV0aWxzU2NyaXB0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2FpdCB1bnRpbCB0aGUgbG9hZCBldmVudCBzbyB3ZSBkb24ndCBibG9jayBhbnkgb3RoZXIgcmVxdWVzdHMgZS5nLiB0aGUgZmxhZ3MgaW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLmxvYWRVdGlscyhfdGhpczUub3B0aW9ucy51dGlsc1NjcmlwdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB0aGlzLnJlc29sdmVVdGlsc1NjcmlwdFByb21pc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5pbml0aWFsQ291bnRyeSA9PT0gXCJhdXRvXCIpIHRoaXMuX2xvYWRBdXRvQ291bnRyeSgpOyBlbHNlIHRoaXMucmVzb2x2ZUF1dG9Db3VudHJ5UHJvbWlzZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2xvYWRBdXRvQ291bnRyeVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfbG9hZEF1dG9Db3VudHJ5KCkge1xuICAgICAgICAgICAgICAgICAgICAvLyAzIG9wdGlvbnM6XG4gICAgICAgICAgICAgICAgICAgIC8vIDEpIGFscmVhZHkgbG9hZGVkICh3ZSdyZSBkb25lKVxuICAgICAgICAgICAgICAgICAgICAvLyAyKSBub3QgYWxyZWFkeSBzdGFydGVkIGxvYWRpbmcgKHN0YXJ0KVxuICAgICAgICAgICAgICAgICAgICAvLyAzKSBhbHJlYWR5IHN0YXJ0ZWQgbG9hZGluZyAoZG8gbm90aGluZyAtIGp1c3Qgd2FpdCBmb3IgbG9hZGluZyBjYWxsYmFjayB0byBmaXJlKVxuICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuYXV0b0NvdW50cnkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0b0NvdW50cnkoKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuc3RhcnRlZExvYWRpbmdBdXRvQ291bnRyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZG9uJ3QgZG8gdGhpcyB0d2ljZSFcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLnN0YXJ0ZWRMb2FkaW5nQXV0b0NvdW50cnkgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuZ2VvSXBMb29rdXAgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5nZW9JcExvb2t1cChmdW5jdGlvbihjb3VudHJ5Q29kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5hdXRvQ291bnRyeSA9IGNvdW50cnlDb2RlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRlbGwgYWxsIGluc3RhbmNlcyB0aGUgYXV0byBjb3VudHJ5IGlzIHJlYWR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IHRoaXMgc2hvdWxkIGp1c3QgYmUgdGhlIGN1cnJlbnQgaW5zdGFuY2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVQREFURTogdXNlIHNldFRpbWVvdXQgaW4gY2FzZSB0aGVpciBnZW9JcExvb2t1cCBmdW5jdGlvbiBjYWxscyB0aGlzIGNhbGxiYWNrIHN0cmFpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGF3YXkgKGUuZy4gaWYgdGhleSBoYXZlIGFscmVhZHkgZG9uZSB0aGUgZ2VvIGlwIGxvb2t1cCBzb21ld2hlcmUgZWxzZSkuIFVzaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNldFRpbWVvdXQgbWVhbnMgdGhhdCB0aGUgY3VycmVudCB0aHJlYWQgb2YgZXhlY3V0aW9uIHdpbGwgZmluaXNoIGJlZm9yZSBleGVjdXRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcywgd2hpY2ggYWxsb3dzIHRoZSBwbHVnaW4gdG8gZmluaXNoIGluaXRpYWxpc2luZy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmb3JFYWNoSW5zdGFuY2UoXCJoYW5kbGVBdXRvQ291bnRyeVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmb3JFYWNoSW5zdGFuY2UoXCJyZWplY3RBdXRvQ291bnRyeVByb21pc2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9pbml0S2V5TGlzdGVuZXJzXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9pbml0S2V5TGlzdGVuZXJzKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3RoaXM2ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIGZsYWcgb24ga2V5dXBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlS2V5dXBFdmVudCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF90aGlzNi5fdXBkYXRlRmxhZ0Zyb21OdW1iZXIoX3RoaXM2LnRlbElucHV0LnZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzNi5fdHJpZ2dlckNvdW50cnlDaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC5hZGRFdmVudExpc3RlbmVyKFwia2V5dXBcIiwgdGhpcy5faGFuZGxlS2V5dXBFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSBmbGFnIG9uIGN1dC9wYXN0ZSBldmVudHMgKG5vdyBzdXBwb3J0ZWQgaW4gYWxsIG1ham9yIGJyb3dzZXJzKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVDbGlwYm9hcmRFdmVudCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFjayBiZWNhdXNlIFwicGFzdGVcIiBldmVudCBpcyBmaXJlZCBiZWZvcmUgaW5wdXQgaXMgdXBkYXRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChfdGhpczYuX2hhbmRsZUtleXVwRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LmFkZEV2ZW50TGlzdGVuZXIoXCJjdXRcIiwgdGhpcy5faGFuZGxlQ2xpcGJvYXJkRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LmFkZEV2ZW50TGlzdGVuZXIoXCJwYXN0ZVwiLCB0aGlzLl9oYW5kbGVDbGlwYm9hcmRFdmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfY2FwXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9jYXAobnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSB0aGlzLnRlbElucHV0LmdldEF0dHJpYnV0ZShcIm1heGxlbmd0aFwiKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1heCAmJiBudW1iZXIubGVuZ3RoID4gbWF4ID8gbnVtYmVyLnN1YnN0cigwLCBtYXgpIDogbnVtYmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2luaXRCbHVyTGlzdGVuZXJzXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9pbml0Qmx1ckxpc3RlbmVycygpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF90aGlzNyA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9uIGJsdXIgb3IgZm9ybSBzdWJtaXQ6IGlmIGp1c3QgYSBkaWFsIGNvZGUgdGhlbiByZW1vdmUgaXRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlU3VibWl0T3JCbHVyRXZlbnQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzNy5fcmVtb3ZlRW1wdHlEaWFsQ29kZSgpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50ZWxJbnB1dC5mb3JtKSB0aGlzLnRlbElucHV0LmZvcm0uYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCB0aGlzLl9oYW5kbGVTdWJtaXRPckJsdXJFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcihcImJsdXJcIiwgdGhpcy5faGFuZGxlU3VibWl0T3JCbHVyRXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3JlbW92ZUVtcHR5RGlhbENvZGVcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3JlbW92ZUVtcHR5RGlhbENvZGUoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRlbElucHV0LnZhbHVlLmNoYXJBdCgwKSA9PT0gXCIrXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBudW1lcmljID0gdGhpcy5fZ2V0TnVtZXJpYyh0aGlzLnRlbElucHV0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIGp1c3QgYSBwbHVzLCBvciBpZiBqdXN0IGEgZGlhbCBjb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW51bWVyaWMgfHwgdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmRpYWxDb2RlID09PSBudW1lcmljKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9nZXROdW1lcmljXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXROdW1lcmljKHMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHMucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3RyaWdnZXJcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3RyaWdnZXIobmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBoYXZlIHRvIHVzZSBvbGQgc2Nob29sIGRvY3VtZW50LmNyZWF0ZUV2ZW50IGFzIElFMTEgZG9lc24ndCBzdXBwb3J0IGBuZXcgRXZlbnQoKWAgc3ludGF4XG4gICAgICAgICAgICAgICAgICAgIHZhciBlID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJFdmVudFwiKTtcbiAgICAgICAgICAgICAgICAgICAgZS5pbml0RXZlbnQobmFtZSwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNhbiBidWJibGUsIGFuZCBpcyBjYW5jZWxsYWJsZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LmRpc3BhdGNoRXZlbnQoZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfc2hvd0Ryb3Bkb3duXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9zaG93RHJvcGRvd24oKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUxpc3QuY2xhc3NMaXN0LnJlbW92ZShcIml0aV9faGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZsYWcuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCBcInRydWVcIik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldERyb3Bkb3duUG9zaXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIGhpZ2hsaWdodGluZyBhbmQgc2Nyb2xsIHRvIGFjdGl2ZSBsaXN0IGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlSXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0TGlzdEl0ZW0odGhpcy5hY3RpdmVJdGVtLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zY3JvbGxUbyh0aGlzLmFjdGl2ZUl0ZW0sIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGJpbmQgYWxsIHRoZSBkcm9wZG93bi1yZWxhdGVkIGxpc3RlbmVyczogbW91c2VvdmVyLCBjbGljaywgY2xpY2stb2ZmLCBrZXlkb3duXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2JpbmREcm9wZG93bkxpc3RlbmVycygpO1xuICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgdGhlIGFycm93XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcGRvd25BcnJvdy5jbGFzc0xpc3QuYWRkKFwiaXRpX19hcnJvdy0tdXBcIik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoXCJvcGVuOmNvdW50cnlkcm9wZG93blwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl90b2dnbGVDbGFzc1wiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfdG9nZ2xlQ2xhc3MoZWwsIGNsYXNzTmFtZSwgc2hvdWxkSGF2ZUNsYXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzaG91bGRIYXZlQ2xhc3MgJiYgIWVsLmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSBlbC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7IGVsc2UgaWYgKCFzaG91bGRIYXZlQ2xhc3MgJiYgZWwuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSkpIGVsLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9zZXREcm9wZG93blBvc2l0aW9uXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9zZXREcm9wZG93blBvc2l0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3RoaXM4ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5kcm9wZG93bkNvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmRyb3Bkb3duQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuZHJvcGRvd24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBvcyA9IHRoaXMudGVsSW5wdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3aW5kb3dUb3AgZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTQzODQwOTEvMjE3ODY2XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgd2luZG93VG9wID0gd2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaW5wdXRUb3AgPSBwb3MudG9wICsgd2luZG93VG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRyb3Bkb3duSGVpZ2h0ID0gdGhpcy5jb3VudHJ5TGlzdC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBkcm9wZG93bkZpdHNCZWxvdyA9IChkcm9wZG93bkJvdHRvbSA8IHdpbmRvd0JvdHRvbSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkcm9wZG93bkZpdHNCZWxvdyA9IGlucHV0VG9wICsgdGhpcy50ZWxJbnB1dC5vZmZzZXRIZWlnaHQgKyBkcm9wZG93bkhlaWdodCA8IHdpbmRvd1RvcCArIHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkcm9wZG93bkZpdHNBYm92ZSA9IGlucHV0VG9wIC0gZHJvcGRvd25IZWlnaHQgPiB3aW5kb3dUb3A7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBieSBkZWZhdWx0LCB0aGUgZHJvcGRvd24gd2lsbCBiZSBiZWxvdyB0aGUgaW5wdXQuIElmIHdlIHdhbnQgdG8gcG9zaXRpb24gaXQgYWJvdmUgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpbnB1dCwgd2UgYWRkIHRoZSBkcm9wdXAgY2xhc3MuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90b2dnbGVDbGFzcyh0aGlzLmNvdW50cnlMaXN0LCBcIml0aV9fY291bnRyeS1saXN0LS1kcm9wdXBcIiwgIWRyb3Bkb3duRml0c0JlbG93ICYmIGRyb3Bkb3duRml0c0Fib3ZlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIGRyb3Bkb3duQ29udGFpbmVyIGlzIGVuYWJsZWQsIGNhbGN1bGF0ZSBwb3N0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmRyb3Bkb3duQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnkgZGVmYXVsdCB0aGUgZHJvcGRvd24gd2lsbCBiZSBkaXJlY3RseSBvdmVyIHRoZSBpbnB1dCBiZWNhdXNlIGl0J3Mgbm90IGluIHRoZSBmbG93LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHdlIHdhbnQgdG8gcG9zaXRpb24gaXQgYmVsb3csIHdlIG5lZWQgdG8gYWRkIHNvbWUgZXh0cmEgdG9wIHZhbHVlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBleHRyYVRvcCA9ICFkcm9wZG93bkZpdHNCZWxvdyAmJiBkcm9wZG93bkZpdHNBYm92ZSA/IDAgOiB0aGlzLnRlbElucHV0Lm9mZnNldEhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjYWxjdWxhdGUgcGxhY2VtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5zdHlsZS50b3AgPSBcIlwiLmNvbmNhdChpbnB1dFRvcCArIGV4dHJhVG9wLCBcInB4XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcGRvd24uc3R5bGUubGVmdCA9IFwiXCIuY29uY2F0KHBvcy5sZWZ0ICsgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0LCBcInB4XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNsb3NlIG1lbnUgb24gd2luZG93IHNjcm9sbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZVdpbmRvd1Njcm9sbCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3RoaXM4Ll9jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLl9oYW5kbGVXaW5kb3dTY3JvbGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfZ2V0Q2xvc2VzdExpc3RJdGVtXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXRDbG9zZXN0TGlzdEl0ZW0odGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBlbCA9IHRhcmdldDtcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGVsICYmIGVsICE9PSB0aGlzLmNvdW50cnlMaXN0ICYmICFlbC5jbGFzc0xpc3QuY29udGFpbnMoXCJpdGlfX2NvdW50cnlcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsID0gZWwucGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBpZiB3ZSByZWFjaGVkIHRoZSBjb3VudHJ5TGlzdCBlbGVtZW50LCB0aGVuIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbCA9PT0gdGhpcy5jb3VudHJ5TGlzdCA/IG51bGwgOiBlbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9iaW5kRHJvcGRvd25MaXN0ZW5lcnNcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2JpbmREcm9wZG93bkxpc3RlbmVycygpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF90aGlzOSA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gbW91c2Ugb3ZlciBhIGxpc3QgaXRlbSwganVzdCBoaWdobGlnaHQgdGhhdCBvbmVcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgYWRkIHRoZSBjbGFzcyBcImhpZ2hsaWdodFwiLCBzbyBpZiB0aGV5IGhpdCBcImVudGVyXCIgd2Uga25vdyB3aGljaCBvbmUgdG8gc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZU1vdXNlb3ZlckNvdW50cnlMaXN0ID0gZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFuZGxlIGV2ZW50IGRlbGVnYXRpb24sIGFzIHdlJ3JlIGxpc3RlbmluZyBmb3IgdGhpcyBldmVudCBvbiB0aGUgY291bnRyeUxpc3RcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXN0SXRlbSA9IF90aGlzOS5fZ2V0Q2xvc2VzdExpc3RJdGVtKGUudGFyZ2V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0SXRlbSkgX3RoaXM5Ll9oaWdobGlnaHRMaXN0SXRlbShsaXN0SXRlbSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlMaXN0LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW92ZXJcIiwgdGhpcy5faGFuZGxlTW91c2VvdmVyQ291bnRyeUxpc3QpO1xuICAgICAgICAgICAgICAgICAgICAvLyBsaXN0ZW4gZm9yIGNvdW50cnkgc2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUNsaWNrQ291bnRyeUxpc3QgPSBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdEl0ZW0gPSBfdGhpczkuX2dldENsb3Nlc3RMaXN0SXRlbShlLnRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGlzdEl0ZW0pIF90aGlzOS5fc2VsZWN0TGlzdEl0ZW0obGlzdEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlMaXN0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLl9oYW5kbGVDbGlja0NvdW50cnlMaXN0KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2xpY2sgb2ZmIHRvIGNsb3NlXG4gICAgICAgICAgICAgICAgICAgIC8vIChleGNlcHQgd2hlbiB0aGlzIGluaXRpYWwgb3BlbmluZyBjbGljayBpcyBidWJibGluZyB1cClcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgY2Fubm90IGp1c3Qgc3RvcFByb3BhZ2F0aW9uIGFzIGl0IG1heSBiZSBuZWVkZWQgdG8gY2xvc2UgYW5vdGhlciBpbnN0YW5jZVxuICAgICAgICAgICAgICAgICAgICB2YXIgaXNPcGVuaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlQ2xpY2tPZmZUb0Nsb3NlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzT3BlbmluZykgX3RoaXM5Ll9jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLl9oYW5kbGVDbGlja09mZlRvQ2xvc2UpO1xuICAgICAgICAgICAgICAgICAgICAvLyBsaXN0ZW4gZm9yIHVwL2Rvd24gc2Nyb2xsaW5nLCBlbnRlciB0byBzZWxlY3QsIG9yIGxldHRlcnMgdG8ganVtcCB0byBjb3VudHJ5IG5hbWUuXG4gICAgICAgICAgICAgICAgICAgIC8vIHVzZSBrZXlkb3duIGFzIGtleXByZXNzIGRvZXNuJ3QgZmlyZSBmb3Igbm9uLWNoYXIga2V5cyBhbmQgd2Ugd2FudCB0byBjYXRjaCBpZiB0aGV5XG4gICAgICAgICAgICAgICAgICAgIC8vIGp1c3QgaGl0IGRvd24gYW5kIGhvbGQgaXQgdG8gc2Nyb2xsIGRvd24gKG5vIGtleXVwIGV2ZW50KS5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGlzdGVuIG9uIHRoZSBkb2N1bWVudCBiZWNhdXNlIHRoYXQncyB3aGVyZSBrZXkgZXZlbnRzIGFyZSB0cmlnZ2VyZWQgaWYgbm8gaW5wdXQgaGFzIGZvY3VzXG4gICAgICAgICAgICAgICAgICAgIHZhciBxdWVyeSA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHZhciBxdWVyeVRpbWVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlS2V5ZG93bk9uRHJvcGRvd24gPSBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IGRvd24ga2V5IGZyb20gc2Nyb2xsaW5nIHRoZSB3aG9sZSBwYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIGVudGVyIGtleSBmcm9tIHN1Ym1pdHRpbmcgYSBmb3JtIGV0Y1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdXAgYW5kIGRvd24gdG8gbmF2aWdhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gXCJBcnJvd1VwXCIgfHwgZS5rZXkgPT09IFwiVXBcIiB8fCBlLmtleSA9PT0gXCJBcnJvd0Rvd25cIiB8fCBlLmtleSA9PT0gXCJEb3duXCIpIF90aGlzOS5faGFuZGxlVXBEb3duS2V5KGUua2V5KTsgZWxzZSBpZiAoZS5rZXkgPT09IFwiRW50ZXJcIikgX3RoaXM5Ll9oYW5kbGVFbnRlcktleSgpOyBlbHNlIGlmIChlLmtleSA9PT0gXCJFc2NhcGVcIikgX3RoaXM5Ll9jbG9zZURyb3Bkb3duKCk7IGVsc2UgaWYgKC9eW2EtekEtWsOALcO/0LAt0Y/QkC3QryBdJC8udGVzdChlLmtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBqdW1wIHRvIGNvdW50cmllcyB0aGF0IHN0YXJ0IHdpdGggdGhlIHF1ZXJ5IHN0cmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxdWVyeVRpbWVyKSBjbGVhclRpbWVvdXQocXVlcnlUaW1lcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnkgKz0gZS5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpczkuX3NlYXJjaEZvckNvdW50cnkocXVlcnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSB0aW1lciBoaXRzIDEgc2Vjb25kLCByZXNldCB0aGUgcXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnkgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDFlMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMuX2hhbmRsZUtleWRvd25PbkRyb3Bkb3duKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9oYW5kbGVVcERvd25LZXlcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2hhbmRsZVVwRG93bktleShrZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5leHQgPSBrZXkgPT09IFwiQXJyb3dVcFwiIHx8IGtleSA9PT0gXCJVcFwiID8gdGhpcy5oaWdobGlnaHRlZEl0ZW0ucHJldmlvdXNFbGVtZW50U2libGluZyA6IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtLm5leHRFbGVtZW50U2libGluZztcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNraXAgdGhlIGRpdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXh0LmNsYXNzTGlzdC5jb250YWlucyhcIml0aV9fZGl2aWRlclwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHQgPSBrZXkgPT09IFwiQXJyb3dVcFwiIHx8IGtleSA9PT0gXCJVcFwiID8gbmV4dC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIDogbmV4dC5uZXh0RWxlbWVudFNpYmxpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9oaWdobGlnaHRMaXN0SXRlbShuZXh0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2hhbmRsZUVudGVyS2V5XCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9oYW5kbGVFbnRlcktleSgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0ZWRJdGVtKSB0aGlzLl9zZWxlY3RMaXN0SXRlbSh0aGlzLmhpZ2hsaWdodGVkSXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfc2VhcmNoRm9yQ291bnRyeVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfc2VhcmNoRm9yQ291bnRyeShxdWVyeSkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY291bnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fc3RhcnRzV2l0aCh0aGlzLmNvdW50cmllc1tpXS5uYW1lLCBxdWVyeSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdEl0ZW0gPSB0aGlzLmNvdW50cnlMaXN0LnF1ZXJ5U2VsZWN0b3IoXCIjaXRpLWl0ZW0tXCIuY29uY2F0KHRoaXMuY291bnRyaWVzW2ldLmlzbzIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgaGlnaGxpZ2h0aW5nIGFuZCBzY3JvbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9oaWdobGlnaHRMaXN0SXRlbShsaXN0SXRlbSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Njcm9sbFRvKGxpc3RJdGVtLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3N0YXJ0c1dpdGhcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3N0YXJ0c1dpdGgoYSwgYikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS5zdWJzdHIoMCwgYi5sZW5ndGgpLnRvTG93ZXJDYXNlKCkgPT09IGI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfdXBkYXRlVmFsRnJvbU51bWJlclwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfdXBkYXRlVmFsRnJvbU51bWJlcihvcmlnaW5hbE51bWJlcikge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbnVtYmVyID0gb3JpZ2luYWxOdW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZm9ybWF0T25EaXNwbGF5ICYmIHdpbmRvdy5pbnRsVGVsSW5wdXRVdGlscyAmJiB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1c2VOYXRpb25hbCA9ICF0aGlzLm9wdGlvbnMuc2VwYXJhdGVEaWFsQ29kZSAmJiAodGhpcy5vcHRpb25zLm5hdGlvbmFsTW9kZSB8fCBudW1iZXIuY2hhckF0KDApICE9PSBcIitcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2ludGxUZWxJbnB1dFV0aWxzJG51ID0gaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0LCBOQVRJT05BTCA9IF9pbnRsVGVsSW5wdXRVdGlscyRudS5OQVRJT05BTCwgSU5URVJOQVRJT05BTCA9IF9pbnRsVGVsSW5wdXRVdGlscyRudS5JTlRFUk5BVElPTkFMO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZvcm1hdCA9IHVzZU5hdGlvbmFsID8gTkFUSU9OQUwgOiBJTlRFUk5BVElPTkFMO1xuICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gaW50bFRlbElucHV0VXRpbHMuZm9ybWF0TnVtYmVyKG51bWJlciwgdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzIsIGZvcm1hdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gdGhpcy5fYmVmb3JlU2V0TnVtYmVyKG51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQudmFsdWUgPSBudW1iZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfdXBkYXRlRmxhZ0Zyb21OdW1iZXJcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3VwZGF0ZUZsYWdGcm9tTnVtYmVyKG9yaWdpbmFsTnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHdlJ3JlIGluIG5hdGlvbmFsTW9kZSBhbmQgd2UgYWxyZWFkeSBoYXZlIFVTL0NhbmFkYSBzZWxlY3RlZCwgbWFrZSBzdXJlIHRoZSBudW1iZXIgc3RhcnRzXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpdGggYSArMSBzbyBfZ2V0RGlhbENvZGUgd2lsbCBiZSBhYmxlIHRvIGV4dHJhY3QgdGhlIGFyZWEgY29kZVxuICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGU6IGlmIHdlIGRvbnQgeWV0IGhhdmUgc2VsZWN0ZWRDb3VudHJ5RGF0YSwgYnV0IHdlJ3JlIGhlcmUgKHRyeWluZyB0byB1cGRhdGUgdGhlIGZsYWdcbiAgICAgICAgICAgICAgICAgICAgLy8gZnJvbSB0aGUgbnVtYmVyKSwgdGhhdCBtZWFucyB3ZSdyZSBpbml0aWFsaXNpbmcgdGhlIHBsdWdpbiB3aXRoIGEgbnVtYmVyIHRoYXQgYWxyZWFkeSBoYXMgYVxuICAgICAgICAgICAgICAgICAgICAvLyBkaWFsIGNvZGUsIHNvIGZpbmUgdG8gaWdub3JlIHRoaXMgYml0XG4gICAgICAgICAgICAgICAgICAgIHZhciBudW1iZXIgPSBvcmlnaW5hbE51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkRGlhbENvZGUgPSB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGU7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpc05hbnAgPSBzZWxlY3RlZERpYWxDb2RlID09PSBcIjFcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG51bWJlciAmJiB0aGlzLm9wdGlvbnMubmF0aW9uYWxNb2RlICYmIGlzTmFucCAmJiBudW1iZXIuY2hhckF0KDApICE9PSBcIitcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bWJlci5jaGFyQXQoMCkgIT09IFwiMVwiKSBudW1iZXIgPSBcIjFcIi5jb25jYXQobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciA9IFwiK1wiLmNvbmNhdChudW1iZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSBmbGFnIGlmIHVzZXIgdHlwZXMgYXJlYSBjb2RlIGZvciBhbm90aGVyIGNvdW50cnlcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5zZXBhcmF0ZURpYWxDb2RlICYmIHNlbGVjdGVkRGlhbENvZGUgJiYgbnVtYmVyLmNoYXJBdCgwKSAhPT0gXCIrXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciA9IFwiK1wiLmNvbmNhdChzZWxlY3RlZERpYWxDb2RlKS5jb25jYXQobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyB0cnkgYW5kIGV4dHJhY3QgdmFsaWQgZGlhbCBjb2RlIGZyb20gaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRpYWxDb2RlID0gdGhpcy5fZ2V0RGlhbENvZGUobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG51bWVyaWMgPSB0aGlzLl9nZXROdW1lcmljKG51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb3VudHJ5Q29kZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkaWFsQ29kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50cnlDb2RlcyA9IHRoaXMuY291bnRyeUNvZGVzW3RoaXMuX2dldE51bWVyaWMoZGlhbENvZGUpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZSByaWdodCBjb3VudHJ5IGlzIGFscmVhZHkgc2VsZWN0ZWQuIHRoaXMgc2hvdWxkIGJlIGZhbHNlIGlmIHRoZSBudW1iZXIgaXNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvbmdlciB0aGFuIHRoZSBtYXRjaGVkIGRpYWwgY29kZSBiZWNhdXNlIGluIHRoaXMgY2FzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGVyZSBhcmUgbXVsdGlwbGUgY291bnRyeSBtYXRjaGVzLCB0aGF0IHRoZSBmaXJzdCBvbmUgaXMgc2VsZWN0ZWQgKG5vdGU6IHdlIGNvdWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBqdXN0IGNoZWNrIHRoYXQgaGVyZSwgYnV0IGl0IHJlcXVpcmVzIHRoZSBzYW1lIGxvb3AgdGhhdCB3ZSBhbHJlYWR5IGhhdmUgbGF0ZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYWxyZWFkeVNlbGVjdGVkID0gY291bnRyeUNvZGVzLmluZGV4T2YodGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzIpICE9PSAtMSAmJiBudW1lcmljLmxlbmd0aCA8PSBkaWFsQ29kZS5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzUmVnaW9ubGVzc05hbnBOdW1iZXIgPSBzZWxlY3RlZERpYWxDb2RlID09PSBcIjFcIiAmJiB0aGlzLl9pc1JlZ2lvbmxlc3NOYW5wKG51bWVyaWMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSB1cGRhdGUgdGhlIGZsYWcgaWY6XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBKSBOT1QgKHdlIGN1cnJlbnRseSBoYXZlIGEgTkFOUCBmbGFnIHNlbGVjdGVkLCBhbmQgdGhlIG51bWJlciBpcyBhIHJlZ2lvbmxlc3NOYW5wKVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQU5EXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBCKSB0aGUgcmlnaHQgY291bnRyeSBpcyBub3QgYWxyZWFkeSBzZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1JlZ2lvbmxlc3NOYW5wTnVtYmVyICYmICFhbHJlYWR5U2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB1c2luZyBvbmx5Q291bnRyaWVzIG9wdGlvbiwgY291bnRyeUNvZGVzWzBdIG1heSBiZSBlbXB0eSwgc28gd2UgbXVzdCBmaW5kIHRoZSBmaXJzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vbi1lbXB0eSBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgY291bnRyeUNvZGVzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudHJ5Q29kZXNbal0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50cnlDb2RlID0gY291bnRyeUNvZGVzW2pdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobnVtYmVyLmNoYXJBdCgwKSA9PT0gXCIrXCIgJiYgbnVtZXJpYy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGludmFsaWQgZGlhbCBjb2RlLCBzbyBlbXB0eVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm90ZTogdXNlIGdldE51bWVyaWMgaGVyZSBiZWNhdXNlIHRoZSBudW1iZXIgaGFzIG5vdCBiZWVuIGZvcm1hdHRlZCB5ZXQsIHNvIGNvdWxkIGNvbnRhaW5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJhZCBjaGFyc1xuICAgICAgICAgICAgICAgICAgICAgICAgY291bnRyeUNvZGUgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFudW1iZXIgfHwgbnVtYmVyID09PSBcIitcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZW1wdHksIG9yIGp1c3QgYSBwbHVzLCBzbyBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZSA9IHRoaXMuZGVmYXVsdENvdW50cnk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50cnlDb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fc2V0RmxhZyhjb3VudHJ5Q29kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2lzUmVnaW9ubGVzc05hbnBcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2lzUmVnaW9ubGVzc05hbnAobnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBudW1lcmljID0gdGhpcy5fZ2V0TnVtZXJpYyhudW1iZXIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobnVtZXJpYy5jaGFyQXQoMCkgPT09IFwiMVwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYXJlYUNvZGUgPSBudW1lcmljLnN1YnN0cigxLCAzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWdpb25sZXNzTmFucE51bWJlcnMuaW5kZXhPZihhcmVhQ29kZSkgIT09IC0xO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9oaWdobGlnaHRMaXN0SXRlbVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfaGlnaGxpZ2h0TGlzdEl0ZW0obGlzdEl0ZW0sIHNob3VsZEZvY3VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwcmV2SXRlbSA9IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldkl0ZW0pIHByZXZJdGVtLmNsYXNzTGlzdC5yZW1vdmUoXCJpdGlfX2hpZ2hsaWdodFwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWdobGlnaHRlZEl0ZW0gPSBsaXN0SXRlbTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWdobGlnaHRlZEl0ZW0uY2xhc3NMaXN0LmFkZChcIml0aV9faGlnaGxpZ2h0XCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2hvdWxkRm9jdXMpIHRoaXMuaGlnaGxpZ2h0ZWRJdGVtLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfZ2V0Q291bnRyeURhdGFcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2dldENvdW50cnlEYXRhKGNvdW50cnlDb2RlLCBpZ25vcmVPbmx5Q291bnRyaWVzT3B0aW9uLCBhbGxvd0ZhaWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50cnlMaXN0ID0gaWdub3JlT25seUNvdW50cmllc09wdGlvbiA/IGFsbENvdW50cmllcyA6IHRoaXMuY291bnRyaWVzO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50cnlMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnRyeUxpc3RbaV0uaXNvMiA9PT0gY291bnRyeUNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY291bnRyeUxpc3RbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGFsbG93RmFpbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gY291bnRyeSBkYXRhIGZvciAnXCIuY29uY2F0KGNvdW50cnlDb2RlLCBcIidcIikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3NldEZsYWdcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3NldEZsYWcoY291bnRyeUNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHByZXZDb3VudHJ5ID0gdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzIgPyB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEgOiB7fTtcbiAgICAgICAgICAgICAgICAgICAgLy8gZG8gdGhpcyBmaXJzdCBhcyBpdCB3aWxsIHRocm93IGFuIGVycm9yIGFuZCBzdG9wIGlmIGNvdW50cnlDb2RlIGlzIGludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhID0gY291bnRyeUNvZGUgPyB0aGlzLl9nZXRDb3VudHJ5RGF0YShjb3VudHJ5Q29kZSwgZmFsc2UsIGZhbHNlKSA6IHt9O1xuICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgdGhlIGRlZmF1bHRDb3VudHJ5IC0gd2Ugb25seSBuZWVkIHRoZSBpc28yIGZyb20gbm93IG9uLCBzbyBqdXN0IHN0b3JlIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5pc28yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5ID0gdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZsYWdJbm5lci5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBcIml0aV9fZmxhZyBpdGlfX1wiLmNvbmNhdChjb3VudHJ5Q29kZSkpO1xuICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgdGhlIHNlbGVjdGVkIGNvdW50cnkncyB0aXRsZSBhdHRyaWJ1dGVcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gY291bnRyeUNvZGUgPyBcIlwiLmNvbmNhdCh0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEubmFtZSwgXCI6ICtcIikuY29uY2F0KHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5kaWFsQ29kZSkgOiBcIlVua25vd25cIjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZsYWcuc2V0QXR0cmlidXRlKFwidGl0bGVcIiwgdGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkaWFsQ29kZSA9IHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5kaWFsQ29kZSA/IFwiK1wiLmNvbmNhdCh0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGUpIDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREaWFsQ29kZS5pbm5lckhUTUwgPSBkaWFsQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9mZnNldFdpZHRoIGlzIHplcm8gaWYgaW5wdXQgaXMgaW4gYSBoaWRkZW4gY29udGFpbmVyIGR1cmluZyBpbml0aWFsaXNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkRmxhZ1dpZHRoID0gdGhpcy5zZWxlY3RlZEZsYWcub2Zmc2V0V2lkdGggfHwgdGhpcy5fZ2V0SGlkZGVuU2VsZWN0ZWRGbGFnV2lkdGgoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCA2cHggb2YgcGFkZGluZyBhZnRlciB0aGUgZ3JleSBzZWxlY3RlZC1kaWFsLWNvZGUgYm94LCBhcyB0aGlzIGlzIHdoYXQgd2UgdXNlIGluIHRoZSBjc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQuc3R5bGUucGFkZGluZ0xlZnQgPSBcIlwiLmNvbmNhdChzZWxlY3RlZEZsYWdXaWR0aCArIDYsIFwicHhcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gYW5kIHRoZSBpbnB1dCdzIHBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVBsYWNlaG9sZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgYWN0aXZlIGxpc3QgaXRlbVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmFsbG93RHJvcGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwcmV2SXRlbSA9IHRoaXMuYWN0aXZlSXRlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmV2SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZJdGVtLmNsYXNzTGlzdC5yZW1vdmUoXCJpdGlfX2FjdGl2ZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2SXRlbS5zZXRBdHRyaWJ1dGUoXCJhcmlhLXNlbGVjdGVkXCIsIFwiZmFsc2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnRyeUNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbmV4dEl0ZW0gPSB0aGlzLmNvdW50cnlMaXN0LnF1ZXJ5U2VsZWN0b3IoXCIjaXRpLWl0ZW0tXCIuY29uY2F0KGNvdW50cnlDb2RlKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dEl0ZW0uc2V0QXR0cmlidXRlKFwiYXJpYS1zZWxlY3RlZFwiLCBcInRydWVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dEl0ZW0uY2xhc3NMaXN0LmFkZChcIml0aV9fYWN0aXZlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbSA9IG5leHRJdGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbGFnLnNldEF0dHJpYnV0ZShcImFyaWEtYWN0aXZlZGVzY2VuZGFudFwiLCBuZXh0SXRlbS5nZXRBdHRyaWJ1dGUoXCJpZFwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gcmV0dXJuIGlmIHRoZSBmbGFnIGhhcyBjaGFuZ2VkIG9yIG5vdFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldkNvdW50cnkuaXNvMiAhPT0gY291bnRyeUNvZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfZ2V0SGlkZGVuU2VsZWN0ZWRGbGFnV2lkdGhcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2dldEhpZGRlblNlbGVjdGVkRmxhZ1dpZHRoKCkge1xuICAgICAgICAgICAgICAgICAgICAvLyB0byBnZXQgdGhlIHJpZ2h0IHN0eWxpbmcgdG8gYXBwbHksIGFsbCB3ZSBuZWVkIGlzIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGUgY29udGFpbmVyLFxuICAgICAgICAgICAgICAgICAgICAvLyBhbmQgdGhlbiB0byBpbmplY3QgYSBkZWVwIGNsb25lIG9mIHRoZSBzZWxlY3RlZEZsYWcgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICB2YXIgY29udGFpbmVyQ2xvbmUgPSB0aGlzLnRlbElucHV0LnBhcmVudE5vZGUuY2xvbmVOb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lckNsb25lLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lckNsb25lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkRmxhZ0Nsb25lID0gdGhpcy5zZWxlY3RlZEZsYWcuY2xvbmVOb2RlKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJDbG9uZS5hcHBlbmRDaGlsZChzZWxlY3RlZEZsYWdDbG9uZSk7XG4gICAgICAgICAgICAgICAgICAgIHZhciB3aWR0aCA9IHNlbGVjdGVkRmxhZ0Nsb25lLm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJDbG9uZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNvbnRhaW5lckNsb25lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3VwZGF0ZVBsYWNlaG9sZGVyXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF91cGRhdGVQbGFjZWhvbGRlcigpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNob3VsZFNldFBsYWNlaG9sZGVyID0gdGhpcy5vcHRpb25zLmF1dG9QbGFjZWhvbGRlciA9PT0gXCJhZ2dyZXNzaXZlXCIgfHwgIXRoaXMuaGFkSW5pdGlhbFBsYWNlaG9sZGVyICYmIHRoaXMub3B0aW9ucy5hdXRvUGxhY2Vob2xkZXIgPT09IFwicG9saXRlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50bFRlbElucHV0VXRpbHMgJiYgc2hvdWxkU2V0UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBudW1iZXJUeXBlID0gaW50bFRlbElucHV0VXRpbHMubnVtYmVyVHlwZVt0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXJOdW1iZXJUeXBlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwbGFjZWhvbGRlciA9IHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5pc28yID8gaW50bFRlbElucHV0VXRpbHMuZ2V0RXhhbXBsZU51bWJlcih0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuaXNvMiwgdGhpcy5vcHRpb25zLm5hdGlvbmFsTW9kZSwgbnVtYmVyVHlwZSkgOiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLl9iZWZvcmVTZXROdW1iZXIocGxhY2Vob2xkZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuY3VzdG9tUGxhY2Vob2xkZXIgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gdGhpcy5vcHRpb25zLmN1c3RvbVBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyLCB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC5zZXRBdHRyaWJ1dGUoXCJwbGFjZWhvbGRlclwiLCBwbGFjZWhvbGRlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9zZWxlY3RMaXN0SXRlbVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfc2VsZWN0TGlzdEl0ZW0obGlzdEl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIHNlbGVjdGVkIGZsYWcgYW5kIGFjdGl2ZSBsaXN0IGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgdmFyIGZsYWdDaGFuZ2VkID0gdGhpcy5fc2V0RmxhZyhsaXN0SXRlbS5nZXRBdHRyaWJ1dGUoXCJkYXRhLWNvdW50cnktY29kZVwiKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlRGlhbENvZGUobGlzdEl0ZW0uZ2V0QXR0cmlidXRlKFwiZGF0YS1kaWFsLWNvZGVcIiksIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBmb2N1cyB0aGUgaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAvLyBwdXQgY3Vyc29yIGF0IGVuZCAtIHRoaXMgZml4IGlzIHJlcXVpcmVkIGZvciBGRiBhbmQgSUUxMSAod2l0aCBuYXRpb25hbE1vZGU9ZmFsc2UgaS5lLiBhdXRvXG4gICAgICAgICAgICAgICAgICAgIC8vIGluc2VydGluZyBkaWFsIGNvZGUpLCB3aG8gdHJ5IHRvIHB1dCB0aGUgY3Vyc29yIGF0IHRoZSBiZWdpbm5pbmcgdGhlIGZpcnN0IHRpbWVcbiAgICAgICAgICAgICAgICAgICAgdmFyIGxlbiA9IHRoaXMudGVsSW5wdXQudmFsdWUubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnNldFNlbGVjdGlvblJhbmdlKGxlbiwgbGVuKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZsYWdDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyQ291bnRyeUNoYW5nZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfY2xvc2VEcm9wZG93blwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfY2xvc2VEcm9wZG93bigpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5TGlzdC5jbGFzc0xpc3QuYWRkKFwiaXRpX19oaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmxhZy5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsIFwiZmFsc2VcIik7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgYXJyb3dcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bkFycm93LmNsYXNzTGlzdC5yZW1vdmUoXCJpdGlfX2Fycm93LS11cFwiKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdW5iaW5kIGtleSBldmVudHNcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5faGFuZGxlS2V5ZG93bk9uRHJvcGRvd24pO1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuX2hhbmRsZUNsaWNrT2ZmVG9DbG9zZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUxpc3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlb3ZlclwiLCB0aGlzLl9oYW5kbGVNb3VzZW92ZXJDb3VudHJ5TGlzdCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUxpc3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuX2hhbmRsZUNsaWNrQ291bnRyeUxpc3QpO1xuICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgbWVudSBmcm9tIGNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmRyb3Bkb3duQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMuX2hhbmRsZVdpbmRvd1Njcm9sbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kcm9wZG93bi5wYXJlbnROb2RlKSB0aGlzLmRyb3Bkb3duLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5kcm9wZG93bik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcihcImNsb3NlOmNvdW50cnlkcm9wZG93blwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9zY3JvbGxUb1wiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfc2Nyb2xsVG8oZWxlbWVudCwgbWlkZGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb250YWluZXIgPSB0aGlzLmNvdW50cnlMaXN0O1xuICAgICAgICAgICAgICAgICAgICAvLyB3aW5kb3dUb3AgZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTQzODQwOTEvMjE3ODY2XG4gICAgICAgICAgICAgICAgICAgIHZhciB3aW5kb3dUb3AgPSB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbnRhaW5lckhlaWdodCA9IGNvbnRhaW5lci5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb250YWluZXJUb3AgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93VG9wO1xuICAgICAgICAgICAgICAgICAgICB2YXIgY29udGFpbmVyQm90dG9tID0gY29udGFpbmVyVG9wICsgY29udGFpbmVySGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudEhlaWdodCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudFRvcCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93VG9wO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudEJvdHRvbSA9IGVsZW1lbnRUb3AgKyBlbGVtZW50SGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmV3U2Nyb2xsVG9wID0gZWxlbWVudFRvcCAtIGNvbnRhaW5lclRvcCArIGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gICAgICAgICAgICAgICAgICAgIHZhciBtaWRkbGVPZmZzZXQgPSBjb250YWluZXJIZWlnaHQgLyAyIC0gZWxlbWVudEhlaWdodCAvIDI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50VG9wIDwgY29udGFpbmVyVG9wKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzY3JvbGwgdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtaWRkbGUpIG5ld1Njcm9sbFRvcCAtPSBtaWRkbGVPZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gbmV3U2Nyb2xsVG9wO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnRCb3R0b20gPiBjb250YWluZXJCb3R0b20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNjcm9sbCBkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWlkZGxlKSBuZXdTY3JvbGxUb3AgKz0gbWlkZGxlT2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhlaWdodERpZmZlcmVuY2UgPSBjb250YWluZXJIZWlnaHQgLSBlbGVtZW50SGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLnNjcm9sbFRvcCA9IG5ld1Njcm9sbFRvcCAtIGhlaWdodERpZmZlcmVuY2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl91cGRhdGVEaWFsQ29kZVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfdXBkYXRlRGlhbENvZGUobmV3RGlhbENvZGVCYXJlLCBoYXNTZWxlY3RlZExpc3RJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpbnB1dFZhbCA9IHRoaXMudGVsSW5wdXQudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIHNhdmUgaGF2aW5nIHRvIHBhc3MgdGhpcyBldmVyeSB0aW1lXG4gICAgICAgICAgICAgICAgICAgIHZhciBuZXdEaWFsQ29kZSA9IFwiK1wiLmNvbmNhdChuZXdEaWFsQ29kZUJhcmUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmV3TnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXRWYWwuY2hhckF0KDApID09PSBcIitcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlcmUncyBhIHBsdXMgc28gd2UncmUgZGVhbGluZyB3aXRoIGEgcmVwbGFjZW1lbnQgKGRvZXNuJ3QgbWF0dGVyIGlmIG5hdGlvbmFsTW9kZSBvciBub3QpXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJldkRpYWxDb2RlID0gdGhpcy5fZ2V0RGlhbENvZGUoaW5wdXRWYWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZEaWFsQ29kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGN1cnJlbnQgbnVtYmVyIGNvbnRhaW5zIGEgdmFsaWQgZGlhbCBjb2RlLCBzbyByZXBsYWNlIGl0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3TnVtYmVyID0gaW5wdXRWYWwucmVwbGFjZShwcmV2RGlhbENvZGUsIG5ld0RpYWxDb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY3VycmVudCBudW1iZXIgY29udGFpbnMgYW4gaW52YWxpZCBkaWFsIGNvZGUsIHNvIGRpdGNoIGl0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gKG5vIHdheSB0byBkZXRlcm1pbmUgd2hlcmUgdGhlIGludmFsaWQgZGlhbCBjb2RlIGVuZHMgYW5kIHRoZSByZXN0IG9mIHRoZSBudW1iZXIgYmVnaW5zKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld051bWJlciA9IG5ld0RpYWxDb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9ucy5uYXRpb25hbE1vZGUgfHwgdGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRvbid0IGRvIGFueXRoaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBuYXRpb25hbE1vZGUgaXMgZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dFZhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZXJlIGlzIGFuIGV4aXN0aW5nIHZhbHVlIHdpdGggbm8gZGlhbCBjb2RlOiBwcmVmaXggdGhlIG5ldyBkaWFsIGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdOdW1iZXIgPSBuZXdEaWFsQ29kZSArIGlucHV0VmFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNTZWxlY3RlZExpc3RJdGVtIHx8ICF0aGlzLm9wdGlvbnMuYXV0b0hpZGVEaWFsQ29kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vIGV4aXN0aW5nIHZhbHVlIGFuZCBlaXRoZXIgdGhleSd2ZSBqdXN0IHNlbGVjdGVkIGEgbGlzdCBpdGVtLCBvciBhdXRvSGlkZURpYWxDb2RlIGlzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGlzYWJsZWQ6IGluc2VydCBuZXcgZGlhbCBjb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3TnVtYmVyID0gbmV3RGlhbENvZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnZhbHVlID0gbmV3TnVtYmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2dldERpYWxDb2RlXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXREaWFsQ29kZShudW1iZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRpYWxDb2RlID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpbnRlcmVzdGVkIGluIGludGVybmF0aW9uYWwgbnVtYmVycyAoc3RhcnRpbmcgd2l0aCBhIHBsdXMpXG4gICAgICAgICAgICAgICAgICAgIGlmIChudW1iZXIuY2hhckF0KDApID09PSBcIitcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG51bWVyaWNDaGFycyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpdGVyYXRlIG92ZXIgY2hhcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtYmVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGMgPSBudW1iZXIuY2hhckF0KGkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIGNoYXIgaXMgbnVtYmVyIChodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvODkzNTY0OS8yMTc4NjYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc05hTihwYXJzZUludChjLCAxMCkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWVyaWNDaGFycyArPSBjO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBjdXJyZW50IG51bWVyaWNDaGFycyBtYWtlIGEgdmFsaWQgZGlhbCBjb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvdW50cnlDb2Rlc1tudW1lcmljQ2hhcnNdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzdG9yZSB0aGUgYWN0dWFsIHJhdyBzdHJpbmcgKHVzZWZ1bCBmb3IgbWF0Y2hpbmcgbGF0ZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFsQ29kZSA9IG51bWJlci5zdWJzdHIoMCwgaSArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW1lcmljQ2hhcnMubGVuZ3RoID09PSB0aGlzLmRpYWxDb2RlTWF4TGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGlhbENvZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfZ2V0RnVsbE51bWJlclwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0RnVsbE51bWJlcigpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9IHRoaXMudGVsSW5wdXQudmFsdWUudHJpbSgpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZGlhbENvZGUgPSB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGU7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwcmVmaXg7XG4gICAgICAgICAgICAgICAgICAgIHZhciBudW1lcmljVmFsID0gdGhpcy5fZ2V0TnVtZXJpYyh2YWwpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUgJiYgdmFsLmNoYXJBdCgwKSAhPT0gXCIrXCIgJiYgZGlhbENvZGUgJiYgbnVtZXJpY1ZhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2luZyBzZXBhcmF0ZURpYWxDb2RlLCBpdCBpcyB2aXNpYmxlIHNvIGlzIGVmZmVjdGl2ZWx5IHBhcnQgb2YgdGhlIHR5cGVkIG51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4ID0gXCIrXCIuY29uY2F0KGRpYWxDb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZpeCArIHZhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9iZWZvcmVTZXROdW1iZXJcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2JlZm9yZVNldE51bWJlcihvcmlnaW5hbE51bWJlcikge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbnVtYmVyID0gb3JpZ2luYWxOdW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuc2VwYXJhdGVEaWFsQ29kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRpYWxDb2RlID0gdGhpcy5fZ2V0RGlhbENvZGUobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIGEgdmFsaWQgZGlhbCBjb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIF9nZXREaWFsQ29kZSByZXR1cm5lZCBhbiBhcmVhIGNvZGUgYXMgd2VsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWxDb2RlID0gXCIrXCIuY29uY2F0KHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5kaWFsQ29kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBsb3Qgb2YgbnVtYmVycyB3aWxsIGhhdmUgYSBzcGFjZSBzZXBhcmF0aW5nIHRoZSBkaWFsIGNvZGUgYW5kIHRoZSBtYWluIG51bWJlciwgYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc29tZSBOQU5QIG51bWJlcnMgd2lsbCBoYXZlIGEgaHlwaGVuIGUuZy4gKzEgNjg0LTczMy0xMjM0IC0gaW4gYm90aCBjYXNlcyB3ZSB3YW50IHRvIGdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJpZCBvZiBpdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvbid0IGp1c3QgdHJpbSBhbGwgbm9uLW51bWVyaWNzIGFzIG1heSB3YW50IHRvIHByZXNlcnZlIGFuIG9wZW4gcGFyZW50aGVzaXMgZXRjXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHN0YXJ0ID0gbnVtYmVyW2RpYWxDb2RlLmxlbmd0aF0gPT09IFwiIFwiIHx8IG51bWJlcltkaWFsQ29kZS5sZW5ndGhdID09PSBcIi1cIiA/IGRpYWxDb2RlLmxlbmd0aCArIDEgOiBkaWFsQ29kZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyLnN1YnN0cihzdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NhcChudW1iZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3RyaWdnZXJDb3VudHJ5Q2hhbmdlXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF90cmlnZ2VyQ291bnRyeUNoYW5nZSgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcihcImNvdW50cnljaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJoYW5kbGVBdXRvQ291bnRyeVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBoYW5kbGVBdXRvQ291bnRyeSgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5pbml0aWFsQ291bnRyeSA9PT0gXCJhdXRvXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdlIG11c3Qgc2V0IHRoaXMgZXZlbiBpZiB0aGVyZSBpcyBhbiBpbml0aWFsIHZhbCBpbiB0aGUgaW5wdXQ6IGluIGNhc2UgdGhlIGluaXRpYWwgdmFsIGlzXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpbnZhbGlkIGFuZCB0aGV5IGRlbGV0ZSBpdCAtIHRoZXkgc2hvdWxkIHNlZSB0aGVpciBhdXRvIGNvdW50cnlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvdW50cnkgPSB3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5hdXRvQ291bnRyeTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlJ3Mgbm8gaW5pdGlhbCB2YWx1ZSBpbiB0aGUgaW5wdXQsIHRoZW4gdXBkYXRlIHRoZSBmbGFnXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGVsSW5wdXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldENvdW50cnkodGhpcy5kZWZhdWx0Q291bnRyeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVBdXRvQ291bnRyeVByb21pc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiaGFuZGxlVXRpbHNcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gaGFuZGxlVXRpbHMoKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSByZXF1ZXN0IHdhcyBzdWNjZXNzZnVsXG4gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50bFRlbElucHV0VXRpbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlJ3MgYW4gaW5pdGlhbCB2YWx1ZSBpbiB0aGUgaW5wdXQsIHRoZW4gZm9ybWF0IGl0XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50ZWxJbnB1dC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVZhbEZyb21OdW1iZXIodGhpcy50ZWxJbnB1dC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVQbGFjZWhvbGRlcigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZVV0aWxzU2NyaXB0UHJvbWlzZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiZGVzdHJveVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybSA9IHRoaXMudGVsSW5wdXQuZm9ybTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhlIGRyb3Bkb3duIGlzIGNsb3NlZCAoYW5kIHVuYmluZCBsaXN0ZW5lcnMpXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmxhZy5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5faGFuZGxlQ2xpY2tTZWxlY3RlZEZsYWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mbGFnc0NvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLl9oYW5kbGVGbGFnc0NvbnRhaW5lcktleWRvd24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGFiZWwgY2xpY2sgaGFja1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxhYmVsID0gdGhpcy5fZ2V0Q2xvc2VzdExhYmVsKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGFiZWwpIGxhYmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLl9oYW5kbGVMYWJlbENsaWNrKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyB1bmJpbmQgaGlkZGVuSW5wdXQgbGlzdGVuZXJzXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmhpZGRlbklucHV0ICYmIGZvcm0pIGZvcm0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCB0aGlzLl9oYW5kbGVIaWRkZW5JbnB1dFN1Ym1pdCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVuYmluZCBhdXRvSGlkZURpYWxDb2RlIGxpc3RlbmVyc1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmF1dG9IaWRlRGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmb3JtKSBmb3JtLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgdGhpcy5faGFuZGxlU3VibWl0T3JCbHVyRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKFwiYmx1clwiLCB0aGlzLl9oYW5kbGVTdWJtaXRPckJsdXJFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gdW5iaW5kIGtleSBldmVudHMsIGFuZCBjdXQvcGFzdGUgZXZlbnRzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleXVwXCIsIHRoaXMuX2hhbmRsZUtleXVwRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjdXRcIiwgdGhpcy5faGFuZGxlQ2xpcGJvYXJkRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwYXN0ZVwiLCB0aGlzLl9oYW5kbGVDbGlwYm9hcmRFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBhdHRyaWJ1dGUgb2YgaWQgaW5zdGFuY2U6IGRhdGEtaW50bC10ZWwtaW5wdXQtaWRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLWludGwtdGVsLWlucHV0LWlkXCIpO1xuICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgbWFya3VwIChidXQgbGVhdmUgdGhlIG9yaWdpbmFsIGlucHV0KVxuICAgICAgICAgICAgICAgICAgICB2YXIgd3JhcHBlciA9IHRoaXMudGVsSW5wdXQucGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgd3JhcHBlci5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLnRlbElucHV0LCB3cmFwcGVyKTtcbiAgICAgICAgICAgICAgICAgICAgd3JhcHBlci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHdyYXBwZXIpO1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuaW5zdGFuY2VzW3RoaXMuaWRdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiZ2V0RXh0ZW5zaW9uXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGdldEV4dGVuc2lvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRsVGVsSW5wdXRVdGlscykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGludGxUZWxJbnB1dFV0aWxzLmdldEV4dGVuc2lvbih0aGlzLl9nZXRGdWxsTnVtYmVyKCksIHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5pc28yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcImdldE51bWJlclwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBnZXROdW1iZXIoZm9ybWF0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50bFRlbElucHV0VXRpbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc28yID0gdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzI7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW50bFRlbElucHV0VXRpbHMuZm9ybWF0TnVtYmVyKHRoaXMuX2dldEZ1bGxOdW1iZXIoKSwgaXNvMiwgZm9ybWF0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcImdldE51bWJlclR5cGVcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0TnVtYmVyVHlwZSgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRsVGVsSW5wdXRVdGlscykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGludGxUZWxJbnB1dFV0aWxzLmdldE51bWJlclR5cGUodGhpcy5fZ2V0RnVsbE51bWJlcigpLCB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuaXNvMik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC05OTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcImdldFNlbGVjdGVkQ291bnRyeURhdGFcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0U2VsZWN0ZWRDb3VudHJ5RGF0YSgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcImdldFZhbGlkYXRpb25FcnJvclwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRWYWxpZGF0aW9uRXJyb3IoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50bFRlbElucHV0VXRpbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc28yID0gdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzI7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW50bFRlbElucHV0VXRpbHMuZ2V0VmFsaWRhdGlvbkVycm9yKHRoaXMuX2dldEZ1bGxOdW1iZXIoKSwgaXNvMik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC05OTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcImlzVmFsaWROdW1iZXJcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gaXNWYWxpZE51bWJlcigpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9IHRoaXMuX2dldEZ1bGxOdW1iZXIoKS50cmltKCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb3VudHJ5Q29kZSA9IHRoaXMub3B0aW9ucy5uYXRpb25hbE1vZGUgPyB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuaXNvMiA6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB3aW5kb3cuaW50bFRlbElucHV0VXRpbHMgPyBpbnRsVGVsSW5wdXRVdGlscy5pc1ZhbGlkTnVtYmVyKHZhbCwgY291bnRyeUNvZGUpIDogbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcInNldENvdW50cnlcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gc2V0Q291bnRyeShvcmlnaW5hbENvdW50cnlDb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb3VudHJ5Q29kZSA9IG9yaWdpbmFsQ291bnRyeUNvZGUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgYWxyZWFkeSBzZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRGbGFnSW5uZXIuY2xhc3NMaXN0LmNvbnRhaW5zKFwiaXRpX19cIi5jb25jYXQoY291bnRyeUNvZGUpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0RmxhZyhjb3VudHJ5Q29kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVEaWFsQ29kZSh0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJDb3VudHJ5Q2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcInNldE51bWJlclwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBzZXROdW1iZXIobnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdlIG11c3QgdXBkYXRlIHRoZSBmbGFnIGZpcnN0LCB3aGljaCB1cGRhdGVzIHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YSwgd2hpY2ggaXMgdXNlZCBmb3JcbiAgICAgICAgICAgICAgICAgICAgLy8gZm9ybWF0dGluZyB0aGUgbnVtYmVyIGJlZm9yZSBkaXNwbGF5aW5nIGl0XG4gICAgICAgICAgICAgICAgICAgIHZhciBmbGFnQ2hhbmdlZCA9IHRoaXMuX3VwZGF0ZUZsYWdGcm9tTnVtYmVyKG51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVZhbEZyb21OdW1iZXIobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZsYWdDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyQ291bnRyeUNoYW5nZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJzZXRQbGFjZWhvbGRlck51bWJlclR5cGVcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gc2V0UGxhY2Vob2xkZXJOdW1iZXJUeXBlKHR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyTnVtYmVyVHlwZSA9IHR5cGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVBsYWNlaG9sZGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBdKTtcbiAgICAgICAgICAgIHJldHVybiBJdGk7XG4gICAgICAgIH0oKTtcbiAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqXG4gKiAgU1RBVElDIE1FVEhPRFNcbiAqKioqKioqKioqKioqKioqKioqKi9cbiAgICAgICAgLy8gZ2V0IHRoZSBjb3VudHJ5IGRhdGEgb2JqZWN0XG4gICAgICAgIGludGxUZWxJbnB1dEdsb2JhbHMuZ2V0Q291bnRyeURhdGEgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiBhbGxDb3VudHJpZXM7XG4gICAgICAgIH07XG4gICAgICAgIC8vIGluamVjdCBhIDxzY3JpcHQ+IGVsZW1lbnQgdG8gbG9hZCB1dGlscy5qc1xuICAgICAgICB2YXIgaW5qZWN0U2NyaXB0ID0gZnVuY3Rpb24gaW5qZWN0U2NyaXB0KHBhdGgsIGhhbmRsZVN1Y2Nlc3MsIGhhbmRsZUZhaWx1cmUpIHtcbiAgICAgICAgICAgIC8vIGluamVjdCBhIG5ldyBzY3JpcHQgZWxlbWVudCBpbnRvIHRoZSBwYWdlXG4gICAgICAgICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICAgICAgICAgIHNjcmlwdC5vbmxvYWQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICBmb3JFYWNoSW5zdGFuY2UoXCJoYW5kbGVVdGlsc1wiKTtcbiAgICAgICAgICAgICAgICBpZiAoaGFuZGxlU3VjY2VzcykgaGFuZGxlU3VjY2VzcygpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHNjcmlwdC5vbmVycm9yID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgZm9yRWFjaEluc3RhbmNlKFwicmVqZWN0VXRpbHNTY3JpcHRQcm9taXNlXCIpO1xuICAgICAgICAgICAgICAgIGlmIChoYW5kbGVGYWlsdXJlKSBoYW5kbGVGYWlsdXJlKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgc2NyaXB0LmNsYXNzTmFtZSA9IFwiaXRpLWxvYWQtdXRpbHNcIjtcbiAgICAgICAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICAgICAgICBzY3JpcHQuc3JjID0gcGF0aDtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gbG9hZCB0aGUgdXRpbHMgc2NyaXB0XG4gICAgICAgIGludGxUZWxJbnB1dEdsb2JhbHMubG9hZFV0aWxzID0gZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICAgICAgLy8gMiBvcHRpb25zOlxuICAgICAgICAgICAgLy8gMSkgbm90IGFscmVhZHkgc3RhcnRlZCBsb2FkaW5nIChzdGFydClcbiAgICAgICAgICAgIC8vIDIpIGFscmVhZHkgc3RhcnRlZCBsb2FkaW5nIChkbyBub3RoaW5nIC0ganVzdCB3YWl0IGZvciB0aGUgb25sb2FkIGNhbGxiYWNrIHRvIGZpcmUsIHdoaWNoIHdpbGxcbiAgICAgICAgICAgIC8vIHRyaWdnZXIgaGFuZGxlVXRpbHMgb24gYWxsIGluc3RhbmNlcywgaW52b2tpbmcgdGhlaXIgcmVzb2x2ZVV0aWxzU2NyaXB0UHJvbWlzZSBmdW5jdGlvbnMpXG4gICAgICAgICAgICBpZiAoIXdpbmRvdy5pbnRsVGVsSW5wdXRVdGlscyAmJiAhd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuc3RhcnRlZExvYWRpbmdVdGlsc1NjcmlwdCkge1xuICAgICAgICAgICAgICAgIC8vIG9ubHkgZG8gdGhpcyBvbmNlXG4gICAgICAgICAgICAgICAgd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuc3RhcnRlZExvYWRpbmdVdGlsc1NjcmlwdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgLy8gaWYgd2UgaGF2ZSBwcm9taXNlcywgdGhlbiByZXR1cm4gYSBwcm9taXNlXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBQcm9taXNlICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpbmplY3RTY3JpcHQocGF0aCwgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGluamVjdFNjcmlwdChwYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9O1xuICAgICAgICAvLyBkZWZhdWx0IG9wdGlvbnNcbiAgICAgICAgaW50bFRlbElucHV0R2xvYmFscy5kZWZhdWx0cyA9IGRlZmF1bHRzO1xuICAgICAgICAvLyB2ZXJzaW9uXG4gICAgICAgIGludGxUZWxJbnB1dEdsb2JhbHMudmVyc2lvbiA9IFwiMTYuMS4wXCI7XG4gICAgICAgIC8vIGNvbnZlbmllbmNlIHdyYXBwZXJcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGlucHV0LCBvcHRpb25zKSB7XG4gICAgICAgICAgICB2YXIgaXRpID0gbmV3IEl0aShpbnB1dCwgb3B0aW9ucyk7XG4gICAgICAgICAgICBpdGkuX2luaXQoKTtcbiAgICAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZShcImRhdGEtaW50bC10ZWwtaW5wdXQtaWRcIiwgaXRpLmlkKTtcbiAgICAgICAgICAgIHdpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLmluc3RhbmNlc1tpdGkuaWRdID0gaXRpO1xuICAgICAgICAgICAgcmV0dXJuIGl0aTtcbiAgICAgICAgfTtcbiAgICB9KCk7XG59KTsiLCIvKipcbiAqIEV4cG9zaW5nIGludGwtdGVsLWlucHV0IGFzIGEgY29tcG9uZW50XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4vYnVpbGQvanMvaW50bFRlbElucHV0XCIpO1xuIiwiLy8gc2hpbSBmb3IgdXNpbmcgcHJvY2VzcyBpbiBicm93c2VyXG52YXIgcHJvY2VzcyA9IG1vZHVsZS5leHBvcnRzID0ge307XG5cbi8vIGNhY2hlZCBmcm9tIHdoYXRldmVyIGdsb2JhbCBpcyBwcmVzZW50IHNvIHRoYXQgdGVzdCBydW5uZXJzIHRoYXQgc3R1YiBpdFxuLy8gZG9uJ3QgYnJlYWsgdGhpbmdzLiAgQnV0IHdlIG5lZWQgdG8gd3JhcCBpdCBpbiBhIHRyeSBjYXRjaCBpbiBjYXNlIGl0IGlzXG4vLyB3cmFwcGVkIGluIHN0cmljdCBtb2RlIGNvZGUgd2hpY2ggZG9lc24ndCBkZWZpbmUgYW55IGdsb2JhbHMuICBJdCdzIGluc2lkZSBhXG4vLyBmdW5jdGlvbiBiZWNhdXNlIHRyeS9jYXRjaGVzIGRlb3B0aW1pemUgaW4gY2VydGFpbiBlbmdpbmVzLlxuXG52YXIgY2FjaGVkU2V0VGltZW91dDtcbnZhciBjYWNoZWRDbGVhclRpbWVvdXQ7XG5cbmZ1bmN0aW9uIGRlZmF1bHRTZXRUaW1vdXQoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG5mdW5jdGlvbiBkZWZhdWx0Q2xlYXJUaW1lb3V0ICgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2NsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCcpO1xufVxuKGZ1bmN0aW9uICgpIHtcbiAgICB0cnkge1xuICAgICAgICBpZiAodHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBzZXRUaW1lb3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBkZWZhdWx0U2V0VGltb3V0O1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBpZiAodHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gY2xlYXJUaW1lb3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcbiAgICB9XG59ICgpKVxuZnVuY3Rpb24gcnVuVGltZW91dChmdW4pIHtcbiAgICBpZiAoY2FjaGVkU2V0VGltZW91dCA9PT0gc2V0VGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgLy8gaWYgc2V0VGltZW91dCB3YXNuJ3QgYXZhaWxhYmxlIGJ1dCB3YXMgbGF0dGVyIGRlZmluZWRcbiAgICBpZiAoKGNhY2hlZFNldFRpbWVvdXQgPT09IGRlZmF1bHRTZXRUaW1vdXQgfHwgIWNhY2hlZFNldFRpbWVvdXQpICYmIHNldFRpbWVvdXQpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIC8vIHdoZW4gd2hlbiBzb21lYm9keSBoYXMgc2NyZXdlZCB3aXRoIHNldFRpbWVvdXQgYnV0IG5vIEkuRS4gbWFkZG5lc3NcbiAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9IGNhdGNoKGUpe1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0IHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKG51bGwsIGZ1biwgMCk7XG4gICAgICAgIH0gY2F0Y2goZSl7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvclxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbCh0aGlzLCBmdW4sIDApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cbmZ1bmN0aW9uIHJ1bkNsZWFyVGltZW91dChtYXJrZXIpIHtcbiAgICBpZiAoY2FjaGVkQ2xlYXJUaW1lb3V0ID09PSBjbGVhclRpbWVvdXQpIHtcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9XG4gICAgLy8gaWYgY2xlYXJUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkQ2xlYXJUaW1lb3V0ID09PSBkZWZhdWx0Q2xlYXJUaW1lb3V0IHx8ICFjYWNoZWRDbGVhclRpbWVvdXQpICYmIGNsZWFyVGltZW91dCkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfSBjYXRjaCAoZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgIHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwobnVsbCwgbWFya2VyKTtcbiAgICAgICAgfSBjYXRjaCAoZSl7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvci5cbiAgICAgICAgICAgIC8vIFNvbWUgdmVyc2lvbnMgb2YgSS5FLiBoYXZlIGRpZmZlcmVudCBydWxlcyBmb3IgY2xlYXJUaW1lb3V0IHZzIHNldFRpbWVvdXRcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbCh0aGlzLCBtYXJrZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxufVxudmFyIHF1ZXVlID0gW107XG52YXIgZHJhaW5pbmcgPSBmYWxzZTtcbnZhciBjdXJyZW50UXVldWU7XG52YXIgcXVldWVJbmRleCA9IC0xO1xuXG5mdW5jdGlvbiBjbGVhblVwTmV4dFRpY2soKSB7XG4gICAgaWYgKCFkcmFpbmluZyB8fCAhY3VycmVudFF1ZXVlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBpZiAoY3VycmVudFF1ZXVlLmxlbmd0aCkge1xuICAgICAgICBxdWV1ZSA9IGN1cnJlbnRRdWV1ZS5jb25jYXQocXVldWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHF1ZXVlSW5kZXggPSAtMTtcbiAgICB9XG4gICAgaWYgKHF1ZXVlLmxlbmd0aCkge1xuICAgICAgICBkcmFpblF1ZXVlKCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBkcmFpblF1ZXVlKCkge1xuICAgIGlmIChkcmFpbmluZykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciB0aW1lb3V0ID0gcnVuVGltZW91dChjbGVhblVwTmV4dFRpY2spO1xuICAgIGRyYWluaW5nID0gdHJ1ZTtcblxuICAgIHZhciBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgd2hpbGUobGVuKSB7XG4gICAgICAgIGN1cnJlbnRRdWV1ZSA9IHF1ZXVlO1xuICAgICAgICBxdWV1ZSA9IFtdO1xuICAgICAgICB3aGlsZSAoKytxdWV1ZUluZGV4IDwgbGVuKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudFF1ZXVlKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFF1ZXVlW3F1ZXVlSW5kZXhdLnJ1bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHF1ZXVlSW5kZXggPSAtMTtcbiAgICAgICAgbGVuID0gcXVldWUubGVuZ3RoO1xuICAgIH1cbiAgICBjdXJyZW50UXVldWUgPSBudWxsO1xuICAgIGRyYWluaW5nID0gZmFsc2U7XG4gICAgcnVuQ2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xufVxuXG5wcm9jZXNzLm5leHRUaWNrID0gZnVuY3Rpb24gKGZ1bikge1xuICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggLSAxKTtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGFyZ3NbaSAtIDFdID0gYXJndW1lbnRzW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHF1ZXVlLnB1c2gobmV3IEl0ZW0oZnVuLCBhcmdzKSk7XG4gICAgaWYgKHF1ZXVlLmxlbmd0aCA9PT0gMSAmJiAhZHJhaW5pbmcpIHtcbiAgICAgICAgcnVuVGltZW91dChkcmFpblF1ZXVlKTtcbiAgICB9XG59O1xuXG4vLyB2OCBsaWtlcyBwcmVkaWN0aWJsZSBvYmplY3RzXG5mdW5jdGlvbiBJdGVtKGZ1biwgYXJyYXkpIHtcbiAgICB0aGlzLmZ1biA9IGZ1bjtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG59XG5JdGVtLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5mdW4uYXBwbHkobnVsbCwgdGhpcy5hcnJheSk7XG59O1xucHJvY2Vzcy50aXRsZSA9ICdicm93c2VyJztcbnByb2Nlc3MuYnJvd3NlciA9IHRydWU7XG5wcm9jZXNzLmVudiA9IHt9O1xucHJvY2Vzcy5hcmd2ID0gW107XG5wcm9jZXNzLnZlcnNpb24gPSAnJzsgLy8gZW1wdHkgc3RyaW5nIHRvIGF2b2lkIHJlZ2V4cCBpc3N1ZXNcbnByb2Nlc3MudmVyc2lvbnMgPSB7fTtcblxuZnVuY3Rpb24gbm9vcCgpIHt9XG5cbnByb2Nlc3Mub24gPSBub29wO1xucHJvY2Vzcy5hZGRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLm9uY2UgPSBub29wO1xucHJvY2Vzcy5vZmYgPSBub29wO1xucHJvY2Vzcy5yZW1vdmVMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUFsbExpc3RlbmVycyA9IG5vb3A7XG5wcm9jZXNzLmVtaXQgPSBub29wO1xucHJvY2Vzcy5wcmVwZW5kTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5wcmVwZW5kT25jZUxpc3RlbmVyID0gbm9vcDtcblxucHJvY2Vzcy5saXN0ZW5lcnMgPSBmdW5jdGlvbiAobmFtZSkgeyByZXR1cm4gW10gfVxuXG5wcm9jZXNzLmJpbmRpbmcgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcigncHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5cbnByb2Nlc3MuY3dkID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gJy8nIH07XG5wcm9jZXNzLmNoZGlyID0gZnVuY3Rpb24gKGRpcikge1xuICAgIHRocm93IG5ldyBFcnJvcigncHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkJyk7XG59O1xucHJvY2Vzcy51bWFzayA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gMDsgfTtcbiIsInZhciBuZXh0VGljayA9IHJlcXVpcmUoJ3Byb2Nlc3MvYnJvd3Nlci5qcycpLm5leHRUaWNrO1xudmFyIGFwcGx5ID0gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5O1xudmFyIHNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlO1xudmFyIGltbWVkaWF0ZUlkcyA9IHt9O1xudmFyIG5leHRJbW1lZGlhdGVJZCA9IDA7XG5cbi8vIERPTSBBUElzLCBmb3IgY29tcGxldGVuZXNzXG5cbmV4cG9ydHMuc2V0VGltZW91dCA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRUaW1lb3V0LCB3aW5kb3csIGFyZ3VtZW50cyksIGNsZWFyVGltZW91dCk7XG59O1xuZXhwb3J0cy5zZXRJbnRlcnZhbCA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRJbnRlcnZhbCwgd2luZG93LCBhcmd1bWVudHMpLCBjbGVhckludGVydmFsKTtcbn07XG5leHBvcnRzLmNsZWFyVGltZW91dCA9XG5leHBvcnRzLmNsZWFySW50ZXJ2YWwgPSBmdW5jdGlvbih0aW1lb3V0KSB7IHRpbWVvdXQuY2xvc2UoKTsgfTtcblxuZnVuY3Rpb24gVGltZW91dChpZCwgY2xlYXJGbikge1xuICB0aGlzLl9pZCA9IGlkO1xuICB0aGlzLl9jbGVhckZuID0gY2xlYXJGbjtcbn1cblRpbWVvdXQucHJvdG90eXBlLnVucmVmID0gVGltZW91dC5wcm90b3R5cGUucmVmID0gZnVuY3Rpb24oKSB7fTtcblRpbWVvdXQucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMuX2NsZWFyRm4uY2FsbCh3aW5kb3csIHRoaXMuX2lkKTtcbn07XG5cbi8vIERvZXMgbm90IHN0YXJ0IHRoZSB0aW1lLCBqdXN0IHNldHMgdXAgdGhlIG1lbWJlcnMgbmVlZGVkLlxuZXhwb3J0cy5lbnJvbGwgPSBmdW5jdGlvbihpdGVtLCBtc2Vjcykge1xuICBjbGVhclRpbWVvdXQoaXRlbS5faWRsZVRpbWVvdXRJZCk7XG4gIGl0ZW0uX2lkbGVUaW1lb3V0ID0gbXNlY3M7XG59O1xuXG5leHBvcnRzLnVuZW5yb2xsID0gZnVuY3Rpb24oaXRlbSkge1xuICBjbGVhclRpbWVvdXQoaXRlbS5faWRsZVRpbWVvdXRJZCk7XG4gIGl0ZW0uX2lkbGVUaW1lb3V0ID0gLTE7XG59O1xuXG5leHBvcnRzLl91bnJlZkFjdGl2ZSA9IGV4cG9ydHMuYWN0aXZlID0gZnVuY3Rpb24oaXRlbSkge1xuICBjbGVhclRpbWVvdXQoaXRlbS5faWRsZVRpbWVvdXRJZCk7XG5cbiAgdmFyIG1zZWNzID0gaXRlbS5faWRsZVRpbWVvdXQ7XG4gIGlmIChtc2VjcyA+PSAwKSB7XG4gICAgaXRlbS5faWRsZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gb25UaW1lb3V0KCkge1xuICAgICAgaWYgKGl0ZW0uX29uVGltZW91dClcbiAgICAgICAgaXRlbS5fb25UaW1lb3V0KCk7XG4gICAgfSwgbXNlY3MpO1xuICB9XG59O1xuXG4vLyBUaGF0J3Mgbm90IGhvdyBub2RlLmpzIGltcGxlbWVudHMgaXQgYnV0IHRoZSBleHBvc2VkIGFwaSBpcyB0aGUgc2FtZS5cbmV4cG9ydHMuc2V0SW1tZWRpYXRlID0gdHlwZW9mIHNldEltbWVkaWF0ZSA9PT0gXCJmdW5jdGlvblwiID8gc2V0SW1tZWRpYXRlIDogZnVuY3Rpb24oZm4pIHtcbiAgdmFyIGlkID0gbmV4dEltbWVkaWF0ZUlkKys7XG4gIHZhciBhcmdzID0gYXJndW1lbnRzLmxlbmd0aCA8IDIgPyBmYWxzZSA6IHNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTtcblxuICBpbW1lZGlhdGVJZHNbaWRdID0gdHJ1ZTtcblxuICBuZXh0VGljayhmdW5jdGlvbiBvbk5leHRUaWNrKCkge1xuICAgIGlmIChpbW1lZGlhdGVJZHNbaWRdKSB7XG4gICAgICAvLyBmbi5jYWxsKCkgaXMgZmFzdGVyIHNvIHdlIG9wdGltaXplIGZvciB0aGUgY29tbW9uIHVzZS1jYXNlXG4gICAgICAvLyBAc2VlIGh0dHA6Ly9qc3BlcmYuY29tL2NhbGwtYXBwbHktc2VndVxuICAgICAgaWYgKGFyZ3MpIHtcbiAgICAgICAgZm4uYXBwbHkobnVsbCwgYXJncyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmbi5jYWxsKG51bGwpO1xuICAgICAgfVxuICAgICAgLy8gUHJldmVudCBpZHMgZnJvbSBsZWFraW5nXG4gICAgICBleHBvcnRzLmNsZWFySW1tZWRpYXRlKGlkKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBpZDtcbn07XG5cbmV4cG9ydHMuY2xlYXJJbW1lZGlhdGUgPSB0eXBlb2YgY2xlYXJJbW1lZGlhdGUgPT09IFwiZnVuY3Rpb25cIiA/IGNsZWFySW1tZWRpYXRlIDogZnVuY3Rpb24oaWQpIHtcbiAgZGVsZXRlIGltbWVkaWF0ZUlkc1tpZF07XG59OyIsImltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBGaWxlRmllbGRFbGVtZW50IH0gZnJvbSAnLi9lbGVtZW50cy9GaWxlRmllbGQvRmlsZUZpZWxkRWxlbWVudCc7XG5pbXBvcnQgQXJyYXlVdGlsIGZyb20gJy4vZnJhbWV3b3JrL1V0aWxpdGllcy9BcnJheVV0aWwnO1xuaW1wb3J0IE1ha2VSZXF1ZXN0IGZyb20gJy4vZnJhbWV3b3JrL1V0aWxpdGllcy9NYWtlUmVxdWVzdCc7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21Gb3JtIHtcblx0YWN0aW9uOiBzdHJpbmc7XG5cdG1ldGhvZDogc3RyaW5nO1xuXHRfbmF0aXZlSW5wdXRzOiBIVE1MSW5wdXRFbGVtZW50W107XG5cblx0cHVibGljIG9uc3VibWl0OiAoKHRoaXM6IEN1c3RvbUZvcm0sIHByb21pc2U6IFByb21pc2U8YW55PikgPT4gYW55KSB8IG51bGw7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBmb3JtOiBIVE1MRm9ybUVsZW1lbnQpIHtcblx0XHR0aGlzLmFjdGlvbiA9IGZvcm0uYWN0aW9uIHx8ICcnO1xuXHRcdHRoaXMubWV0aG9kID0gZm9ybS5tZXRob2QgfHwgJ2dldCc7XG5cdFx0dGhpcy5hdHRhY2hGb3JtKCk7XG5cdFx0dGhpcy5iaW5Hcm91cHNUb0RlcGVuZGVuY3koKTtcblx0fVxuXG5cdGdldCBpbnB1dHMoKTogQ3VzdG9tSW5wdXRFbGVtZW50W10ge1xuXHRcdHJldHVybiBBcnJheVV0aWwuRnJvbU5vZGVMaXN0KHRoaXMuZm9ybS5xdWVyeVNlbGVjdG9yQWxsKCcuZ3JvdXAtY29udGFpbmVyOm5vdChbaGlkZGVuXSkgW2N1c3RvbS1pbnB1dF06bm90KFtoaWRkZW5dKScpKTtcblx0fVxuXHRnZXQgbmF0aXZlSW5wdXRzKCk6IEhUTUxJbnB1dEVsZW1lbnRbXSB7XG5cdFx0dGhpcy5fbmF0aXZlSW5wdXRzID1cblx0XHRcdHRoaXMuX25hdGl2ZUlucHV0cyB8fFxuXHRcdFx0QXJyYXlVdGlsLkZyb21Ob2RlTGlzdCh0aGlzLmZvcm0ucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQnKSk7XG5cdFx0cmV0dXJuIHRoaXMuX25hdGl2ZUlucHV0cztcblx0fVxuXG5cdGdldCBoYXNGaWxlcygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5pbnB1dHMuc29tZShpbnB1dCA9PiBpbnB1dCBpbnN0YW5jZW9mIEZpbGVGaWVsZEVsZW1lbnQpO1xuXHR9XG5cblx0YXR0YWNoRm9ybSgpIHtcblx0XHR0aGlzLmZvcm0ub25zdWJtaXQgPSBldmVudCA9PiB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0bGV0IHZhbGlkID0gdGhpcy52YWxpZGF0ZSgpO1xuXHRcdFx0aWYgKHZhbGlkKSB7XG5cdFx0XHRcdGlmICh0aGlzLm9uc3VibWl0KSB7XG5cdFx0XHRcdFx0dGhpcy5vbnN1Ym1pdCh0aGlzLnN1Ym1pdCgpKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdH1cblxuXHR2YWxpZGF0ZSgpOiBib29sZWFuIHtcblx0XHR0aGlzLmlucHV0cy5mb3JFYWNoKGlucHV0ID0+ICg8Q3VzdG9tSW5wdXRFbGVtZW50PmlucHV0KS52YWxpZGF0ZSgpKTtcblx0XHRyZXR1cm4gdGhpcy5pbnB1dHMuZXZlcnkoaW5wdXQgPT4gKDxDdXN0b21JbnB1dEVsZW1lbnQ+aW5wdXQpLnZhbGlkKTtcblx0fVxuXG5cdHN1Ym1pdCgpOiBQcm9taXNlPGFueT4ge1xuXHRcdGxldCBmb3JtRGF0YSA9IHt9O1xuXHRcdGNvbnN0IGhlYWRlcnM6IGFueSA9IHt9O1xuXHRcdHRoaXMuaW5wdXRzLm1hcChpID0+IChmb3JtRGF0YVtpLm5hbWVdID0gaS52YWx1ZSkpO1xuXHRcdGZvcm1EYXRhID0gdGhpcy5leHRyYWN0RGF0YSgpO1xuXHRcdHJldHVybiBuZXcgTWFrZVJlcXVlc3QodGhpcy5hY3Rpb24sIHRoaXMubWV0aG9kLCBoZWFkZXJzKS5zZW5kKFxuXHRcdFx0Zm9ybURhdGEsXG5cdFx0KTtcblx0fVxuXHRwcml2YXRlIGV4dHJhY3REYXRhKCk6IEZvcm1EYXRhIHtcblx0XHRjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblx0XHRmb3IgKGNvbnN0IGlucHV0IG9mIHRoaXMuaW5wdXRzKSB7XG5cdFx0XHRpZiAoaW5wdXQgaW5zdGFuY2VvZiBGaWxlRmllbGRFbGVtZW50KSB7XG5cdFx0XHRcdGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpbnB1dC52YWx1ZS5sZW5ndGg7IGluZGV4KyspIHtcblx0XHRcdFx0XHRjb25zdCBmaWxlID0gaW5wdXQudmFsdWVbaW5kZXhdO1xuXHRcdFx0XHRcdGZvcm1EYXRhLmFwcGVuZChpbnB1dC5uYW1lLCBmaWxlLCBmaWxlLm5hbWUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRmb3JtRGF0YS5hcHBlbmQoYFZhbHVlc1ske2lucHV0Lm5hbWV9XWAsIGlucHV0LnZhbHVlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Zm9yIChjb25zdCBpbnB1dCBvZiB0aGlzLm5hdGl2ZUlucHV0cykge1xuXHRcdFx0aWYgKGlucHV0Lm5hbWUpIHtcblx0XHRcdFx0Zm9ybURhdGEuYXBwZW5kKGlucHV0Lm5hbWUsIGlucHV0LnZhbHVlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGZvcm1EYXRhO1xuXHR9XG5cblx0cHJpdmF0ZSBiaW5Hcm91cHNUb0RlcGVuZGVuY3koKSB7XG5cdFx0bGV0IGdyb3VwQ29udGFpbmVycyA9IHRoaXMuZm9ybS5xdWVyeVNlbGVjdG9yQWxsKCdkaXYuZ3JvdXAtY29udGFpbmVyOm5vdChbZGF0YS1kZXBlbmRzLW9uPVwiXCJdKScsXG5cdFx0KTtcblx0XHRncm91cENvbnRhaW5lcnMuZm9yRWFjaCgoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcblx0XHRcdGxldCBkZXBlbmRlbnRGaWVsZCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWRlcGVuZHMtb24nKTtcblx0XHRcdGxldCBkZXBlbmRlbnRWYWx1ZSA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWRlcGVuZGVudC12YWx1ZScpO1xuXHRcdFx0bGV0IGN1c3RvbUVsZW1lbnQ6IEN1c3RvbUlucHV0RWxlbWVudCA9IGRvY3VtZW50LmZvcm1zWzBdLnF1ZXJ5U2VsZWN0b3IoYFtuYW1lPVwiJHtkZXBlbmRlbnRGaWVsZH1cIl1gKSBhcyBDdXN0b21JbnB1dEVsZW1lbnQ7XG5cdFx0XHRlbGVtZW50LnNldEF0dHJpYnV0ZShcImhpZGRlblwiLCBcIlwiKTtcblx0XHRcdGN1c3RvbUVsZW1lbnQub25DaGFuZ2Uub24oZXZlbnQgPT4ge1xuXHRcdFx0XHRpZiAoZXZlbnQudmFsdWUgPT09IGRlcGVuZGVudFZhbHVlIHx8IGV2ZW50LnZhbHVlLmluZGV4T2YoZGVwZW5kZW50VmFsdWUpID49IDApIHtcblx0XHRcdFx0XHR0aGlzLnNob3dHcm91cEFuZEl0c0RlcGVuZGVuY2llcyhlbGVtZW50KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLmhpZGVHcm91cEFuZEl0c0RlcGVuZGVuY2llcyhlbGVtZW50KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIGhpZGVHcm91cEFuZEl0c0RlcGVuZGVuY2llcyhncm91cDogRWxlbWVudCkge1xuXHRcdGNvbnN0IGlucHV0RWxlbWVudHNJbnNpZGVHcm91cCA9IHRoaXMuaW5wdXRzLmZpbHRlcihpbnB1dCA9PiB0aGlzLmlzRGVzY2VuZGFudChncm91cCwgaW5wdXQpKTtcblx0XHRncm91cC5zZXRBdHRyaWJ1dGUoXCJoaWRkZW5cIiwgXCJcIik7XG5cdFx0bGV0IGdyb3VwQ29udGFpbmVycyA9IHRoaXMuZm9ybS5xdWVyeVNlbGVjdG9yQWxsKCdkaXYuZ3JvdXAtY29udGFpbmVyOm5vdChbZGF0YS1kZXBlbmRzLW9uPVwiXCJdKScpO1xuXHRcdGdyb3VwQ29udGFpbmVycy5mb3JFYWNoKG90aGVyR3JvdXAgPT4ge1xuXHRcdFx0aWYgKG90aGVyR3JvdXAgIT09IGdyb3VwKSB7XG5cdFx0XHRcdGxldCBncm91cERlcGVuZHNPbkZpZWxkID0gb3RoZXJHcm91cC5nZXRBdHRyaWJ1dGUoJ2RhdGEtZGVwZW5kcy1vbicpO1xuXHRcdFx0XHRpbnB1dEVsZW1lbnRzSW5zaWRlR3JvdXAuZm9yRWFjaChpbnB1dCA9PiB7XG5cdFx0XHRcdFx0aWYgKGlucHV0Lm5hbWUgPT09IGdyb3VwRGVwZW5kc09uRmllbGQpIHtcblx0XHRcdFx0XHRcdHRoaXMuaGlkZUdyb3VwQW5kSXRzRGVwZW5kZW5jaWVzKG90aGVyR3JvdXApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cHJpdmF0ZSBzaG93R3JvdXBBbmRJdHNEZXBlbmRlbmNpZXMoZ3JvdXA6IEVsZW1lbnQpIHtcblx0XHRncm91cC5yZW1vdmVBdHRyaWJ1dGUoXCJoaWRkZW5cIik7XG5cdFx0Y29uc3QgaW5wdXRFbGVtZW50c0luc2lkZUdyb3VwID0gdGhpcy5pbnB1dHMuZmlsdGVyKGlucHV0ID0+IHRoaXMuaXNEZXNjZW5kYW50KGdyb3VwLCBpbnB1dCkpO1xuXHRcdGxldCBncm91cENvbnRhaW5lcnMgPSB0aGlzLmZvcm0ucXVlcnlTZWxlY3RvckFsbCgnZGl2Lmdyb3VwLWNvbnRhaW5lcjpub3QoW2RhdGEtZGVwZW5kcy1vbj1cIlwiXSknKTtcblx0XHRncm91cENvbnRhaW5lcnMuZm9yRWFjaChvdGhlckdyb3VwID0+IHtcblx0XHRcdGlmIChvdGhlckdyb3VwICE9PSBncm91cCkge1xuXHRcdFx0XHRsZXQgZ3JvdXBEZXBlbmRzT25GaWVsZCA9IG90aGVyR3JvdXAuZ2V0QXR0cmlidXRlKCdkYXRhLWRlcGVuZHMtb24nKTtcblx0XHRcdFx0bGV0IGRlcGVuZGVudFZhbHVlID0gb3RoZXJHcm91cC5nZXRBdHRyaWJ1dGUoJ2RhdGEtZGVwZW5kZW50LXZhbHVlJyk7XG5cdFx0XHRcdGlucHV0RWxlbWVudHNJbnNpZGVHcm91cC5mb3JFYWNoKGlucHV0ID0+IHtcblx0XHRcdFx0XHRpZiAoaW5wdXQubmFtZSA9PT0gZ3JvdXBEZXBlbmRzT25GaWVsZFxuXHRcdFx0XHRcdFx0JiYgaW5wdXQudmFsdWVcblx0XHRcdFx0XHRcdCYmIChpbnB1dC52YWx1ZSA9PT0gZGVwZW5kZW50VmFsdWVcblx0XHRcdFx0XHRcdFx0fHwgaW5wdXQudmFsdWUuaW5kZXhPZihkZXBlbmRlbnRWYWx1ZSkgPj0gMCkpIHtcblx0XHRcdFx0XHRcdHRoaXMuc2hvd0dyb3VwQW5kSXRzRGVwZW5kZW5jaWVzKG90aGVyR3JvdXApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cHJpdmF0ZSBpc0Rlc2NlbmRhbnQocGFyZW50OiBFbGVtZW50LCBjaGlsZDogRWxlbWVudCkge1xuXHRcdHZhciBub2RlID0gY2hpbGQucGFyZW50Tm9kZTtcblx0XHR3aGlsZSAobm9kZSAhPSBudWxsKSB7XG5cdFx0XHRpZiAobm9kZSA9PT0gcGFyZW50KSB7XG5cdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0fVxuXHRcdFx0bm9kZSA9IG5vZGUucGFyZW50RWxlbWVudDtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tICcuLi8uLi9mcmFtZXdvcmsvTGFuZ3VhZ2UvVHJhbnNsYXRvcic7XG5pbXBvcnQgZ2V0QXR0cmlidXRlTmFtZXNQb2x5ZmlsbCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvUG9seWZpbGxzL2dldEF0dHJpYnV0ZU5hbWVzUG9seWZpbGwnO1xuaW1wb3J0IGRlYm91bmNlciBmcm9tIFwiLi4vLi4vZnJhbWV3b3JrL1V0aWxpdGllcy9kZWJvdW5jZXJcIjtcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ2FkZHJlc3MtZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYWRkcmVzcy13cmFwcGVyXCI+XG5cdFx0XHRcdDxpbnB1dCBjbGFzcz0nYWRkcmVzcy1wYXJ0JyBpZD0nYWRkcmVzcycgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj0nQWRkcmVzcycvPlxuXHRcdFx0XHQ8aW5wdXQgY2xhc3M9J2FkZHJlc3MtcGFydCcgaWQ9J3ppcCcgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj0nWmlwJy8+XG5cdFx0XHRcdDxpbnB1dCBjbGFzcz0nYWRkcmVzcy1wYXJ0JyBpZD0nY2l0eScgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj0nQ2l0eScvPlxuXHRcdFx0XHQ8aW5wdXQgY2xhc3M9J2FkZHJlc3MtcGFydCcgaWQ9J2NvdW50cnknIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9J0NvdW50cnknLz5cblx0XHRcdDwvZGl2PmAsXG5cdHN0eWxlOiBgLmFkZHJlc3Mtd3JhcHBlcntcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHR9XG5cdFx0XHRpbnB1dC5hZGRyZXNzLXBhcnR7XG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcblx0XHRcdFx0bWFyZ2luOiAycHg7XG5cdFx0XHRcdHJlc2l6ZTogbm9uZTtcblx0XHRcdFx0d2lkdGg6MzMlICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0YCxcblx0dGVtcGxhdGVQYXRoOiAnLi9odG1sLmh0bWwnLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFkZHJlc3NFbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0cHJpdmF0ZSBhdXRvQ29tcGxldGVFbmFibGVkID0gZmFsc2U7XG5cdHByaXZhdGUgYWRkcmVzc0F1dG9Db21wbGV0ZTogZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZTtcblx0cHJpdmF0ZSBnb29nbGVQbGFjZXNMaWJyYXJ5RWxlbWVudDogSFRNTFNjcmlwdEVsZW1lbnQ7XG5cdHByaXZhdGUgZ29vZ2xlUGxhY2VzQXBpS2V5OiBzdHJpbmc7XG5cblx0YWRkcmVzczogSFRNTElucHV0RWxlbWVudDtcblx0Y2l0eTogSFRNTElucHV0RWxlbWVudDtcblx0Y291bnRyeTogSFRNTElucHV0RWxlbWVudDtcblx0emlwOiBIVE1MSW5wdXRFbGVtZW50O1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0Z2V0QXR0cmlidXRlTmFtZXNQb2x5ZmlsbCgpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0bGV0IGFkZHJlc3MgPSB0aGlzLmFkZHJlc3MudmFsdWUgfHwgJyc7XG5cdFx0bGV0IGNpdHkgPSB0aGlzLmNpdHkudmFsdWUgPyBgLCR7dGhpcy5jaXR5LnZhbHVlfWAgOiAnJztcblx0XHRsZXQgemlwID0gdGhpcy56aXAudmFsdWUgPyBgLCR7dGhpcy56aXAudmFsdWV9YCA6ICcnO1xuXHRcdGxldCBjb3VudHJ5ID0gdGhpcy5jb3VudHJ5LnZhbHVlID8gYCwke3RoaXMuY291bnRyeS52YWx1ZX1gIDogJyc7XG5cdFx0cmV0dXJuIGAke2FkZHJlc3N9JHtjaXR5fSR7emlwfSR7Y291bnRyeX1gO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHRjb25zdCB2YWx1ZXMgPSB2YWx1ZS5zcGxpdCgnLCcpO1xuXHRcdHRoaXMuYWRkcmVzcy52YWx1ZSA9IHZhbHVlc1swXTtcblx0XHR0aGlzLmNpdHkudmFsdWUgPSB2YWx1ZXNbMV07XG5cdFx0dGhpcy5jb3VudHJ5LnZhbHVlID0gdmFsdWVzWzJdO1xuXHRcdHRoaXMuemlwLnZhbHVlID0gdmFsdWVzWzNdO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAoXG5cdFx0XHR0aGlzLmFkZHJlc3MudmFsaWRpdHkudmFsaWQgJiZcblx0XHRcdHRoaXMuY2l0eS52YWxpZGl0eS52YWxpZCAmJlxuXHRcdFx0dGhpcy5jb3VudHJ5LnZhbGlkaXR5LnZhbGlkICYmXG5cdFx0XHR0aGlzLnppcC52YWxpZGl0eS52YWxpZFxuXHRcdCk7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0Y29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0dGhpcy5pbml0Q2hpbGRJbnB1dHMoKTtcblx0XHR0aGlzLmdldEF0dHJpYnV0ZU5hbWVzKCkuZm9yRWFjaChhdHRyaWJ1dGVOYW1lID0+IHtcblx0XHRcdGxldCBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xuXHRcdFx0dGhpcy5hdHRyaWJ1dGVDaGFuZ2VkKGF0dHJpYnV0ZU5hbWUsIG51bGwsIGF0dHJpYnV0ZVZhbHVlKTtcblx0XHR9KTtcblx0fVxuXG5cdGluaXRDaGlsZElucHV0cygpIHtcblx0XHR0aGlzLmFkZHJlc3MgPSBzdXBlci5nZXRDaGlsZElucHV0KCcjYWRkcmVzcycpO1xuXHRcdHRoaXMuY2l0eSA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNjaXR5Jyk7XG5cdFx0dGhpcy5jb3VudHJ5ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI2NvdW50cnknKTtcblx0XHR0aGlzLnppcCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyN6aXAnKTtcblx0XHRjb25zdCBhZGRyZXNzQ2hhbmVEZWJvdW5jZSA9IGRlYm91bmNlcih0aGlzLmNoYW5nZS5iaW5kKHRoaXMpLCA0MDAsIGZhbHNlKTtcblx0XHR0aGlzLmFkZHJlc3MuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKCkgPT4ge1xuXHRcdFx0YWRkcmVzc0NoYW5lRGVib3VuY2UoKTtcblx0XHR9KTtcblx0XHR0aGlzLmNpdHkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5jaGFuZ2UuYmluZCh0aGlzKSk7XG5cdFx0dGhpcy5jb3VudHJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdHRoaXMuemlwLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMuYWRkcmVzcy5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdFx0dGhpcy5jaXR5LnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0XHR0aGlzLmNvdW50cnkuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHRcdHRoaXMuemlwLnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxuXG5cdGNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcblx0XHRpZiAoIXRoaXMuYWRkcmVzcyB8fCAhdGhpcy5jaXR5IHx8ICF0aGlzLmNvdW50cnkgfHwgIXRoaXMuemlwKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuYWRkcmVzcy5wbGFjZWhvbGRlciA9IFRyYW5zbGF0b3IuVHJhbnNsYXRlKCdBZGRyZXNzRWxlbWVudC5BZGRyZXNzJywgbGFuZ3VhZ2UpO1xuXHRcdHRoaXMuY2l0eS5wbGFjZWhvbGRlciA9IFRyYW5zbGF0b3IuVHJhbnNsYXRlKCdBZGRyZXNzRWxlbWVudC5DaXR5JywgbGFuZ3VhZ2UpO1xuXHRcdHRoaXMuY291bnRyeS5wbGFjZWhvbGRlciA9IFRyYW5zbGF0b3IuVHJhbnNsYXRlKCdBZGRyZXNzRWxlbWVudC5Db3VudHJ5JywgbGFuZ3VhZ2UpO1xuXHRcdHRoaXMuemlwLnBsYWNlaG9sZGVyID0gVHJhbnNsYXRvci5UcmFuc2xhdGUoJ0FkZHJlc3NFbGVtZW50LlppcCcsIGxhbmd1YWdlKTtcblx0fVxuXG5cdGVuYWJsZUF1dG9Db21wbGV0ZSgpIHtcblx0XHRpZiAoIXRoaXMuZ29vZ2xlUGxhY2VzQXBpS2V5IHx8IHRoaXMuZ29vZ2xlUGxhY2VzQXBpS2V5LnRyaW0oKSA9PT0gJycgfHwgIXRoaXMuYXV0b0NvbXBsZXRlRW5hYmxlZCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRcblx0XHR0aGlzLmdvb2dsZVBsYWNlc0xpYnJhcnlFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MU2NyaXB0RWxlbWVudD4oYFtzcmM9XCJodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvanM/a2V5PSR7dGhpcy5nb29nbGVQbGFjZXNBcGlLZXl9JmxpYnJhcmllcz1wbGFjZXNcIl1gKTtcblx0XHRpZiAodGhpcy5nb29nbGVQbGFjZXNMaWJyYXJ5RWxlbWVudCkge1xuXHRcdFx0dGhpcy5nb29nbGVQbGFjZXNMaWJyYXJ5RWxlbWVudEJpbmRMb2FkKCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuZ29vZ2xlUGxhY2VzTGlicmFyeUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcblx0XHR0aGlzLmdvb2dsZVBsYWNlc0xpYnJhcnlFbGVtZW50LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0Jztcblx0XHR0aGlzLmdvb2dsZVBsYWNlc0xpYnJhcnlFbGVtZW50LnNyYyA9IGBodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvanM/a2V5PSR7dGhpcy5nb29nbGVQbGFjZXNBcGlLZXl9JmxpYnJhcmllcz1wbGFjZXNgO1xuXHRcdHdpbmRvdy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRoaXMuZ29vZ2xlUGxhY2VzTGlicmFyeUVsZW1lbnQpO1xuXHRcdHRoaXMuZ29vZ2xlUGxhY2VzTGlicmFyeUVsZW1lbnRCaW5kTG9hZCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBnb29nbGVQbGFjZXNMaWJyYXJ5RWxlbWVudEJpbmRMb2FkKCkge1xuXHRcdHRoaXMuZ29vZ2xlUGxhY2VzTGlicmFyeUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcblx0XHRcdHRoaXMuYmluZEF1dG9Db21wbGV0ZSgpO1xuXHRcdH0pO1xuXHR9XG5cblx0YmluZEF1dG9Db21wbGV0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLmFkZHJlc3NBdXRvQ29tcGxldGUgPSBuZXcgZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZSh0aGlzLmFkZHJlc3MpO1xuXHRcdHRoaXMuYWRkcmVzc0F1dG9Db21wbGV0ZS5hZGRMaXN0ZW5lcihcInBsYWNlX2NoYW5nZWRcIiwgdGhpcy5vbkFkZHJlc3NDaGFuZ2VkSGFuZGxlci5iaW5kKHRoaXMpKTtcblx0fVxuXG5cdG9uQWRkcmVzc0NoYW5nZWRIYW5kbGVyKCkge1xuXHRcdHRoaXMuY2l0eS52YWx1ZSA9ICcnO1xuXHRcdHRoaXMuY291bnRyeS52YWx1ZSA9ICcnO1xuXHRcdHRoaXMuemlwLnZhbHVlID0gJyc7XG5cblx0XHRjb25zdCBwbGFjZSA9IHRoaXMuYWRkcmVzc0F1dG9Db21wbGV0ZS5nZXRQbGFjZSgpO1xuXHRcdGNvbnNvbGUubG9nKHBsYWNlKTtcblx0XHRpZiAoIXBsYWNlLmFkZHJlc3NfY29tcG9uZW50cykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRcblx0XHR0aGlzLmFkZHJlc3MudmFsdWUgPSBwbGFjZS5uYW1lO1xuXG5cdFx0Y29uc3QgY2l0eUNvbXBvbmVudHMgPSBwbGFjZS5hZGRyZXNzX2NvbXBvbmVudHMuZmlsdGVyKGNvbXBvbmVudCA9PiB7XG5cdFx0XHRjb25zdCBjaXR5U3lub255bXMgPSBbJ2FkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMScsICdsb2NhbGl0eSddO1xuXHRcdFx0Y29uc3QgaXNDaXR5Q29tcG9uZW50ID0gY2l0eVN5bm9ueW1zLnNvbWUoY2l0eVN5bm9ueW0gPT4gY29tcG9uZW50LnR5cGVzLmluZGV4T2YoY2l0eVN5bm9ueW0pICE9IC0xKTtcblx0XHRcdHJldHVybiBpc0NpdHlDb21wb25lbnQ7XG5cdFx0fSk7XG5cdFx0aWYgKGNpdHlDb21wb25lbnRzICYmIGNpdHlDb21wb25lbnRzWzBdKSB7XG5cdFx0XHR0aGlzLmNpdHkudmFsdWUgPSBjaXR5Q29tcG9uZW50c1tjaXR5Q29tcG9uZW50cy5sZW5ndGggLSAxXS5sb25nX25hbWU7XG5cdFx0fVxuXG5cdFx0Y29uc3QgY291bnRyeUNvbXBvbmVudHMgPSBwbGFjZS5hZGRyZXNzX2NvbXBvbmVudHMuZmlsdGVyKGNvbXBvbmVudCA9PiBjb21wb25lbnQudHlwZXMuaW5kZXhPZignY291bnRyeScpICE9IC0xKTtcblx0XHRpZiAoY291bnRyeUNvbXBvbmVudHMgJiYgY291bnRyeUNvbXBvbmVudHNbMF0pIHtcblx0XHRcdHRoaXMuY291bnRyeS52YWx1ZSA9IGNvdW50cnlDb21wb25lbnRzW2NvdW50cnlDb21wb25lbnRzLmxlbmd0aCAtIDFdLmxvbmdfbmFtZTtcblx0XHR9XG5cblx0XHRjb25zdCB6aXBDb21wb25lbnRzID0gcGxhY2UuYWRkcmVzc19jb21wb25lbnRzLmZpbHRlcihjb21wb25lbnQgPT4gY29tcG9uZW50LnR5cGVzLmluZGV4T2YoJ3Bvc3RhbF9jb2RlJykgIT0gLTEpO1xuXHRcdGlmICh6aXBDb21wb25lbnRzICYmIHppcENvbXBvbmVudHNbMF0pIHtcblx0XHRcdHRoaXMuemlwLnZhbHVlID0gemlwQ29tcG9uZW50c1swXS5sb25nX25hbWU7XG5cdFx0fVxuXHRcdHRoaXMuY2hhbmdlKG51bGwpO1xuXHR9XG5cblx0c3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKSB7XG5cdFx0cmV0dXJuIFsnbGFuZ3VhZ2UnLCAnZ29vZ2xlLXBsYWNlcy1rZXknLCAnZW5hYmxlLWF1dG8tY29tcGxldGUnXTtcblx0fVxuXHRhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZTogc3RyaW5nLCBvbGRWYWw6IHN0cmluZywgbmV3VmFsOiBzdHJpbmcpIHtcblx0XHR0aGlzLmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgb2xkVmFsLCBuZXdWYWwpO1xuXHR9XG5cdHByaXZhdGUgYXR0cmlidXRlQ2hhbmdlZChuYW1lOiBzdHJpbmcsIG9sZFZhbDogc3RyaW5nLCBuZXdWYWw6IHN0cmluZykge1xuXHRcdHN3aXRjaCAobmFtZSkge1xuXHRcdFx0Y2FzZSAnbGFuZ3VhZ2UnOlxuXHRcdFx0XHR0aGlzLmNoYW5nZUxhbmd1YWdlKG5ld1ZhbClcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdnb29nbGUtcGxhY2VzLWtleSc6XG5cdFx0XHRcdHRoaXMuZ29vZ2xlUGxhY2VzQXBpS2V5ID0gbmV3VmFsO1xuXHRcdFx0XHR0aGlzLmVuYWJsZUF1dG9Db21wbGV0ZSgpXG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnZW5hYmxlLWF1dG8tY29tcGxldGUnOlxuXHRcdFx0XHRpZiAobmV3VmFsICYmIG5ld1ZhbCAhPSAnZmFsc2UnKSB7XG5cdFx0XHRcdFx0dGhpcy5hdXRvQ29tcGxldGVFbmFibGVkID0gdHJ1ZTtcblx0XHRcdFx0XHR0aGlzLmVuYWJsZUF1dG9Db21wbGV0ZSgpXG5cdFx0XHRcdH1cblx0XHRcdFx0YnJlYWs7XG5cblx0XHR9XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgQmFua0FjY291bnRWYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9CYW5rQWNjb3VudCc7XG5pbXBvcnQgQmFua0FjY291bnRSZWdpc3RyYXRpb25OdW1iZXJWYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9CYW5rQWNjb3VudFJlZ2lzdHJhdGlvbk51bWJlcic7XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tICcuLi8uLi9mcmFtZXdvcmsvTGFuZ3VhZ2UvVHJhbnNsYXRvcic7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdiYW5rLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9J3JlZy1udW1iZXItZmllbGQnIHBsYWNlaG9sZGVyPSdCYW5rIEFjY291bnQgUmVnaXN0cmF0aW9uIE51bWJlcicvPlxuXHRcdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiBpZD0nYWNjb3VudC1maWVsZCcgcGxhY2Vob2xkZXI9J0JhbmsgQWNjb3VudCcvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgIH1cbiAgICBpbnB1dHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcbiAgICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgIH1cbiAgICAgICAgICAgYCxcblx0dXNlU2hhZG93OiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBCYW5rRmllbGRFbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0YWNjb3VudDogSFRNTElucHV0RWxlbWVudDtcblx0cmVnTnVtYmVyOiBIVE1MSW5wdXRFbGVtZW50O1xuXHRiYW5rQWNjb3VudFZhbGlkYXRvcjogQmFua0FjY291bnRWYWxpZGF0b3IgPSBuZXcgQmFua0FjY291bnRWYWxpZGF0b3IoKTtcblx0cmVnTnVtYmVyVmFsaWRhdG9yOiBCYW5rQWNjb3VudFJlZ2lzdHJhdGlvbk51bWJlclZhbGlkYXRvciA9IG5ldyBCYW5rQWNjb3VudFJlZ2lzdHJhdGlvbk51bWJlclZhbGlkYXRvcigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRsZXQgYWNjb3VudCA9IHRoaXMuYWNjb3VudC52YWx1ZSB8fCAnJztcblx0XHRsZXQgcmVnTnVtYmVyID0gdGhpcy5yZWdOdW1iZXIudmFsdWUgPyBgLCR7dGhpcy5yZWdOdW1iZXIudmFsdWV9YCA6ICcnO1xuXHRcdHJldHVybiBgJHthY2NvdW50fSR7cmVnTnVtYmVyfWA7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuXHRcdGNvbnN0IHZhbHVlcyA9IHZhbHVlLnNwbGl0KCcsJyk7XG5cdFx0dGhpcy5hY2NvdW50LnZhbHVlID0gdmFsdWVzWzBdO1xuXHRcdHRoaXMucmVnTnVtYmVyLnZhbHVlID0gdmFsdWVzWzFdO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAoXG5cdFx0XHR0aGlzLmJhbmtBY2NvdW50VmFsaWRhdG9yLmlzU2F0aXNmaWVkQnkoXG5cdFx0XHRcdHRoaXMuYWNjb3VudC52YWx1ZSxcblx0XHRcdFx0IXRoaXMucmVxdWlyZWQsXG5cdFx0XHQpICYmXG5cdFx0XHR0aGlzLnJlZ051bWJlclZhbGlkYXRvci5pc1NhdGlzZmllZEJ5KFxuXHRcdFx0XHR0aGlzLnJlZ051bWJlci52YWx1ZSxcblx0XHRcdFx0IXRoaXMucmVxdWlyZWQsXG5cdFx0XHQpICYmXG5cdFx0XHR0aGlzLmFjY291bnQudmFsaWRpdHkudmFsaWQgJiZcblx0XHRcdHRoaXMucmVnTnVtYmVyLnZhbGlkaXR5LnZhbGlkXG5cdFx0KTtcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRjb21wb25lbnREaWRNb3VudCgpIHtcblx0XHR0aGlzLmluaXRDaGlsZElucHV0cygpO1xuXHRcdHRoaXMuZ2V0QXR0cmlidXRlTmFtZXMoKS5mb3JFYWNoKGF0dHJpYnV0ZU5hbWUgPT4ge1xuXHRcdFx0bGV0IGF0dHJpYnV0ZVZhbHVlID0gdGhpcy5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG5cdFx0XHR0aGlzLmF0dHJpYnV0ZUNoYW5nZWQoYXR0cmlidXRlTmFtZSwgbnVsbCwgYXR0cmlidXRlVmFsdWUpO1xuXHRcdH0pO1xuXHR9XG5cblx0Y2hhbmdlTGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xuXHRcdGlmICghdGhpcy5hY2NvdW50IHx8ICF0aGlzLnJlZ051bWJlcikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLmFjY291bnQucGxhY2Vob2xkZXIgPSBUcmFuc2xhdG9yLlRyYW5zbGF0ZSgnQmFua0VsZW1lbnQuQWNjb3VudCcsIGxhbmd1YWdlKTtcblx0XHR0aGlzLnJlZ051bWJlci5wbGFjZWhvbGRlciA9IFRyYW5zbGF0b3IuVHJhbnNsYXRlKCdCYW5rRWxlbWVudC5SZWdpc3RyYXRpb25OdW1iZXInLCBsYW5ndWFnZSk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy5hY2NvdW50ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI2FjY291bnQtZmllbGQnKTtcblx0XHR0aGlzLnJlZ051bWJlciA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNyZWctbnVtYmVyLWZpZWxkJyk7XG5cdFx0dGhpcy5hY2NvdW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdHRoaXMucmVnTnVtYmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLmFjY291bnQuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHRcdHRoaXMucmVnTnVtYmVyLnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxuXG5cdHN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCkge1xuXHRcdHJldHVybiBbJ2xhbmd1YWdlJ107XG5cdH1cblx0YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWU6IHN0cmluZywgb2xkVmFsOiBzdHJpbmcsIG5ld1ZhbDogc3RyaW5nKSB7XG5cdFx0dGhpcy5hdHRyaWJ1dGVDaGFuZ2VkKG5hbWUsIG9sZFZhbCwgbmV3VmFsKTtcblx0fVxuXHRwcml2YXRlIGF0dHJpYnV0ZUNoYW5nZWQobmFtZTogc3RyaW5nLCBvbGRWYWw6IHN0cmluZywgbmV3VmFsOiBzdHJpbmcpIHtcblx0XHRzd2l0Y2ggKG5hbWUpIHtcblx0XHRcdGNhc2UgJ2xhbmd1YWdlJzpcblx0XHRcdFx0dGhpcy5jaGFuZ2VMYW5ndWFnZShuZXdWYWwpXG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxufVxuIiwiaW1wb3J0IEN1c3RvbUVsZW1lbnQgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBDdXN0b21JbnB1dEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tSW5wdXRFbGVtZW50JztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tRXZlbnRzJztcbmltcG9ydCBDcHJWYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9DUFInO1xuXG5AQ3VzdG9tRWxlbWVudCh7XG5cdHNlbGVjdG9yOiAnY3ByLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9J2Nwci1maWVsZCcgcGxhY2Vob2xkZXI9J0RETU1ZWS1TU1NTJy8+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENQUkVsZW1lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dEVsZW1lbnQge1xuXHR0ZXh0OiBIVE1MSW5wdXRFbGVtZW50O1xuXHR2YWxpZGF0b3I6IENwclZhbGlkYXRvciA9IG5ldyBDcHJWYWxpZGF0b3IoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMudGV4dC52YWx1ZX1gO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRleHQudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy52YWxpZGF0b3IuaXNTYXRpc2ZpZWRCeSh0aGlzLnZhbHVlLCAhdGhpcy5yZXF1aXJlZCk7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMudGV4dCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNjcHItZmllbGQnKTtcblx0XHR0aGlzLnRleHQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5jaGFuZ2UuYmluZCh0aGlzKSk7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMudGV4dC5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0fVxuXG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgQ3ByVmFsaWRhdG9yIGZyb20gJy4uLy4uL2ZyYW1ld29yay9WYWxpZGF0aW9uL1ZhbGlkYXRvcnMvQ1BSJztcbmltcG9ydCBDdnJWYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9DVlInO1xuXG5AQ3VzdG9tRWxlbWVudCh7XG5cdHNlbGVjdG9yOiAnY3ZyLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9J2N2ci1maWVsZCcgcGxhY2Vob2xkZXI9J1NTU1NTU1NTJy8+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENWUkVsZW1lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dEVsZW1lbnQge1xuXHR0ZXh0OiBIVE1MSW5wdXRFbGVtZW50O1xuXHR2YWxpZGF0b3I6IEN2clZhbGlkYXRvciA9IG5ldyBDdnJWYWxpZGF0b3IoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMudGV4dC52YWx1ZX1gO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRleHQudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy52YWxpZGF0b3IuaXNTYXRpc2ZpZWRCeSh0aGlzLnZhbHVlLCAhdGhpcy5yZXF1aXJlZCk7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMudGV4dCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNjdnItZmllbGQnKTtcblx0XHR0aGlzLnRleHQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5jaGFuZ2UuYmluZCh0aGlzKSk7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMudGV4dC5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0fVxuXG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1V0aWxpdGllcy9TdHJpbmdVdGlsJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ2NoZWNrYm94LWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdDwvZGl2PmAsXG5cdHN0eWxlOiBgXG5cdFx0XHQ6aG9zdHtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdH1cblx0XHRcdC5jaGVja2JveCB7XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRtYXJnaW46IGF1dG8gM3B4O1xuXHRcdFx0XHRjb2xvcjogcmdiYSg3MiwgNzIsIDcyLCAwLjc1KTtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0fVxuXHRcdFx0aW5wdXRbdHlwZT0nY2hlY2tib3gnXXtcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuXHRcdFx0XHRtYXJnaW46IDJweDtcblx0XHRcdFx0cmVzaXplOiBub25lO1xuXHRcdFx0fVxuXHRcdGAsXG5cdHVzZVNoYWRvdzogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tCb3hFbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0Y2hlY2tib3g6IEhUTUxJbnB1dEVsZW1lbnRbXTtcblx0Y2hlY2tib3hUZW1wbGF0ZSA9IGBcblx0PGRpdiBjbGFzcz0nY2hlY2tib3gnPlxuXHRcdDxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nezB9JyB2YWx1ZT1cInsxfVwiIGlkPVwiezJ9XCIvPlxuXHRcdDxsYWJlbCBmb3I9XCJ7Mn1cIj57MX08L2xhYmVsPlxuXHQ8L2Rpdj5gO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiB0aGlzLmNoZWNrYm94LmZpbHRlcihjID0+IGMuY2hlY2tlZCkubWFwKGMgPT4gYy52YWx1ZSk7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWVzOiBzdHJpbmdbXSkge1xuXHRcdC8vIHRoaXMuY2hlY2tib3gudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRpZiAodGhpcy5yZXF1aXJlZCkge1xuXHRcdFx0cmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoID4gMDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblx0fVxuXG5cdGluaXRDaGlsZElucHV0cygpIHtcblx0XHR0aGlzLmFkZENoZWNrQm94ZXMoKTtcblx0XHR0aGlzLmNoZWNrYm94ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dHMoYFtuYW1lPScke3RoaXMubmFtZX0nXWApO1xuXHRcdHRoaXMuY2hlY2tib3guZm9yRWFjaChjID0+XG5cdFx0XHRjLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpLFxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIGFkZENoZWNrQm94ZXMoKSB7XG5cdFx0Y29uc3Qgd3JhcHBlciA9IHN1cGVyLmdldENoaWxkRWxlbWVudCgnLndyYXBwZXInKTtcblx0XHR3cmFwcGVyLmlubmVySFRNTCA9IFwiXCI7XG5cdFx0dGhpcy5vcHRpb25zLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG5cdFx0XHR3cmFwcGVyLmluc2VydEFkamFjZW50SFRNTChcblx0XHRcdFx0J2JlZm9yZWVuZCcsXG5cdFx0XHRcdFN0cmluZ1V0aWwuU3RyaW5nRm9ybWF0KFxuXHRcdFx0XHRcdHRoaXMuY2hlY2tib3hUZW1wbGF0ZSxcblx0XHRcdFx0XHR0aGlzLm5hbWUsXG5cdFx0XHRcdFx0ZWxlbWVudCxcblx0XHRcdFx0XHRgJHt0aGlzLm5hbWV9LSR7aW5kZXh9YCxcblx0XHRcdFx0KSxcblx0XHRcdCk7XG5cdFx0fSk7XG5cdH1cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxufVxuIiwiaW1wb3J0IEN1c3RvbUVsZW1lbnQgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBDdXN0b21JbnB1dEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tSW5wdXRFbGVtZW50JztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tRXZlbnRzJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ3JlZ2V4LWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9J3JlZ2V4LWZpZWxkJy8+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbVJlZ3VsYXJFeHByZXNzaW9uRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHRleHQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgJHt0aGlzLnRleHQudmFsdWV9YDtcblx0fVxuXG5cdHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy50ZXh0LnZhbHVlID0gdmFsdWU7XG5cdH1cblxuXHRnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMudGV4dC52YWxpZGl0eS52YWxpZDtcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy50ZXh0ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI3JlZ2V4LWZpZWxkJyk7XG5cdFx0dGhpcy50ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLnRleHQuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuY3VzdG9tVmFsdWUpIHtcblx0XHRcdHRoaXMudGV4dC5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm4nLCB0aGlzLmN1c3RvbVZhbHVlKTtcblx0XHR9XG5cdH1cblxuXHQvLyBldmVudHNcblx0cHVibGljIGNoYW5nZSgkZXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHR9XG5cblx0cHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMudmFsaWQ7XG5cdFx0dGhpcy5vblZhbGlkYXRlLmVtaXQoXG5cdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAndmFsaWRhdGUnKSxcblx0XHQpO1xuXHR9XG59XG4iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuXG5AQ3VzdG9tRWxlbWVudCh7XG5cdHNlbGVjdG9yOiAnZGF0ZS1lbGVtZW50Jyxcblx0dGVtcGxhdGU6IGBcblx0XHRcdDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwiZGF0ZVwiIGlkPSdkYXRlLWZpZWxkJy8+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVGaWVsZEVsZW1lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dEVsZW1lbnQge1xuXHRkYXRlOiBIVE1MSW5wdXRFbGVtZW50O1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5kYXRlLnZhbHVlO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLmRhdGUudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5kYXRlLnZhbGlkaXR5LnZhbGlkO1xuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblx0fVxuXG5cdGluaXRDaGlsZElucHV0cygpIHtcblx0XHR0aGlzLmRhdGUgPSBzdXBlci5nZXRDaGlsZElucHV0KCcjZGF0ZS1maWVsZCcpO1xuXHRcdHRoaXMuZGF0ZS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKTtcblx0XHRpZiAodGhpcy5yZXF1aXJlZCkge1xuXHRcdFx0dGhpcy5kYXRlLnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLm1heCkge1xuXHRcdFx0dGhpcy5kYXRlLnNldEF0dHJpYnV0ZSgnbWF4JywgdGhpcy5tYXgpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5taW4pIHtcblx0XHRcdHRoaXMuZGF0ZS5zZXRBdHRyaWJ1dGUoJ21pbicsIHRoaXMubWluKTtcblx0XHR9XG5cdH1cblxuXHQvLyBldmVudHNcblx0cHVibGljIGNoYW5nZSgkZXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHR9XG5cblx0cHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMudmFsaWQ7XG5cdFx0dGhpcy5vblZhbGlkYXRlLmVtaXQoXG5cdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAndmFsaWRhdGUnKSxcblx0XHQpO1xuXHR9XG59XG4iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuaW1wb3J0IHsgU3RyaW5nVXRpbCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9VdGlsaXRpZXMvU3RyaW5nVXRpbCc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdkcm9wLWRvd24tZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG5cdFx0XHQ8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0nc2VsZWN0LWxpc3QnPlxuXHRcdFx0ICAgPG9wdGlvbiBzZWxlY3RlZCBkaXNhYmxlZD4tPC9vcHRpb24+XG4gICAgICAgICAgICAgICA8L3NlbGVjdD5cblx0XHRcdDwvZGl2PmAsXG5cdHN0eWxlOiBgXG4gICAgICAgICAgICA6aG9zdHtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLndyYXBwZXJ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJhZGlvLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDNweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMC4xO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2VsZWN0e1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgIGAsXG5cdHVzZVNoYWRvdzogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcERvd25MaXN0RWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHNlbGVjdDogSFRNTElucHV0RWxlbWVudDtcblx0b3B0aW9uVGVtcGxhdGUgPSBgXG4gICAgPG9wdGlvbiB2YWx1ZT0nezB9Jz5cbiAgICAgICB7MX1cbiAgICA8L29wdGlvbj5gO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYCR7dGhpcy5zZWxlY3QudmFsdWV9YDtcblx0fVxuXG5cdHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5zZWxlY3QudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5zZWxlY3QudmFsaWRpdHkudmFsaWQ7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMuc2VsZWN0ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dChgI3NlbGVjdC1saXN0YCk7XG5cdFx0dGhpcy5hZGRPcHRpb25zKCk7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMuc2VsZWN0LnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLm11bHRpKSB7XG5cdFx0XHR0aGlzLnNlbGVjdC5zZXRBdHRyaWJ1dGUoJ211bHRpcGxlJywgJycpO1xuXHRcdH1cblx0XHR0aGlzLnNlbGVjdC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKTtcblx0fVxuXG5cdHByaXZhdGUgYWRkT3B0aW9ucygpIHtcblx0XHR0aGlzLnNlbGVjdC5pbm5lckhUTUwgPSBcIlwiO1xuXHRcdHRoaXMub3B0aW9ucy5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuXHRcdFx0dGhpcy5zZWxlY3QuaW5zZXJ0QWRqYWNlbnRIVE1MKFxuXHRcdFx0XHQnYmVmb3JlZW5kJyxcblx0XHRcdFx0U3RyaW5nVXRpbC5TdHJpbmdGb3JtYXQodGhpcy5vcHRpb25UZW1wbGF0ZSwgZWxlbWVudCwgZWxlbWVudCksXG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCB7IEFkZHJlc3NFbGVtZW50IH0gZnJvbSAnLi9BZGRyZXNzL0FkZHJlc3NFbGVtZW50JztcbmltcG9ydCB7IFRleHRGaWVsZEVsZW1lbnQgfSBmcm9tICcuL1RleHRGaWVsZC9UZXh0RmllbGRFbGVtZW50JztcbmltcG9ydCB7IEVtYWlsRmllbGRFbGVtZW50IH0gZnJvbSAnLi9FbWFpbEZpZWxkL0VtYWlsRmllbGRFbGVtZW50JztcbmltcG9ydCB7IENoZWNrQm94RWxlbWVudCB9IGZyb20gJy4vQ2hlY2tCb3hFbGVtZW50L0NoZWNrQm94RWxlbWVudCc7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbkdyb3VwRWxlbWVudCB9IGZyb20gJy4vUmFkaW9CdXR0b25Hcm91cC9SYWRpb0J1dHRvbkdyb3VwRWxlbWVudCc7XG5pbXBvcnQgeyBUZXh0QXJlYUVsZW1lbnQgfSBmcm9tICcuL1RleHRBcmVhRWxlbWVudC9UZXh0QXJlYUVsZW1lbnQnO1xuaW1wb3J0IHsgRHJvcERvd25MaXN0RWxlbWVudCB9IGZyb20gJy4vRHJvcERvd25MaXN0L0Ryb3BEb3duTGlzdEVsZW1lbnQnO1xuaW1wb3J0IHsgRmlsZUZpZWxkRWxlbWVudCB9IGZyb20gJy4vRmlsZUZpZWxkL0ZpbGVGaWVsZEVsZW1lbnQnO1xuaW1wb3J0IHsgTnVtZXJpY0ZpZWxkRWxlbWVudCB9IGZyb20gJy4vTnVtZXJpY0ZpZWxkL051bWVyaWNGaWVsZEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tUmVndWxhckV4cHJlc3Npb25FbGVtZW50IH0gZnJvbSAnLi9DdXN0b21SZWd1bGFyRXhwcmVzc2lvbi9DdXN0b21SZWd1bGFyRXhwcmVzc2lvbkVsZW1lbnQnO1xuaW1wb3J0IHsgRGF0ZUZpZWxkRWxlbWVudCB9IGZyb20gJy4vRGF0ZUZpZWxkL0RhdGVGaWVsZEVsZW1lbnQnO1xuaW1wb3J0IHsgSW50UGhvbmVGaWVsZEVsZW1lbnQgfSBmcm9tICcuL0ludGVybmF0aW9uYVBob25lTnVtYmVyL0ludGVybmF0aW9uYVBob25lTnVtYmVyRWxlbWVudCc7XG5pbXBvcnQgeyBDUFJFbGVtZW50IH0gZnJvbSAnLi9DUFJFbGVtZW50L0NQUkVsZW1lbnQnO1xuaW1wb3J0IHsgQ1ZSRWxlbWVudCB9IGZyb20gJy4vQ1ZSRWxlbWVudC9DVlJFbGVtZW50JztcbmltcG9ydCB7IElkZW50aWZpY2F0aW9uRWxlbWVudCB9IGZyb20gJy4vSWRlbnRpZmljYXRpb25FbGVtZW50L0lkZW50aWZpY2F0aW9uRWxlbWVudCc7XG5pbXBvcnQgeyBCYW5rRmllbGRFbGVtZW50IH0gZnJvbSAnLi9CYW5rRmllbGQvQmFua0ZpZWxkRWxlbWVudCc7XG5pbXBvcnQgeyBUeXBlQWhlYWRFbGVtZW50IH0gZnJvbSAnLi9UeXBlQWhlYWQvVHlwZUFoZWFkRWxlbWVudCc7XG5pbXBvcnQgeyBTRVBlcnNvbmFsTnVtYmVyRWxlbWVudCB9IGZyb20gJy4vU0VQZXJzb25hbE51bWJlckVsZW1lbnQvU0VQZXJzb25hbE51bWJlckVsZW1lbnQnO1xuaW1wb3J0IHsgU0VDb21wYW55UmVnaXN0cmF0aW9uRWxlbWVudCB9IGZyb20gJy4vU0VDb21wYW55UmVnaXN0cmF0aW9uRWxlbWVudC9TRUNvbXBhbnlSZWdpc3RyYXRpb25FbGVtZW50JztcblxuZXhwb3J0IHtcblx0QWRkcmVzc0VsZW1lbnQsXG5cdFRleHRGaWVsZEVsZW1lbnQsXG5cdEVtYWlsRmllbGRFbGVtZW50LFxuXHRDaGVja0JveEVsZW1lbnQsXG5cdFJhZGlvQnV0dG9uR3JvdXBFbGVtZW50LFxuXHRUZXh0QXJlYUVsZW1lbnQsXG5cdERyb3BEb3duTGlzdEVsZW1lbnQsXG5cdEZpbGVGaWVsZEVsZW1lbnQsXG5cdE51bWVyaWNGaWVsZEVsZW1lbnQsXG5cdEN1c3RvbVJlZ3VsYXJFeHByZXNzaW9uRWxlbWVudCxcblx0RGF0ZUZpZWxkRWxlbWVudCxcblx0SW50UGhvbmVGaWVsZEVsZW1lbnQsXG5cdENQUkVsZW1lbnQsXG5cdENWUkVsZW1lbnQsXG5cdElkZW50aWZpY2F0aW9uRWxlbWVudCxcblx0QmFua0ZpZWxkRWxlbWVudCxcblx0VHlwZUFoZWFkRWxlbWVudCxcbiAgICBTRVBlcnNvbmFsTnVtYmVyRWxlbWVudCxcbiAgICBTRUNvbXBhbnlSZWdpc3RyYXRpb25FbGVtZW50LFxufTtcbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdlbWFpbC1lbGVtZW50Jyxcblx0dGVtcGxhdGU6IGBcblx0XHRcdDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPSdlbWFpbC1maWVsZCcvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgIH1cbiAgICBpbnB1dHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcbiAgICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgIH1cbiAgICAgICAgICAgYCxcblx0dXNlU2hhZG93OiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFbWFpbEZpZWxkRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdG1haWxSZWdleDogUmVnRXhwID0gbmV3IFJlZ0V4cChcblx0XHQvXihbYS16QS1aMC05w4bDmMOFw6bDuMOlXy4rLV0pK1xcQCgoW2EtekEtWjAtOcOGw5jDhcOmw7jDpS1dKStcXC4pKyhbYS16QS1aMC05w4bDmMOFw6bDuMOlXXsyLDR9KSskLyxcblx0KTtcblxuXHRlbWFpbDogSFRNTElucHV0RWxlbWVudDtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMuZW1haWwudmFsdWV9YDtcblx0fVxuXG5cdHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5lbWFpbC52YWx1ZSA9IHZhbHVlO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdGNvbnN0IHBhdHRlcm5WYWxpZCA9ICF0aGlzLnZhbHVlIHx8IHRoaXMubWFpbFJlZ2V4LnRlc3QodGhpcy52YWx1ZSk7XG5cdFx0cmV0dXJuIHRoaXMuZW1haWwudmFsaWRpdHkudmFsaWQgJiYgcGF0dGVyblZhbGlkO1xuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0dGhpcy5pbml0Q2hpbGRJbnB1dHMoKTtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMuZW1haWwgPSBzdXBlci5nZXRDaGlsZElucHV0KCcjZW1haWwtZmllbGQnKTtcblx0XHR0aGlzLmVtYWlsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLmVtYWlsLnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxufVxuIiwiaW1wb3J0IEN1c3RvbUVsZW1lbnQgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBDdXN0b21JbnB1dEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tSW5wdXRFbGVtZW50JztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tRXZlbnRzJztcbmltcG9ydCBnZXRBdHRyaWJ1dGVOYW1lc1BvbHlmaWxsIGZyb20gJy4uLy4uL2ZyYW1ld29yay9Qb2x5ZmlsbHMvZ2V0QXR0cmlidXRlTmFtZXNQb2x5ZmlsbCc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdmaWxlLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdFx0PGlucHV0IHR5cGU9XCJmaWxlXCIgaWQ9J2ZpbGUtZmllbGQnIGFjY2VwdD1cImltYWdlLyosYXBwbGljYXRpb24vcGRmXCIvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgIH1cbiAgICBpbnB1dHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcbiAgICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgIH1cbiAgICAgICAgICAgYCxcblx0dXNlU2hhZG93OiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRmllbGRFbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0ZmlsZTogSFRNTElucHV0RWxlbWVudDtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHRcdGdldEF0dHJpYnV0ZU5hbWVzUG9seWZpbGwoKTtcblx0fVxuXG5cdGdldCB2YWx1ZSgpOiBGaWxlTGlzdCB7XG5cdFx0cmV0dXJuIHRoaXMuZmlsZS5maWxlcztcblx0fVxuXG5cdHNldCB2YWx1ZShmaWxlczogRmlsZUxpc3QpIHtcblx0XHR0aGlzLmZpbGUuZmlsZXMgPSBmaWxlcztcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5maWxlLnZhbGlkaXR5LnZhbGlkO1xuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0dGhpcy5pbml0Q2hpbGRJbnB1dHMoKTtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0Y29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0dGhpcy5nZXRBdHRyaWJ1dGVOYW1lcygpLmZvckVhY2goYXR0cmlidXRlTmFtZSA9PiB7XG5cdFx0XHRsZXQgYXR0cmlidXRlVmFsdWUgPSB0aGlzLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblx0XHRcdHRoaXMuYXR0cmlidXRlQ2hhbmdlZChhdHRyaWJ1dGVOYW1lLCBudWxsLCBhdHRyaWJ1dGVWYWx1ZSk7XG5cdFx0fSk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy5maWxlID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI2ZpbGUtZmllbGQnKTtcblx0XHR0aGlzLmZpbGUuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5jaGFuZ2UuYmluZCh0aGlzKSk7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMuZmlsZS5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5tdWx0aSkge1xuXHRcdFx0dGhpcy5maWxlLnNldEF0dHJpYnV0ZSgnbXVsdGlwbGUnLCAnJyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxuICAgIFxuICAgIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lOiBzdHJpbmcsIG9sZFZhbDogc3RyaW5nLCBuZXdWYWw6IHN0cmluZykge1xuXHRcdHRoaXMuYXR0cmlidXRlQ2hhbmdlZChuYW1lLCBvbGRWYWwsIG5ld1ZhbCk7XG5cdH1cblx0cHJpdmF0ZSBhdHRyaWJ1dGVDaGFuZ2VkKG5hbWU6IHN0cmluZywgb2xkVmFsOiBzdHJpbmcsIG5ld1ZhbDogc3RyaW5nKSB7XG5cdFx0c3dpdGNoIChuYW1lKSB7XG5cdFx0XHRjYXNlICdhY2NlcHQnOlxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZS5hY2NlcHQgPSBuZXdWYWw7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cdFx0fVxuXHR9XG59XG4iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuaW1wb3J0IENwclZhbGlkYXRvciBmcm9tICcuLi8uLi9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0NQUic7XG5pbXBvcnQgSVZhbGlkYXRvciBmcm9tICcuLi8uLi9mcmFtZXdvcmsvVmFsaWRhdGlvbi9JVmFsaWRhdG9yLmludGVyZmFjZSc7XG5pbXBvcnQgQ3ZyVmFsaWRhdG9yIGZyb20gJy4uLy4uL2ZyYW1ld29yay9WYWxpZGF0aW9uL1ZhbGlkYXRvcnMvQ1ZSJztcbmltcG9ydCBCYW5rSWRTd2VkZW5WYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9CYW5rSWRTd2VkZW4nO1xuaW1wb3J0IEJhbmtJZE5vcndheVZhbGlkYXRvciBmcm9tICcuLi8uLi9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0JhbmtJZE5vcndheSc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdpZC1lbGVtZW50Jyxcblx0dGVtcGxhdGU6IGBcblx0XHRcdDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0naWQtdHlwZSc+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9J2N2cic+RGFuaXNoIENWUjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSdjcHInPkRhbmlzaCBDUFI8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0nc3dlJz5Td2VkZW4gQmFuayBJZDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSdub3InPk5vcndheSBCYW5rIElkPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPSdpZC1maWVsZCcgcGxhY2Vob2xkZXI9JycvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgIH1cbiAgICBpbnB1dCwgc2VsZWN0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWY0ZmY7XG4gICAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG4gICAgaW5wdXR7XG4gICAgICAgICAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHNlbGVjdHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgICAgICAgIGAsXG5cdHVzZVNoYWRvdzogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSWRlbnRpZmljYXRpb25FbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0dHlwZVNlbGVjdG9yOiBIVE1MSW5wdXRFbGVtZW50O1xuXHR0ZXh0OiBIVE1MSW5wdXRFbGVtZW50O1xuXG5cdHR5cGU6IHN0cmluZztcblx0dmFsaWRhdG9yczogeyBbaW5kZXg6IHN0cmluZ106IElWYWxpZGF0b3IgfSA9IHtcblx0XHRjcHI6IG5ldyBDcHJWYWxpZGF0b3IoKSxcblx0XHRjdnI6IG5ldyBDdnJWYWxpZGF0b3IoKSxcblx0XHRzd2U6IG5ldyBCYW5rSWRTd2VkZW5WYWxpZGF0b3IoKSxcblx0XHRub3I6IG5ldyBCYW5rSWROb3J3YXlWYWxpZGF0b3IoKSxcblx0fTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMudGV4dC52YWx1ZX1gO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRleHQudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy52YWxpZGF0b3JzW3RoaXMudHlwZV0uaXNTYXRpc2ZpZWRCeShcblx0XHRcdHRoaXMudmFsdWUsXG5cdFx0XHQhdGhpcy5yZXF1aXJlZCxcblx0XHQpO1xuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblx0fVxuXG5cdGluaXRDaGlsZElucHV0cygpIHtcblx0XHR0aGlzLnRleHQgPSBzdXBlci5nZXRDaGlsZElucHV0KCcjaWQtZmllbGQnKTtcblx0XHR0aGlzLnR5cGVTZWxlY3RvciA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNpZC10eXBlJyk7XG5cdFx0dGhpcy50ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdHRoaXMudHlwZVNlbGVjdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLnRleHQuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHR9XG5cdFx0dGhpcy50eXBlID0gdGhpcy50eXBlU2VsZWN0b3IudmFsdWU7XG5cdH1cblxuXHQvLyBldmVudHNcblx0cHVibGljIGNoYW5nZSgkZXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMudHlwZSA9IHRoaXMudHlwZVNlbGVjdG9yLnZhbHVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHR9XG5cblx0cHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMudmFsaWQ7XG5cdFx0dGhpcy5vblZhbGlkYXRlLmVtaXQoXG5cdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAndmFsaWRhdGUnKSxcblx0XHQpO1xuXHR9XG59XG4iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBHZXRGbGFnc1VybCgpIHtcblx0cmV0dXJuICdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBRmhRQUFBQVBDQVlBQUFDaTIrSGRBQUVVa0VsRVFWUjQydXlkZFp4ZDFmWDJ2M3VmYy8yT2UwYmk3aUZPZ3J0THNlSzB1SlJDa2RMaXBiUkZXclMwMEVLaHVBWjNDQTRoeEpPSlRXd3lHZmVyUi9iN3g3a3ptVWxHa3htazcyLzNRMmN5OTk1OTk5bXk1RmxyUFZ1OGVNbGRxbkRtV083NHBJb1hGOVh3L3BETklBWDdyYzdueUtRR3JqdTRnQzJCYkU3OTUxS01TQlNoU1pRQ0lRQkFLZHEzZGJjNnIrUSswKzRWVGJPdzZsSjQ2TFo3T1ArTTl6RHFOSFROY3Zxd0JESmRVZlB2WERaZE5RSTkzVUJab2wyM2srcS9FQUFLMnZXN0x0WERvY2NQWmwyYVo0ZFhldGp1V3RMeVJlMCtMUUViT0NybzRlN3NJQ0hMUWlRZVZrbEJ3SVFyOXM3ajFXRXB5TGlOTFhibzk0L2ZDSUREM0VucXpYaFRhMy90dmtPQXJYcnd0OFJuRDNNbjhXYThTUUQwZE4xTysrZFM0b2wxazdMOUlDMUw3YlJ1cFVXRGRtVVdPMjBGbXpjS2dOV2s5Mm0vSTZrVkFOLzZKdmFzWDBHUDlzZlVpTE1mWmwvL1hhZnZGZ0xpcGlKdTJnZ2g4TG9FZW1KdTdVNCs5Y1d0VXdUQWIxN1kwS2Z6Y09mUEJpY1c5VHpWOWVNcnBBQ0V4SklhS0FtV0FtSkFJd05vWUErZmgzM0hwekY5WEFaei9uMjNBS2daUGF0UHg1dXg2a3NCOFBicE42bXNPUk81L1cyVEY3NkpzV1Q4MnlBa0V4ZnV6L0VwRzduKytBQWxTWU01NmJhdEdPRUlRc2lFckxIYm5JcTI3U29Cc085ZlN4U0FyZ2xRWU5xN04veVBmajNFbWQvam4yemZrUktrKzV0NStkaS9NdlNKS1BGS0QvR3JtemppalN0WlY1TUxvcHZ2ZmZGVXA5OTNTdnQwZmptNHdPbDM2QU1LQmNHQWk2a1Rzc2xPOXhPd1B1ZnFneDlrVkVFVnl1NzRpRVJNRjJjOWNBYlBmVFlWdERadlduK3gwKytJRzNjZXJ5MDRhODRHSGpqM0sveXkvY3RoVzNEeHd6TjU3TFBCSUR0NDFEVTNPLzFlZEZTSDh5QVZLT0g4Qjg2MENzWE84bmJIOXVDckhjcDFnREVqQWp6NzRIakdqQWhndGV3UENmWW1tOGl0QnZZbWU2ZnQxYkp2NjhhTzc5UDFTbHV4ek5GclN2VnB2MEtJanZ0VmlranhPdXBlZUozNjE5NGh0bjVqQjBxODh6YWxiczMyZmszWWZNdWZxTHI3SHhDTG82V2xvbXdiYkJ1a1FFak4rVXJiY2dTamxBZ3BzZXJxd2VNbTY0cnpLTHIrdCtEYVBsNXVQN2Jqd1NnWUVZend5dFJWakFwRzZPbXgxaWRXYmo4UE8rMWJ4Um5IaitLaFcvZkc1OVhidnhhTkVicjVMOFJlZmdPazdGU09PWHA0REhkOFVyMlRIajRxcVlHckRpNmsyWjlDOGwxM0VBdzFZbXM2UWlYbUJCQlNRN1hab3BPclZ3aUFhTmtoU3BrbFlGV2k3REFJZ2NBTjBvTXpZVEt4Ym5abjI3eGQ4dzJxRUFBcnhoYjE2VDRidTJLekFIaXBZRlNmOW50Y2FiR3piZy9QN3JKZlhTaE0yMWtmWGRxWXFodkJjSzVqUnpKa2xHTHFIQmc0RERRWEhRckUzclEvTy9wSHJlaXAvU1E2c1BBUzFxMVBRSTBOcjBRUWY2enNVTzRJS1JFWFhjeXZ0L3A0NmIzRlBIZmQwZXo1OU4rSkwxbmE0WDd0VE81YzlkemFQbDIzTzA0Y0xnQTIzLyt3UWlscTN2bVFXT25XN1E3RExyYVppejRSQU85bmRXVHZLYVNVR0taRk9HSmdJVkJLb1FrSStGMjROQTNidG5lWWM2Y2RVTFdrUTcrQ1ljUGdyYmVjbnkzTk5CT2JybzJzV0xjT0RqM1UrZGwrZFFXQXZCbGx4MkZ3S3V5VkRSK1VRV2tJcEd1N3JkaWhMNlU2MkNZQU55WCtjcU5TQWdVQ2xDMFFJdkY3Ri90Zm9OQ0VqUm5UUUljalJyL0hyZUlHVXY2em1TRnZsemtmbkhTTEVrQ3FQMHBlYWhNbGxlbEVUVWVPZTVYRjlUVkxPYnA1TXdEemdrWGNtakdCcU5BNlg3akZOemo5UHJCL2ovYVpKc0F5WVA4Y3lYTlRYS1M2SEROVnFNUmNhSUtHLzFhUitidHZPbDYzM3VqSXhPeEdidXlnRHdYYTVETndIZkVRNkw1MkwwWE1PQmQ4K1RpUHIvMnM0MzE5em1QZDZvWWpreHE0N3FBQ3RnUmJmT3NZVXBmWURWRkV3TzBNSVJSSHBIaFJMUnVseGJlZTlWVEh1dXp3SVR4MDlUUjhIbTJYYkFXdU8wTjE1T3djVVZ6SjcrZHZ3R1BaMnlkS2dmQkF3WlZoMGc2TjcremN0dEc5SmFOVFZidDlMUnlScHlVcjdKQkFHYjFidHlHcjZnV0F1U1M3VDJWWGY5c0tqTDZoYjIzOVZiY0lnRWNHSEtEdUNzNWlsVHNmekFqRTQ2QnB1eTV6MTF6cGZIRG1mWDA3M3E4dWRmb2RlNk55UkpkQzdhWmVBR0NGNDBPNFoveGRwVXovR3UvUWRVZ0JWdFRqT0E3UzdsSUxHd3JTWEREYWIvTnhuU1NvT2R1NTlPb1BkOU0yVDBpbkhaNng1YnlkZmV1ejZwYnpEcVlnT3dWYktZVHoybTdiL095R1RPektXT2xTbmlVMzh0c0RCbENXbWt0ZGJpSEpIc0ZqTHkzRzUvTncvdWxUcWFzMWVPU3ByeWtxVE9LWS9jZFFYUi9tbkJPbUNvRGxGVkgxMHNvbVNtcmorSFNKSm1GMzNQWUhqOG9UQUY4RUozVWcxeFdGMTE5TXdUWG5Vdm5mVnltNTlCYVVZWFZrR3V6VVpqY3ZkdDUxOGQ2ZGo4NFdIRGUwaVlubGF5SGpPcGFrTmZEUzRrK2Q4OWhaZTJDKzArLzRjenJ2MTdJNTY4alpQSERUbVhpVnpaWmYvWjdhWjEvcHN0OFdYNDF6OXVoNk5wWE5zT3hDM3JyaWZvWmxGL1o0bjMwUjZGdGZZbmJJOFNYVStyN2R2MkpvWW5XditLNXZ6OFhkRHFiM1hkcUlQdTIzWmQydUM2U3BKNkpOYkxITVBqM0hLek9ucSs5R1dudyt3V0x4U0l1U1BKdjZaSVVsd1cwSTNISFFyZTJRYVZ2OHBhTldlL3lLZnQwUG5qOVA2cnhmSlVHYW9NY1NOcm9IYkIxRTV6SS9kazNpSE8veGowNzdsUW44empZZFhTOTFNMkVHZERFUkM4L3ZWRi9jOWQ4dnVPcmU5MUNXemJSeEJieit0NStUblJib2xWeC84WkxiVk9ITUNkengyU1plWExxTjl3b2FRQXIyTHdsd1pEREd0ZnNNcFdwQUlXOE1ub0ttYVdBckpGWWJYU1N3NVhaNThkQysrYjJLSmJURWdKQVNUS3ZWZ0ZZSzBMV2RZZ2xYdmJxK2IzM0xvNFoyT0wrV3JianBwVFZrUG5BL1IxU3Y0UHJaWi9PcjY0NWh4c0NrM3VuTi9yTDcvbjFXMzhxZGhIOVJjZjZWS3VQb2d5aWRNSjAvUGJXSVJ4LzdsRmhsSTZUNEFNbC9iOWlmMlhmZTRNUWZmbk1McDkzOFB0Z21LQTMvZ0hSK05zakZCZDZ0akV5V3BQM2k1OGdKNHdUQXd2UVJ5bVVwekpBZ0ppVENnTFM5NHdEVXozZDhrOVJPL2wwMzM0MXlnVWZaNkFHRm9RbjJxRjJ6ODdvcDVlQ0ViZlhYNDQvRCtlYzd2Ly9qSDNER0dXMkRWYzRjdDdHUFd0YnRxWTl6N0h2V3BMRzR6dHZxSnU1T2E1RVBYZGw5S2hLbDZZby9FSG55RlFkZk8vVVlrdTcrUGNMbjdYYWY5WmUrNk01T3RZRndlU1VBL3R4c1pBL1BSWWY5MnNwWlErbkVXWlJTQ0NsNjVIUDA5engwMks4TmFZZkdLYmd5alBCc3Q1QUZFTEVsRjY0ZHp4TVZCUjNIYlM1eHpodkQvcVNrVk5nMVNaeDAvSmNzV3pPQWxhc0trQ2xoaEZCWTFja2N2UDlTTEV2dy9zZmowVEliVVVwZzEvdVpNSDR6b3daWDhOeExNNUdaamRpMmhIWFhDb0RSZHgybWNsUGV4TFFsQW51MzUrR1Q4NXdqa0hyV0t5cHFXQXpKRHJMZzl2MzU4N3hpYm5saEZlbEJOMDFSQThPd2UzZFluajh4b1MvdVRPaUxqbkNOUm41N1VENmx3U3hPKytjeTRwRW9TQTJmYnBIaWoxSFpIRUFwUmJzdGxkQVhoLzU5OFU2VGJ5bllmMFFxbCsxZGlGZHZ2Mk9qcHMyOTg3Znd3WnA2dEE2ZTQ2MExKd21BdTRjZW9SYklkRnpZblJxV1R2aFdZSGR5aEFSZ0lKbG0xM0xGK3RjNzNXZktndlJENHhSY0hVYm91NFkvekprN1RRMjU1Q2pNUVRvZmJGcFBSZTFXSUFTYWh0RGNhRUozMEdLbDJzVU9PdGNYYisyTXczUjlRSHNVRTJyQllmb3Jsc3VWaS9wV2I5NDF1V3ZNc0t2bjd1SzFGaHlSUVkvMjdYZzNudTNvNHpGNzlXbS9lNno4cEV0OThkK3ZObkxKazk4U01XM2FBZ28remVEK09ROXoyb2o1SGM2Z21NcHVZN0pkelcvMncrZDBJQjlzVGhxK0ozK2RleFp1YlljRFp4bncxbDlnMlZzZ2QvYVR4YlhPUEVSaVZwK08xK2R4cE5HaXpMRjkybTlMYkZEOVk0KytuZC96Ri9ZcnZ0TmZlbjdvby92MGFiL3J6LzdZaWRrYzk0amEwZFM1NUtBUlhMZnBjOVRYMzdMNDBpczVZMTRKdFkzUkhrR3M5a3UvZE41MTcwR3FJK3psak5FSDhkQytsK0hUUGUwL0Y0Mng1ZFkvVS92eTZ4MzZGMU5XZkMwQU5tUk5Wa0xYeVByM0hmZ1AyY2ZwMWpRUkNReFkyVkZNdWRIUk1Xb1FRbmhCS1pSbElSS3hyUERiODZrNjV5cVVhVEs0YXBHVCsvTXBLaVZGOEhGak1uL2JOb0NQR2xNSVdWcjN1UzFLRU5BczlrMXU0UEs4YmV5VDNFQmpneUo5cm5PTy81VlVxRjZNTmZDWjBVeWpzdnRJUlBSZkRrVlhlS29Rd29GNFczSURoVWo0eEtyYjhaYW5kWk5MSW5hR2s3dHF1WFZPVEZlYjhKOCtuUWRyNlpsZG4yTWJDTmhvQlJZaUxORXliR3lwaUsvV0VTRkpaNDVHeXpuKzFiL0dxMThOYm1adzBBQlRZaW5RZGdjSG43MHA0WGNmMnFONWtDMDRsNkV4SWkzSy9ZV2JXUDNLTnE2NU4wUTRvaEFKdDhadVVZZEhQZEczZXY3VjAzZmF2MHFwMWxoQTI5OTNock03ZjEvci9oMmRwWmhWQUxuQkh1ZEJkdG4rK09rdTRVWkNTaWRHSGJVZG9lcmJRU2NuL0lEQ2VXK3FYRm5EQW5NTVlIYm8wWXZFUXppUEk3cCtwR09uOTZzZXFpa1kxcmM1a3FYckJNQjUzM1l2UkZyeUczVXB1bDNXZjA0VjIrTnZiWHFSMk5pdHAyQVhXaUwrMXZqdUdGVmM3OFpRZ2p3dHhpQTlncWtFMHU4aUZOTUkxVXFVNWNoSG9XMy9MdHQwTER3aEZjb1dlSklza2xJVW5vTlhPZU1kZFlFQzBLVEVzbXoyZEJuYzZtOG1XYWhkR3ZHMHI1L3JWM3ZkZWllalQvdlZEcTdwMTF6Y2YwL3EyMzdQV2V6MHU0MituWWM4bkhtWVA3SnZjekQzWHIyc3orVkRhK3p0b0pjNndLSTB6cGo2TWY4NDVYNjh3dGdCVnBOc3VybVFtdGZUMnAyUmx0YVNuNzdveHZIS1hOd0Ficm56c2QzUmF1bk1paEZBM0VhZmxNTGttNWYxS3diZW1XMm0zbjRkKzg3YklCYnJWYjZDL3VsM08rVW9hRkk0c0hJUHpFQW5IMTVoV1c2dzNReE4yc281aFIveHU4Yy9FZ0RyOWtCbFhRckp4MExvZmRoOEhzUnFuRENIc2tEb01QeFRwNisxYzBHWklEUW5MT0xKZ01KL1F2QUFhSHdacXU2RFlRdWRWY2g4WStkOFJoczQyZC9FSFdtVmVOdktOQUVxQnFWMythbDd5OTJoSGRXeXord0ZQUkdGUFU4UGtOT2NONjhaTkdXN29rMGtYbXZLNXFVQmsvbmR1S09KNzVENzVWWVd0eTJmeDNGbGk3REV6Z01lc1RHeGJ0ZWVvZnB1dE1DZkhuZmUvdXYzVlVmMm5hMFVRbk94dDNjREU3eUtFQllWdG9zM213Wmp4NHgyK1hqdDJsOFBFQUNEOTdzN0JtaWFGS29nTjRXUlF6TFpWdFhFeXJXVkdKWk5mbmF5K09jZmpwWUE1LzErbnIyMXNsRzVORWxoWGdvakJtZXl0YUtSVmV1cnNKMEFvdHJ3NFJVdWdNVUZBL3RVbGswcTNiUnJ0cG1tT1RGZXBSSVR2ME1oVXNJMlUwcXBXSDBqelJXVnBBMFppSFM1ZG82ZmJOak0raFBPSTdaaHMyUHo5UURUcUJ6VnR6b291OWlSTzB0VHAvWnB2eFBxdisxMlczb1FGR3B1OHFRaks3ZlpKbHVzT0RHNjl3bTU0T0FPNUsvRldUTU80SUhUZm9YZjNUNitaRWNpYlA3VjlkUjFrZ3ZTSWg4RTV5V2tvc1loczBxcGFYQ3pZR1YyNG5TWWdDTE5vL2pvWk1qd0NReXJhM0U4K0ovL0ZBQTNUejlFL1duV1FDSXVEYzJ3c09SdVJ0LysrcERUd2JTYlZLdDluOGp2RnJKai9GNEk0ZVI3MVlYSUgxUEUvZWZNWVByenoxSDV3anRvZmk4b21GRDdUYUxmRjNlb1M3U3hEQy9FWGFEWlNFOFlaVHMrUlkvYWd1TUZ3TWJqM0gyeXp3YTlGSGUrK0xkVGQ2cmJ5RXZPNUkwejcySHlnSkd0MktkU0NqMkJiUzRxVzgzaC8va1YyeHFyZDE2ODI3L3R2TDdDdGpsOXdyNDhmT2hGZUxUMjV6bG1HWno3MW9NOHNmU2pqdlBLZi91eTArLzVYL1N0TGYyUDJmMWFWOUJmK2ZTRDlyajlOUTExLy9yVUVSOVBybGtlVyt6TDV1QzZWYnliTmdiN3l3dTc3bVRzalgwN2h3bS83TVhMYmxlRk04Wnp4K2NiZVg3Qk5yNlpWUWRDTXYzVElFZWx4N2hxNzFHRUJ3U1pQdWw2VWwwTm1FcnYwcU51aVZPOWNNbGRxcWlOam5rM29XTU9YSjNQNFR2VW9CcVJLR2pTcVgxSnBLUUliY2RpWGtmSHJNM09Wekk1R1MwdEZhdTJEcG1TVE1ITEw2QVhGZTdTTkhRVXgxWTdTSEFubDE1Z1Z0YXlkcytUTWNxckVDNVhsM0d3Rmwyd09uVm9oMmNxK2VmSGszUDNyVHZsQktoSWxJb3JycWZ4cVJjNzNGc2o2OWYzSzE1eGhEdFozUkRJSVZsb05Db0x2VHRaSnh6N0ZoeTdkOGV0MGRMdkIxK3ZWVmZkczRydnZxdUhKQjNkbzJPYXU0SHZmblZ5dTNWcndiY3E2cXFaOUlzREtLK3BRT291ZWd2N3FvOUsreFV2bm43VmRIVm9HVnh3OUdVcy8rWUQ3b3dzWlVYZXNXcHI4Z0dpalRFTnlrSmk0MUp4YkFXRzVrVW9HNkZzYk5sR0RsODJjOWZ5dERTNVBZRVBCMThCdGIxR0pISGU5dC96RlhYcjhodVkyYkNVUmlBdWRIUmg3M0wrZUxybEZPL2ZGTWhWajBacjJXVEYrMnlLQVRodlorRWtGQ2dOY3NLdzVIbklpVGlQTFhybUZUbjkvcU52OXdQbmkzNnR1ZXRvLzlxR3lhcVgzdVh6T3g2aGFWdFZyL0xKcjl6NmFmL213WTN0dUhiNDlIMksrZnN2NXVOeldidmsrMzR4ZlU3SHRjTzJEUXBzS1ZyemxIclNabi96V2YvR2svNVRvbmIvR0xUcDRzeEVqZm9sMC9wMi85Ni9RQUQ0VG54ZnpScVp5b0sxRFRSRkxaSzhHdE5IcFBCRmNUMlJlTWM1UkpxMEhTd21IQVJwYzl5a0JWeC93Tk0waDdjeDk0aXR6aWYydnIwOTU0WUFPeTU1NXVMMW5EUzdsbmhFUTJJamRZbndDR3BmcUtUcTBXMG9RM1g0bldPS0hkdnVtQ1BIcTE4c2NURzRRWFpmSjk0Ym4rK2lwOVdPNjVEc0N2T2Z2Zi9PTVlNVzhNckdhWnc1LzBJYURYL1BVSXNIVDJtUDYyb2FXc0VBVUFwcjZ6WW41M0UzY04wM0xydFREWm96Z1R1L3FPV3BiNnA0ZDhnVzRxYk40ZXZ6T1RHam1XdjJ6Mk45SUljVEhseU1FZDRlbnhFSm9hbVVhRy8rdE1FQSt1TmM5SmROM2wvakxYcGpkcC8ydS9ud0wvcFg3dHkyZDRkMWptZU5GTnkvbjhTMzQ1U2FVUGY3YXNMem1oRWRKTmdWYm5YczFIMy8zTGQ1M2g5ZDQrUjV6N2hoN3o3dDkrdGJuRHFid0xRL3FPanFSN0VhMTdjNklydVRkNmtTQnRVVloweFM5NThTSjdsWk9PWDV1em5lNmtSZFJjckJML2ZwUERTOGM2d0FhSGppS1ZWOTNmWFlEWTNJcENESzNMMDZrMkVWVy9yVmI5bjNyRGY3ZHA4OWRsZ1A2blFidWU2Z2ZMWUV0M01wU1YzRHRoU1lNZEIwNTc4RVJ0TldUdTRLdDlhTzVwcHQ3eXgvR2ZITER1Mm9NL1padzkvUCtSeS95MnhuUjlreHlZYTdDNmg4SzUwT0lQbnRkVzM5WlBlMXcyRGJrSWRaQXU2Y2tzS1RJd085VzdnRXQ4dVR1WlA2ZEQrY1d1N013N2Q5bkw4NHRjVmFHWGE5RWdLVXBjaE1EeENPeEFsSHplMVVIanZpTEpxTkdYTkJUQ2NqdTRIYWtMZER2T1RrWVVucTRzSVVpdXAwakViVjZsN3U4amxlNThRUTVCL21LbHNJcnFtT015TnNFZEZHNGZWR09TOXBDelVlRDlJeW5WaWJFSFM0c1hac3YvKzBYK1BDYmZWbTA0SUZ4TFpzSWVPb294QzZqaDJMc2ViY2M2bDQ0b2tlVDgzZWlWbmM0cy9wMC9FV2hoMHVsb2FiL3FaZUhKSEZPVDgvdGZXMWs4NDRuY2ZPdm9qeTAzOU5KTlNNS3lrSlpaZzlXczhSWlF1Nmx6dkpqVng3d0FBcU13ZnduR3FwRDl1aFBobUZKaXg4V3BnbU01a25Menc2OFlidDhrRUkwQkkyZ1dXcHhQNFZqS1NDVjNpSVVWUjBlNGhrNG90N2FrY2xhQU5vdEFRcHVzMU51WFVNV2xIQmhUYzNzV0tkMlNxQ1d2TzBUbjJ2Yi8yaEp3L3MxL3JxWTQrNVFiVnc5TFhONlZJSTBvVEJzYjVtc2x3OXozbVorZWk5N1RqUitreHZKampSK211OHpqbmVzWkxMd2ExMkJaSnF0WC8vOFliSzgzdEk5N2hZVlI5Q0FFa3VIU0hBVW9xbXVObTdoVDMvY0dlOEd6djRtTkFkdnBqMEd5SDFKc2VZUnU5OGJGZTBpWjhvd2NpVXJieTgveDhZbGJLMTA1cFRpYUk0R3VUWTlWTlpIUTIyMzVhSkdrSDFiUi9uNGs5bGwyMGJsYkN4VzlFTEpmdmJ0MVJDT0lwcHpmRENQcDJIRVdzZFczZWZqQ1IxV0UwZXg2YWs0WEpCbldrbTVOU3VLZUJXckdIb0E2clY5dnJEUHZnd0NkMzBGMkl2dllGTVMzSHN1dnFtSHV2NURqRTQwMmJzaUd3blZMU3VNbUhEQ1FaWUlSNnVmbzk4SzRUZHpSZTAyT2JERG51eVQrZDMzWnVuL3FDMWt0dDNrQTFDb2l3VDBkYk83NFRUZzk4ZXJjQWdQem1MQjQ2N2hLUHJMTGJlZGhPaGpldHhKU1U3biszRkZoL3lsWk9Mbi9lWDNwMWprWkE0WWMwNWJKcHlsS2NKK0cyb3VpcVJpLy9jdjlUdDc5M09lbk1kVXV2VjBEcHMrbE9WUG81Y3Zwa245a3ZudkZNT0llV3hSd0RCcTZjTTRKQ1JvM2kxTWNDVHI2OXlTR3BrU3lHWVFsbGF3aGRYN0RyZml1Z2JxVUUvTnFXYzRneVhDODN0QVNHd1RBTVZEYlhaV0oyWE1WL3R6NmJZaWxGaXhkdVJDcmNRQitkbFNRSmU1N09ocUdKYmxkMk9WTGpsTTBNME4xZjdzM2t6M2dSQVQ5ZE50YXliRFZiSUJDdEJYS2RKOE9rOUZraWlBeWk3N2UrcWg1Ly9RWnB5bkdycHRYZHB3N1N0Sld3aEV4NmE0Mk44WVlDcUpvTmxtNXVwQzVsb1V1RFNmdEFuYmVjVU9BVENBa3RvS0RTSFFGckZ3RzRnbnhEalhUYlRodnFaTTNzNFV3NmNnU3ZiVFoxbU1XanZ3K0hmZC9mcitCNHRMZVJuQzB0NS9oZzM3NTIzTDFrUHZRWFM1dDBMNE1DSnczbTVNcDhuWHRxSWlFVUJpYVpKVERQQ1NTZE5BT0RaWjVlaWFUNHNhMmNnMEVRd3hoVW1yaVRGTVM5Ni8wcUlIMjhUMEJ3MitIcFJPU2NmTVp5YSttazg4TkdwL1ByQUp4aVNXMFBmMUhMMVg1TUs3RVNPWEZyY1djTTZ0NVBxSWkzNkpGajAvMk56WldmaW56eU84S0pseEVvMjdaSVZjZkpYbDNETm1JdVpmTXUxNUJ4OUJDVy91NFhtOXo1RjgvbVFBVDkyT0l6WkhBSkFDd2FRL3NUZndoR0NCODVseUczWDQ5bGpQSXNiVi9IbmhRLytaT2Z5cVVvL1J5N2YwcUVlUG5Ua0tGNXFEREx2MVNWY0hJc2pwRVFwaFdHYWFINC9Ra3FNNW1aMGZlZVVIay9lRzVoR0pYWnNKWmlyd1ZpR01sYWd6TTBvdXhiTU1FSzZBWTlqSldnSjhqd25nd1N3LzZmM2NBdmhreGwxaytlUEFyQXQ3RVY2NHdrY3ZCdmhVRklNVmR0Z3pHU1lNQjNTczNwTXBOQTN6UVJsSjB6SUdBZ1B5dGJBTFJITERYZzVDdVhXVDNaOU5ML1BLVmh1U1dycUkxbDl5b2lqZDdMdHBDWUlSZUprQllQTW5UeUE0VVZKYUVKbjFhWmFQbDIwamFxbUpvSitqeE1FMm5FY1ZVdDY5c1d4R0x6K3V2UDdFVWVBeDlPamo5bHhtRnNBOTgrRlZiVnczSEQ0L1Rld3JOb2hGUWFINDhtWk5OQ0ZFNmM2YVlUenAyZlhPa2U3QXpNSFpUdEpNa2NXdmMzSEZYTm9pZ1k3d3F5Y3JvV0ZaV21ZcHNhUWdzMWNtM2NYaDM3NUVrM1BLcXFyZk8zbVU5Y3RqcHBjek9FVFZ2T1h0K2J3N2NiOFRzM212and0bWdETGhLa1prb2NuNktTN0lXNXZ2NGRBZUNVTlQxWlIvMmpGVDBRMytEaHkrUlllYjZjYjZOQzNGcHBFeFV5T08zNHl5VUZuYnpXRllyejQraktrVysrd1NFb0tnY2N0aVVSL0FuSkNnWENCVExHeHFpVkNnbnVnUlh5TGhsVW4rUC9CUkI4Mk1MMVArMXUzeXZrNUo3YUZ5ZkZ5bnZTTjQrbXNHWmdEODdFYkdsR1d2VDJwdEJldHR2L2RFb1lWcGxHUWs4U1h5N1lTamZmTi9vMlhEYUJxM2pGNEJtN0VPKzRia29kdlFVaUZIZk9nQUUxc2wvOHRJUXNiQ0dpd09TSzRJTjhpeTYxNHJrSWpXZC9Oelc3YkRvbU42QmlBQkhqMmd5V3MybGpKTGVjZXhJRXpISUZ2MlFwTmlwK2VQQnMxbWxkcWZidzB2NFRDUVFKTjF6bnR1QW5ZbHVUbEx6Nmd0THFhL1E0Y1I2cTdrUG1mcjBXMUlmZ1ptKzFoVUtxTDk5YUgrS2drVEhQY3h1Y1NyZXYwVTJ0S0NDZFcwa09Ddlo4c3ZLRDlNTjlyMndraWx3UVczWVBjd3A5a084VHRKMDlxL0R2U3hHSXoxbWNxTXFkR2NQVG5Pa2QrcmxPdndhWWltMldEYmI0YlliRjh0TVhHWEp1R29FTXc3RElGYnFNTndiQm9WNlB3dmV3SHJaT3FBS1VrdGg2RmVCQXF4emhpTnFNRTNNMUl5NE1RdStZREMrSG9ESVFpTDZQRzhTMXJNa0FKaENmVzVhVWQvZG1lck5FNGF2a0dIdDhyai9OTzNvdVVmLzBMSVFTdm5qQ2FRMFptTWE5ZTh0d25xMGtkTUE0UjhLTWtSRnlwS0Z0ejVzYWw4TWFiZHNoUzYza3NvU1VHSklVZ21KVkMySFNJbEFJdVFXTjlxRWVGL08zbkdZclNuR0tyelhYUm42U3MveUhidFUyRE9PbjV6NWp6K1RmOC9jQzlPTytRWDNEL0s4dDU2cG12aUpZM09kaDRZcXRhcGcwUmkwQmhCa2NOMURuZFc4bmNJaC9CZ3c1amNjWlFmdi95c3RaK2RWTlJsZUlpWTU4NEl6eGhhcHJjdUliWWFFSWhBZzYrNGgyYXVCQ3J6Yjh0VzVEdWo1T1JGS2MwNXFYNk96Y1pEVVpIQnhmV3JvWGx5K0dnZ3lBWTdQcEJtNXZoM1hkaDNEZ1lQbndublhwY2ZwTVlISWlyZTlla3E3ZTJCVVRJbFBTL0NTWEFvOUNuSko3UDA0Y2dSMS9hSXJhTmtKTEtUeituZk42cmxIKzNDSURjS1pQSlBmb29zdWZ1MmZxZVhpbmdSUEpCeTFTSXRvYjEvNmpONHlTRFNxYnRzWjZURDFqR3BLSXFIbWoyVWxyckVIVU5IVjNLYVFjdXhqQTFOcGFuc2E0OERSVGtGMVp6MWtHTEtTeXNvV1JURnQ5dHlISDZTdlM3dnVKcWdwNWlBcDRTTE5VM3BNSUFwcVV3TGRWNmFhS3RuUDhMeDAwT21aakwxR0hweEF5cngwVm50ejJmMEVOVmZvNWF0b1VuOWszbnZGTU9KdVd4ZjNXZ0w0cGJZODhvUlNSaXNsLzZWeXhvSGtObExCdnA2UUZHMjBmdGF5MmRaL1doaWFwWTBiRkQybEZRZXljQVEyOHRyTzNQZHRVM1pYeHcrZU5rbmpXUnkwNGJUN2wvTXM5dmJPYVRxaTFzYVM3RmpEYzRsWkthQzAyNmFDRkNWcnRySVNaeUdaUmh0QkpOOXFUMVp5eTNYMXBIc2s0SXNDeWFVdE1vODJSVG1aMUpwVHRBUVhrbDQwTWI4TmMzT29RZEhSa3BkaitQKy8vc29uNXQxOXhUL0FNcTZMYTNzLyt3SmtSLzRUdjlkb3hGYnlvblZCdmgvcjlsbitSLzhSSjExOS9GdGtOUEkzakMwV1RjZlQxNlFXNENod1FqdW9HNmx5OURLRWc3NWw1Y2dkR096YWJybUZ2THFibmlWcHFmbTBmU3ljZVNkdXVWTUh3d0FHZitIazQ0U0hIb25BYitQVFRNMi9XcFBGNlZ6UmZOU1lRN0loWldBcjltTVN2WXhKbFpWUnlTV2dkTkJrKzlCcys5dS8xdFUzUWZ3elFQKzV0QlhvODFzc0FNMC93alRrYnB5RDVTeXJuRTFFN0kvalpNc0U1K1N1SzF6ajdiRS9jQ0c1U1pTTmpYRlQzbC9CVGZ0OEtRUUVRQ0ZxbW5oVEZxQlUzemZJaEk1MlRDYmR2bnRSNldOM2s0clNEQ3ovT2FjTHZBanNjZGJFLzBMN2luQ1lWbE9iN01xWVhWbkdWdTVxbmJxbmowZFNNaFkzWlc4V2NVZGlUR0V5UzVnb1F2MVhNWjgvaE81b1NObEpLdnZ2cUtlRHpPWG52dDVaQ3BLTlV1RDFFSmdSQ0NUei85RkNFRWMrYk1hZjFzdTFaY0JUVmhtSjRQb3pMQm8vY0pzTjViM0tpRm1HYkMwR1NTQTRMUFZ6ZDNhTE5PMURjdzE3MllCVTBURWNMc0pPNnNnMHBjeGkzTUg5WkkwcnJYZGFxVkFMbHZkSThVMEd3b1ptWTcvWDFWcVFpNlJLOHVZdFNsUlpJclFycXZucXB3T2lIRGk2VjIvYnl0cW5OenlIT0YxRmx1ems5YnkvM1pHNmlKUVhCU0FldTNwclBnR1E4TlcxeG9mb3Q0blFzbEhkbzJYNHFOYlFqc3VFVHBOaE9PYVdiQ1BsWTdQVCs0SUlOeEkvTDUvTHYxK0xLREZKMDhuUlNmZTlkeXo0OTk3ditNM3U5RGIvN2ZGSFEvUVFJTVU2QkprRksxWGt6UUxiYXp1SUhJdkZJRWVxZXlyNFVVc1hON1FLQXc4ZjB2NEhLR1RVcTZqMGpNSWhJMkVMcm9VTVcxRWduYkxpelRUVUd3aWxNSGZNSUpHUitTSzJQOEx2RyswRUlJbncxSmowUFdyMkRZTzFEK0I2aDlKV0dhbVJCUDhGRllpWHBmMjRLTVl5RDM5eERmQ2h1UGhhYVBma1F4YktWMjdXQXEwSkpNM0FPalJGY0c0SHRJTjVKQ09aZXVBVkxhdTR3VlNnRzJaVFBjbGNUTjZXOHhjMlE1QytPVFdGSld4WFZGRlZ3YUt1YVNqUWV4dHNaQ2RxMC9OVUNUVXVKeWFZd2Fra2xXbXAvaWttb3dFelUxMjZ0aE5NY3NrTGpkT21PR1pwR2U3R1AxaG1wc3V6MlZvV2Izeitib2RWMlhaU05qemdVelNpbVVaYUs4TzE5S2JqUTJVVlZhU25uRk5xVFBTMHBPRnJLSHVaRC9QN1Jrb2JHbnkwK2VkQkZOTFBOd3pjTTJ6YzNuUnBoRzljUGs2a21wc0d3M04xejBEY29VM1B2a1dNWVBxNklvSjhUODd3YlFITkVRdW9abjJHQzhRUmVhWmZjb0x2RHpsUlVNYkl4eDNkNURLRXZ4b3NYTTNTY1YzZ0ZUeUU1dUJxQ3lLYkFUNXFCcEVpc2F4ekpzampwaEpqZU85Sko1KzUrcFhMZ0tQVGtKTXhwRml4bHRYTlh0anB5UUFxc3BRRmJhQmtZTzJVaDVmUnJydG8wRnIwS1Q4UjdGK1g5STFHSjlUU2xSTTg2RTNHSC9kL0IrSk8yb3BvMkhEVFJDb3orTzFUMDEzei9nQ2JYWGhldVdmWENIc3FXT2QvcmZpT3ArK09LODd4ZlhyWUlqbDIvZzhiMEdjUDZ4Y3lsNzl5bUVFTHgrNGhnT0dwZkZ5N1V1WHYvc0s2YU5qb05IZ3FsNlpDTThWZW5qcU9XYlcvSGk1TWNlUVNLWWQ4b0FEaDQ1aXRjYUF6elZSc2UwNUhmUEtIVDB4ZGRib2tpOUE1MnJhWGluVE1LN3h4UWluMzJPdWExdjg3MWJFV0RSM2pUNnNma3JvcDl3aGRmampheXhZdndsa01kNDNVZXRNcEdkOVNBQUMvUVU1WEJrMUlsT2NjajlKcGZ4MlNPVHVmL0ZLSDkrZEFrMTVjMlE0a1dUd3FrOTdXZU10dVdpV3ZFRDV4OWN3eWoxeGI3cFl1UG9JbFlHcDdEdkVvMmNhSnFEOHlsRmtsRkJ2dHBDcFpHS3l3d3hnVzlaYXc2andaM0hXTG1VcmZFY05xVE0yazVVdGlzMm5aRG90c0JFRWt6ZFFvYmxZMU5kbGpOWExxc2Q3dlpCN2lFc1NwdkNwV3Z2NTRMMWZ5ZlRiS0srVGYzNXJyWWozRWtNa0RyL2lOVHluUm51ZjRRdXdSdExmMERHNnFjQmJpaWxzQXdUWmY5L0hEUldDb2trbk9ZbjdsYWsxbGpZWnB6L2hVUmh0ekJ3WVJCVGJrejBIc25GZGp3Tm5hUm5kWVdqSnZ0MExqdXlpRXYvc1lxbXNoQ3B3MU80L01pQkxOdlVSQ1JxSW5UWkNpMjBFQWxiWWNkV1AyclNBbjQxZHg1ZXJaaDc1eWZ6N3VvQndOYWR2a09YQ2pPa2M5TGNhazZhVVljWmxVaGxvL2sxekNhVHF2dkxxSCt6eGlFMmJhdC9FcmM5dHBYNXJ3MHpLUXNxTGxqa1lvOXlEYWwrQWlrVW1zUjl3RjVvSTRjVGYrZER0SUdGMk9VVnFGQjRsL1BwL2xPYnpNK1diK0dmczFMNDVTbUhFWGo0WVpRU3ZIMWFQdnNNVGVMTldDci9lWGtGUk52RVp5eUJNaEkxUTI2MXZmaXVrMVpYRStPTEw1MGM2ZGt6TTBqTDlQd2s1SU5UUkpDZ3RMTVQ1UGsvRWZtZ2RvaVZDL0cvV1FCaDlWTmVsU3RyQ25yYWFJek5yeE5aL3dMS2FPb1QrWERKTTA1Qjc5OU9qZU50MEZCdDZzM2FwWjlBKzFTVWp2NzJmV0JWcDUyQ2EraGdLaS8rRmZIVmE5RFNVcDJhd1I5cEluNTlVMHJQZkxzV1RxWWVQa2JISEE1MG5NK3FhZGlHQ2FiaTZtdjJac0dpV2o1NmJUa3k2SEl1THRnZEREWkJ6K01RbXlSa3IvdC9KSXFXV0FzOU53dXJ2aEVWaVlIVzVscmdYZGh5MHV2cHo2SDJsNk1LaHNuZ29qVEt5aHNKMTlXZ2ZLNTJPbDZUTnJhU21BMEJNclBxdWU2Q1QzajMyNkc4L2RWSXBEK092UVB4elFzYm10bm1Ncmw2VmhxVG16M0VpaFZXOCs0VEM0TUQyRVM5NmVpQlF1cWF0NUhpTmJGTURUeUtnU2w1Tk1WREdMWk5RNnk1WjZUQy9kMXNtMGhKQ1JXUFBVYnpraVc0c3JOSm1qcjFSNm5idC83NVFZNDcvelRTWG51VlUwODdqWEJESTg4Ky9nVFZqUTA4L3U4LzRicnlkdW8zYk1LVGtlYVFDdmNVNyt0Szdvd2F4Ync2UDg5K3NBN1g1RFNFejlYcUs3YkVpOE5XZ0Z4dkdVY1BlSjcvYnZwbGh6NUZYcDZmTVdQU0FGaTVzbzV0MjhMOXFqWmFlUERxVE1HZUtUR3U4Rld6NHRscWp2dEhtT3A2RzAyMmNHU0kvajdCK1BzNFlCNk9iSjlYcjlmZHpnUlFDWE5WMTEya1RSNUNWb3EzNTNuK2ovYm9oTy95YlBYbmVKVVNORlZ0cExsMk03bzdRSHJSUkhSZDUvMXZLdmhtWlExZWo5YnJla01VakVnSlVoT0xvMUFFWFRvdGhNajBtNDhvT3RBc1AzMmQzbXZieGdZc0x3S0prc0x4dWJUWVRsT2hGSVJxVjJISGEvRW1EMFAzcGlFMWQrdnJScXlaK20wTDhTZGxFVWdmM1U1djJsWWNNMXBIdEdFZDBwTk9JR04wdjgvRDZWZGFMRjY1bVN0ZnErTGc2aHdPU1UxQjZJb0cwMElnK0xGNlpoNWRZK2pBREdycXdxQVVlNHdad0txU2FzTHh2bzFQdDgxWDdjbmZmeEFzUUFpTWlqSkMzMzZHbnByaDJERlNZSWREU0xjSEs1emdlalZOaEVzbmFaOURFZTZPYmM4QjNoaGxJUzliRzZvNDljbmIrZFcrSjNMVm5YZVQvT2lqbEwvOUdwckxqWFM1VVhiLzVRRUlJQ1pnYmgyTWlrT1pEMndKbGNDME1IenRnZmNUN3ozejJETVpValNNcHorNG5vS01UMGtPN3A0VTFCOE5mVWpwNXlhclA0VXBLUzRxMXpsZzM1eXFqYXg4eFdDQ1ZOd2I5UEtaTm93YVE4T2wyNGlZRC9lZ3pXaTJvbUZqTHBwWFlmV1czVkU1Wk1UZ2dGaTdLczJGQUxlbTQ5TDA3ckN2RGx1c0MyV0pVdGk2amp0dkFMRklCT256STZTR0NqZmpUa3JEZHVsZ1dWMEc4L0traSt2OU9meWlxUlE3WWJLMVhMMDhjWVRPK09FNjQwYzR3UERTTlNiTDE1b3NXMnM2ODVNd29pU0M2LzA1NUxXNXRiSlg2eGJYOFB0c1prMU5KajNkajJXN2FHcHM0b3RsVFlUQ2RCdUFzWUJJQXR3cE5VMXlFc1dHRmFaSlFlSjNuNVIwRmY0MCtwcHRRdlg4ZmRKbjR4c1dKYnpHNXlUOGE3MnpIdUttd3EwTHBCREVUSnNoMlY3K2N1b1FDak04V0xaaWRWbUVqMWZXOC83eU9pcnE0eitJWEhUaWFJNXd0S1NPUW00bkVLYVJBcG9aNzdLWk1Uekl6T21ER0RkN0RQblR4c0xFQ1lTYUdsbjB5ZHQ4K0xjL01XU2Y0eDFDNFg1dXp4aC9vK2tMaUg4bU9ERDlRU2plN0p5WHFtWEVYb0JETkl0akF4N3l0T01vdHp5WXBnRzQrT1NUTFltbjFiRXNBM2JZZGJvbUdLNkZPWExkUjhRMUYvYkF2ZGhvZWxzUytYNTB6ZDNkTFlTdE53QzFhT0d1NVd4SHV5OFNzM2h5M2hwK2R0Z3dtbDFIOG9kWExhNC8raWtHNS94NFNZVmJ5SVRITnRsY3Z5SEdsQ1pIemk1TWt0dzYyTU9LSlBsL3BNSzdJall0aTZiNVgxRDU5OGVJTEN2ZTVXTG9keXMvNDVQcWIvakZ3Qk81YW85Zk1mcnQ1NmgrOGdXMjNuSVg4VFZyOFk0Y1NjN0Ird0ZRKzg2SFJGZXZ4ajE4R0VVM1hFbm1hU2ZRaU1sdHkrN2tYNXVlSTJMSGY3THorVmpvQTBvL04xbnpLZXl4Z3g1ZTliTEJCRTF3U0FBMnU4Q29qOEhZRVl4KzRSR3FubnNlbzc2Ui9Jc3ZZTjA1djhMKytDdEU4blppRmROVTZLNWNjT1VDKzdVcU15dStGVHV5SEJuY1FuVFZwOWlOeFhqSE5tQldiZ2JkQm5TRWNJTndBL3IzVEpMNy9UUmRLRXhMQTFOeTl2QlMvamx4UFFnNGYvRlEvcjB1SDNRYlhiTXd1MHNJYldxQXIrZER5V3FZT0FNNWVnTHVwR0JyVVdoZjJKR2RHU1VXeWRUYnMxR2VzUVRGWWpSaklYWmdDT0w5U3R3dkwzZllONzAvWGVFV3I2eDI1dEV3K2hRL3FYTHRjSnVoRkJDT00yN2lFSzQ0dFlCaCtRTEREdUYxKzluSFR1ZUk4dEg4OGZIMUxGbTJBZnplWFNkL2VPc3R1T2FhQk9LdndUSEg5TmordkdvQ2ZGc0J2L2dJemhzTGw0NkI4ejRFNlhiSWd3ZW5na2VENGtZd0xlZllmbEsrSFVudHdNeEJDcHNCZ1hJMGFYSHQyTDlpS2NuQ21razBXMEZDaHI5MXpxVndidW0yb2hxZUZJT0xSenpNQmFYMzQ3KzluUElsYVppMmpzOGZoUVNvS2FYQXRqVWFJMTRxR3BNSXhUd0luSnZCdEE0V1VoT09YZHhaMFZKUDNlYVdaTk1KcVlKbkorc01EZ2ppNXZhQ1h1R1ROTDFRVGQxRDI3cS9pTWJ0aGttVElEa1pHaHRoOFdJSDJQcWVXNHVQdG1ZbkgyMVRxNDkyWDlETEoySW9kWmJPbGVmUFpkWGFTcjVZdUFrUVRCbWJ5eFhueitXdi8vNkNIYk51UFM3SmxKSHBUQnFleHR0ZmxyRmhXNGdmYzlxTWxxendUalR4akRJSmZlb2l2a0VudWtySGxXOGhnd0pqOC84b0syUmJFZkx3bVgzYTMvREN5d0VJQ1JlNmhJdWJ2dUVVYlNNcFoxMUk1dG0vUVBqYzZPR29BNDcxUWdpbkJDL3FBbTl4YmdwRUNSQnErNzk3aGVFcHhnekxZdWFrUWhZWGx4T0xtMDRmdTZzblhBWW9pRzhZUm9FeG52TGxLd2xPWFlCbjRBWUVpbkRVVGN3VzZBTGNVdUVXWUNqd1NzVXR3MHlrZ0JtcEZnOXYxVW5SZXh1c2FGTlFKaVJJRFN0VVRheHFGZDc4UFpBdS8wNGY4YmxkTEZtM2pWTnVlSW9MajUvRjFhZnRRNUxmZzIyclJKN2NqMHYvUHhiK2lOSXZUTlorQmxOVFhGUWs1Tm5jNnMwVXp6T1lLR3oyVGd2dzhLaWYweUExUHZ0cU02bmoxaEFZVklieUZiT29xcG1DdUVZZ0pVQzhUWkdQVWhCd1M0NFpuY1RVZkIrdnJXcml1MjFSaEFDUEpsckpuMzgwclJ1bjAxMGhHRmFTREJYcldUVXdrYXpXeDQ1cTMxNDdDYmJvUGZteDJTZzdHVnQzaGN5N0F3eUFEQUNHY2doc0pSRHU2WVQ4dE94cENleWhlOGdMNkR3WmJlSjkyeUN1N1hDZGRTLzh1MWpNOFZKTUhZekVSOU5uRytSNUZITUI0eU9kcW45NDJEVFladWtRaSs5RzJTd1packV4ejZZK3FMQTdJQmkyMit5Wi90b1A0WGdIMkxHUzRJcmlyUm1HWi9sSnBPRkJDRVhkbWppeGNjOFNTU21CdUJkNlN5b3NGTXB3Y2ZUMEJYeGRNb1NKQmFXSlVtSEJqTUVsekZ1NFIwTFBmUDk3NmJINkJaUnVqck5tdm1KS2lvZUtkVnNRd0o2VlcxajVjcHh4eW1LdjNBeitMQStqU2RQUWErcVkrdTR0YUVtMXVLVkd2TTdMNG9PdWdjeFVhSk9nMHJ0WWdrUzVKTCs0N0FBS3N2MThXeGFuZUd1STRxZmZJeEl4SEVPK0Y1aDFocys1N20xTDNmL3g1dlhhdi9pNG5NZHkwemk2VHVQMGtyZVlXK2pqNFNNUDVOY25uTWR0ankwZ2tPUnZGUTJCMUFESDdaWFBSU2xWVE1uUUNCeHdNQXN6aDNIZnk4dDUrc2wvUWxWVGE3OUIwK0t0bkV3ZVBLeUlXNGNVYytxd3JXaTJoUlYzb2R3T0NaTWRjZFpaK2hTV0VvZzRhRzREUzJvOHVTNmY2MHRHY2RIV3paeFEwMEV4WUUwTlBQd3dmUEdGSTd1T1BiYnpoQy9iaG5mZWdidnZodG16SFI4OE03TzkyU2NWTTlLajR1N0psVXhKUzFZUGw2U3lzZGtsRVAwdjhkMEhPSmRacWVvZjkxNEpSOEtzWDdTSTZpVEhEZzB0V2tUeVFRZnNndUdoUUVxTUxkdW9lKzV0b3F0S2tBRWZTZnZOSk9YSWZSMkgvWCtXVk5oQ21UcDc3ckVPS3lZWVhGREptSUVWbEZZa0FUQnp6RWI4M2lpMkVzd1l1NUYxbTUwTFpNWU1xcUFncnhwbENQYWN1bzV2MStRaTNOdmxiOXpJWTIzNTlVd28rZ1ZTS0dTSEpERzlTVVp5VUplZ1YwUFhCQUdQMW9vWkJQdzZMazF5M0l4OHp0cG5FSlpTYUQwbEZENDVvWWVhUDZUMEM1UFZuem1ZZDBVMytpTG9FK3cxZXhKVjN4UXpOcU9PVVVQMjRwTXZWOEgzZEhHS1M5bWdMSFNzblFnQUJHQlpNTXdGR29yVmhrTlNzR09CbFFSTUpaeStPdEZsZmFXL2hpVWxNNlE1em51M3Y4dmZYM2lGWTMrVngzK1BuWUl4Wmh6djE0emtnd2FMajZ1M3NiUnVNMGEwQ3BRQm1vNlVib1NRS0ZUdmsrMFNoTG9vaFphVmcxMWYyOGF2N2JyMVZ5eTNNL2pidVNkWDdQU01zcVdvdUpOeFJ0dnFsQjNWVEdLTlYyVVhjZFVoTnpCNStZZXNIcHhOc2p1SFA3eDVKOFByRzV3TDhuNEFxU05jT3YvWCtxL2QrK3ltNy9YN2xKVE9IblRyV0VrK3ROcG1sRXRodWR4b1VSTnAvVEJCK2Y3Q2QvcXJSYzA0Q3B1MmxWZzdaVWkwNEhLZEZqdjg5QW1HWGNNR2tmMzBmU1NkY3lKVkYvK2V6WVAzSlAzV0swbTU2bnlFcGhGZnE2aDZ1Umc5cmtnYVorR2FCTXF5YWJqam45UmVmeWY2b0FJR3ZQczB2Z1BudHV2Mzlmbnc0ZGN3ZXhLY2VaVEJZWHRXY2RpSWV0NnVUK1d4eWpiRXdvQmZzNWdkYk9MTTdFb09UYTJIUm9PMzM0YkhYb1V2RmtNNDJuN0drNFZrZjFlUTZicWZCV2FZMTJLTkxMU2p4Tnl1eEcxdlBkZGZMYmhHZDNacnJMU1NjTWtXWjd4REN2RVVaUGZJVHUyczJOcTJiUTdZZDErKyt1NDc5SVlHQndOSlNXSG1sQ204LzlGSFhYNjJXOGZZRU9DMTBRYzZjU3VyekFWUkNhN3V3VkJUdXJ2SHdIYks2TzBKVTdIWStYTXRUQ3lXd0ZqdXBzR2pzQzB3dCtwSURXakp0Uk9kZlM4a3VTQmttTnl5MHVTTjhqUXVHdGpBdm9VRllJTVZEeUdGN0NVV1h0YWpLUmFBRmRmSUNocmNtbC9Lb0RYMVhQbW5LcGFXU0Z3dUY1Wmx0Sm9LazhmckxGcm0yT3gvL2Z5aG5mYVd6TXh3aXNCcjY3QTNiVTZzZTgvRy9QZ09lMDFLU1ZOVEV3ODg4QUFORFExczNicVZVMDQ1eFNtYzMrRVpubjc2YVI1NzdESEdqaDNMckZtejBEUnRaMUlWQlZTRzROMzFzTGtCTWFNQVYwN1NMc2NYWXJ1Q0c1a2F5clR3cHdjNStyaGkwdDA2UzdhTm9LbTJEdUhTMmgzM0J1VmptNVZPUjNSZEVvV05ScDZzWW4vM2QxVGFxY3lQVHlhV2lFNnIzY1RNZHlYUlhkWFZkeDB1UU9HVk9qYUt1RzBoKzBEZjJKYU5QeWh4RlR0eXhsKzBMM2JZN25uaG5CSk1MOXpBSVdOVzB0Z2NKeW5vNGNYdkpyTzB2SEJub3ZoZXlLMVk0cGVXcTF1VURicFhzZXoxQUZWckJRTW14dkhseGRHdE9FV1RZMVJXS21LV2pWdElObi9wSjFibFp0RkxBWWFPRDdYcmQrYWtJZnppWjN0U1dkdE1iUDFHcXVaOVNLd1QwdEMrRGFMMHZnaW8zOXphZmlxd1YvM1U3NTB0U1NXZHpxenpQOUV1Zy83L2o0Uk9BWmlXWUVPRmgvcDZQNEdnd3UyS2tKL1RRN3ZaTFJIb0NLKzJQY2xHQUxaeS9oYTNVUHRtTzVjYmZGUUpiZzBWdFJMNFhPTDlXc0lwZHYrMGN5K1VhVE5zVUJwbkh6R2Ewc29RLzMyN21LYW1XRHVpbTNaRXdwYUhQSDgxcCtaK3pFa1o3MUxvdFRBeWg2S05PUTd1dVdQN0xsVFE4Q0UwZmdncGgwTFcrUkRjQ3lydWhuQXBOSDJ3SFczekYwRE9GZUFaQW1YWFE4TmJ6alRMNzJsSGQ0dE1LSVYwNVRwaXhDanZnWUpUN1g3VnMrUDRwellTSy9GQnMralhjNkdVd0xZME12Mk83VnNkZG9PMG5WeVRYa0phdG1GVGtKWEVRem56cVVadzZLcFRPVUN0d0ZJNTdMOThQMjRiL0NsM0RWN0hhZUh4Tk1ZYW5mcWVMdnFNR3laVnRjM1l0c0x2YzVPWEdXVGoxdm9PK2NaaWNaT3FHdWVpellEZlRVNUdrTkx5eG5aVC8rbm92cjFrbkxMTnZiVE5obE1UaGVRTUw0SFpCY1NycTBDNmNLZWwwdmpwWmtLTmNkQzNEN2krdEl6U3NsTEthNnZ4Nm00OEhnLytuS3pkUDhQZmw2elloZjNZMCtaR01NY1ZJRXZxR0NoR2FVN1I0Vm9yUnJaME1jY1Y0UDE0RS9FZklOSnAyVHBGdWZYc1BhbU0vYzg3am9BM3hLTTNmOHdlczZ2NTVlVjc4Njk1WTVEQ1Joa0dLcTVRVnM4WU5wdGRPbk8zMVBQRWF5djUzVDVEK0tvd0ZSRXpkL3NKV3k1dm5ENWtDeWRQZHk0N2ZlYWI4WHhkVWdqU1FnaUpsR0RWaDBndXlPTEcwNlp6Nm9aRk5GeitCRFdoR0hwcU12R2FXdEx5OHRFdi96bjh4aUZHc0pYZjJRVVNhTlk1WTk4bnVPYzNUL0x4ZkpnekhWNytjaUxuM1hzdGxwNmFrT3cvVG51a09SN21sWlVmWXl1YmtabEZlSFQzRDZ5RVZXOGsvUCtzWFpkclJ1U2h6WnVIam9uVlhqc3VXbnZneDIvZjhQQ1hnWUpYLzdIbG5lb3I4dWFDTzRuQXJIc0lDVDk4Y2U3M01xWkhheFpUWllYWldtNHpyamlaUi9ac0JBVy9uTGVKeldzYTJhTlI0ekREaFY5WFdMMGcxdjFYUXNjVWZ3cVQydURGczZvMnN2d1ZnN0ZTOGJjMnRjT1dZVHN1dlJDT2kya25YQnF4NDlrWHlLUmtySnBhckVZbkwwRlpsbE5Mc0p1K1Nnc3FFNG9aUFBmNU9nQk9uRDJNZ05mMW85dExabTE5dDVwTWFKcERobUZiUGRaWUdvSTFWb3dUR2pmeCswQU9wM3JUYUZZMmhyTGI1ZmlMUktxWjJTQVplbjhqVmM5N3FIblZnenZMN3ZCaVZVdWJpODhsdU9vME9QMlFYRzc5VndrUHZyQWNLMmFqSmJ0UXRuQjhUZEh6dGVxWnJoRFlob0dRRXJmYlRkd3dIQ0xOUkR6dysyNTd6ejVTSkJVRlNTa1l4TGdrSDdseUFGVmJneEJ5QUpIYzVoV01qWDZDTjFaRW1SeEllVTAxUVZWTktHc0dFUnJKTTB0cEZPblVwSTF0dDU0OXNlbnVDM3FaTDRZVDg4QXgrMzdMOC9PSHM5Y29HeFVYQkNxcWNlV3VaOGwzRXhDNFcrZFhtbUZxWFduY1BPSFB2RFRnV0s3Zi9GZU9HVmFKa2pyaGlJM3NiV3JvaHg4bXNEckJkTjFQZnNERlk5RTYzcmJETytjdjlnWjM3QUxuZHk2VmdWaVUxbHFXUklyNmJyY2tWeE5Uczc1bGVNcGFtdUpKZkZzMWxYV053MXJ6R3J2M1Q4MGU3T0ZlcXRIL2F4Mzd2a29oM0M1aVl3ZGdZR0FMbTNDUkQxZEpOYUs2Q2FYTG42ejU0UlV4SnJzWE04SzFsa1h4U2F3MFJtRXF2WnU5WnppNm9lV0NWeUcyNDMxQ09BQXRBdlRPOVY5VlU1eGovckNJbkJRM2Y3aGtMUGU5dnBramIvME9vUXZRSEl5bGxVZzRGQVJwYzh5a0JWdys5eFc4MmlyKzlWVVM4NVlWWVNsSThWa2Q0cVZtWEpLWEcrWHVrMHFkdWtGYm9DZnJSSlkzVTM3UEZpSXJRc2lndHYxZ3k0UjhOMDNzYUJUYW5ERkx3RGNETExZbTJaeTkxTVZSR3p3RWJBMzd4N3J3dG8wc0hJRG55SU9KelhzTG9qSFFKREk3RXhVS1kxZlY3RkszRDllL3o5WlBiRmJPaHhIQjU2bGVWNG9RZ29MeWpTeHRzaGdoRlhmN1BYeXNENkhPY0xEMFpML0o4Snc0TGwyeGNxdUh4b2ptYkpNMi9VYWp6djdSTk1HU3o3ZngrOSt1UndGMy8zRUljdzhiMU8rWEIvVGU5MVh0NUlPbXlmYVhRQ1ordHl6N1I1KzNxSlNORUpMcWNpZG5KVE4zWU92Zi90ZmFuaU5uOVdsLzMvSnBRaVpHRUZLaURUMmRwQUg3RVZyOUpCbXhiMGhLRFZJdnZRNlhTaStJTVNyWE9uNUVZMUJ4MlZNdU5LSDQ0S3dtdkkzU0tmdlpJVlRlNm9lSWp2L1cwcjVxRlErcTMrU09iOVpNOGw5L2hhcGZYMFh6cTY4aVU5T2NHS0w5NHlNR09mMlFGenAvRkVBS2lhWnNMTk55Y3VhRTdKSzRhOUdMTFhiMUI2MTJkZnQ4MXZaMXVwOXJ3Nm1PMitSbXBxSUZCYUoyUHNPMGVqNHZLRVRwT3FJbWhDVjZaNjl2NTlhU1NBUWpobXI0UFhGMDRhWTVLbGk1MmV3YkkvWUhic0xuUWM5S0orMkVRd2g5czVUbzB0V29VSWk5YzJ0SUgxdlpLNXZzL3NUUFNYKzR0bThIZWRxeEFBUm1kU2QzMmpnV3FnZDQxcGRmYnJkMUxCdmJxN05nNFdaUWlrRkRzNmh0aU5EWUhFTm9BazNhbUNFUGFEWVhIZjg1Znp6N2ZTS0dpMnNmT1FBOFpvZTF0cWFsbUw4cXdzYjZPTDg1THAwVHB5ZkJRZ2d0dDdCRDdEcXhzRkxnMHNtb3FxSndaUml2SFVaTEQrT2Vra3FPTDUyQXgwOU5wSjY1UlpQNHFuUUZOWkdHYnVNblBSUk0yL1AxVkV0bWJnOC9hUmlVUGZBQWxjODhneDJKc09uNjZ4bnhyMy9oS1N6c2M5blpqaEZlOXA3ZnpKV1ZRZWtEajNGZ3haRjgrdnpMSEgzeCtaU3VYY2NIcjd6Sy9sdTM4dEpkZDVCM3g2TnNuZjhGdnJ3Y0IvL3FDZDRYL2lnaGQ1UWp6OVluNUU3MUpsYk5NeGlQelY1WlFhN1hqcUZSZ1k3Q1J1S1JNVXlsTVNmelEzUmg4WjlONTZHTG5YM1hRRUJuLy8zek9mMzBrUUE4OGNScVhuNTVBODNOWnIvSURnMEkyUUtYVVB4bVFDUDdsMVZ3enkxMVBQT2hNeDh1M2JtVVZ3akYrVWNwSHByWHY3THNnVC8yTFpmZDJiKzJkZ2E5MmhnRklySGZ6RkFJUTVoOTZzVlluZGdrUGM1aDZZZnhLcVVJMVpXeDR2MDdxRjc3S3Q2MG9ReWRjeFZEcGh6T3MrOXQ0cEZIVjBDS3h4bDhMMXJBaUZOVFcwL0FwWk9uYktSaHRBN2JWQXBsbUwzQ1g1cDdLMHZGanJkTC9IUmJyMnlibUNRUWtBd2FzNVptTTRJckZrZExDbEM2Y2hpaFp0V3U3RU1JTUNMMTFLeDhBTTNsUVErT0lEbHJMSzdVTWZpU0J4R0wxTk80NFJsSXk4T1hlalZDNkVRYk54S3ZYMGxqMVFyTTVqVllSb3lNc1pmMWVvYUZLOEZIYXZUOGs3KzZKY0laUjNrNDZyZFJGaTdad0R1dkJUaThQb2VEVXBPeE5VVmpvbVpFL01qV1d3andlSFJxNmlPa0pudXBiWWhnbUgxdjgyZW1lWEhwa3N4VUwxcUN5OEcyRlZWMVVVekxwcVkrK3VQd3EyTlJva3UrUmFhbUk3MCt0TndDVkN5S01pMzAxSFRjZVFPSWJ5bkIyTHE1eXpxZzE0WXQ1VzkxZzNsaVN4YWhXSncvdnY0d240eWR4WjBYL29LcGUweG42MFAzRXF1cVJBOEc2YTlZcU1KSkUxOGRnSUk0SEZBUDR5MG9qc0N5TENodlE0aXY2UnI3VEp2TENOZGYyRnorR1BtaEo4aTFRODRkSDd1d1pmVnowdy9oaEZPR2MxeGFtTGVLR3luSVdZQ3lZZEU1NTdKWCtYSmVXRmJITThWUm1xZ0dNMFpPZm9DaWtSNmlSQm1vcGZMTmdCcHExdnRRTlVGc2FmVlEremlIdHltY2diSWg2S3ZkMVV0S3lBNm04OGZETHFPcEtIK1huT0F6L25Ka0I0ZE5PSVdXZ1FCVERqd1F0VzA5Wm0wTldxNGJaZHVZMVZXby9JSHNNV0Z2M2c2dndEU2FFRUx2a0ltL1VWbnM2UXB3dmplZHYwZHJrTUlCR1FyekpETW5lam5qR0M5amh6bWc4SXAxSnY5NUpVcDljNVROMjJ5a0FrdlpuTzlOWjA5WGdJWTJ0MXYzZE4yYXFRTGJ4dVZTUEhYZmNXUTN6WVBVNFZUSjhRemY3eUZRWWlmQWNBZlhpYmhTZkJLTlVtMWJMSS9IR1pRZ0VkNW9tb3h6dThtVUd2djZmUGhGNTVRUjF3MDZxVzlQelliN2V5QTFIYkpxT3lwSVA2eU9wS25OVkR5ZEJYYlA5TGxTNE5ZRlJabGUxcFZIMERVSXh5eG1qVWhwSlJQV3BHQk1nWjh4Qlg1T25aUE4vZTlzNWVWdnF2RzVaWWUzM1hmTHR5QkVlK3VzaHhhT1FtS2hPMUUxcTRvQk5ETkJVOHdZa2VRUUNPODVsb0pwNDJEMENQQWt0WDZ1cnE2VzgvZWZ6TVoxcFdSbWVjbmRFOVp2MkxpRDQ5VDM3WlRVcXpueDU0VWNPNkNNRHhjYmpNdCtGNVJpK1FVM3MxL0ZSN3o2ZFl6SGwvcW9vUUVwYlFvS1V0bTZ0Wmx0MjVvQmd5bFRDcGd6cDVCNzcvMGFLZDJ0dzVRQ1VxVkJXcmlldU80bVdUTVJmVUVHcjNad2FwWEFVanNudE50S09uVHdQV1EzditlWkI3c1VsOXJBQW1ST051YTZFbFJkUTdjSzZNSk8vaDQzYlY1OWZ3T3pKdWN5ZnVSSjNQU1M0c2Jqbm1aSUg1SUtDeUZBS2hwQ1RvY3BBWW5ZQmEzVWxrejQ3VVZoQ3FJMmNjMVJ2c05DRm52V1d4d3kyZjgvUlNxOHJ1SDdZYVFRdWs3S29mdmpHcEJMNWYzL3B1R2REMXV1OXVsVlMzVWxZeXVMZTB2K3crdmJQdURhVVJkeDBxay9JL1BnZzZsNDVqa3lULzBaZFNIbm1jYmM5QnVxbjN5ZW5KTlBoTXhrbnQzOEduOHVmcEQxa1Mya3VWTHdhRjdxZnFMcmRsYjZvWng0eW5DT1M0L3cxcW9HOG5PK0JhWDQ5dXh6MmF0aU9jOHViZUROVlExY1Jpa0J5MFJMQ2lBS0IxQzk4bHRpNVZ2SXo3MGVUMFk2WWROQ3RnR2paODJhd2FTSjQ1ZzhlVExqeG85anpPaXhaR2Jsb3JrTDBOd0ZVQmFsNXJZMXhDS0NBYmVlaVcrY3dxeGJnRElXZzdFR1paV2g3RHFjcEVoWGUrUzlQd3p5N3lFQW9RbUZyUVJtM01YZ1lJUi9UbHZEb0hvMzl6MDVFMlhETmJQV2NkTGVWWnkvY0FRYlEzNkV5M1NLQ0xxVVFRcXF0c0ZIcitNdVdjcGhodzdrb0JsQmdqN1pLMUtHTTNvdTNiQ1ZvbGsvR0N2dEFuUi9FVTFDdzY1ZmlIL3JlbHhmUCtBRUp6UUIzUWFTZHQ4WjZhOVFoUjJMWThlaWZYNXJuV2hqQTBzaHNDSW1Jd1psOGNmemMzRzdhMWhTdXA2cXBpMUVHNnNZUG5BbVF6S0djTmRGZzduNEwyRldieXhIODdqYXJXdVh6MjlaOE0wM3NHd1psSlU1LzRIejc1b2FHRDhlVXJxL05iTXBCdWRNQUg4RnpCME5qNWM1R0xrWmgxOU5oRVB5NFkrTFliTUdHWDdZRm5IK3c0QXB1VEJuQU55N0dLUnIrL0cxYmNuZU9aOXo0L2cvVWVBdjQ5R1psL0Q0aHBPNWNlbHZFM05qSTFCWWNRMTBPSGpzUi94Vyt4T2puMTVBK2J0QnFpUFp1SVJCL3RScXdpZm13aFZPdnplZXR4Y0loZDh6QzFQYW5IRzhUc3pRUVlCbUdreDhxUnkxMENsYW1EZ2loOThlTndkTGQzVnFUdDk0UVUvT3RVTW1QQ0paOE14a0YwT0NncGlac0pWdGtBRkowNnUxMU54WDduaTUzZUc1cWFsd3h4MHdkU3A4K3kyY2NBSlVWbjd2dXFFblB0cXpxMlBVeGNzNCt1Q1JGSytyNHMwM2xvSGZLVVI0YzBNVkhER0JvL2NmeFN0dkxtOXZGMHJKSVRQek9INmZRalpzYTJaRFdmT1BWMGtxUUZmNHB4djRwaHVZMnlUeEVoMFZCNnYrZjU5SXVLVU5OSnY2cFY4cHdJekdxUThrNDZxdkpYekZkZFMrK2pyNU4xNUozWXdaYURFTHZ6Q3hld2xyN2xod0xvVENqcnRCcy9DN0RjSnhGOHJVa0c2alI2VENxbzJQKzhtM20vaHV4VGI4SGhlVFJ3OWdjWEU1ZGMzUjNkSkhMYlRtM2tDTXd3NGF3Q1AvSFVMRjBnRjR4cGJpbmJxUWNjTzJjTy9vR0hWeHdXL1d1TmtXQjUrRU9rUHd5RmFOTzBiRTJTdk41djFxaTQvcVpQZFBvMW9TZk1CaE4zWG13STQyMGxUOEdySHlaU1JQT0RsQkpyeHpFTUZXQ3IvWGhXVXA3dmp2Zkw1ZXNaay9uSDhJMDhjVUptUzgybjZEWW0vMldSL3ZyeGE2bmRNRCszUFM4U000T2lYRTI4V05GS1oraTFLdy9xeGZzbmZGQ3A1ZlhNTWJaWUxKU1VGeTNDNkNBY0VYSzhyWjRuNmZESDhXRTlKSGtxdGxFb25ITVQxNk84aWo1V2JMZ21TZEM2ZW44czNXS0srdmJxYTB3Y0Rya3ZUSUhQcWUybkZET3o3SFNnZzhGWUw5M3JkSWpSVWhyRlhzdnl5TU9FQVN5MUdJVHV6SmwzWnByL2ROMHhXTXE1WHNWOVlFVDcxTGRPNU1QR09ISXp6ZEYxZ012TEIrSjd4TVNvZGtITVJPTnlsMzIvN2V0ZXdRQWtKaHlZZnY1ak44V0lDR3hoaTF0V0gybmwyRjMyTjNiOHhhL1JPODZFbkNlUHV3YlMvc2FHQ0ExTGpJbTh4K0E3THhuSG9pdmtFREhlSzBXSXg0ZVFYdTNCeUV4OU10Vm5qR0dXZHNoeGpqQXQveFVaUUxvbjVGdUZtZ0hSUW5tS0V6OWdzM2swczBUbjhmNnIyS2pYazJTNGRaZkRmU1p1a3dtdzBERkhWSm9JVEMwK1pHeS83YUQwL05MZDJoWDRHdVdkU0dBdnpoSDhmamtqcjdUZmdDS1JUdkxaNkZVWHc4ZDU5L0ErbUJja3hMUzN6Lzl2YnpMckVuZ1MwVW9ZZ1hyMmJ5OXJMeEFBektyQ1lVOVlKUXpudTY2TU13MndPT1VzcjJTYTBvVE5QR3RPeGVGYno4SW5NR0o1NHlnV05UTE41YVhVVkI1bmNvcFZoMDdpK1pXN2FhNXhhWDhVcTVRWWJTMEFCaFc0d3BhbUJBVXpFR01UYTVjMW1HZ2JtREhkRHpHRkFWWU9MU1hIeXdwbzZISnZxWlBzREw1WnVyTVd6UjYwSWhXOEdLaWpBcThmdi96djI5L1NXdDI3ZW4vM1FROGJoRnN5MFJoUmxZcmlhcWw2OWozRUU1UEgzTHdUU3QyOHltY0F3UUhEUXFqU1BPSFlkZFU0dSt6eHdpYmg5bDd5eGxkcXJGb2IvZEY1ZEw0NVRUNzI2Vk9WN2JadlBtSk00czNvTzdzNFp5emJoMW5EeW9ER0hhV0lhT2x1eXNsbFV2MEYwbVNrbWVYbHZJbjVjUFkwbGxLZ1FrWHR2dStKd0VBakI1TWpRM3c0Z1JYU2R4QytHOFo4SUVtRExGK1d3SCswa0IyVjZUUzRiWGlZbXBNWFhQbWpRMXY4b3ZZcGJvSDRJWEFaaGllMkdkMlF2MllydmYxRVduTnZ5bWVhK3hhZVZxc2oyT2I3a3BGaU45M21zTU91akFuaE5MMlE1aFVmTm4zN0hsZ3B1SXJsemZPc2pxZnp4SCt0bkhVSEQzdFVpZnQyZWt3cmI5a3pyRlNnYVFQc1hmL25NNDF1bnpXYnBtQVBPL0dZNU1paUNFNHNuWDk4TlN5UWloZVByMWFXZ3B6U2dsZU8rcktjU3NaQ2FOMk1xOS85MGJtUnpCVnR0dk9CWmFJL1hOczlsU2N3SDU2US9TRURQUlpGdkRaM3ZlcW9BZTV5TjllZHQrVG5LQmxQamNHaGNmTkpSVDlpd2s0Tkc1Ky9VMURMcjRUWUplVjY4VDFzOU5QNWdUVGg3QmNla0pmWkc5QUtVY2ZURzNmRGt2THEzam1kVXhtcWdFWVJPMTRtd3FWZ3d0M0l2R1JpOWJsbXdtRUlnU0NnZDdUUGd2K2tDcTJ0RHVZaDJSK0hlR0ZlT1FzM053dTkzVVAxUktoZXFJbkV4MWVod2p5cVpHV1F5UXJ0YmMzZFlpekYwNHZ4SExTWWcvTXF1UTZWdE5ucitzaW5rdnp1T2lTOTdrMEdtNUhPb2JTaVIzSEt2c3FYelk0T0c5NmhvVzFHeWlMclFOckdhUUVxRjVrRUp6eUlWN0JDSklsR21TZGV1OUtNT2c2dXJ6a0VuSm9PdmRudFAraXVYKzQ4U2lqdWZIc0dtSzJXUUg5WGFGbUpYTkpra2VpYy9Wc2U5KzVwMkpYNTU4c2dOVTN0RTFVMkp4SHZuZ1hZcXlRdERZUUxVc1ljQU52d1dmcjFQL2pWTlA3ZG5DV3FxMThFY3B1OGVYTHd5ODllcStGV1JIZjhqL3RlM3QySDF6dXBVN0xUcXl4Vjd2NmxpL3ZMQXJKYUtJQjl6RUpvL0FQMlFvY25nTzhsOXZFblZGaUJZVzR2OWthZmVFd2oyNTNYNFg3SWYrd25mNlM4OGZOZVFBa3R3QmJHVzN1YkpHdFJJSkNJU1RiUTVnR0U2Qk9hS1ZjTFBscDBBUU1pTGN4eGZmby9YZWg4MjJRU2w4Qjg2bHFQaGo2dTk0aU5ycjc2THhYOCtRL2ZCZjhFMmJqSjZTaWhaVmVJWU5KekwvSzZwK2VRM21wcTJrMzNvbHFWZGY2Q2dzeTlySlpndEg0ZjJ2SEZMZ0ZtTGhRL2VzNHVEaDlieFZuOHAvcXgweXFkTXlxemcwdFI3UlpQRDJXeDBUQ2U5a3N5dEZFTUYrcmlCVE5SOHJQWUw0ZnJOSm5qc1RMU1c1eHpIbEZseWowK21KRzFTOThpR2xEejVMZU8wR0FQekRCMU53MFVsa0hiTWYwdDAxMXFWMTRITklLVEdhbXZCbFozUGNJWWN3Wi8xNkVJTFBoZ3hweldWd0pTVmhkL0FNVmlqVTliazFCRnBCSE85SmRlaERFcGRBbFhpSVBwdUdWZXJ1bGxUNDJmV1BkdHEzc0oxcUFTUGhydWdKNTF2SnpwTUFXekwzTE1ORTh6akVSVmJNSVh2VFBHNVFZS29ZNmRjMWtYbTQ4MFhWcjRlb3ZTTUpYWHAyZm4rYmZ3T0VqUmpwL25RdTMrZHlGcGF0NHNiMW4vRm1kQmlYN1hNMWhaa2p3QXBoV1FhYTBIb28wREs2WGsraHNHeUJzaVNIRFdqaUN1OW0zdno3SnY3OHpVQitkOE9qYkZ5M25Odi85Q2ZIM2RFRXYvNkZsMS9OU3FibzdNVGxPRlZWN2M2ZUxDckVmK1dscVBwNlpGRWhzWDgvVHZ5dDkzcE83dHBCdS8vKysybG9hRUFwaGMvblpBQ0hWcTJtNmZPdkFVamFjd2FCMFNOSlNrcWlxS2lJbXBvYTdybm5IcTY0NG9yT080MWJzTFNDYk12UFZYZGVSbTVlWG9mN3M5dnpkdXRIdmNPTlZCVk9Ib3Frd0JWbXdmSW1ZaEdUVEpGSmszRHR0S1l1WWVJUnhrNS9GeWhzblBkZjduK2UzL2lmWnF1ZHpTOGJyK0hkMk40Z21ycVUxdjhNRHU1S0xTTUVCSHpPZmcxRll0MjdzSFZySEZseWZlZUZqYmF5OFdwdTFvUzI0ZE04RkhyVGlWbEcxejczVmIvdVZyVkhMTVc0REhqMzVnY0FtSEh2dml4dlV2aGt6M2x5czFKTVpveUtFb3ZiNkxyaXd6WFdidGU2eUJZNXMrT1owMEFaa2tDcUFwZk5vSDNDakp5Z0NNMlhiUG5RaXhrWEpBMktZbFM3a2JaRXRNbWZ0QTJMcnhlWDBOQVladTJHY3NabnBaTnh4QXhTZmE1ZEkyQjUwaUVOVFVseWRSdFBiSmVLMjgzTU5pUitybTMyOUl1YWx3UDd1Q2h5dFNOTGtvdjZ1TitsVHI5M0V1NDY5dVRTS2Nndm9MNmhnZnI2K3YrLzJIUVNzYXczNStXUUg3R3dFWlFuSjNQNmFXVTlPMzRxOFg4VzJ3T2pVamdGTVB0bUF3TGQ2OWpGeHNIWmpnbjgyamFuME41dWk3U3JuelMvbjVTQ2xLQ1A4NDhkeDI5K1BwbTZwaGgxVFZGZStiaUVtR20xSnhLMnZXUjdxemtwNnpWT3pueWZJU2tHRE53Yjk1UXp5Wmw4TkhqU0FVYzJ5Q0RZWVFlZXNvSHF0NkQyTFVqZEN6Sk9BL2tTMkFuaXF1QUlTRDBPNmwrQitrK2M5MnR0WktFTTBNdnF3OTQzdlNQU2dWYm5WWUtwSU4yeDVHVEZQUTcyMEpMNHJicmZySHAySFBlZ0tESm9vWnBjL1hVa1VMWWd6V1BnMFMxR0JSMGluV0taUWN6VXFJdTVFTExucE1JU3NHd1h4NlZ0cFRxMG5MUEt6eU5TWGN0dHh3NmhMR1R6MEx2MVhCQ2R5Vjl6M3VQb3ZHRThzVjVEYWwzWHFlcWFaR2hoT21uSlhyTFNBNnpaVU0zR3JmV2R2RmRqYUZFNnFVbGVoaGFsVTF4U1JXbDVZN3YzL082MFVYMDdpUjhzN3AxdEpxckJpdUZPZHRPdzMxRHlQaThtVFRXd2R0YlA4WHhiUnFnK2hrQzJ6bm5hNENJR2FSS1A3cUpveEFpODZXbDlNdXlIekFIOWVqNHNDZk1IUzRxemRzNkJzcFZxdmFSc1J4RTdxa3F4OXdZYnJRZG1jcTUwa1NFMVlzcm1aNTVVOHFTRFBZelJ2THdRcXlkRGF1UktGNXZ0K0s3SElHeUwrdktOVkpkdElYL2taSHg2VDIwTmkwaEV4eU1zTXBLYXFXMXlzVzVUQ2dWWklTcXFmSUNOWkR2Um1CSTlvOHZUbEtMZW81SFhFT2ZCTjFaejE1NUZQRGt1RDdjUzZQU2VramZheGg1MzZ5WnpoMi9pbkwwV0FiQzFMcGxGbS9NdzBiRk5FNnN4enA0SFR1TDIyZG1NZU9JL2JIdnJNMFJhQ3RMdndhNnFwZURBZlNtKzRtQnVrRiszOXYrWTcxbVFDaEhWYVJoVHp2azN2b1ViZVBzanlZaGhjTzdaUzBpcCtBTzF6ODBra0JMRHRycjI0YzdhdmpEZnE5NHJydHJFZDJYRkNBVExLOWF6Ui83b0gxUVBEOHJ3OWtDK3Q4anU3bmZFeHRacC9UN250Vy95NlhXbEdCR3RkK1hIbTJlT2k5YU9HUmV0UGVTdXpNbi9DQVh5UHA5UnN6VDZqVCtQeWVFdExKcjFJSHg1VVpzUDl3L1NlRmIyVEU0NlpEekhwdG04dTZTU2NWVXJzWlZpK1Mybk1xZHVIVTh2S3VmZHNnb2VVQXRJUTJFaWUzVDU5d1VKSFhOc1FzZmtKM1RNMG5QT1pVNzVjbDVjVnNlenhZazRJRFpETWoxVWhreSszaHdCQXc0WW00UmhLZWF2YlVhNnQrZlVLS1dJZlBrVmRsTVRNaW1JaXNXb3Z1a1dwTisvK3o1Q3dxbHZqQmo4NmZsdkFEaGtjdEdQa2xBNC85WnJ1dGhsRXFHNU1FSU5JQVV1WHpMS011aXl1UFYzbHljMGdVSUREQlEzaHNwWllrVDRyVCtib05Sb1VoWTZ3cWxQYUJCNGgxaWs3bS9nSG1DVGQzNEVUS2g3ejQyZW9sQTdoQ0UwS1ZCbU5XYnpNbkw5Rmc5Y000RXpqeXppZHc4czVmMlB0b0pYZ2MvZHAzNmVFQUlyRmlVL001ZjlwKzdOc3grLzJqcEhkalFLTG5lQ2RQbjdjM0x1ZnZ0K3RTVXZSVnkyenk5WXN1WUxIbDJ6Z0dydEFFVCtmaWdoeWZCRjJjT3pIbTlEbEtSWUE2TlRpOUdFVFpPbmdkR0JMWlNZZzFqcjhlQTJtakNscC9WYzlMam1XOVdneTBZV05OU1NQcUNFWWFsUXFWWnd3dmdVc2pNYnVXU1JhS2V1YkNFUnlrUWF0U3hMbTh5SkdmL2gxQmx4Zm4rY3pxZ2hPc1FWbHFtUTdhTG5YYlEyZUxrTjVFc1h2L0ptc1ArQTRXaW5Ib2QzVU9FdXlmVk9jWDRCdGdGNTJZTEpveldpY1RBWFcrZ2IxRzV6Tm1UN0tybDY0bDg0ZWVnelpIaHJNR3dYUzJzbWNOdWkzL0ZPNmNGT3ZXODNMZVdvNDdyMGVVQmdXczRWWExybVlOeGREdm1PKzd2MW8vNS9hc25LYUxWYkJUYUdBYlZHR1ZwbUU1cFNOTWI4WkVkMWtvU0ZyYXlmS040aDhJc1FjNzJmYzdqL2JmN1RiTFBlR0l4SjEzcHJ4cENKREV6UG83aGlJOG5lQU5sSjZXUUVrdGxZVzA1anBKbkJHUU1vYjZybDAvV0xzV3l6dzkyVFNOL0ZVazZPdTJVNzUwb3FZQWNpNGFNbmZjUGxlNzJDVnl2bVgxOGw4ZXJ5d1ppMklNMW5PbmRXZDNic2JjRWRKMnhsUUZhVWVNeUZ5eStvbTFkRjFjTmxtSTBtV3JLT1VtMUloRU5SbEdtaUpTY1RtRDZkd055NWNObGw3VlRrMWlURlhkUGliSnlZd3hVVGptZEladUd1RWN5ZmZIZ245cGx3U01WVlc0eDQxNWhZWkdZR2VMMVltN2VDcm1GdExrVm1aN1VudnUxbHV6RG5NRTcveFNnTzhkYno4WnBHc2dkOGgya3JTaTY4Z0drbDMvSEtpbnFlV0IwbnBNcVJtb1hkNk9Jdmw2M2wwQ20xUktJbTgxZG1jdjd0WTVFcEJwYTEvWm5PUDcrNFZmZWFkWFg4NnJLaENBSC8vbmNaajc4YzdXTVMvOTN2UzVQdHIrRzBQL21NNkR2dm93MGFDSnJFV3JjQno3NXowUTdjdjFmOTJ0K3p6NmVVY3pIeTFnMUxXTFBzUTFBd1lzSys1QStldFBNbG9qK3k1blU1WTRzYVBWL1AzKzF6Y1orTzRSNytrb0JEQlhGREo4TmRTcE03aytDRWk4bkp2b1RmamFwbi82b0ZSRFFQVWMzZGViN1hEbTM0bjI5enpyQ0NobVRGdWYvMWNFVmFOVG1YYmNXcVQrUU5vWERwME1MWnBVc3dESEM1ZHZpYnVUM20yQ0xaaCtZSHV6T0MyWjVVM0QyUjB1THQ0RGtvaFQ0Z2o3eG4vMHYxYlhkUWY5ZGRDQ25CNDNIeVFYYWw5WlBQZnZ5NnYzWm82TmlBSDRnYlVLOURNSmlNWGQ4SWNYQWxiZWZNYjAwVVQ3UXJlbUJYejAzNHNjOFV4MmdTVlJDTDRTb3FKR1Y4TXZHeVo2bEpMMkN2bngvSW9zOVdVN050RGNLM0hTdnRiVjJGbEY0ZU9XTVpldzZzb0t4cUtVc3JabkRVQTN0aG1LRStyNlAvbmdVWGVsb3lHZWVlUU5ySmh4UFlheHBWZHo5SzZNdHZPV2JnTnM2ZVZiblQyblRWV3F6ZlFTY2MwYmZqUEMxeG5sOTl0Zk56cG15d2FrRWxnai9DQjFyNjl0dDNPbXBaVG82VVJ3b09tRDJVOTc0b3dYRHJLTlBDc2h6N0NXbWowRERyQTB5YnNKRy9YZkFXc3ljNmw1OHZXNVNEYVdyZ3NqcXRzODNLeWtLNUF0d3hyNW5pV1hWY2NVd3F1WE5jTkg1aUVWbHBZNGQ3N3hpMFBNMjJCbzNpdkJDMlYxTGJFSVN3d2d4WVZJZnFDVVdhbUpZM2lnVmxxOXBHY1haWjF3dTNHOWYwS2JpbVRuSzQxcjVkUXZ6YlJSQ1A5K2dCcE1kRC9pV1hvQXlENWlWTEdQU0hQK0FwS05qcE11N2RhbExnbWpnQnord1pZRnJFRnkvQldMb0NGZXNkcnE5TUU4K0FYRGE4L0NhRm03Znk4UU1QODdQYmJtRHgvRThwWHJDUWZjNDVuWmYrL1JpVEJ1YXo0YkZuOFF6SUFiTjdtZnlMbElNNDhjVGhISmNXNGEzaUJ2SXpGNkNBNzg0K2w3a1Z5M2wrVVMwdmI3SHc0SExxeEZERWJROGprbFl4TG1VeFg5ZnNpVnNZUkV3L1FYM25XbGUvWDJmNDhGUm16blF1S1AzeXl3cjhmcjNQQ1lWbFlpZlZtWUx4UVlOcmttdG9mTCtLVSs1cFptTzVUUXVzWTVpQ0libUtQLzQ2aUd2TzRUdzA3OWwrRldkbkhOK0RuZFFtSnQ5ZE8vdlg3WFhhanBmR0srSFlmclpoWU1mNzdwSXNXMEhBN2Vpcm9FZWlTYWdMVzJoQ0VJcmJQYXViNm9meENpR28ydkFkZFNVdk1YRkttRTNyUHFlaWVCS0RKaHpJblpkUDRhYnp4eU5Genk4VHo4OXlCUHN6NC9LZG5FY3BzRlhLVHJLdXQrTThvamRTVkxob2Jpd2wxTGlObklKcENhdWw1enE5clZUdGxZVFZlaUhvZXlFZ2UyZmJXQWlYUmtiV3V3d2NNSjVaU1lXOHVtNGVZdDF3NXdLb0haNG5PWGN5OGVaanFGLzNPTTFWeTdDcjMwYnpGNkp5enlSR0pvME56VFEwcnFQSnZ3NjNYUVlWajJPRnQ5RFlGTUxsenlWdDJCa2s1MHp1dGJMempITndwT2gzN2g3UFJYTlU4ZUJ6VWZJL2xCeXpuNXVqZmgvaHF3VWx2UFZXa0tQRHVleWJGc1RXRkticUsxeE9kUjdYYUNWQmxGMGtMcmI0WVRhTGlzdkp6MDBoeWU5bXplYmFSQjJZNkhHTXJxc1JGdVVHeVVyejRmZHFlRDA2VlhWUkVFNHRwaFNLY2NQU2lCazJvWWhCZFgyVXpkdWFPLzdHL283L0plYkpYVGlJMUl1dncrVnlJWFM1UFNjODNnanVGSlJsNHhrNWptaGpQZExUZWN6OXQzK3A0UGVuTmJQWCtJRmNzN2FJMm1neW42Mzhpa05MMTNMOVlXZHp3ZC91Si9yZy9WUjk5bkdQL2N0ZFF3dWh3Z3NQRjhETGNkaXZHcjdNaDgxZUNMVEYvaHViaUpRVkk5NzVGOFAyT29mbG00YXk2cUg3eWRtMHFhZmxTZTJhZnN5VURQeHJpem55b3pMZWFFcG0zakJuY3g1NzVac2NQVEdkeTJabWMxREZHdDR3NHFDNU1lcWo1UGtVK1JsN3NyenVXK1prRGVPREZRMVVZM2RKVE92c05JbW14N0RxYzFqODlUUWkwV1NrRjN6dU9nWk9XSXBMRC9lSW1LWnRTL0lFT0diOEFUQms4SzRaQjEyOHRzZTBhUlNtcGhENlpEWGU4Wk5RRGZVb3k4UTNlaXloUmQ5UkpBNWg2c0R4ZkxYc1U5RDBEaDllSW1oV051ZjVNbGhrUmZuS0NJR0NvRzV6NE5RWXM2ZXFWaXhnOWxUWVZocm44NjlOc0oxa2pKbXVBT2Y1TW1oV05yTE5rZXZwdXIxdUdDQTFZb2FIK3RKRVFmR1dSZFEwYkNBUzk0R0lkQ3M4QkZCblc3d1JEdUVTZ3JXR1l6Z0hwR1JUMk9Bb2Y2QmI4VE12WTNyZm5wZ04zY09OeWdiTmE1TnhXQzNWcjZlUmZtZ2RLWHMzVVB0ZUtwclA2aGI0RmNJUnZIdU5UdUhRU2VrOCtWa0ZxWDZOUFVjbWIvY3ZFN0pjS1VXS1gyZnVxQlJlVzFqVHFiRnovSlRNcmlmYXRqSEQ5YzdoOUNkdWkrcmlJZitjK0RsRUQ3RUhGVXdmNm1IRzRkTVpNV3M4T1JOR3dLQ0I0UGEzenBVTkNNdEcyUmFheTRXdTZSeDB4a1Y4K2Y3YmxHM2R3bUdubkVOQjBYWktJczl4ZmV5MDMrNGs5NXc4MDBmeW1vVWNkMWNUTHpjTzRzdkpIbEEyKzUvMUZjZE1TK1dLL1FUSGxxL21wYmpFRndod3lTV1R1Zm5tTHdtRmJIVGRTMmxwRTIrK3VSN1EyeG1DY1ZQeHRabUtOdlpRWWtxeU1CS2tMKzdNdVhUV1d6dHB6WUE3Um41cUhVcjRVVUNxUDhSWmsrZFRHVXJlaWNSa3gzWmZna1hvbEs4Lzd0UkFFSDRmM3RGSEUzL3pSUWVVR1QrYStIdnpVZUZJcHdiRGhWMFpQNkU0MzYyb3dqQnR4Z3c3Z2IrOHFYSFZJVTh3Tks5MnQvT2hiRnV4YUZXVVFRTTAzdm5hS1pnNmVFYUFqV1h4WGhlc3R4ekw2emZFS0lqYTFMb0Y3c1Q0bXQyQ2dxak43emZFT0dXQ3I3OXljSGJQM25Nbm5qZmVjNUtKUTEvLysvY3pQTk9pYWY0WFZQLzdhVUlMRnU4U21UQ0FsY2dteVhTblV4R3Y0ZnhGditQWnphOXg4K1NyR1gvSkx3QW9mY1VwM000OCt5SnlMdmtseTBMcnVPbXozL0JCelZmNE5TK1o3Z3hNWmJiMjlWTnM1MHhPSW1YMVVuNyswVmJlYWs3bXRXRXhsTEw1MlJVdmM5VEVkQzZibVVIeXRpMG93M0NTelR4QjFuendMQjhPRDdOcHdnbVk4OTlqb0s3VGpFSnJjMHkrL1hZaDMzNjdFUGdQQUdtcGFZeWFOSTZqQnc5anp0U3B5SndjY3Nmbmtoa2NpZDgzQnVQYlp2VGdPT1RvSEd3emhCVmZqekpYZ2JFQ1pTd0ZuR3Via2c4TzllMEVKSERFZ1NjZDE3ZjkvdlZQN1ExVm9SeFFWY0NsZzdaeXgvajEvUHVac1J6NGw4TWhJa0dUWEptNkg0OWY5eGJyai9xV3l4Y041YjR0ZVZnS2ROM0M3RTVRV0NiUmtoTG1QNzZCMUkzSlhIdEdGc01IZVhyc3VmZU1VRmdDRmxLRndUTU0yejBRbzJJK3ZrMWxSQ0lDYzlNS2ZFMmIyOGVIT25Pc1JNdVBIUzRmc08xZVFRNzlsVWpueWMxQ0dTYWhGY1Y5ZWlGVDJ6Um5aMFowemp0MklNRmdsT3dxRHlXYlNnaEh3OVJWRnhQNmJERmpUNzZmNXR4eUx2dlpjQzYrc3hwN2h6NjZOUURuellNNzc0VE16TzIzSUQvMEVGUlh3MjkrQTJlZTJTMmdjOU4zTURFTERzcUNsVkc0ZDZtekZmS1Q0TW9KTUhzZWxOWkJNQWlYam9hYmx6aEJSdDBEcFNGNGM1UFRUMXViVWtxYko5ZWN3UFNNaFZ3MjhjK3NLUi9HYnhmZmdHbnA2THFKYWVwZ3dwQ0N6VnczNEE0Ty8veEZtcDYxS1NsM2dodVp1ZlVrbnl5WU4rczA3cXk0SEJnQ3dPL1BtOXN4eGlUQWpzVFl0dndUNnI5MVhwMHdJcHVEejk0VDZldjhuSFJIS054Q0pqd29LSGgyc292UnllM0poRVZBMHZSMlBUVi9MWE4wbGRhRG0yZUVjQ2JUNzNkKy9rQ0I5aDc1YUpWcmVjVTBTVTN4OGNHbjY4RG5ScnExQk9Eclp1bXFjdmJiYytoT3FHMDBidkxSd2dyS3FpS3MzZHowL1NSSjdlbzVGbUEzU2FMTGRLdzZRWHlqaGtyRVhxVGZPY1ZXbmNiL2VsdDcvRG45WnRPNU10SW9ldUIyWWhzMnNmV1d2MUwzeFhjMEgzRTZ5N05IOG9mQWJEYnBxYml4ZTNXZmdETE1kb3V2VEkwUkJhWFVOL3VaTld3elg2NHJJalVZWmsxcE51aG1yelpIWFZPVWh1WVlweHd5amt2UG1Nbk45My9FTzUrdjN5MTdYcGtLREp1STBManZrWFVnRkljZk40QXZ2d2xRKy9RUXpyMzVjVXBpcGN5djhISHFnRGozYkhJVE1TV2F0S21KQ3o2cjB3aFpncVllNVJ3NnRyMFFHaldmM2tONHcrZTRzMFpnTlcwaldyNkk0SWhEeU5qcktqUi9ScGNIeHlFTmhxRGZ6YWVMTi9DejN6N09iMDdkbTR1T240MnVTV3piYmlVNzZ1a1pmNnlQOTllK2laOVhIanNTWDJVWlYzOVl3K3VOU2J4UWxJWmxXbHorejRVY1BqNlY4K2FNSkcxSkNTK3VyMFI2WEJSbHB6Rm43RXkrWGV3ak56MkdOOW1pdEtTYThwcjRUc0ViMGZLSXRrSkl3ZlFDSDJPeVBieTdMc1RISlNGQ2hzTG5jb0pUYW5ma1Y3dGYxQzRKdG9ubGF6dUROeG15SVpsQnRSbHN5aXRpbTRneGZWc0ozZzAxbE5EWUtYZGFLNkZ3Vjc2WVpUc2tWQzAxd01weWJzcmJEYm12QVVkdWdkTlh3K1poT2lJL0N5c1V4cWlveGwyWTI2M2VMRHl2ZmlmejFvaHAxRGU3OEhzc0FnR2pkM3JwN3kzUWgraFk5UWlGWVhnSnVPdDU0ZGtraENhWU1UVkNMT2JGN3dsajI2S1RJU2NHOGY3dC9TSi9NMDQ5dmhzNUliRE5NQWlKMUJKa2kxMU56RU4zdEpjUmdGOUtwbGJYazdKZ0NZT1BPaHJ2K0xGRUZpK2w4YXNGZUFzR2tuTGdmdDBTbUxRbTVGc2dQQW90M3lieWpKZkFPUkZpYTF5WUpScnVXUWFOWDdnSmV4WENCcmNoR0x0Qlo5SUdGNmU5cDJqeW1Hek5pck5xVUl4dnhzSlhZMzE4MjgvNzRaU2loaDJFcG9SZ2hQZStHSVdLK3poaDd2dFVONlZpQWlmTWZwK25QejJBb1pFaURwejhLVFQ3UUxZL1Z4MFJDa3Voc0dNZVpvOHFabGhPQlkrOWR5QUVRcUE1Mk1URzJuUTJiaW5rckFQZlkxMUZEcDhWajBKNll0Z2Q3TlVMLy9UR0R1YW9ZT202aXBZdll1TzJCcTY2N3oxOGJyMVgrK3lVdVNOSTNyYUZuejJ6bmpmRFh1WVZPU1RTeDl3Nmo2TW41SEhabEtFY0l6ZnlzV2tobFVMenUxZzUvZWZvMzFiUUVJdFFmUEJ3ZlBFa0drd25hYUQzc1FUVENienFHcE1IQnZqM3ZFY3dpRE14L3ppS1hUcG1OSWFRWFplaUNRR1pmaGN4MDZZcFpoRnJjeXRxc2tmRG8wdHF3a2J2Nm4vRXpsZXcvNWlTYTRkNitoWnphYUZ4blhISERRamg1S3dZaGtXdGRJRkxaOXNkRDRLdDBEU0oyZWd3R1d3NjZuVHdla0hYVWIvOU04SzJtUnowTWszWHNHMTc1NHZ4RU9DeHdGQXNxVS9oNTU5TzQ1N1ZOVnczYmkySEYxVlNQYzhKcXFZZEV1UFZ6WG44Y2Zsd3ZxN01BR25qOHNjeDNLN095NDk4UGpqNmFKZzdGL0x6dCtzWklkci8zdkp6N0ZpNDdqcElUM2MrUzZlUU9XNnAyRDhuSklZbXhmbFhTYXA2WW1PeUtJL3ErRXpuQWFNdTBXT2RxWnFhTy9HQkJDb1NReGxHYTEvS01GQ05JU2NqV0hXZFBaQjJXTHpMRUJBQ0lsR25ZNTlYZE0vNThYU0xqV0IxNkJzSWo1dkJ0aUN6ZkRPVk9MR2dDWVJKVGhDOHE3aUIwTHZ3djJ6bEpLeHJFck84bXRKTGJ5TzZxZ1F0TGRuSlNrckVyYW9mZWhaMzRRQnlyenNQWmR1dDVKbWR0WlNUK3hnei9NZGYrdmNnTjN5REVncE15WnR2MWxNWGlvSlJqbXBRVGdsWVRPUERqeHVjclJ2OUJOdE9FUFNaZ3VVcndtemRHQVhqVTFTRDNTNzJxSlJFNkdFMlZKekZIb1VtTThZMDBCelRrSzFFL0FhYUhVTVRrcmh3SWFXcmpjMjY4ODVZbU5nUVN6WTFZTnVLZ0Vjbkw4MUxXWDJVVmFXTitOd2Fmby9PckJFWnVIVFo0MFNxVmEzNklndi8ybUtPK0dncmI0WlNlSFdZUU5uMkRyakdHbDZQRzRDT1cycGtweTNFQ0N3bmIxQU93VTB1dGl5c2dlQjBzSHNpR3dXMmJWSFhXSU5TSnFadDQzSDVjTG1UZGc5WWxBSkNVUTdiZndSeVZqS2FONFhEVmlmejZOdkxJT2p2TnBsRjRKQUp2eFp2NUFzanhPbmVkS1lJSDQyMnhycW9CL1JkSEZaQ21OV2JCa2srdU5TWHc1SlAwN2ozdTNyeVQ2N204ck5xeU1uOGhpa1JQMU9DUmZ3bWZSd2JHY2xuelZONXB5Yk1wOVZiMkZTL0FTdFc2NENJM1QyRnJtR1ZWZU0vOENDQ1I1NUE2TjNYMFhJTEVMckVyQ2hEK3JzdWFPaXZXTzRaMDlJN1BvWlJpOHBtaytHWkhyWTFPa2xnZWNrdTFsYkh5QTdxcEhnN2xtVXRTSzMxODU5M3VhYkRsUW5idGdHUVB5QWY2Nnl6dTU3Q1ZrTGh6dmVpejZ0eDFzK0dVaC9iREFyU3ZFVTgrc0o2SXRIdVkxL3BSeDNNLzdYK2EvKytjVUtYcHFVQUZxMXhFcXNuajBocXpmbm9yTDE4WjllMnFqc1VRMVZ1UmEwdXhUMzBSRGh1THFLMGpxUzFtNUdSV1BkRmhDT1A2dkpsRzJnS09lY2lLZURxUWRycTRuN0ZkN3Iyajl0Z1c0Sld3Z2ZuVjlVeE12T2drL1h5bDduWDRKS3VCSG53enBwUWFCSnpTeWtDZ1N6WTRjSjUwUjcyc1cyYis3aXhGWlBiMGVhejI5aDBDb1ZsSzVSdG8zNE1ma2FMMzI5Wm9HbWtYbk1od1ZPUG9lYnlXeWpkOXdoU3pqeWJ6RWxuZ29McVMzNVA0MzhlSmVuNG56SGdvMmZRQy9MYWZiYXoxa0lzL1BsaW1Ea2VMajdaNE9SOXFqZ2kxYUhQRFNxVDF6NkMrNStGcjVaQ3BMdTdtNVRDTzJZRVdsS1EwRGVMU0pJYXMweUI5dlVxa3ZRa3NzNC9BOStjbnVXTWRVY29YUHYrVjZ5NzlxOUVObXkvbUNoV1ZrVjBjeGxhMEUvbVlYTzcvUHpiOTNkY3dHOWJGbnBxS3E3WFh5ZHJ0RVBvTTByVE1JNDRna3NPUEJEWnlYd2VlUGJablNzZjV6WVhmS2ZVSWxJc2pCV092Nk1OaU9NN3BaYm0rN0xCRU51ckxUcG8reld0N3JCemlVWFU0eUVZYTJUOTNyTkF3ZEJQdnFUWms0dzNGc09tYThMZWpPeFVHa3ZMd1Zha0RuSUl3Qm8zbDZGaWd0d2pNaWs4UlVGVEJhQkkrWGt1N2dWSjFMeGFqZkFvVW9zUzc5OVlCbEtRV3BBTGlWb1ZYZXJjZmZ5RHpGLzdJV3UyTFdSd1dpNXZyL21DaFdYbjh2TnBaM0htdEhOd3VYYy9QaVFTT0k5bGFQZzhGdGNQTFdQUytzM2NjazhEbnl4VkhIN0VlTTQ1NDBRKytiU0FPKzk2bUVGRk5keHhlUXI3TkNSVC9nY1BVTkhlTjAzODd0cG5EdGI2RW1KUFBvZHI5blQwUFdkaGZQWVZLaFR1dFhrcWhNQTBUZklTWkwrVEowM2ltR09Pb2ZhTmQ5bDB3MjJZRFEzWUNGeXBLUlRlZEIxSEhIRUU2OWV1NWExMzNpRXRMUTNUTk5IMXJnM1BwS2pHY1NQbU1IaklrRjJheHpONmlSdTlaaGhJVGNNV09zY2xWWENpTjR4WE0vbHZXaDEvck05REtnT3I3VVVmU2lCRis0SUxoNHhLSjFkV1U2aFZrQzNya1RMTUFLb1lJS3VaN0ZyQ01uTUlYWlUwUFJ3WTNJa29Vdmc4TG80K1lCTDc3VDhSZ0ZjK1dNSzg5eGNUaVJuZFlrbSszMXplNWV0UjRPb0ZkN0lwVXN1ak0zN0dIcDdjcmlNTzNSSUtLNmRBbzZhUytlOStBTUJoTlpVSVYzWUxwWDczSjBFS3ZsaGZTRk45TTFZc2hQQ2tzS2d5YnpzTDV1NkdXRHJEWjFKTWFyYTZLVjJreUJzWUpUMm9NWEdLSkNYUG9ueUxwUElUZ2RUYUF4N2pSeFVnRUd6YVdrdHVWaXI1dWtuOTI1OWlTclZiWWUvbkg5eTNhenZLdGxqNDNVSUVNR1hLSGtqWnRRdzZhQy9uNTZGZkR1MWpCZTljWkozODhGLzd0dHVCTHdCdzhFUDM5RzIvQlMvMDZHMGpSNHdrdjZDQTVjdVdjZkJCQi9IUnh4OVRXVkhSSjNJK2xoQWRQYmxuOG9kcWRSRkJLSnBKZFZNRTAzTGhTWlVZUnRudW00UERBN2dLdlN3cFRpVnU2VXpmczRyNHhpai9zMDNRR3MvUXBFQUtBVUtoQ1J0VHViQXNMK251R242Vy9qby96L21ZMFFWZTNHTk9Kemo5SFBTaVBRRllVOXJNVjR0WHRIWTU0ak93bThDcWQrckh6Vm93dGtHc0JKcS9oT1FESVBkbTU3M2xOMExvUzlDeklmOXFjT1dCbnU3VW1XdXBJSk9BU2YwN0JXK0gwM2VZRW9GaEd4aTJnWlE2dHRYRVBrTWRIT0hqZGZjZ3RRQzJiZUtTTHNlSDJ1bVUxRzdYYitPYjBWTk5ZbXQ5K0NjMEU4ZmY2enFkbnVvT3IyYVQ2Ykd3bFUyalBnT0FnRnhEa2djaXBrYTBGOStyRktCRGRvTk9UZFpCdUpUSkkyZU40SkNwUXpBc0czL1dlaTU3czRxUUw1ZUpXalZQeUJ3VUhSZXVXN2FqVmJQVEF4dzBaeGhEQjJaUVVkMU1YbllTVWhQWXRtckZCQ3piOFEvenN2d2NzdGN3QmhlbVVWa1RjdDRyQldhYm92QzZRTmUybW9aaXBNY2hJVjRkUzI1bko3VjNaTnUzSHNmMDRnWUlpVzNaaE8wazdJTGh1TXdsTkZ0ZWtteDdKMzRTM2VjalkwQWVYbytIWUZZbVV1K2J2SzEvOWlPaHNBQXNBUjhPa2J3NlJpTGIzKzFLWVVvMlNaNEE2MnBMaVp2R2RreEF3RkVyYmVac3RORjNtT1VqUFNrN2JiWU1xWk1pSkg0cHFiWk5xbXl6OWZzSGEyN0N5bVkvZDVBYTI5d3B0K0sxV0VOUG5BUENUZHRZOHQ2LytmU3Q5NWx4eEpuc2Q4eVpQVXR2ZEhtcGFramhqOC9QNElvTFZ2TEE4K000L1U4SEUvUWIxRlVGUUNnYWhjQ094bERTY0dJK1BaemNaRlBEeWpOSU15VFhmYkNldlcwdnk0K1lUdGd3OFV1SjFYb3pSL2M5UHREdXpFa2FJbDVLNjVKUlFFUEVpeEE2ZGxNWVYwb1NWNXl6TjVkRU54Rzc1aVpLeTJwd1oyZGcxRGNROUFWSnVmNFMvbnRZR2pldCtROU5sZVhic1dyM1lvU21zQ0k2MVhQV0liMFFxWk5VVnRuVTFRRVJ3ZDU3clVSL1M1R2l1N0MwcnNkOFZzdjA1by9zZklLRVFGbUp2YURwM2VSL3JPalJubDVRdW9LYWNBTmJHaXA0ZnZrSFRNd2Ivb09xNEkrdUhOdTFMTGFqaEkwb0tJWGY1VU5vWFJNUUQwNms2dlJiWFVFLzVkT2pTWVRIalh2VVFIenBLY3hlVkp3OHJIbmRDZU5qdFRNK2pOVSsrMGxnd0dOcTFObkZWY3Z1c3hFYUtUUCtSc1BYanY5NDZmN3QxOTVPS0JTNWl4ampmU3VkbitmdWswbHEyWExPZUdZdGI5UjdtRCszR1pSaTN6ODh4akY3NUhIcGxFS3l0YzBvMCtqVkxaaEhUOG5BbDlBeGJ6VWw4MUpDeHh5ZjBER1h0dFV4bW90akI3dDRkU09zalZqZ0ZTeXZpRGwyeDQ1OHI1YUZWVlVGUW1CRm5VTDA1dGZmM0gzN29nMmVuQmJ3Y04wSjB3QkJXdERKeVZLSlMrWWMwRjg2dVN3L29QT1FkOTJ2dW41RDlUT1UvS09FMUVsWnBFOXhROTZGWGIvL2Q5dHhDcXNWRHhPOFpEYXlJbXp3SjE4MkV6UWZ0Y0tFa0NUMWdEajVsMGZRa2hYU285QXpGWVB2YWlaMllnclJFZzNoVlR2VXFTaUlyVWVydkFrenZnMlY5MGVtai9rWjd6MHduQmUvOEhQRFgydlp0SDR6Ym5mUExyRnQ2T0dhQ2luNXkwVTM4c3o3THhOcmJnUzNsMUdEUnZEcm4vMlNlNTUvbUJVYmlwRnVUeDhUSFhiZW1tYk5FTWR2TVJoc0JYREhNakdHVHVQZlJpWktDZnlxaVY4TytvQ0p2bHJXclpuQTdVTS9KTjlYejFOckpuSkEwV0w4dXNIdjF4N01lYWt2c2FZMmcxZU40NGoxd3FZN3VHSU5yOXN4b3FFQVdkRUN6ajZpa3JxeXdXUzdjM2wrWlFtRmFnaFN1YkYyU0VaVkNDeGJJNmhIaU5udzVMdnd6aUtUcTQ3WHVmaHdEd0gvcnZ2Uk5oQ1FHck9xbTBsYVVFeitVVWZqSHQ5N0F2eU9jSDRoUU1YaG9PRTZoNmhrb3F1YmtIV0s0a05TeVNwdEp1YzFZNWM1cm5SaGNzYnd4N2x3ek4veDY4N2xTRjR0eXA2NW4zUERsRnNvYVJ6QzZ2cVIzY0psK1grNHE4dlhHNXVhV0xOcFBiWmxNM0x3TUZKU2tyc2ViemVFd3YrL3RkZjEzRllWSGhlQ2daYkJzRmdVSXljVGJQQ1ZXVlRHWEx6dlNVUHJSUzN5WTIrVy9JaWVVaEZUSHRZYVEva3NPb3VOUmxHQ1RGaDE2TzhvcFhEckxvNmR1QThUODBmd3d1SVB5RTVLSjhVYnhPLzJNRHlyaU0zMUZVd1lNSXd0dFJWOHZYRTVrY1JGZHp2Mm1KM2k1cUdMeG5EWnc4VmNmKzl5Qm8xTTVZa3J4bkxPZlN2WVZxcURtdzZJaEFmdFRDVGN3ZFRyVW1HR2RFN2VxNXBUWjFaaktUY2lackx0L2pMcTM2aEJlQ1JhMElXS205alJCSWx3U2dyK2FkTUk3cjAzd2IzMndqTjJqR05YdHlVVVRxaWppQXVlOHBaUnFuM0pIWFBtTW5YQUxseThjWElpL3VWdDJrbG1KcnNpdURYSHRuZHJKaG1lWmx6UzZ0R0ZERFZ0VnN5dXFrRkZZOGlzVE95S1NtUmVMakk1Q1d2ZGhsM2VNU2Zza1lGbjZSSk9uTCtOZVUwcHZEUWM0akdMVXk1NWxWTm01bkRSNUZ3T0xWdkpxNGFKMGpWd0dTd3JHVVhFaHJnVll1bW1ISERWN1VTYS92amoyekZhanpUSVRDMURDSGpoOVJBeE83YnJXN3lmYlBMblBuSG1VRmtXV2xvcXM1OTRnY0N6VHlHdS9RMjQzY1QvL2c4YU4yM2w4OHdKbUhXTkNMMW5SRjhuRnZZdE44YmRmTlhsK1c5eEErcXJOMUN4N0dFUWtKTS9pUHpCa3hJeHF0MHJ0QlVDd29rQW1sL3ZHOXpjVG5DampNMTM0dGpmbElRUkNXS3A3dHFHaTIvdkZqRFVrNXhSbWswOTUxcXdMSTJjcEFZZXUrQWUxbFRrY01WL3oyVjltZURzalc3MnFrL2gyazFQTXpoU1RsenF2WnRONVpDdmgxTnRRdmNWb0tLU3ZFdTNvQ0tKTzkwTXVEUkIySEx2MWVEU3dJakRaWW0wMWZ1dUFWZExEa0NiTDM3NnBwbmRISnNvOFhndFF1aTRYQ2xJMlhYTzMrakgyZ3c0YmhOZDhSSjFHejhnOC9SZjRCMHhqTXFycjhHdXFVTWtCYkV0dTljN3F1TjhuKzV1T08vaTlVUyt6OWQvVHVub1ZPREhaam1DZWZvQVJoMDBnL3Z2dllQS3hZc291ZWRlcWo1OUc1MGtJSmFZVnRkT0hzYlJVekx3cjBuWTFjMmQyOVh6SWlhRDhrenk0d3RwS3BtRXRjZHBsSzJwWWMzeXhVeTAxckV1UjdDbHhyOExHS3dKRW14TFEvZFVFbHRiUWJTcURtOVdMY3FXN0ZhUjE0OGlQaU13eXF1SnJkMkVIUXBqMWRZVFhiRU9aZGxFYlkybXVON0xlSUtUUC8vcUsrLzN5M0QxekM0NG11d1F5b3dBMitzUWhPNVAzQnJaemFodHhVY0xObUhZeXJuY1h0ZllzclVlNlZZUTk0RzB1UG5jZC9qOUtmT1JMb2czYUxnOUZrTnlha2tLUm1rSWV4Q2EyZ21Ua0ZLeXp6NzdjUEhGRi9QUVEvL2d3V2VmWnZuNktIZGVsc1VlRjNvSnI3UnBlTWNoRnU2TlVHL1JLSDYzSXFOR0VJdlp6bGJVZFdxYXFza09aSERodEoreHRISTlsVTFWQ0pkMzkzeHNYY2Q3MHJHNEQ5Z2J1N1FNYlZBUjNtT1BJUExvVTBTZWVxRmJNdDNJdW5VSmpGVWpkYi85OEk4YWhTc3prOWlXTGRqeE9HWlRVNS9zRDkvaEI1Tjg3UlhFRnkwaDh1WjdDSThIbVoyRnRXWHJkaUNyaDVpZE1neThPWmxVTFZ0SjBpVTM4OTZEZitRWFJRL3g2aE5QVWxtNmxYMk9PcExIbi93dlIrZGtzdkdPdjZOblp6aHIwTVU4bnp3bmwrVFM5UnozeEZiZWJFN20xV0V1c0cyT3VmNDloNU5tZWo1SG1TVzhhUmk0UEI1TVUwZkRvcVI1T0p0RGc2Z3pNdkRLQ0VPQ2E2bUk1dTNVZnpoc3NuWnRBMTk5NWVEcWE5ZldFdzczTFptd0JrUnRzQkNjbmRQTVNZMlZQUG1uV3U1NzBiRXYzUzZJRzg0Y24zcUE0c0pMaHZKYzhxWGNXM0lrMEwrRXdvM1AyVjNhQU5MalF4VU9RT291N0EyYlVMRklqMndUMjdheE9xZ0JWb0J5Q2R6cGFYaFRmYnVOU1FyaDhLU055dlV3TU4xRmNYa2NVS1FIZE1ia09yYkQ1anFENHZJWWJyMXpETFEveCt2Mko0SDAwbGhYaDJtNWNMczhLTXRrUTFtYzFac2E4YmdrdmFRVjQ0aDlwdjBReWk4eEtSWmxtLzlMcUhFaEtlbVA0UEduOVBpU014dW9NZDJrYWs1T2Q3M2xJa09QOTRpTytQR1BKbmFOblFxUW10T1RuU0MzN3pyZmJVbnZiQnZEQUp4YXBwcXdod096SnBMbVNTTWVjU1ZFWkhzL1RpbUZMZHlrRHowSzRjbWt1dmh4R3B0V0VyUkwrT3k5bC9udkI4bUVHaVFnU0VwOW1sUDNxMlBQd1NVMGgwMWNLUlBJSG4wbVNYa3pVYklYdkVZV29FTmdiK2VTZ09oaU41ajBqSXdaT1BVd0QzT242SHk1ek9RM3Q4YTU0Q1FQTTI4SzgrbVg2NW4zZXBERGpXelNOUjNUVmoybW9wRlNZdU5nMjg2SHBKUG5uZmhQdGNZUW5RNWxYZzc2S0NjR2FCYXZ4UzZ2N0xEZkFWYW8zZm1kbHBtR1VpYjFzVWFrZE1qRmM2d3dHdlp1OFN4NFBScEpBUmVMaXF1eGJVVTBhbENRMmtnNDdxSXE1Q2ZnMDVGU01IbFVKcUdJMmFucjJtM3RRRy9iZzMvdThCd3NYNzZTcHVabXhvMGJ6WVoxdFR6OTFESmNMamRLU294WWxKK2ZNcDdCUTlKWXZtNERTY0ZLeG8wZDIrRTVlWGVKeGRkcm03ajl0TFc4c1c4RE4yNGJ3cnNWYWRTRm1yamkyYnY0Wk5wQjNIN05ieGcrZXk3eERTWE9CZTlkVGZSMXY5K1Y2VWRYa05ja2tVQzlVcnptVlNUWk1NWjBMZ2FyUzd6WHJLeWs5dUcvRVVsL0hzOXJWVXcvK3krVVROeVRSeTYvbk9VTHZxRzMxNWpvVi8vekcwcWpFbVZMaEx1Qk01WjVBWUd5YW5uNXRUSmUreWFOL0tCQUNRbTI0dXJoSCtMTlBJV3Rnd2F3OStBanlOKzZnVDBHenVmcVpmdDFmd0NGd2xadXRtd2FpR3RGQnZtRGE3R0t2NlF4TUlTeWdwSGttOHU3SmVMczBoZnRLK2hXS2J3dUYwSnFyRisybFAwSERjRTFkU1pXVFJWQzAxRlNvbGRWc2E1MERUSjdLRjZYbDZqcStDN21GbnpBaCtDM2dWek9HREdIaG1BcTRReWIxMHlkSlYrSlZwNHlYWWZOcGlJeTNVUU5sYVEwMS9QYk5aL2hSaEJCdFZ2Y25xNGJDSVF1aWRhSFdWM3BZc1NJVk1pWlN2R1dhdUoxRzVGQkgzWVBXTURkUWhCWGl1OWlzZFlZb2dUR3VkMjRleUlsKzRrejB0M1o0b3ZFN1JVUlFjYTBFS3JDUy8wTFdXU2ZYRVhvd3pSa0Q0NktFQTRnOXY2eU91NDdlemh6UnFVZ0JBek9jcEloV2dMOVFteVBxd2E5T2xJSWJPWFVxKzY0bTZjTjZybzRNMVN4bHFyaVJ3SEltbkkyZ1p5K1R4UlJLRFROUmFoK0c2WExYK0hZRS9ablJJSEpvZ1dMeU1uTGFmZGUvdzIvNmRzdnYvMTZBSzc4MHdvMk5udXdTQVpSelg3dnRpVDdsL1BLcXpGZSt6aWR3bUF5a2dqaGtNRzExODVIS1FuWURCdVdobUZZckZ0WGlSQTdPN0VTbXlXa282QlB5SVFCYm5hLzN1RWVFOHVncGpJVnExSEh2VWpqRXQ5ODZNR2w4ZmUxcm9Yc1ZGWWlOQlNhOHg1QjYrOUs3R0lTbnhEVTFFWll0TEtLdEJRUG1qeUUrejdVdVdTL1J4bVdWd3U3UVNvc05jSGlraGpMMXRrMGhKMk9YdnVrR1V0S1pDK283bHR1T0VtTEthWTAyY1ExaDB5NHBRZTNEWEZOc0VlVFRWcE1VZWQyQ0NLK0w4aE5xbTRHcnl2a0dBZndzcGU3blV6R0hneHVYVVBWOStQZWFCTHY4Q0VrN3pjSHM2YU84SklWdTNVTGhLbE1QSnFib0I3Z3phcjU1QlJuOGZjOWJrTUJrODYrcU5YQUVjQ0R4WS95UnRWOGlud0RNSlNCcWN6ZWJsOUg2VWpGajRWSmV0UmR0N0k1SWpqZDFyalVEVWtWem1LL1pnbnFsMGVJdkovRzVJQ2dBUk5UQ015NFFXNVZGZVBUYzhtdUttZDRiWUNHNWpCU2srMjJ5VHN2WkxKOHVjbWlGU1pMbHNkWXZiYU9Mei8rbEM4Ly9wU0xIbjJTcjFPOXVKT3ptRGgrSEdQWGY4T1UxUlVFZjM4bHcrUEorTndCcEQ0Qm1MQ1RrWlIxYVczZlRzRGZuQitUYnJ1eGIvdE5KUDYxdUp0bXpNM0V0RWJ1R2IyQnZYUHFxV2tjeW11VlYzSEVXUVpKQWtvMjE3QndjU05uL080QUpvL2F5cjNUMW5OOGJqVy9LaDdDa3Jwa2NCbWRjL0pKMmY4M29TQkFoYkZJQnlYUXc1K2dCNC9GbGhtb3hTK2lqWnFGT3ZwYzdPTFBZTU1TY1B2YUFRN3VrMDlxMzV1VVdLTkd3OVpOQ1pUVGgrdWdBMkgwNko2Qm1UZmU0RGhzalV2N1hWNEtwUkIyMzU1WElRUXFaakM4S0p0Ukl5U2VTaHZYd3IrejU5Qk1SUE53UXNsZW1yNzdqbS91K0RNVGI3NlVnWVBpakNqS1lzMldjb1RiMVhQZ3U2aklJYVl0YTFQb1UxWUdxYW5PYTkwOXZ3NXJHMkRLaXpBb0ZkYlViamVlV3dBeGxkZ2VJUXV1L1RZaDJoUU1DNEpodzdvYUVKNzIrSk90SkM2UGlRRE8rdWdwWm1aK3k2amt0U3l2SFkwWjBmR2tHRnc4NGhFdUtMMGYzeC9MS1YyU2lxRmNCSHhoY2c5cVp0VngwN2pVdXBaM0Z1OExSdHVqSUxvQU9iUjJkck5Fb2t0dE8rdENiMEZqNGRTeEQvREQwNU4xSnFYdVRDWWMvcWlCbWp1M1lzZHNoRXQwYnFPNDNjNmFDQUU1T1k0ejFlSlU1ZVMwT0haUVg1KzQ3YkQvMnpYLy9JWXQzZmhvQXdJQ3Q4ZUYzK3NpSEROQWs5dlhXWk9FWXdaK253dmQ0MnBUTE91QXFaOHVyZUdUSlRVdEFzSHgwV1UvM21TcWdXZUFzd0N4cmIzN0htVkQ2SE1YeW5RaE5LY3ZMYzNwUzhWMlRUWkkrZE1LdE1iV2Ird2Z6U0xBamtScE1ZVHRjQVNoeWQwMmlqTnpVdHBvTDBYYzBCa3lxSUV0MWNsOHRuazJ1Ym1ORkdaYVZNVFRjTHVNYmd1WnEzY1l0RzByaWpkVThleWJ5OWhRV3BjZzdkaDFQVEdrS01ETVBUSjQ2dm1OdUlJdWRLV3c0Z3JwZFpMU2ZjcUZGb2lRRkZTTTkzbVJ3bVpLVmhRcjZzRWpCUi9WYXZ4dGt3dWZwZ2gyNFdJcHkwQlpjUm9XUDBlc2ZDbWh0UjhRMnJRTXpRTjJIS1FMQ2s1NUdzMmZnYkl0UkRlRnlDMFhFZ1Y5YmhxYW8vejJ3YmY0WXVrbWJqMzNRSVlQek80MXpqV29uL2J2Szk5dTVac3RJU1pQSGNPZngrVHd3SHNlNnB2Q25IdndJTHh1blNzL0xHVndJSVU5UnVlaXVYUldyQzRqS1pMR2xmdk9KYVlNWHZqY1RYTEFaUGJFQXBvamNmN2JvWldraUs5ZGoydjRNSUp1eVhGamtwaWM1K1cxNGthV2xFZHhTeGN1VGV1Wi90NXhMNGtXdjBHMGNlQkZleUxEbnJTTTZ6b1JTQUlxUzFCOGhUZGVSMGxhbUNrQ0NCd09HVVBvUEFKMkxRQ1huTEovNTBFbFpUTmw5RURXYjl4Q0FJdmdYclBRa3BLN0h2ZmROM2RwamhZMXdabXJCUXN6YlY2WjdPR1FLU054R1c2MGxKNlI4S3VtTmdnMkVMT2grRHN2MzMzdUpyOG93cXlERFlMK0JBN1dpMXczb1hlY0pJc0dzWGdLRFJrK3JEMm1rNWtlbzhuN0NhWmhneXZjdlQ1WThXcS9uSXVpZS83UTVldnhjQ1ZtckJhRVFIZW40ZlpuZDkzaERvVENyWE5zcSszL0pmNm1EQk1WalRsLzY2bEtWaUEwaFV5ejBYSXNwNkRIRklpQVFuZ1NDWnd0L3JXd3NJWGpxeXNrVWdYeHh3YVNWVCtVZ2R0R1VaczhpRzhUbE9PZDdZZUZpZjB3ZXhmM2crbHYvMGJMa25oODBKUUUxZEVBSmVWNVpLYzJvSUFONVhsVVJRTTBKU253UWN5U2FGcjNza0lwQWJySmQ1c0dzcWsySFlMTkNLRmFFNTJFdEZIQlpqNVlOWnFhcGlUUXpVNlRvUDcxOHNLT1pVTkN6bFRWaFhucWpTVzkzbWVMQm8xbGM2NUNHN1V2cDdrRWJ6bHhWWDV1UW4xam1IL2xwRk0wWWdhZXBpaW1BanNXWi85UFYrTlp1NVhCcmppancrWDhkZVlnWktwMysrVW92WW9sSkd6U2NJeGNUUFllbms0MEZ1UHpxSXQ0eklBZUZHQzVwR1JjWG9DcVpvTVY1ZTNKSkl2U3ZHUUZYWHl4b1pGNEYrVHFmLzlrYXp1NVlDbFl2S1dKQXhML0RzVXNYdml1aWtVYkczY25MTnBuN2MzaDMvUnBmenVWcmdxSmtBcTdPWVNTRWkwcDZLeHZOTnBPZ2xxaGlITzdla29TR0NiS05qckUwWFNocURWYzNEUnhKY2xOTmxjc0g0dXV4L2k2S3BXanY1ekZCYytXOE1mazFRamdranZIODFEaEVJaWFhTzQ0Q3JBczBmSGh2dSsrOXJwWmlQYTM2bjc5OWZaOStkNTcwTmpZL25XbHVrM0NhSGwxY01EZ3Q2TnJ4S1NVcUxwM1dUcmVaWTZUdXFESVJWd1g5QVNPYUx6d2R6dE1ET0JTRUJjb3k4WmN0UnIzMFU1SHhyZUxhTHppUnNmdWRpdUg5S3NUZURQLzErRXViVUZMd2NmZk9FNzVQdE5kYU4yWkp5MkV3aDBRbUluRTM5YTZOWjRBbXQzT2lVaUt3K2x1alNKQWVOemRPRnFpTmFtLzdzVjNDUzFlaXU1THdtNE90OFBRQklLYVIxNGc4OXdUMExQU3VwM2ZSekwzNytPVDFzK0V3dVZQT1ZpMmhQWHhCRWJSdEYwT0RTdUNVUWxJcURnRzZ6ZHR6dzJ2clhJb09qb3VneEFPRVpUUzJMRHR0engyd2lBQ2JaY2tXazl4eFhMQ1pwd3BBeWFEcit1NXZUR3hJVTY1NTJ0aWhzWFFuQ0NML25JQVQzKyttZHVlWDRuUUpJOWNzQWMzblRDbVY0Ly8zMHNUdU1iRFg3TWxMRkZJaEt1Qk01WjZIWGpUYks4dmhCUmdLQXF5YkRJOTFXU1AxOUY4R2lzV1JMRmlJVWpxbVFFZytIL3N2WFdjWFBYMS8vOThYeG5kbVhYTFN0d2RDeEFndUJXWDRvVitLTFI0U3dWS2pROVFvOUNXVXF5Q2xnSnRjQThPUVVMY1BWbDNIWmQ3Ny92M3g1M2RaTE0ybSt5Rzl2UDd2bm1FM1pHOWMrY3RSMTdubk5lQllDUkFUZjBteXJJU3RBV0RkQ1l5R1ZNeVk1OUMvMUlJVk5PZ2ROb1lEdkJQSlJhTnMyNnNnU290ekRRdUxBR25VRkFSTmc4Z0FsM0Erd0VmRDIzTHhoaHlpK2ZxUGVFV0RBdmFNWm1TcFhHcmtjZm5mNC95N1RmYU9lOUdqVXRQVVltRmRxQ0pMWXhSTk1ib09WeGFNbzVBK1RUV3l6TjRwOVBKaTVWZnNJcjMrZ05Rc01JaHNyNzlmZlRTTVpodExSajF0V0FhakhyNkRSQ0N6ci9kUi9DRmZ5RGMvUk1zajJRc3QyOWZDSkttN0NIdndYNHVuU1REZ2IzeEpOVFZralJ0L0VTdnJVWWxDUXllb0ZaaUJmcTkzM3lubXd1T3lhYTJlVGtDUVVuK2JCYS9HcU01SE8yM3VLYVcvemYyeDhqSzBQclZ4ZHRxSWxRMlJIbjJYVHQ1T21rVU1ickl6WVJTejE1RFZjS1N1TlkxSVk0NEFLMm9BRlFWM2VYQStQQnpGSkdHRTNmVVR3YzRHNUp0Mnp2WXZxMERnUEdqc3Bnd1Btc1FVb283UmhUZktiM245bjdsT2tBd0VVVVJDcGEwOE9ndU9tSWhMR21SNi9iM25keWFTZ3IwYUc3NnpFUzBMRkFVNGt1K3hOaTBFU1E0cGs3Rk9lK1E3dGQ2eThKZHZ4NC90NnlYbko5U2xvT29zZk42Y3YxdWpwbFZRaUFjVDZ0eHlic3Y3YWVOckthWU9Vd0xyYlNZd29VUGtiWGsyelJkK1VQNElHYlBsTTlKMlJmdjRwdzNKK1ZjbTZBcWc1TllqL1RvS3BLdzVLNmZ3ekNNWUppR3AxNGx1ck1Hc1FkQUV0MVpROE5UcjVKMTVBRm92djRMZ3Z5MzM5N243U3BBVEZWNWQ4Y096anJwSkpDU2R4Y3Q0dmlQUDhabm1udldCYVkzRFVtQk5pNk9rbXVBRkZnVnRpR29sU1VRdVFacVdRSmpzd3ZoN0g5K0FyaDdIVFFoSlVtWHl1YWJMbUxzbi85Sjg5SHp3Wkk0bG0xaHh3MFhNL20rWjlCanBrMlEzYytsVi96bUQweHVxRUJJeWRMaWNRaGdXcjFkZFA5RjZWaVdWRW9PSzkwQ3dPZVZrNURmRkV3NzNpN20zZjM5RXNHSzRqRnd2czNBZWVpWStSUmtGUEw0RjMrbEpLdVVtSkVrMCtYRk1HSTgrTjV2ZVdQcnExeS80R2FPOVIrUXloa1JRNTVYSmVWcW1vYkt2UHdJUDgycVlzdUw5Vno0MXlpQmlFVFRGSlo4L2duZit0WU5iTjY2bVV2UE0vakJzZmxrTGZLejQxVzEvNFdVRXBHWmlWSllZTWNWZFFkS1NYRUtaTnU3UGF0cEdsZGNjUVVUeGs5Z3pQaHhKRHBDN1BqdGZWamhDRnBtSmo1cEVBOTAwdnJiMzVGL3hEek9QUGRjRGpyNFlPWWZjVVNhZGkrWXcwQ0Vualp1MU5YMXFEUEp4dkV6V1gzb2dRaExzTTZLdzVwYXlGWnNwM2ZRRzljb1VEbzUzckdNZjhST1FDZkpOck9VZWl1YnI3cytZR1Z3TW9oa3Y2ZHVvQXlQWXcrZnltOS9lQTVsUmJadmRkZ0I0d2xHNHJ6MndackJFYVErN0dLYjVGNWdZdkhIalMreHZuWUxFVFBPMjFzKzRjQ1o1eU5OWTlDR08vM0dFWk1tWlNVYXkvLzZIQmVlYk92NTVjODlSOWxWTjFCYmE2THJBNU1VZGhVVnlFN0IrdlpwM1RyVXF4aGtpS0VYaHFWRGdTb2xhS3FndWRWaTdQRWhqajdDZ2ViU0tTbVdvTVFnRThTck9xWWhVUGZBLy85KzVZSWVjdGR0bWVRYmNaUzlyYXg2MHNZSlRqaHlZQkxEYURUTXRyVzJUM2JVSVNmaWRudlN1dnoya0hORVZLUlNYdnAvenZZV2U0VG45dG1NRUJBWHNNNXZuNjBaQVF1SC9NK3J5UmFBVzdkbzBHSzBsdWNSTjN4TTgxYWphL3Z5NVZNeVozVW55bGdQMWVXNXVMVWtwcTZSZktjbHBUWGxmOXc4S0h2MmR4M0NzQ3hKZTBlVVIxNWFoMkZhMURhSGVQT3pIY1JpRW9RZnY5TE1tYm12Y1huNU1nNmFWb1R2NE50UlpsMkk2UzFqVTNXVWp4ZXU1YTNQZHJCMGZTUDFUWkgvMm5QMHcvWUpQUjZiMHFUQWxVK2h1NGpPUkFjK2g1OGp2RFl4eFQrMWJ4Qk1CTWgwWk5FWWJhQXAxb3phSzZmOHkrNDFjYzBNNGlpTll6VHJlQS9yd0dyVW9HbjQ5NEcwRkFveUlpU05UanFzeWJ4MXlmVUFIUFNuWDVPdGJLYkFuVWxWeUdQSDR0SnlLU1FJaFRWR0N5Y1ZqaWV3d3VEUFg3Uno4WkU2U2NQaTk1KzFFb2tLcEg4MHkxZUdlaE1iN2pZbWpja1ZBQTVOWmVuYVd0bzZvMmlxUWlBVVozeFpEdm5aSGx5cEJxSGpTclBKOERod09qU1dyS3FodVMyQ3FncENrUVRqeTdPUkVxbys2bnZQTzRWSnJoYW5QdW14Y1hvMXlkVTVkZ1BqMnh0bjBXSGFGUy9GZXBUT2hJNU1DQ0pPZGQ5c015SFJwY21jaHFVVVZyN0RFbVVIazdWWk5LV0VwdGlEYmxyM1paQ1Y0ZDJuWEoxZWZwb2w5byt3MmQwT2xKSXgyY1ZjT3Z0azN0anlHUW5MNkIwWDZ1ZTJidXNuaGkvNzZmNDRDMWVxQjNuZkZ4eVVVRmhBUEJvazBsWlBLQnpFMHJ5MHRUWVRDTGFtNVdVZWxWeUdRTksweU1HWEh4Z2NvaStuT2VMRkNnZ2NXSmhZWkFTZDZPSW9VRlc3YVVVYVMrSlFCSysyZHpEMjY3VjRHMXpVVnhaeHloZGJ5RjJ4Z2Y4MTZxaXc0bmhRMlp2V0Q2YWw4UGJhU2NTU2R2SHBCK3ZIRUcrTk11M3dpZnptNVBFYyt2b3IxRC8zRnBiYmpaN2x3Mmhxb2VqZ0EybTU1VHgrbUwyZVY1WThDMmlvWHYrdThyT1lDMVFKTVEwU0xpQ0lFQkpWVGFXTUNnbUdBNklla0dyYU9FVCtqMS9vVnljbmRxd2s4cVdkZStJNTVBd2M0K2IyZjNiK1BEbU5lVEVKSjJJRVltRWNxazVqc0pXT1dPZ3JiYUk3Sm5jZ205Y2ltUWl6c3E0T2hHQnkvaGcwaDA0NkNTc2pWVmN3VXZuMHd1WEVjOWc4Y202NENMMnNtTUNqTDZEKzZ5MU9ycWt1bnhyditON3NXTnV4SHk2LzYyK2ZlWXBmUExOOWZlUExXWlA3Z2ZJVXhoVForWmZWRFoxOUVqZWtPMDZlZFF1Tk1jbWQ4d1QzT3hXOEZpQUUyODZVdEhkR3lDckk0Y0JETkt5d2dXbUt0TVg2TFh2b21Dc0cwakhTNHQ2VlVkdEdWZTNQYU9pMDg3Q0YyZ2Y5M200TmhRV2dLdm8rbC9rS3NVdjZ1blNWeTQrZDFrdlU2N3FDVENTUjhUaVd0UGhLR1lYN0pPdXdFS3BHY3VOemRIenhPUEhGQ2RyV2dsVnZrRFhmZ3piMUlodGJTT05zS2FxS2FacmM4Zk5mRUZNVnp2NzVML2hsWmlrWDZENENxb1UyeWlLOFNzTXp5OEJ6Z0Vub0U5MjJCeWVZUkRhcGFPNkI2TUVrcXJSU3lJTE8yUjNMbUZ6eEdrM2JkNkk1SFduRitZNGU5QXNvV05Fd3A4NC9rYm1UWnZLdDMzMGYzQjVJSmlud1ozSEkxTG40TXZ4Z1dWMFI5ajNtZDJTS2ttODg4aXBjVWhEVGRmTEdqZWZybHNYRzlaMXk4ODZFY0VTYmFhd0w4MEppQXROeTY1ay9wcG02c0I5M2hvTnBvNEo4V0RPT1RhRlNja1VMTFRLWHhHNk5DOUt1MVVkQjBXREdtQW9lMjM0eFIweVZWTGFYa3BYM0tUNXpCVTduV0NMUm5vNm1ya0l5SmpuL09DZWJxMHcrMjJMUUVySzQ1ZUVRTDN6aDRXZHp0L0MxNXJleFZDY0p4WkVXWVdZdndOeWlaLzdpUHA5bmtDWmsrK0RueHdobS9UYVRqaW5mUk02WDVDeDdtZFlEbzJSOW5zVFp3dEJKaFNYa3VsczViZlJyM1dUQ1BmUlMzaXJtRjMxcUV3b1BkcCtPZ2ZOcldvTkJHaU0xR1BFa2VjRkNzZ1lpTkV0enF2Ly9OSDdobkdyckNBR3hXSklMWnhkeTdGU1RnQ1p3alJxSGlIN091dE9tOHZOWE4rTDB1cnJKelB1ZnA1Y0F1Tzd1WlNOMHgzdUgrNFpsQnU5RmoyVkpmQjZkVmlaeDZlcC8vWVVnWVNaWlhidVY4cHhpeXJPTDZJZ0dtVm8waG5BOFNtdTRFOHV5YUFsMTRISTQwRldOcUtUUGhnTHRFWU0vdmx4SmF6Q0prcS9UR283ejA2ZWJxVzl6Y01ZQlgvSzlCVU1uRXU2S3lSZ0poZUxDR0w4N3J3YThPdEhWRVpyL1hFdGtmUmpGTGJDaUVXVFFRUEg3Y1I5MEVONEZSK0U5NmlqYzAyZWdhbHFhc3kxUUVkMU5wL1oyUEgzMC9Ydk1zMEJUVEdabTIwMmlEOHpiemwrUGZBVERVdE9TanlkMzlZZVRGbFpOSFltWDNrQ2JNNFBrNTB1eHRtekhEQVNSOFhpZmRrQTY0NGI3RnRPUTFEQXNGYlIyTGxtaEFUcnhaRE9QUDEzRHN4L2xVdUJNa1J0aTUwQUhHNU5vUlpsc2JIR3pZNGVTaWgzdXVZUzc1ajF1YVR6MGpFMUlsckJjK3pTL0kyV1RYL2lyRDIwZUZ0UEVtWnZEaDlFUUJ4eCtDTWEwNlFoTnhYM0VZVlIxeExqaW5zV0VHbHRSZERVdHMrK3U2ZDhmVnFud2UzNmF3dTU2KzVDS0lvakhvMnlwMmttb2NSUDFyUm9nS0t2Znd1S1ZuekY3MGd3eXZINWJ0dTNGUHJld3lZVGZyYlUvL1BnU3diNUdNVlJGVU96VDhMa1VqcDFpODU0RW94YkJtRVZUME1BY3hBNW9ldnVUL25XcWFzZFhjK2JiOGFxMlQyMWlKbW1tKzkxVGNxNHJ0OVpJSmQ2YUZwZ1NhWGJaS2Z1dVRVVktLR3ZPWFVpTjdnVGk5cyt1NTdUVWMzczZPbE5HK3diVTlqdXFxbWh2M0lwRW8zVGNHTWFVVGllOTRMT2c4b3RQV1BqR0MzaXNNbkpXdmMwWlYxMU4yZXN2VTNmMWRTUldyTUNaNlJ1eXZiWm52bytVa3ZhWW5TaWI3Zkwxd2lrR2U3MHIzOGVWYWRwTFpralFKY1lvOEhuaG5YcUxWLzFUS1p0MkdmV0p0V3dNNzJUc3FZY3pkdTU0bkgvNkpjMnZQWW82YWdvWnhYTUl2L1VtV0traTQ4N2QvTmlvZ3BRRDI5VUtGajUza2p2blYvTDNoa3pXNVo2TTh3Q1RVOFNEL0UvNWRyNzN5bWlxaGJrWEdDd29LbGdoUVdWTEp1K1ZMOFlveUdCYTlTaU1vRVQxQzh5UnBpZllEeU8rWlNlMTMvMFZ3dWxBbWdhV2hDZTNsUEhKKzZPSEdKLzdISUM3Zi8zSS92OFNWaFJoeHBDSnVwUnRYd3hLTkMxQ1lRbEVva2w3N3lWTXBDcHdlQlFTN1I3R2oybmtIejk4bmtNUHFFRjIybmFScnBtWVNjR280aEFMcGxmeHlzZlRVZjFSRExPbi9laHdPTkEwRFNrbG1xNmhhL3F3T2dFWlRndnFEZHFrU3NFb0U2azdBWTFvSXNyekd6K2dQdHdLMnI0MjdMSFFKay9HY2R4UnhGNTRGY2ZSUjZDV2xhQ09HNDNucG0rVFhMb1NZK09tQVczbmRhZWMwZ01iQUtpOTc3NWRPR3hUMDc1aFNGS2lsaFRqdS9rR2pHMDc2UHo1WFpqTnJYYU5oYXFpNU9XZytESXdtMXFRNFdqYXVrTW1EQnhaZmtLdGJTUXYrUzcvZnVBdWZqQ3FoUHQvZXpkR0xNYkY1NTdIYi81MEg5KzkrNmRVL1BTM3lBd1BxcTRqK3hFS2k2MG9sUTQvc1JPek9WdUhmNnRsSU9DTWd3VWRuVEgrRkZVb256c1JSOERlU3o2dEU0ZWFvRFdlaHlVVU12VjJzaDF0SEZmd0ZzOVVYZEhMYndtRlRkNTVyNWJhZXB1QWM4T0dOa0poRTV0NVMreXpyaFJBcHlrb2M1bjhLTGVOekNWTlhQdUhJQ3UybWdoaHB5c21rb0k4ditUT2EzVEtUenVKNzdiZHhMTEs2YUJHZDV2WWtlRkNhTDF0QUdIc2NPSy85dHVzODVZemV1eDRNdXMrcHVQUGY0TEU0STAySms0dTY5WjllOUxyKzRTSjJkcEt1RVB1ODlIdXlzV1pXK1ptUjNNQ1RZVnhlVTU4VGdWTkZUUUdET2FVdXRuV25CalFEaDZwKzdVaytBcW1NR3J1TlZTdWZRbFB6amhLNTV5UDZ2VHd4NmZYOE1TajZ5SExtVjdPMkZjOVZKVmdJRWpGemhmUjZwcHh0ampaNW4yZS9KelJGSllkbDhaNWtMUWtYZnloYVN5WDVOZ1ZBVSszbGZDOWdwMFVPd1p2RW4zMUkxL3JkNDRMc3R4a1o3bngrKzE4MFVCbmxQYk9LRTBkMFFFYWZxd2VvbTFqTzVDUmhFNUhOSTQvMjBHbU01dHdJazRvcGlORXZNZitDTVdTZkxhOWtVSy9tNXFPWW9UbmFQS2tIeTIrREMxYWhkcGFqdHV3TVZIUjBvNGFyU0lXQnpYL0pETEdmWjJzMHVuVWRrU29hR25sOEFsRmd3b2J4eGdENTVRRXdpdnhMckRuTTFtakljT0MrQ2FkUk1YQXVyUTRYK0dBcVNxUHZSVG44ck9jN0t3eCtjMmpVUXF5Rk00NXljR1p2NHV3ZHRrTzRtSGJ4aHYwTUR4di83aTVxQjRwNFlCT0UrdlZDSEVzWkhzSFNtRyt6WFhUMFprQ1FDVktRVDdhOUNrNFRqMmVMZ0ZwbUJaV1UzTXZYL0N2TGUvMG5JQVBVdnVrKy9RS1ZDeHl6ZGlnZkI0RDRiTGJxd1BzcUE1aVdEWkp0ZGVSNU5SSm0vRTRrcnkrYVNJYkd2TkJ3T0lWRGNnQllzMzkxUTdzOWRpTlVOZ20xQlpzMmJLRmhvWjZWRldqdmEySm1xb3c5LzlwRStWbGRuMUJWWFdNSXc0dkl6dmJKQmFKRUE0R2NPZzZreWRQN3I3R0xwOFhPaU9TYS84UzQveTF0ZnptaWhBTHBvemhmN2VWa3JBY3ZQVEZtNnlxMnNKM2pqaUQ3T2xIWUZyV3dPNzZiVU5FRmlYRWRCamJyUExIbHpOd1NiaXhQY3hIQVlPdnpZVzdUNEZ3RENaMXFhdHg0eEJ6WmxQVDlCRmp4ODdBTVc0OE5POTljbzlXbmRCQms2aUFLU1dkeWU2MlVLalpIb3h3bU1xZ0JNWEo1SXdXeWtaNStNMjJiUlNQcjhaS0tIUnVUZkQ5SWlqYjFFYTF6Qi9VZ1plV1FqQmFpRklBaVlRWEs4ZVBjQ2dFZzBXWTFvWmVIYkVIRzhGZ2tQZGVlSUZnVWRHd2tzSkpvREEvSDVrSWsvUE5xMG1ZQnNIdFd4Q3FoblBhRERLdnZnR3JlakdGM3V4ZGpMS2lmL2c0SW1DcVlmSWpoNStmSEg0Tk5XYU1KMW9WcU45REd6dEFuMkRCWkJjLyt2QUJwcG9tbmJyR25wd0lhYTFiQU5BVkZDUlNLUHo0VHl1SS9QNTdpTVlvZHo3MGtNMThrOFpzZC9FNHVvUkNVc3J1T21rdDlaeVNCbnh4NGN6Rnd5b1hubDFwLzJ5a2IzSXdhWUhtZ0tKSkNUNjRwUmlISW5Ca0d6Z01nMlpuREdrT2pydEpDVTVOVU5FYzR5L3YxWEg3ZVdOMkU3dDdDbEg3bVNtajNIenRnRnhlWHRhQ1F4dmlacGFTY1BOMjRqV3ZBSkp3MlZGNEN5YWtCUkR1TUx6c1lCTC8zcHlFeldzWXhXZk1VaVh6SnZrNDlKQXh6SmcvbmRLRFo2Qk9uUVJPRzZCeVpSV1RrQm83VjcrRDN4WGdrcXV2QlRNSitpNWdXTGhjak1UWUh2S0JNRkV4a0FKT09uc21BSys4dEFVaDNKaUJJQlVCc01zL0paWWxVbVRqZ2syYldsRlZkY0FDMUVoUzlqQjA5M1UwM0Z2ZTd4NnhvaXBJcUwrL0hKRTJ5Wm5OTFBqK2pJRmtWaGkxK1dPVW93c3d0KzVBN25nVE9YNlE2MjhlVE9NSU9nTUozdml3a290UG44U09qbVA1d3pzVzN6L3hTY1lWdGU2VEl6aC90cHZYUHc3aXk3WVRIRnZiVGI1MmxKZGxkZnlmR2R0eXRQNFZoZ2FPZzJLTVhXQVhiRlI5cEpKWTVyS0pKUWJiaUNOSkJMaWZocFFTUmRNd09nSjhldCtkekx2Rk5nYVgvUFoyNXQvMFU1UVU2TFczRzB3bUJHYU5pdW5VaHlzbllaOUhlOHdpVDVFVXFrbE1DNHhVUUNOSFNQS3pWTXhRT3kyZEVzV3A0OUNjTkhkVThub3lsNGxGRXlrcUY5eGIvVHBITlRjeVNYTVRsN3Rrd1lrTE5FNDhYZ2NMSWdFdmRRMlNkZHRNTnErMWtDc2RsRytUdURvN2lIM3dQbHMvaVBONFJHSERlNHNvS0MzaXdMbXptRDFuRnJObXpXTG16Rm1VbDQvZE5ZM09rWms0MVQweWVrSUNMaUg1ell5dDNEQzZ6aTQrVU9GZkg1YXo5SXQyc3J3QmNqUDhsSTNMWTk0UkpiejFkb0FYUHhuTGpPbE5MTWpxWk1YaEsvbHo1U2h1MlRxYVdIOGsxSW9LcW9hcnJKUUZwNHpta0hrWmZLa29mRkU1bExsYVA4am1qUlBSanllVTlXT0VTOGRSc3hEUjJZanFLeWMrL3h4Y1c1ZWlmL2djV3JpOVQ4L3p3Y0lEZTEzVjJCeGk3ZVphNHZFRUN4ZHZZVTNwS0dSUjBaRG05MWMvdUdwRTFpM1IwRXd5R1dkYnFVcXp6N1B2eWE2cmV6dXQwclFZWCtSSEUzRktwODdFVzN3N3RUczJjMEorQVM2aWJEbi9iSXJIbjRScmRBNmI2emN3cmlpRExUdXRYdVM4QTRGQmZQT2J0bC94MDU5Q09FV0E1ZlhDWFhmWnIxVlhEd3FPS1Jva0pHeHBzWFZFRi85dWZRRHVYUU4vT3dKK3ZRcStiSVBZYm5Xb216cHRCN1hQKzVXZ3EwbnVXdmNEbW9KNXZGQjllbmVtL01uVFArQlc5VGRNZldZcERZc3lhSW5tb3l0Snl1WTBFNzJraU4rVy9wZ0h0bnlMZUtlTzRyVEF1U3ZKZm12YjF2NFZmQ3lKa2RoRm1oRklCSWkwYndYWDBBTVlYV1RDZVU3NDUxeWRRM09VWG1UQzBVOER0UHkyRml0c0loeGk0SXJRT1hQZ2Q3K0RqQXc3TTN4Q3FzQm13Z1I0NmltYnFDb1VnaC8rRUw3OGNyL29ocW8wZkxTcXNJQm9nb3JxTmhiTUc4dUx6eTVEWnFjeU5UdWlMRGhwR2hYVmJSakJYVUQ1Uk1zbXQ5aTlTWXNsSWI5VEo3SFZqK0pRUmlTcnpGbHFrbitKRFl3M1BlMGkwVEFFbThVQ0t5eDIrVTg2NktNc2tsVXFac2ZlRVZLdnE4MGY1bSs0ZjVvNkRQc1FBaWtsMnk2N0NkMHkwWk1KdlBNUHB1VDJIMUF3Yng0bnhFMDh3c0JLc3hEZm4yRVhjcTI3LzhSZGl5ZGN5TTZYaVdybjRuQVZvQ2xSRE10Tkl0YUUyL2dNa1hrbXlOaUFBYitpMTN2N0ltdTJOckZtUzVQTmE2ZnNtNDVvYm91elpFVXJxQUpkRmN5YW5NbGJiOVdCVHdXbmc5dWZPbzZIcnJLWUd4Tjg5Nm5qcVpJeG1QODVqdEdWaEJJU0srNmt5QUdXR0NDSFFsb0lWYWY1dlR0cGZPdE91MWJlQVhxR2dobXpjQmFQSVdQOGNVUnJsK1BJbnp5a29uSFRrbWlhaXE2cHZQTFJXcGJ0YU9SL0x6K0dpNllYWUZoMnd5cVIzbEVia1ZFMlp4SUhIK1ZrUjNVcksxWlVjdkRCNDhud090bTJvNWxnTXN6WGp4aEx3b0xLbWpaVUpBZk5HWThJTjJFcy9CNkpwT1NRWS81QVFNbW51cks1SjZGQmlramFpa1RvZU9xZkJCYStRTTYxMzhaMyt0ZEEweGliclhMallibXNySlU4czc2S3BtZ0lUVkVHMWVGamZuMXpud2FsNzFDN2EyUEdnZE1aZmRmM2JQMmV6c1JlZjVsdGltUjM5bnNPTjVXYkhKT2pVeEtyNGRCMndiWXNOeCtXbXlTeU9nYzFPdTY5OWFJQi9ldWFqZ2JlZWYxTmRDdkM4YWVkUmRtRjV3d3M1Z2NpRkFZbUJ5QW5EdStQZ3BCaUVYam1kZXBYN0NEdmgxZmluVGQ3VU55cGEydDM1YUhXTlJmUnVLMkRwREVSLzZ5anFBcSt5QVJuQlM2bk9hU0VrWjBkK2YxTXIwSThudUNMVlVkUmR1RFhxVXVZckYrUllPWnhIeEZxSzdSQnY2OUFyZytXTUI2bytveEkrMlpBNHNtZVRQNkVDNFljSkFqcmdrM3p4dUc4OGtTV1U0OWNWWWRNeEVtVUtlaUZKc3JhSVhUclZzR0tLQ1JYYXpoUFNwS3MwVkJuVzJpalRSTFBhRGlKbzhlVFdDaUVuQmxVRlpheHJYUUNtMGRQWW12WmVPcnlpZ2w2TTVCQ3daa3dCdDBQaGpHUnpIM1lEK0dYbkwzT2NGTExZRjV3QzBWYUJ6WHhmREpqWVJRaHFZNFZVS1IxTUcvdEZrSVZQa3hEQWJFblpoUHJBN3NRT1BRa0oweGZ6OXNicG9Ic21SSXNwVTJ5M0J6SzRLVHA2M2x6L1hRU2hyWmZtUXJxbkQ2OEx2QUxpU2tobnZwb3R3QmZWZ1pHMHFBbWxFQlhWVlRMSk9id3NPR2JYK2ZFeFN2NXNQRVQxaDB6RTlHWkEyYWl4OWxPTzViZ1VNR3k4RHBWTWpxcmFEQnl5VlFOOGx2V29wa3hra0x2cTJ5bngwaGFGdXZxdzhTTjNtZTFxajFHWXpCQmNwQTR6clo3SHV2MTNDVExaSHFrRVpjME9hWjZGUldQMXJEbFA4UThtK2dNajhoMWwvem9McEpKazg1QWhLS2lMRTQ4YVJidVJCVGp3OFVvdVRra2lrZFJlY1kzQUVuNUswL2duMUFPTlhVMExWcU1OWEVDbnlkOTFGZTNrcUZZT0J3cWZHTkJEeml5bzhQSitJWUFPQ1RTRU4yQkQybnNhdUltdS9oNzBqa0czeDhrQWR1eWRoVjUvZk9mOE95emV6MDNsZ1NQWm5GMlVWQ01YU1pwV3VJaWJDaTRFaDQrbk9UQVNvUHNNL2JxYmpKVkNwUVNFK2VGRVp2dzNoS28wd1RhSEZ2K0NXMExtSnRCc2VjcS9xd0hxMWJ0VXo0b3J2NTFmSHRBOHZJSGNaNSt6WlpSOVowdXpqekdRYlpmR1hTS1E4Ky8yQXM3czVkR2tGMVh6NlZqWjFEdGJjTUNSb2R6eUs2ckovajhTOTFudHI4WlNWVFcyWVdnTGlmeGJWVzR5c3RSZkI0NzZUcjFsM1p1ZzBTb0twSGw2L0hNbVlJVml3OW9ROXoveE5yL09qOExDZElCNGlBSkxvSGNCbW9NVHBxZzh1TnJOR1pQdGZYR21vMlN1eDh5ZU90amsyU3lheHJrSGlUMHNzZCtWUjJDNVR1YnVPbzVrMzllTmhiVEFpRWtpaXVMRDVycmFJc0ZtVDFtQVFxcFR1S0QzRzdTc0xBTWkyUksxcHFtaEtTRm9pdmMvZkptbnZtMEdzTWNBck4vbDV5TzY2RHYwaGNkU2ZyVUY4Smg2MTZacUVjRXRsRzVlU3lGQjU3RVNVZTNVUjlaUTNNb2p0RFNLMDJNSlNJWWhvRXVuQ2htSTRHd1NTSVozN2ZsbEJKVGQ3Sit5WG9jazczVTFtMm00OHZ0bUxvTElkTlBoRHZPa2NFQzNZdEgyTGhMd0ZUWkZuZGhxdjhGKzlrd2tJazQva3V2SnI1bUdlMFAzbzNpelVBcktVUHhaeUY4bVFpSGM4RGNpcEdLNVQ2NXRPL21oM0hESXBxVUxLdUtkSXNYS2FFamF1TFdCVTV0WUo5NzRjSytMUU1GU1F5ZHVhTU9aR3JIQ2dBMlpoL0V5b1hWdUVnT21pejdhT2pGL2dKajZBNC9UZXNEMUd4OUUxVks5RWtKL2hqNmtHUW8wSytNUENuMTg1MmxIL3gzeWNrWk00YjNldXZXZldYSFkrV1dBSSsrVnNzaDArd2t4bnYrV2NIL25GYkN4RExQUGwxYktncnhIQ2VKMVZ0Um5uZ0prVERSNG9uME1EQzFmM0xyYURqSnpvb3dtN2NHYk5KVFRhZWtOQnV2ZDNCQzdKSENkNVErWW9NU1NKaEo2Z0l0YkdxcHdxVTV5SEM0S2NzcTVNMktaZmhkWGs2ZmNqZ09aYkNpMGQ3ekpWUEVFY0tYUWJMV1RzSjFIbkp3ajljR0dnK1hCSHM5NTI3WmpMbWprbVFneExqMXE3ZzMxNCtWbFI1cDZJVC9BRGx2eGtJZ1FmVzc5K29TSGhjY1BnY3VQd05PbVEvU3AvTnNSeGIvYUxHeG1rdnptam5sbUE0V0hKVGtyVS9oOFZmZ3MxVVFpZlYvVDdFTlcxSzVaWUtBUTdCaHJKL0U2UXZ3SDNrb2FtWUF1Zkx0ZmY3cXlaWU93aHUyOTQ4dGJOaE9zclZqUUVMaDlzcktQdmV2QXp0OTcyM2dhM0hiRm5rYm1MUmpCOFZBZ24zSVAxSWg5a0ltR2JmWXNaN1EzVVc0enU1STgwK3RQZTVWb0pFa1VKU0hmdktSVkU0cXgxRlNCRkpTT2VaVzlIR2ppVDczRnA2S2VnejBmb3Vodit5QUQ5M2o3ZVo4N2Jiajk3Rm5BaEtCcDltQWVzSDdhNllqZ1F6ZFFHandzV2NDc09mN3dkc3hNSm1ITkN4dzZtaUZCVVEzYjJmSG43NUZZV3N1U1dYb2FjNnFrRFlPcEVodUh0Zk1hZTFWM1ArekZsNWNiUHR1bWdxV2FkSFMyc0dpUlk5eDI3YzB6dlA1NmZpRGo4ck5BdDI3eDBMdVlhY2tYbnNMMTZVWDRQMzlyN0hxNm9uLzg5L0lZR2lmY25xa2xCeHhwRTBRL09iN216QmF3c3h5UVRnWjR5KytBL2tvZHp5WE5YOU8rZWRmTU9hVWt4aFRYdDRydWJtL2tSK09FMy8xSFRxS2l1d21qbnM1MHNXTmhFTkZ4dUh3NlJaZkcxWEw1eTNGQUp4V1VrL0xkSXZQZGlxSTNVTElVa2lzVk1PSjNmY3dJc1lhWXh4UnFhTUtnd2VqWnhPU0x2d2l3aDhpWDA4UnRnMDk5T25RTlU2Y1A3V2JUQmlnckNpYkUrZFBaZEhpRFNTTVFZaG4rbHhuMjc2dEREWHhmdk42V293d21acWJ4eXMrWUVIeFRPYm5UY0dTY2hDaS83NXNWSkNhaHFjVFF2WFA4cXRiYkx2a3RnZWZ4ZE41QTFMVFVBYUpBZlVzS3RqMzhiVUJ0VEhkNnlLRUpCbFdpTGZwclBsRXBXU3F3ZXQveWlDLzNPU295eVBVYlZKNy9rRnErSjUvdmRmTXR1MEg3alFwQlR0MlZHQkphMmk4VXY5bHFYeHZmK2VtcitSek4yL2VURGdjSmhxSjhxOS8vV3NmQzFMdFlRaFltcTJ3Tk10ZWhLZ0s4OW90OUxRWVNQY2ZsaThCdnh1T25WSkJYVU1DbDd1V0NhUHIwYlY5TFJnVW1CdkRDSGNUaHg1cG9Sb213YzhTUkhVUG1YUmdvZktmUkRuVXJnbnF2QUpMMy90REl6U0Z6VHZidVBmcDVRVGlFTzNVY2F1ZG5KSDFOdCtldnBVakQ1dUtkdUFqaFBLUFpXV3p4Z2N2YitmZFQ1ZXliRU1qclcycHZCcUhodUxSdStYbWxpUEFpdGdoUlFzNzFVWUJzbzZDak1PaC9RVXdVdkJFWkFWa25RUGh6NkJsb2YxK05mVitJZEtxTmQvbjRkbU55RUFnU0dMZ1V3WFhUcnlNK1lWSGtKUUdidFgyV1orYy94QzYwUGkwY1RIM3JMK0hvRERReFFDUkd3bGFWaExGWmFGNHpCRTdEeWdtclhFZmg0ODVrQ3kzQzQvRDlodFBuRFNlam1nSm4xVnNBU1V4dEVJM29iQTBLUG1CdjVFNVk4ZWhXRUZlVy9ndlRFVkhKWmM1WlE2T0dhM3c3NTA1MEdnZzlMNmJZajUwKzJsSzEzMTJ2ZDVsYXdnQnVxcFNYR0NUcHZ6cTVoTklwdUlZZmIxWGdKajRlUC9uOTFCUEM1V0pESlpIY3doYk9tOEhiZUw3c0dYNzhBZTQyeWgzaFBrd1hJUy9NMGxsWVc5bXYvUmplZ3FvRU82dytPSHI5OUFXMzB4aVNpYm5MM3FZNzRYT1Noa2MvWUFqd3ppbWpHNGIxdXMxVnZXM3lYbytjV2pwREJRRWF4cTMyd1NTZSs2dGZvNkVxOTg5S0lhdjZHU1BFWWwyc0xVdFJFUGVOQnpUTlhLblRNTXdJbW5wclZkdVgyRDcvNm9rbnJEdExGMnpFRUppeVJUVnZJUndQRWt5bEV5N0RpOVVGS1RweUdaMkpyTXBubHpFTitjMzBmcTRZR3FObS92VUluNFUyc0ZTcTNQdnZyQmlVZFh1NTdtbGMwaEVZcUE2K1o4ckQrYkhXU0VjZC8yVzZnMDcwUE55a0pFd1d0aWcrTnJMZWVPU1NkeFcvU0oxSzdhZ3VQMTI4eFJybDh4NmRwemRIRVlrTkRycjhyazYySXpMSzFGVVlSTUtPeVFmYmNpbWJiUWJyOWNZdktUd1UvdUhQbXBTMy9aSWN5WGhENTRpdXNadTZpZkRuVGluSEk2V1g3NjM2cDJHVUNzNzJtcHBpd1lRUUdzMFFGVkg0NUI5aWYwM0ZLTHhPSkhRS2t4TEk1eFRUS1lqUFgwL1VuVUZJNVZQTDZNeHpMWk96TnBta3JFa25aMVJncDB4TEtGUllNYTBrMFBWQjVZblExT0xqZWpYM3Nzb2V4akVKMEFBNFA3M3B0c1hzU1FUeHVaeDc1bDJCT0NodTk5bTI4Nld2Y2lQL0xlTmdibVRGSHFoTUtXUXVyYTBHOGpMMGlIWlRpSXNVVlZ0U0tiaFVHcFE3Y214SXlqU1REWGswdXhHbkFPSkx3RkVkTW1ucFRHaStsNld1S2RLVDNjMkJucGN1TXZmRUtuQ2ZEUU4yaUlveFhrNE5BV2hhM3NvL0QwK2ZmUHFrVDAycXRKTFh3azBrQVo2NHpzRW13dFJUNTlMUEJnaTNMcWV2T2EzWWNyWEVhb0dEQjdYTlZNMnlxdHZ2SUdlYWlqM2s4NGFsanN6dWMxYlNPUlpON1VSU2M0QkJpVTNSMGsySzlUOXlZMTdrb0hvcy9tQ1FEakhJd3QranVwVXdIMEFrZVhycUwzOUh0cGUvd0RkSmNsM3V5Q1pHQzVnRzR3a0IwOC9DSmZ1d0xKUytsdDM4Tm42NVJ6M3ZmUHBqSVJRbks2VWJ0L0Q5N2puOFpGWk5xRWluQTZpc1JoK3Y1OWdSeWQranhjMTJrZzRiUEZSWXluRm9wWUR5a0pnUVNoa2ttbTEwZEpxc2JZNmcybVJ4VVJqQ1ZiNXowSTZ0S0hqYlU0RkdkT29hc3Fsc0tpT2N1Y21IQm01ZkJyeVUrUndFb3U2UUUzMHRPOFYrTUhGTG00NjNVbGp1OFV2bm9uejBwSWttbDlseWNZNHA2MHA0dHg2UDNldSt3a2xWaXZKSWNBY2lvU1FEdXZtbGFOZXVRQVhOY2lWMWNPeCtrZ1RwdWNMNmh1U1pCYm1VWG5xelZqQ1pQcVd4VGhiS3dqTkZEZy9TSkZtRHRIdDllbEI4bDE5NTQ0NmxBVEZudnEwYkwxWXdob29OSVBmbjgzWWdxbFlsa1ZXWmc3eHBQV1Y4cGovdHcxUHFoQkdGWUs0bWNTUms0bnIySU5wV3Z3RnlWQ012SGtuNE9qVVVhMDF1TkVackIxTmw1YUl4RWZHMTUzaDNMbjNQbkpxNTJmVGpFaDE5Vm5YRDVibDFCeDRIQzVxTzVwb0NYZmcwcHhzYmFxbXNxMGV3elRKOHZqWTNsS0xwcXE3WVcreXovMzd3Y29tY0tvUTh4R01tbVFWdnNuN1Y3K0tXeHM2a1hCUG93dnV2YWlPMG5FbXpmL3FvUFdSU2hKTklkQXRwUFRoUHZCQS9FY2ZRK1l4eCtDWVByM1hoSVRqRVdxRExWUjBOUFF0SU9JbUpSRS9DMG9tc2VHOTVheVRTL2Q2M1U0cVg5UDNvcVI2b0JhNkF4UjYxZzNaLzFNbmpnTUpabVUxSkpNSXR4dWxLTjl1OXBxVE5mUWIzYklFZ0JyREJZcUZxdHFOdHJ2MGhSQUNOZGREckNOQWxSU2dLUWdwd1NGNGM2M0JXUmRPSTF2eDhNSjdIMEFmelI3T1psSFBLZWk2N2w3aWlpK09zRTJlNGRJUVFtQVpBcWRiUTQ5S2hOK1BLeEpFcUFwSnZ3KzkwOFRuVXJGY0dwbytjSjE2VjNhQVd4MFozMFFWZldNdEgzN3hBY3NXTDZRc1V4Q2JkemRDd0thZEM5bjY1VEtDUjEvTUtjZWQzZHRrVE5lTXN1Q05uWkxmcjdKMVZXaU93cm1qOXczTGtCTEtjM1hPT1RDVDZTVjJEbitlVCtPRjVaMDBCZ1p2WENuNit6SVNIQVVXZVVjbnlWbGdKeCs2UmtITGh6cUpSbVhRZTFaVms4YWduOHNlK1I2QllBNllCaE1tTzdsdFdwempteUpFMWZPSktRNVVhZHNOZzQ1ZjNMSExweERnNlZEdzNWQkQ0WTIxR0IwQ0ZEdjJaY2JoL3AvWWIwMGs3UEppTTdIYmMzSGI1SmREWEx6MllDdGZibCtCZ1lNVENuSklmOUZNSWtMU1BQVThacFFWVTFFUnhnaFU0cDUrTUtQZmVKR0dtMitoNHFWRktNNnVBdVQwN216UGZKKzJhSkNIVnI4SndIV0hua09PMnplazE3dVgzUUNoU1pKRktvbENsWUt5Q0s5dlMvSkl4TU54QjQ5R04xZXdmTzJYL09RSDFYejNwdThTanNZNDlxNTcyVlFRSjlMU1NLeTZqbmdodUZvbFZueVArZ2Q5TUE0c1FGVnBqMmlzcUxad2VUSTVkWktkUzdObWpZL1ZWUlp0RVcydi9XUEZBbHhoYm4zOElDNzlRUmhUd0k4ZVB4QmM0VlFzL0w5NHBOeXl5SmZya1laaEU3QUNsbFJZMytaalVWWEdYb1drNHZINGlOeHVTNmlsSDI4REJCWXl2QTBac1hQWGhXY213cHVOcEhWZ3dMaGJwZ21rSVNrcjlkUFNZUkp0RUp4NS9Gcitkdk5MNUdWSGliZXFhTHZoc3BZVXFLYmsrK2QreWl1THAyRllDb3BpNTlCMjIyZXhHQysvL0RJclY2Nm10Ym1TcTg3SzRPYXpzaWpxVUdsOEtFbDBnNFVWWWNpeXZPdWJWTFFKTWtvOEdENG5GVTBCUkF6d1FEQVpJNWlJSXZhWlROZ2UyclRKbU5VMUNGVkJQMkEya1NlZXdYbkMwVGhPUGc1dCt1UVVvWEQvSTdwdDI4anVZMm1oVFJxSFdqcUswTU4vUzVFSmE2a3drNHJyMUJQeG5Ic1d3ZnNlSVA3ZXgrbkhTQVJJdzBUM3VFa21rK3k4NG52Y2ZkY3RsUHpwUG02OTBZN04zM3JqVGRUZThpUHVlZndQMUZ6M1UrS1JLTHJYZzB5YXZkYTFWblhqOVV2ODJKeXIwZFRTdUhRb3pmQmpKT05VZDRCTGx5U1NPbU16dDFIbXFlTGYxWmZnVk9KOFk4eGZlSzN1WEo2b3VCcUhzZ3NubU5IVk9sb0M5ZERhWkFlSDhreEpuZ1FMd1ZoYWNXTHMxZlFxUUZKQ3pCS2NsaFBsYXF1SkR4NXU1YTRub3NRVG9HdVFOQVNHQ1NjZEpMbmx1OFY4WG40Vk4xZGRURFRoUmRYRFdMdlY3YzNJcXh6VzVlL3lzM1ltK2o4djN2SnlzaTY0bE0zTGw1S3AraWs4NStzMExueUo4TGF0Z3g2L1MyY1hkdC83bmdTOXFwUzRqQ3pVWVRobmxnU1B3NjdaVVJTWVA4NUxYb2JLeEFJSDcyME8weEF3S005eDROWUZrWVRzRjNZZXFmdFZCUGh6aTVoejByVk1PL1JjSEc0L3VPd21TNys2ZmpiZk9YOGl1cXFralpFY25Pb2I5OTRYLzlxdmFrK21mS0trNWFPMTNjZW9nbFB4RmpUVEh2OEMxWW9CeDZWMW5TL0NXVHpSVWtxbWF0dTZUN1NVY3BpM25iTWREWVByeUw2S1VLU2tNRGVEa3FKTUFxRVltN2QzQUpDZjdhR2tLQStEVGhwYlF3UEtyNkZna1NRVURodmJ5dlNKMmJ5eXJZM0Rpdk00WnZ3WXhvVGJlSGVKRDBVenUyTVNUbDJsSVpSa2JVT1FQRmVZeXBwNjVoUWZSR0ZlTVJOaURWdzVLeE1oVTduc0lrbFpxUTZGaDdJc2RoU3huUnJuWmNjSXhBMHFPK0ljbnNZQ1NSUGNoOFRKT0NtS21tUGpQWGszZHhKNjIwMXN2V05RdTZTNXpXTHRWcE9wNDFRbWxpbDBodXcvTUZPdVUzYkU5aUZpRG9FNkJEcklXd09wanNOZlFPSkxZYk5jZGpVNGtTQU5vM3N0bFpKaUhHZWVRdUxWdDJ4czhzeFRzVm83c0JxYmVxMWhpUmxPYTkvS2ZReGlXOWF1cStpcXhjeWlKbVlXTlZHUUVTYkRrZUR2eStaUzJaNkZZUTVNcUt1TVVQeHZUenN5S3lzTFJkRXdEQk5VQlZQM01QZXdBaHdPUWNXL0drQlZNWklHbVpsWldKYlJyKzFwMSt6WmEvL3Z6MDArMnRET2ZWZEZlZmVRZHI2MWFUeGJoSitLNWhwdVhYaC9xbUJlam9qYzBTd29DQXRjVXFCM0FERndoV0VVMExuYlIwclRJUGZBVXpnazUyd2lWYTE4K3RqOXhCLzRBOStzckVUZEMraEpFMElpNVM1dW91NENMY0EwTFlTaUlGSUoxeldXZzgvZHA1RVZYa2Zib3VrNE5RY1RDNnQ1dGY1dzJyV2tiUTBNZUhvVlZDVk9ka0Vib1JWYjhIaHFNRXRkV0NFM1dmNmQ2SG9DYVlraEpRVTNOVFZ4MjIyM3NVMklZYy9qcksrdFpWWjJEaUtaSUxKMkZWWTRqRjQwaWtSMUZSNS9OczZjUE9vN0d0TzZWMVZLQXBxRHMxZSt5TkxzRWw2YWNCeEVnblkyKys0alpKTDArRGhyMjF1Y3ZmSkZBZzVQbjBwNXNIVWp0VzVTMm9kYjhXaXNYOW5KTDI2Nkc0VEs1dFZCRkorenUxdmZZRTZGTGdUVGRGdVFyMHAxVzVqamNESk4xOUdGR05TVmV1RGtSNGQxYlo1OTB2NzV6VmcveFNKQ0VvakI3MDh4Nlp5dGNzdmY0WUp4a2xsUmcxK0ZRMlNxOUhES0JyTDJwWVNTYkJzUU15eUoxb2VGSmJBSmdUeE9sU09uK0hsbFdjdGVBSHNDYi81NElxVm5BT0ROSDUrMlV5S3dVTEFMdUUwbG56b0txVE1sYjIyTXc4WnFTcC9ZeUV6OVg4eWJtTUdoaDR4aCttRlRLRDN5VUNZVmxySWhYRVZJT0lnNDhzbHorYkJNWThTRnVCQW1Bb0VwSlZtWkRoNSs4SGdiTkgyL2dvNk9CSXBpQnpsMkJmMUJTb3VpSWp0cHI2RWhOQ0JaMDNDbjFoUjl2NnJQRHhFbXRDNHN3T3pVeUwrc0h0d3lQZUdWeXVGKzRLUkJNcFprSllncU9DVE5HMzArUFFjMm5qQjUrdVhObkhmcUJDTDZhZHoxaXNIUHovb254ZGw3bC93bEpZeksxNUhBaHUyMngxV2FvOXJQRFVGblN2dm8wdTRVclBBcFRBeWJoQndDUjJxYUVncGtKQ1RMZlFydFRvR3c5bTk2OUdYbjVQV3Yzb0N5bkRoM0Z0b2RiWDgySTUvcVVVNTdML2EzSVZQSkx1VWRnV0c5ejZyKzV0ZTBpRzNkUWVEOXhjUjNWTzR6Q2I4bU5LSm1sSFl6d05meUYzRE5wTXNSYmo5NXN3L3Nwai9MbTMwUUlpdVRhNTJYMHhDbzQ3MjJKWGhVRjI3VmpTSFRsRFVDckZhRjhFcytBZ0VuVnRvSGZHVFpyRlVCU1d5aS9kMzFjQkpCMGdRVURWVzFuUUhEcFpPMXZRWHZYUy93enlNdGtycmdxRTlWeW1yZEpOMDZZamRkSEE3SVZJR1liU0tNSzFlWU1FR0ZzeVhKS3FpN3g0TXpvUkJQQ09KdVNVdHRBMVdydzFSV1ZGQlpVY0VMTDc1aXI0L3VadUtFTWJ1cnhmL3VrU0lVYm1tTDBMS3RnM1ova0czSklFdVdnc2NIQzA0NmtIbUhsa0prU1NvQlR3NitzYkp6WWZhaEpLYk80ZzFmQm05czNKdWlqbGNHMUVRV1hrSytteEExMVRncnRwT2NlQVpHVGhtT0wxNG02MC9Yb0VvTGpBUzR2WGJCK0I1Qzh4Y1B2ZFduMEUwWUpxWWxlZktGejFFVVpjU1NtWWNNQ2prZGtPSGdpN0VlMWptejJHZHVqWC8wTjd1Sy9aL3VJSGZTWWFoNUIxRFoxRTZzWXlXSEhuczA3cUpEcUdyZmlWTnpJa1Q2WGVPNmxackRBUmRjWUJQVkJsT2haSjhQVGp2TmZpME41V2FsNnM2RmJ2OHVVN3BDT09DKzFmQktaU3BYdzZRN3Nic294VmZRRU8yL1NDOWl1SW1ZYmhUZEloak9vTHkwbGorVzNNcXBuNzVBOERtTEhRMTJzWGRlVVFlK0N4VmVQL3hpZmxYM1EzWXNLd2NOVkplSktkVWVVL0xkZDc3Yjd6YldFbkJPWFlBRFUzYlhsM1ZmOHNKN216QWNRNXRXSlVVbW5PbUFwK2JvTE1qYm5VeFlJandxMGFVaFduNWRpOWxoSUp4aWNKWk12eDhPT2dnOGV4QTllRHd3YTViOWV5Uml2MjgvamJSOGF5R3dQQTQrWGxySnhXZk00cHlMRHViakwzZUNoS05PbVVGdWxwdC9mcklOdkx0STlYNGY2ZnN3Wkg2cTA3VEp2YSs4clAzS1hUTXN1ck1JemZCZVlDRzdjNGdhRU4rb0ljMjlOOVl2ZnVUOFlmNlMvenVpKzhFNWZzendYbkNGSFVDekZBWE5OUEFiTVZyOStXVDk0aFp5L3VjaVltNEh2a2dNRk5GTmhqT1VKWXRjL1QrN3JaMENWanVhK2pSSjZTU1JLbDdYUkp5b0dRWGwrUUVJUGZkRTNYYjViVWx6K0x5MllOZ2cySkZFdUJRaWdTUmZMRzlGeVhaZ21SS2hKOWxZazhmUlA3bkUzc09LSGVXdWVxNE14NWdLc2c1ZWludk1UaXpBaWcvZW16dGp3ckYwK0I0Z0VXNURHcUM0czNHWGxWTnc0di9pbTM1NkQ1OSthT2ZNdmkvRjV5TlpWVVBEamQrajBoWENWSlMwQzE3MXNtSGV1S25jMzIyYjZ0Z09DRTBsTTh2TnhzMzFtS2JFNVhiZ2R1dXNXRmVMWVVuOEdTNmtKbGl6dG9wWU1rRjkyVm00SENxMUZURWlpVG9LOGp3a284bWVjMlJaS0I0UFpsTVQ0WTgvSnZzYmx5QTBEZE0wVUZVTmlXU3orUUp2R1grbnllaEVVMVFHczlLS3I3dDB3TmM5VThmam1UbysvWGxJRVFxL3NPcVRBVEVjZWJ6ZzlCMEJkTytwdkRuYTVMbW1qZEMwYWZCMUcyQjloUUJISWtGQnVKME9LMGt5bVNBcEZPUi9RSEd3d0hZam8xVmphS25aU1EzNVRBaVdJbG9tay9UVTRYSkgwMnVxa3hySC8rNFhmZGdNRnVHWW0yT21ydUhZMkVaZVhQc2xUajNDYVlFZ3YxaDBNUjlzbUlIWEZlc24rZWI2cjNCMkxDeGpsOTFwR1hGc1l5WTl0RnFSVU9mWGVIcHVGdTlPc1Vpc2VCYVdXejAzeGhDRHRoS0IxQVhSVjF3NEp5WHdIQmhCM1drUmY5RkJwTmxOUTBrUjIwckhzMm4wWkxhVmpxYytyNWlRTzZOYnoraEdFbDhrWW1NZVFvejRmbWk0UHFPM0NrSEJSNVI3aWgvbU5xN2tuNDVqQUVscG9vWGZiWHdFNjMyTEtySjZrZXZZbzdQZmZkeDlTMzFXSUlqZTcrdGpYSG4yZ1h1Y1hjR2FiWTBzWFYrTGxKTDhiQzhuSERvZXQwTkw2L3YvM2VhMncySFpUUUZNS1JGMGtmS0JKUVZ4dzBRSWdVTVJxUm9vaWVadzhFYU5vQ0twazhnNGlpMlJ3M0FvOFY2MDlPbkdFb1NRV0FuSnhQRnVwcm9iRU80Q2pFU2MzUGJQbVZoVXpKcHEyNmVSZzdoVXplRms5enc2Tlpzb05XRllCT0lteE0xQnQ4WDN0NzNkcDN6VXNWQ2s1S0tHNVlNV3F1MCtmai9pRW1Ca25QS0xibmdSOG4xY2RNbmgzSERNYUZ3cmxoTjY5eU5XdEZvODJKblB4VjkzTTlkams1Mi9zNkdkaFU5dTVDZFhITXkwR1JOb2ZmVWRaSFdVZDZJRnZGeGxJUnZhdTY5clNFR1dtdVNPbmROc3A5UlNNS1hHdklKV2JwdXhsZE11YXFMdE5kdEdldkM2dFp5NnM1RmZyWnZJa3FaY1VDeDBOVGxvMGNaK2dZcWt2UjluVG92UzRoTlVSWFNNVVpLa0p0SWlaQjB4ZlNuN1Y2UityeURiSjlpMHc4WkZzMzBDdjFla2hkM1ZubmRldnhJL3k1bEJvZFR4amJhTHhVdHJZc1RyS3FsYitOeWdnbmo3S1ZmYkRSK2lNWXArZkRWRnQxMk5GWXIwSmxKS05YbXEvZjdkUkZkdFJIRzdrSmJGLzVuUkpWQVNJTmVCbUNmaE1Kam9FZno4WEpWNVV4V3NtUDJlSTQ1UWNPZ3FXeXNzTm0yM2R2dHpPYWlmTGFTdFlaUVVVQlNJQkRrN2V3YTZxaE9PUlBCNVBHa1ZqNTg2cDRpRUtTbk9jcUVJd2VSUlBvNDlzQmlmU3llYU5Fa1lGa0tJSVJldnBhc3ZrQkowU1UxOUJtY1Z0TEE5RkNLK3M1Tkpib0dXR05NL1dVVWZrRzlXUmc3Yk43WlFJWE5wRDZxWXNTaitqR3lnZFI4RXN3U1hnL2VYVmpOblVpUHozSjM4WkswVEhMNjA0eUlDeUJacTl4SHF3dXdWZXZSNzJxdGhZdk45ZUZGWjNaSGdKVzhISlZkR2VPUUtRV0dlQ1ZFVlY4WTRjTXlnZ3Nrc0RtWHpkbTJFVDFxcXFleDRCUkp0b0EzZ3k1b21Tb2FQNEhPUG9XYmw0RDdzYUx1NDJyQ05zK1pidjBOczJlY28yVGtEenNkSXhYSy8vYStxQWVhOU53R09HTFNkZ1QyKzhZMDMrdmtlZ21UQ3BIUk1GamZNdE8vdC9yVU4xRlJzUW5lb2d5Wk5sMWo5eC9DU2dUQVZyNzVNaG03dml1RG1sNWdRaUtMTHdRT1k5ejU3LzMrWG5Iem1tZUc5M3N5Wlg5bFhtVExhaTkrcmNjbEpOZ25pcHNvd1UwYnZPME9VVUFTT3Q1ZGpIcVVRblRjVzcvdnJHSzRNSnJHWGFOcUk0VHQ5aklTWjVLMHRTMWhXdTVtT1dCQmQwVGkwYkRvNzJ1cjRvbm85QjR5YVJOeEk0QmpBUjdMQ1lZU203V2JzaWU2ZjBySndUSnVHSjJJVDdqaW1UVU5HbzZBb3ZjK3hFTWprcnZ0MTNQOUk3L01ySldZa2lqUk1Jbjk1Q2szN0QyU0xOMDI3U2sxVE1XcnFhZjN1SFFTZmY1Nk1zOCtpK08ybkFHaTUvdWRVSDNvaXZuUFBJZmVQdjBBckxlNzV0M3RpWkhzUUNlUFhlYXNqaThlM0Z2Qlp5RWNrbGJDOE9Pam44SXdnbHhjMGNjb3BIWnc4ZjJCaVlaR1MxMEduWUdtSmcxY251MWxlNmlTZVhBbnZyUmcrY2oveDN5VTZoUzR4cXh4WWJTcjZuQWlKcGJZZTBtZEhzRnBWekNvSFloQjJSTE9ISEpHZ3FKaG1GUHgra3ZFRUdaTW1vcVpJTXZYSmZrS2hFUGo5bUZSakthNVVVeGZSQno1cGtwUEtEVE5UUVNhM3NkdGpCeFE0N01kR2lwR3F4K3YwZmd6d1JjV25OSVVhdWVLd3EzaDk3U3RrT3QxRVhTYlpTWU92dlJiaWxNVUdub2dncURZT1NVSjJtWmRtUW1WQ1ZveTdSdFVUZXFlUzgzOGZwaldrSW9SZHdObkZGM3ZLOFU3dXZDaURzY3Y4Vk43bndFeElITDRVSkwvN2xPZm45NUpEc2VkZlJsMjFGcXVsQld0SEpSUVdwTC81YWdkdWZkU2lldmhiMWxGOHkxclBCL3BvSHNzNEVEUW5sWmthWjZwZXhxWTVIeDZoY0lLZXdhVVJsY1JkOTFHeGoyY2puZmdtS2R4SUdqQzJFRXBuT1lnR0hTZ0NTc3Fjak4wUTViT3RzZ2R1bEpRYWNhbjNNWDhDTU5scWxxR1I0QkI5TTJWS0MrdU1zVFNaZVFnUjMrZEUrT0h6RmUzYi9iaHBBNXNEdGJnVW5jNUVpS1RtWWsxN0JmUHpwdXlsQzJxaU9sUW1oai9oZnk1YWhkdGxGOS9lZXRFcVBnbC96SGIzVWNpRWllMkE5V09ubXVFUis5cFc2cnZMUGViQ01BR25pZG5zWXZYalhtcW54R2h0bFZSODdrSFJ3cXhjTEFpRkxGU0h4RVFpZDB2d3lqbnp1T0c5eVNmdlRtT2VKU3RXck9DMTExL0RORTNPUFBOTUZpeFlrQlpoZDBsa2VJbElhcnZzczJCeVJOWXNVRlU5SXRmTk9YUDhvRWVrUTBxRXlDR0xuRUhWZGR2TDJ3ZjlUSWNGeFRHSm1RTExpbU1TUjVvNW9zVzMzakI4WC83V0d3ZUZrdHd1aTVPUEM3TjJTejI2S3BreUlZSkMra1dvZHZYV2JyTW03SUNSc0NUR3hqQTVvOTJnQ2lLdjErSlRCWmFxcGQ2VGVyOEtKTVZYYWlOOW5DVzRZN3FEZUZJT3JlbjgyN3RQaFVScU9vMHRBb2ZWeEFYRnE3angwRFlPUCtwZ3dtVS81b3Z3Uk43NXFKRVBQM3VYNVJ2ckNIZkdiZXpTcWFGa09MdkN6ejFxSWF6UXJqMnFBTm1uUVA2M0liNERHbjhQa1JySW1HKy9KN1FGckg5QTRjMzJ2K1pIb1BQTlhibk1YZGNhY1gzVC9hdEVSNmNtVk1PUGwvMlk2NmZkeUFYakx1ekdZaDJLaytkMlBNdWZOL3lKcUJuRnFReFNFQzdBNk5DeHdpcTZOako0cmlJRVZqTEp4TUl5bnI3b0dweWFocGJDMWY1MjNsWEVEWU1ULy9vYlZ0WHVSTkVkYVRWQ3NHMkJHRHZOU2J4VkhlSHZSM1h5MEpJQXF6ZHNKV1lwek1rNWdKOGRBYzl2OWZOcHMwUm9CbFlhRENKQzdOSnhnMjNaUGQ4NzJOWGpVcUUyNmVFN3VWdjRJRlRFSitFQ1Bna1hBRkNrUlRuQzI4U3hHUTM4clcwQzdRNEg3WVY2bjhKdEtQVkJRb1ZRMk9DbnJSZHljZUVTRG1qMjg4dVdHY1FqQ1lTbTdCZHlzMGQrOHVidzRqWW43Ny96dHIvc1NhODNoOExjRUszdDJXVDU1bEF5Zml3K1h4N1JkSFI4ZEhlVTFONFZrZVJ1a2V5VXZhcUlvZWtEUjUyVC9NSVNqSVBQWmV6c3lXeDk4aUZ5Nnp0UW5SYXFLVkVWYWZlajM0c3BFMEtnYUJhSmppaWpwcFh4NjNObmNNclNqMm0rY3lGQktkRHpjMGkydHBFM2ZpS0pIMS9NclpPYWVIVFZBeEEzVUwxWk5wSHdIaDk2eFpFcDdFNlJFQzVsL1lkeExuUnZaL042eVlvVnNGN2tjSGw0S3B5c0Q5QlZmcmZ4MU1BdkcwMlZKQ3JYUXNwdlRsU3V4V2lxMkh0Q1lRbGJXNnBwRExXUzdmYWpLU3BUODhjUU54STROWjJ2YWxTMERrenVZaG91Q3JOT1FrcEJTOFJKZXlMT1Z6bEdMSi9la3NTV3JLVjUvVlphbkJrc0ZBV2hSdWVFTHpMMFpMT04ra29BRVJPcXRCREhJcTBrcEJqYXVnSzhpc1R0VkNqSXNRbUwzRTdWM3E5N2FhY3Bwc0F3dXludHV5OWpBQmdTaEdZVGtRMVIwQTlGeDVBeU95MURjTnhvZTUrK1Y1bEUwZVNBcWQxQ1Fydkw0amRIZEZMbk0vZXVmaVZWWTNYOGJRdjdGZDhLa0RRdGN2eHVYbi84ZHhSNUhDUk5hWlBrN2Q2MWNuZUZQNlprZjZPRDNiOXQ1U0NhS2xjVEhPOUFWWFB3Vm1XUWxBZnMxcnh1OE0zaTkvdUp4K01zWFdxVExHWm5aVkZjV01nTG16ZXp4b2p4TzE4eHMzMHVtamVyYkw3Q2gzOWVFbWVwaWJQVVFuSEwzam41bGdWYUhrcldjU1FiNnFuL3lmMjAvUFZSckZnY1o2NGZLZTJHNGdobFdPZkVNQXpHamhyTnhKS3hyTnU2Rm9jdkU5TTBhUXNIa2FsODJyNThpN1o3bnhnWlcxWlZTUm9HWHErWFlDQkFabVltclMxYnlBaFhrMnZXTXJGY2NtcE9GUnRiaXJtL1pSS0ptRW5BY3ZEWDJzbHNpZVJ3VnY3SHZKODRocEJlMEdPbkRpbnVMaXdhcTZjeEpYc0RqUjJMaVVTeW9PTndYbGg3QU5CVEx5b3FSSU9TTHphYTNIR0pvTDRORnE5SjdsTGErMkRyS0JKcS9TcVB6L1h3MXBRWWlSVlB3L0poTko0a2FFTHljWVZnM000SWlEaUdZZUdLUmdpUEViQng3ejhybVBUUkhNdnY4N1dFNWFBK1Vwd09iemZmdm12Sm9IYU9hZGhFcklvYTNDZHlMaUVFcXE0aGxQK3l3TWUrQWRHN2Zxb3FWaXdLV1g1Y280cFJUUXQxZENuRzU5dnRqUzRVRU5iUXJqdk00K254MSt5N0d0aHRpOHp1NTk0TmFmTHFtbzk0alk4eHBJbVVFSWlGVVJRRnI4T0ZhVmtrTFJPMzVpQVlEOXV4MGI0dXBVZ2ttUkNYbkRuN1M3NTMxRXQ0OUUzODlUTWZMKzh0a1RCZ0JWVXVPS1dkaStiVVUzRkxCY0ZYbW5EbDUxQnczRkZrSDMwY3ptT09oVlR0YWhUWTJsckx6cFpxdHJiV3NLbTFtcTB0TmV4c3I2YzIyRUk0R3VvOVI1MUpXTnBLN1pZS2Z2WDA2bjNPbFgrN2FsWXZmRUZUVEdabVYxSG9EdEFZOWJPMnZSekRVdE1rMTdVSmlqUCs4TXRkOWtXWGpiRXZlKy8xWjFOYklOVklYdmJXRjRaaElWSXg3TzZQVlNYTklaMnI3MXlEUU5MU2JpRWN2ZjMvTzdsN1dNL0RpeU50azZkeWo0U1V4T01HUVY4MjZvc0xXUlYzWXVwTzVyN3hFb0V6TGlPYU1GR1ErMXdUdjgvenNUWFl3MHFWVXVKd3VQaGlheVdkd1FCanh4eUdHVkVBUVViUkxBTFY3L0RhMnExWUV4TEU0OUhkYkowMEowcmE5YWRUY2tHazRpNVRjZ1ZPRmNMN2NHUXNLVmxlR1dWMHJvUFpaVFl4MVBLS0tNc3JvL3ZVeUJRQnlYWUZJeWh3bDl0RnMwYlFRYkk5dmIwaEFZZG0wTjVlaEpMUlRIenN1N1JPMnNvdi9CbmNsTzFDUWJJM2xUV1dnS3lBNElGTDQ3eDNwaFBYMmdrMlQ0SG9iY0hMM1RBWDBTK2taTmYzYmFvTURqd2RhZ21aT1FmWnVaeWllTkQzZDk5djVHMGl0ZHNZYTA2alJBdlRFWTdUVVBFdXZ1bFp0S2tUdVRualJON1B5c0hsMU5NN0V2VjM5STBScVZxZnY2ZjcrdTQ2VFRFVExKcDJQa2tjWExiNk1XU2REcGE5V2k1UGtydzhINk5HbGRqMmxDS1FDWWxTcVdPKzhpNGZ6ajZIaW5rM2NmRWI5NkxLOVAzWXJqaTJsRkRYNmVLVmpVV2N2U0RFUEc4N2htRmdaRVI0K1l0aTZnS3VIazEvaHNUUkpFSFJCVHRiRXZ6dFY4Y2dnTHBBRE1VcDBvS2gvcE5IeHJ4QVQvOVoyc2k4cVFqbWpFL1NWaFlla2wvLzlnamY3eGwvT21NUUFaTGM3YlF1dEF2N2h5SzhqQVJqUjVkVDRLL2lpc3VlNGZxdnI0WTRFQU9udTZkdnBpSWhBVWNkWE1WdnJsN0VyWC8rR3BZM2h0Q05IdklpRW9rUUMyemhGeGRtYy81WUg3d0dqZXVTV0dFR0wxZ2F4TXdjbXkyWnV5SkNuUldqc05qaWZoYzJwaXNVTzNmdS8zVS9HUjVYMXJSUVZBMlo1V2ZIais3aWhoOWVRL256ei9PTlN5N0JpTVc0LzdkM1UzbFpMWDkvK285RXIvMFp3WVltSE5tWnlHUlBEaDJIdExCTTIrNFR1MHIyc1NURXpWU2RtQXFoWkFhcU1Oa1Jtc2kyMEdRbStUWXl4YitlcDZ1dVJFcUJwaGc5OG1tZTRlODlsR2dYZGMvdStzdUp3U2c2aDZRN3U3Wm55QlJrNlJZL0xteG4rcFltN3ZoREo0dVcyUi9TUlNiczBpVS8rYWJDL0l1TzRPN29kM2xyKzZHZ0psRDBHT1lldFovUG5IZkhzSzdQekQvWlA2L3JUNThDcGNDZmRaM3M3QnhXL1B2ZnlMbHorWW1pVU1QZ0ZaK082b0VKa0pPcGY4T0JJaHFtYmVhT3lYV1E3MVBaMHBSZzNsZzNiV0VEbDY0Z0JDbjhjLy9mNzBjcm0zYnBlNUdWcWgxb1FVcUp5NkdpYTEwNXZFTVRhdGZYLzJuL283V21TVTRXSEgzMEdXeDQ3MWRzV0ZmUFVUZjlFYWQwRFBsYXJZWmpLRlo5djhPcGE1UVUrR2hvQ1ZIZDJObDl4dHNDVWNvS015a3A4TkVSaUJFM3pMM0cvcnR6LzZSRUNvVXNiNURqaXd2SkRDd2gwZlFSSitZVzhpOTNBSlJNcE56MU9RNU5wVFRidzBjN1d2akJnakdFMjdKWjAxRFBnY2VjVDA1OEVSMVpXekZEZGp4Y3kyZ2pwMnd5eXRneldmYnVGbENhT0haSzhaRG1KMW1wMGZxZ0h6WFhJdU5rbTdjdHVzeEo2NE4rekNaMTBNazJUSGo4bFRpMy9JK0xaeGNsMkZoaGNldVZidWFPbHJ5OUVzNTZOUWNPTEFXZnRrc2dEempzRHFXaUt6NjJaeTdkUG1KUzFuNU85aG1mMjhhUlk2cVlNNnFCUEc4RVN3cW1GclJ3MXJUTnZMWnhFdFdkZmd6cnEybVlJWVRBc2l4TTB5UVFDT0IwT05EZERuS05PbjZaK3dUaVk0RkFNRFBMSURkV1RpZ3hrVWc0UkNLWklDY25COHV5YkR4aXIrTTRJMnMzSlZXYmQ5Wkt1VlNXbXBMSnUvdWp1bzU3Mmt3YTY2dloyZlkwNDdJZnBlaTJTSGR6bktFT1RmYmhiTy81V0VwQXNRakh2UHh4WVFzT1Nvbkhkb0NpNEhXN0NKc09VRncydSthQTh5Z3hwVTVIMjJqcUhGbkVNdXBBR0xTRVMvQzB4U21VMjd1TDVOUEhpaVNKUklMaFRyVTBUWlBjM0J3S3lrcG9YL2dNY3V4NEhPVmpjRTZZUkdUdEt0cisrUVNGMTExRXJpdU1hUmxwSFhRaEJJYnU0cWJQLzhtMGsrZWpUSnlHak81V21HdFpDTGNIYSt0V1RuanFueGk2YTFmMzFEVFdxUThjYlpjZ3NTU0t6OG5tRFRiWlp6cGt3cnNQSGNGc3B4T0JvQXQybnFvN21PVjBvS2NocEJ6S3lKRFUxc3ArRWhNVW1EUVdmdjRYdU80Q2t6dHV0SDM5cDErSEFBa0NhUUxmRW9tdUNxcGI0MFFUSm02SGFzK2JFTjA1bldLMzllMFNHS3JTZDZIdTBvclF3SExHS3NRby93NEF6WkVzcUF5bFhYUnJkclVWTncwRXFjNFNRc0VVMmRTUVIwMVM4dWFHT0d5b292VHhqVXpYL3MzODZjVWNNbThzNDJjVlVwZ1RncHdBaW5jWDZacU14VWJHZVpLa0lEdEJJSkRnbW12ZUFTQVFTQUNpMTk1VUZJRnBKbG13d0daTGV1NjVOU2lLQzlQcytUNWRTWXpJL2Y0aWNWcXZDZmM2NGx3NTh5TmNIeWRJU0VqTU5mbkwxbU5vQ3Z2VGtHTTJJN2FwcEt0OGhuOGtESXRYM3QzSm9YT0xtRG5wQW01L1FmTERyejAvWkJuY05kdzZUQ2pXV2JMT3psNDdlcm9mOTE3a09JbVVFWFhuV0Nmek8weEtZeGFKVk51K2pJU2t4cVZ3MTFqbnJ2ZnVSeHRwUTdZMjRGckZIUmEvcXJFVFRiWTVkSGJrNkdrSm1yKys4UDZ3M3VkSi9kMmhwdUpiY0RocVZpWk5mMzZVenJmZlQwVUJoelpVb1dKSms1WkVHK1BjcGR3NjVWb3VLRDhkV2dJMFBmNDQwNis0R0Z5MkF6VDk1TE5wZXVoeHBwOTNEczhmK1ZlZXEzcVYzMjU2a08zUmFyTDFUQlNSWG5HbVRBck1HaFd6VlJzQ29mRCtjQnpsQUtkMk40OUFTaFJONDZUbUhJNTUzdTVjNHBRUTBXUXZVRzczMms0TGlNVWtNaXFSSGFDNm9laXVNRVpFa0ttQTdwWDhBeDhkYlJsc3I3Wll2OGxrelRxRDFSc1RyRjRYWmVQR2pidUFSM080alhkNzc4VGl5UkdhVzRoSndYZlhUZVN4MmtMK09HVUhSL3M2T2VmSUNuNytKT2k2QjYvWFFORUVIWjN3NXF0YitNTjVuNE1MUHFyeGM5T21jYXh1OTRPZXRMSHMzUy91eTRScGMySFdJWkNUanlVRU1WTU9vOHhOUWJKbUswbkhrUmlNSXFQcUE5d2Z2VXpHVTcrZytkb0hNZHVhTUE4NWhhUUUxNHBGb0RuNkRHais3elc5TTZRTkJDKyt0NGExVzJ1NTdJeDVUQ3JOVFp2QTVZZmZzVWtLYnJ2bnI4TzZYamRlYW9QeGp2dzhMTlZDYW5wS3h3M3ZnWlVTVUJXMk53YkF5cU91cllwUXVJWlY5V3Y0ZklPQ0tuSTQxRnJPb1RLWGprUVlERGM3R21wQVZZZWVJSitUQTVkZEJoVVZ0cDAvZXZUUTc1ZmVacndFRkFmc0RIUkhEMnl5M1FRc1NGV0pQcmNGRk9ldXBJQnVleWlWTEdERkZmUk1rK3RuUDh5M2EvNk0rMWVOMUt6T0lpbDF2TzRJUlNlRzJIak93ZnphdkpXM1Z4NERCcWhPRTBzcU5wbndIbU5yMjliK2JYaERFRWk0RWRoS1BaQUlzcjI5aVlTVy9vUXFxZUlkanc2UHo5WTV1YkEzbVhCc1RaaVdYMVpqTkNjUnJqVEloRzNERVpZdHM0bWZOUTBtVExESmhDTVIyTGJOSmtrSmhlejM3YThBUVZxK3RVUlJGY0tkVVo1L2N6MXpweFZ6NWdsMlM3WEs2alkrL0h3NzRjNG9pbHZ2bm9hSlZ0K2R5YXhPU0hiSWtjRXBCSmdoUWRPVHR0MWxoZmE5RUUzdW8wdTRycmFBLzZZeDhmbmhiYXJEV0xzb3dXc2xDQ3NPSHZBZHdqTjU4ekRlMUxHZStUdlN0UGFtNVhIMzhQemwwVjA3VlRpUndWZUlxb2ZoY0JhZ0tWRU15MDBpM29UYi9CemhPd05rZkdBNVA4NjJpMCtmdjMxWXArSFZGRmVyVUFWU0ZXZ1NydjNXUkI1OXZwSmdJR2svTHdXS0k0bDBwdVR1YnZuUWlZcXhORldPd1RXNkF0K0J5M0NOcnV5ZnZTMlZESzJOUG9xc1MxN0FFNjRrMHJLTmpNbW40aXFhZ2VLd0NTQTZBKzA0blM1Y1RuZjZzaEZKVWlpWVF1SG8xdTNjVlA4bGs4Sk5SSXloTFdEUkE4TzhjVlB4OWZFVEN1Z0l4U25OeXlBVVRlRDN1NG5Ha3hSbWVZakVEVEo4THJzL2c4ZEozTFFJZXFQbzNpektMQVVwZERxaStZenptRWloa0VpYWU0Smp0a2wyMWhsNGpweVBVbEtjc29NMWxyV3Q1cGNiN3VmTnVnL1FGUVZkVVltbkVWQ3FmK0FmZlFwbDM2R3p5VGhvSnBHTjIrbjhZSW10a0lZaXk5UUIvQlZMa0NpVWJLTVRjc2VSek9xMHlZVFZ3WDJjbWx2dkd0RGdjYzJleWpFbm5VVlNLTHo2YVJYTE5uMkdzZy9KK1p2OTBPYUVZK3ZncGNrSy9vdStSdkY1RHRTaTNMVHd6RzZpRFNIQWxGaVpDdmxUVGVxWHJTSDA2UmY0NWsvRlVuUXdvelpCUUpxNHdzNzJyTjVuUTdFd294NXFnOW1VbFFlWnRuWWJobUdSTjZ1TnV0b3M2dHR5VUQwUnJBR0NFNWRmZnZtd0hvc25uckFMRWdidWxDM1IvVk5JR25iQnRNTS9oWGc4a1pZOWJBbFlXZUxtMFlPeVdEWEtiZU5seHI3alc2cHBvbHRKTEJTQ216UFlHaDdQdHNJSmJENThFanNtaktNK3A2Z1hnYkFudmh1QnNCQllvbmZ5M2tqdEJ5V3I5L3RVVENJNE9TeXdnWDh2djRPVmZydVVabTduTnZMTlRrSlpMaHlZZmF1KzVyNndlVWs4cWJOby9YVHlmVUdxMjdOVFFWUFIvYnFVa254dmlFWHJweE5QNmdpbGI5clVoMjc5Mmg1N1YrSGVmM3pHMHZXMVlFbkdGR2Z5dXh0T29DREhtMVl5enQ5LzFyV1RSQytjbVc0TXVuZkRBQ0ZBdHlSckp4MkVVQlNjeVZpZkJORHB4aEtrQkp3S3EzWUV1Zm9SRFpmV2lSR1BZYWhsQkdJU05DdXQ1RGV4bXk4d3ZkQ0RCRmJYaGRKT25MdDNRaC9vbG1WeVN2TjZwb1ViK1ZmaFhDcThlZWszc2RtNGVFVHRQa1dNVElMeU5kOC9nYXZQbnNtYzFoMkUvdlVvNzFWRmVDcGF3Q3RWSnVIcVdzNDhjVnEzR0E4SEl6ejcxNDk1NmRXVlhIemhvVngzMlpXYzA3cWRrOTc1bU1YWmNaNmJXc1JqVC9lMFJVZ3FFSVBaQlIzY01tTWJGNDZwUXlnV1JsZ2o3eXhiNWhtZGdqUEs2am05cEpGbkswYngyM1VUV04yVUJVS2hWM25DdmZmMjNKeGRUQTcySVlFbFMrQlpPeG1lQ3krRWVmTjZ2dDY5Q2J2QWhodlRteWkveEg5VmpDa3l4bTA1Y1prZHl1U3RPcThJR2NxQXpWZGNweC9mOHdrTlpJMUVKZ1RTdERBMmJrWWFOaGxVNHVWSmFGTW5JMVFGSEJMSFBFR3ZSdTFQYnhnVWcxTUU1T1JwbkhlcUI1SDZQWWxLUEExZlNWVjgvZnFoUnR6RUpJNXFnU3NJa2FSTnZxUXFBelRZc1d6aTlmajJhbEFVekZpUStQWnF0UHdjeU0vcDgwK01wbGFpS3plUXFLeERETkp3Nlpvclp3enJlZmpkeVBhRDZRbDVOZ0pMZ1FsdzZBa0tCNDVXTUNLeU8xSGNDa25temxBNGRLNWlFd29Qa2tOZzR6NlM2Wk1MK1BNbFk3cEFkZ1Iycm1tN3BZQmxrWWZBcjZZbjJWNitaWDZQeDFjY1BZWXJqaDZ6OXhEQTdVUFRGMTNrQlZHeThUbGR0RGJONGNzdEdVeWM5QVp0NXRSVVlWZDZocmZUNFdiNnRFT0pKaU5rWk9iaGQyZmhkbmlRYVJNS3kxUkMzeDV4UldrU2NuaDU0WlVPQkJwTmlnODFaVGVJSHI0WldQM1FsY2tSMkY1Q0NMSlVqY2F3d2FPeFJnSUwycmp4ZXAyRERpNENjenhSWnJEUk81YjNPNTI4MDlMSzB0YnR0SWZyd1l5a0V0V2RLSzVNSkFNWGJLT3F5R2lNenNjZndqRjVCbG5YL0lCa3hYWWMwMmZqT3ZRb1lxdVdEdW9MakZRc055YUhncTZsdnhMWjJmMTNQUmRDRU95TWNldjd0dC91MTJNVUZBNXNwMFdqWGV2Vy96eXBTY25CUzhJOWl0UGxibzJlQmhyR2ZtandPNnhqeGd6K3I0eE5sV0VDWVlPbjM2NjM5M1RZWUZObG1Ga1RmUHNPcVJvRzFwY3JVWHh1aEprK25wb3crL2MzTmFla2RJeUhlTXBQTEJ2alFYT2FKTktJOFk0VXZoT0pSUGF3L3dVSnk2RFVrMHZ4K0htb2lvS21hR1E0YkI5M2NsWUpYdDJORlRlSUd0RitTN3NhcjdnQ0pUczdSWUJLRDBMaExydER1RndnQkowUFBiVEw1dHlEZkJnaGtNRmRSVmlKRzc3ZDY3UGNxa0I3K3oyU1czYmd1ZndDd2o0L2xwa215Y2UzM2gxaGU4U3l2NHVxZ2lYcCtOM0R0UDNzWHJReHBaUzg4d0x1NDQvWWhRMis4QWpSZHkraitkcWZValh1U0hMdXVKbXNIMTFqLzYxcDlwRDFweTJBODArRVU0NEFmRHB2ZEdUeDVKYmRpSVNGN1BiaEk1YkN1NTFaZkJieWNWaEdrTXZ6bXpuNTVIWk9uSi9rcmNYd3IwWHcya2U3L0wrQVUySFpLSjNYcHJoWk9zcEJ5SmtLemlhSE4zOUh6ODNDTzIwOHdUV2IrM3pkTzIwOGVtN1d3UHBpMU9nK05ZMkNSTmMwVHEzYWllNjA0eUtuSWlndkg0dkxzSnYvOUxrOTZpcjdWMmtLRUZlSVBwbUgreHN0aUs3WVdxWWsrbFNlM1ZGYkd6akc0KzlCTVNVUXBpU3BxNVErOGpQMFhEOWpjdk5wYm10RENFRmVkallWcmMwVVBmSXpFa2RkZ3A0TXA2eWMzaC9nOXpqeGVlMEcyUjFCT3k4c3kyZnIwcUU4bGhLQzRWMHl6TFFNdnZmOGRWeDYwSlhNS1ozR0Y3VmZNbjI3ajYrL2s2Uzgxa0hJN2FRelI2QmFhY3JJY0dYcVdOaHZ2bXgwTzFja0szbjJ0NDFVbTZkd3dwbTVMUG4wUFhaV1ZHT1lnZ3d2L1BnYUQxZE56Q1Q4cUlkdFMxVTBqMFJ6OTkwajhYdnp2OU9IRFdUWjU3QlFJSW9WaGdRb3IvcTBUenZrazA4V00zNzhHRTZaVzh4M1MyYndqZGJ4NEhXZ1cwbVNvVTZjQlhsa3p6dUlxcXBLcXFwcU9PS0krZjNpTFJOVUo1ZTZzamxlejhBckZDekQyT2RDc0hUaW0zUzU3RzU0K25PTnA1ZVlIREsxR2tYQUZ4c0VXQnE0WlkrVWgwd1JwVmh0bzc4U0hJR0JnY2JueVJtcHhoM0tQcEVKSjVJR2l6N2R5Rm5IejZHc0tCdUE2b1oyRm4yNmtVUXlqZHplUFhJdTdLWWlDaDN4SURzQzlSeVNOWjczRzFZenlwbkp2UHlwdEVVN2FZc0d5SEg1a0trQ3I3VHNCU1JKVkFxSmNHcnVyM0I3SE1RU2RqNWFRYjZEVTkyL1prWGtJQnJ4b0NQN25ZOFJLeXFRNEFRaVNMUXVLRmdCSXlhWWRYcVllTmhCWjRVTHQ4c2kyYW14L2tVSFdYa21nUnFOdGYvS3hJemFoVXl6endyanpkMWxQelMvT01MNnM0L1IxdHJHVTA4OGlabXdiZTlubnY0bk02Wk5KNjhnZjlDL3ZXZGwrN0RleTBXcG42ZTgyemdpMzFVb0kxUFFrWDNXaE9GZGs1ZlRpeHY3REZqUUlydC9UM2NVM2JML0NJVzd6b3Vtd055cHU5aHJyWFNUV1JNV0VnTml2U1d2YklnQWt2RERZVHQwYjNVVmhvcWVYWTZTd3I1RzRxc2owT2pRQmV1OWduaFMyYnQ4RXFsZ3hjR2x0SFBPK0FxdU85cGk2cXlqMk1CaC9IQ2R4b2VQVmJCbTB6SVN3Wmh0NDdwMGxFeVhUZlFyNmJjR29pdU1sWGtNNU44RWpoSm91QXZhWHJKdlV3VjhLWjd6NXNjZ1VRTlZOMFBPV1REcVRzajdEalRmQjhFUDJDK0VyRkZINzIrZ0NoZHRWcFRmYmZralIrVFBwOXh2WTMrMWdRcCt0K1dQUkxVNGJvZUx5RUNOb0FYRTFtYVEyTzdCaWd0VW40blI2SUJoRmhrU1FGR3A3bXpqeGZYTE9HbmlUTlkwMkVUbnM0cktlR3ZyV3FvNzIwQlJoMWlzTEpBaytQbFNuZlo0aE5OeTY5a1IwL0VpT1NDM2l2dVdsL1BBR2tlcUVxci9EWGpON2E5WmdLSW9ndUo4SDVQRzVOTGNIbWJqdG1ZTXc2SWcxOHNkTjlrYjR1ZjN2VWRUV3hoTlZTZ3A5RE8rUEllR2xoQ2JkN1IwRWFrTStCV1dSM01aSHdyeG5kd3RYSm16alpxa0I0QlNQWUl1TEI1dW5jVHlhQzY5cXczVHQ4MTJZYlFncFVBb0pqdWJGSDdadGlERnJoMURhUHRuN3dKTUh0MDY4aDhpZWoveFJjMDZKdVNXTXF0d1BLc2F0dlltdXVsblN5UWMrMTlXT2h4ZUpveWFSSUUzQjJsSi9ObjVhR2FhdG1NZmZ2VndZTm5WN1pMc2dnQVhGaTRsMXY0ZUd4c2J5QTRVOEVWT2twK2JIVlRxWGp3T0grbHFtRmlrSVFWTEs1aXhCS1loT2VQY2VkdzUyVW5ld3c5UzgrbHExSndzaEpGRXRuVlNkdDRaZkhIZDRkemFzWWdOWHl4SE9IMElwMjZUQ2ZjVlowbklYVjlVTTNta2JUeVAxQlRDd1NHdXJuYUFJd3M4b01iTXRQeUp3YjZYSTM4MHp2S1p4RHJzSW5sbitRd2MrYVAzYVIvTUs1dkIrTnhTVnRadEptRW1PVzNLa2VpcXh1cjZyVitaSGovbTN2VnBSalpnS01wanBPb0tSaXFmZm5mWm1tM0dtR3UwNlAvd2pLMThQSGZtYjNBWDFtSEc3R1JFTXdwR3FHODJGaUhZWE5IS0RiOThBd2xzcm1qWnQwSnlrVWFOeWdqNC83dnJtTjBCZ1YwbVYvcTV5aWFTcE5nM1piU2paWkRhUzhNa1pFblVrbUtVREFjT3Z1SitaSHRnOXQzNTRwckdVdlZjVmdYamlNMENYUm9Fb25NNFVydUFDVUxGU2pVWEgramVWVlhsc2NjZTR5OS8rUXR2djIxVE5CMTYyR0hjZlBQTm5IN3FxV3hMeHJtZ3M0cWZ1QXU0eEpORnlHVVJXS1BobjJZU3IxWjNkVXpkL1VPc0pWalJVcHIvOWk2Tjk5NVB2TG9HTFNjSHplVkNwakI2c1EvN3JjOGRxT3Q4dHRZbWJMM2pmMzdJK1QrN2trUm5HMmc2SkpPNC9kbFlRaEJQSm5yakxDTmszSWg0QWxVSUxOUENLY0VJaDNBNFhJU3p4akV1Vk1Fa1Z4Vnp5OXJwM0tyemJ2MVVHcUorQ3JWbXlsek5YRGxyRGFhYXhTZjFaNUZVTTNwb21LSEUzZEZOMWxiN1NES2FqQ2FkYU5oRHB1Rkh3NHVobWoyTEpsTzRjemd1T2VQMk1HNDNPTndDZ2haR3hHTGVIQTgvbTF2SjE1b0RXT3JQU1NnT25BT3Q0YlhYMnR0QndMSVNCNDhjNUdYRktJY2RpVGFHejllVUV0QmdReE1jTVUraGVrb05DNTY5aDNBU2drZlg0WjR0OGY0NnRTWnk2REt6TlpiTGE1V25jWEQrVWp4YXp4aldxcFk1Zk5vd1A2MUxQZmxXeFJDTTAvUnZWQWp4L3lQVzRBSGcvcGh0MjZxS1FNYVN4RHVDYUlZZ0dZMWhKcE1vbG9JVmlHQkdZa1EwRlROTm5lNGFabGFKcmtyNjZjNU4rMGw5V0RRRjIreTRYcGM5ck5peGlVUTBaQWMzVkkyb290cGt5LzJkczZTRDAyYmFSTUpPZFJPUGZlSGoxZlZqTUMxQjFsNFFDWGVOc2VPaS9HYkNCanB2YjBWUHpHVFVYZk14NWgxQTI2aDhWaHRodGphdForT3JMN0sxc1lLS2pnYnFRdTJFWXlFN0IxcW1pT2xWYmRlLzNlVlpkUVMrYUlhYUNJYnNuWXEzTitPU0QyL1lRLzRLL0hxVUJ3NS9sRlBMVjdLOFpUelhmZlkvQkpMdU5BbUZyN0wzN2NSeEl3WEhEL3hZOW40c0hJS1dOcnZoWUY5a3dyYWtHaG1PaFpHeXljT3FBNUFvcW80Uk5uaHN3anorZG13dUg0YThXRUxoaUtOdndWODZubzV0U1RTSEs2VnhCMitCRTBtT0RHNzZqNDBkZXl5TWhkQzlKRUp1a20xSkp0UXVJK1pMb2lqUTJybVJ5ZzZKTW1ZaWoyOElZc1ZEdS9oa2hyaFhNblhCVHcrMUgyZnF3Mk9sV1phZE4vL2hwbEJxajhtMGVXZmtBRGtybGdHeE9rbnJCN2JjaXRWSnpLaVZucHRrT0pGcUhEbHhFZkd4SDRHcmsvcVFBNnVqRldVZnZyVS9KUGpUSlVuK2VIRVNWN01YS2ZiSUQ1RjlxSHc1T0NoejBlMWZER0lIZ01DZCtvanRTTGt0cmZ1Tm1NVmtaYjdEd2UxeG9sc0xPWXlkNUJSYmZMNDZ3YlUvZlpSVnE2c2dNenVWVzVMK1BPeVo3NE8wK09hczFObE9ta1NNSWI3ZTdiU0FNQVJsR3pZamhVS29XdUZrbHdPSFpyRncxUW82SmVoU2N0ZHZmOE1oOCtmVFZsZkh4bHUrVDlQZkg4ZnRkRk84c1FLbEpvNmFrS0NMOU9WazZuOTJpYkxDeDVWRkhOemhRM3l5QkV0SzZvTlpmTFRUQkNIdE9wRzk5STh0YWRObzFhZm1UM0VwWHpXMytiQ004cDl1NzlmbXZVNFZmRXNkbWhtYmwvcnBUT1hjRFBmNGZPZm5JemdiRm1odTZuWit3UDNYdk0yY2NhMXMySlNMSXV6bWE3dDZDVWgyTC9NUlRmQ040MWRpbVBEb2U3UFpVYjhyLzE1VEJmTW51ZmpSWWRuTWJYWVMrY1RDREtVMjdMN0dhU1IwU2tIRk9BY0JWU2NxWXFoSkNRNlJnbStHejRjMk5tekcrYlVUU1M1YlJYTEZhanlYWDRRNmJqVG05Z3FNOVp1LytvMHNGSXd0T3pCcjZuQ2ZlaEt4ZDk3SGJHNUZxQ3JTTW9tOXNZakVKNTloTnJXazZvVDNZbTZrUkVqUWkvTFo4ZHNIT09PS0MvandsVmM1NThwdjBsUmR3eXRQUGMwSlZaVXNmT0JPOG05L2dNYmxxM0VWNWlPVHlWNXlwaTlkS0ZKWVlGTHFIRk93aVBXQjJaUzdLeWozVlBCUjgzRzB4UE9KR0I0Y1NxS1hEVHVEdXIyeU93YzlFUkpDbG1DK1A4NzNYQzFzV2RqTWVROUZhQTFJTkJWTVM1QTA0TUNKa3YvOVhqYTFzeS9sNnpWWDBoTEpSOUVpU0FTVzdMM1JaK1JWak1nMnFIRDAvNzBiR3FwNDRxbS9jOXh4eDVHNTRIQ2VmZTk5bHRWWEV0Y0hnSEJUNXJRWVJKNE5sN092S0xidFd0T2VZRmFKbTBVYlFwaVc1TFcxUVJJbUhEcld6WWI2R05Ha3hLbUpmbUd5a2JyZm83K3hhRGQ4ZUhjU1Z0RlZiTEIzT0lGei94S2ZTMENvTG9JZE8yaXAreHRLV0NITE00OTFTeGVUblZ2Q3VIRVQwN3JPb1JrZFhKcGJTNmRwKzdpWDV0WnlhRVpIV24rcjd4bWhrcERuZDZNcGtzYW1EalRSODhRMk5uVlFsT2NteisrZ3FUWGNheEdUUTdTWkpBTGhTUExxSjJXOHU2cVlveWZhemJNZjJGeEVPT0JBZU9MZE5iWmRZM0pCQmlkTnlxYzhONHV4eFdOWSt0bUxmTG51UFNhWnk5RkdSWW50dE4vdkhOVklJaElpMm5ZUWZrMXkzT3d4bE9mNmFPeU1NRG9yZmR0QXhnU29rdmlXRkZtZEt1M25oakQrL0Z5Q3kwNTE4TlJ0VHQ1ZGJYSHBoaHlTaDVUREdkbG8wa0ttbVN0dTdubDZCdnNiSWJCcTYwbTgvQWFPVTA4RUFZbVgzOENxclIreGhsaER3V2RkbXNGaDVUWGRaTUlBaXBETUgxTk5oalBPSTBzT29qWHM2WmR6c0pjdk1hejNKMUVVaFpLU0V1THhPRVlpUVd0bkFIOUhBMGROMllUaEVrZ2hjQVlUeUk1NldqdUwwTEh3ZXIyVWxKU2dLRW9xMTNQWFBLdUtqWVZKNFB6RFZINThSU1p2T3NadytlcFNFcFlDOFNBVFNzWnkvZnl2NFhkNE1lWEEyWmpmK3QzZXQ4L29Tcy92bXRvdWQzVDNxVFlOazArV2Y4b3o3LzZVMHJ6RitEUDJUVVpxUTdwQklaRkNFQmNtU29hdFZjTldBcUhhZ2o2ZFd4Rklaa3g5QTkwNWkrcmFnNUJSaXpIVGxqSnE0bmJpRy9XOTBoWERmV3lFRUJpV3hiWnQyeENqQ2xEekN6QXNrMlJ6RTBackM4THJRUjg5QmhJSnRvYXJNU3dUb2VtREptZ0xLVWxxT2xuQk5xNy80RzhVWC90WUgzY3ZxZi9MTFRRRzIwajZmQWpUSEQ1WHhwSW9iclg3OTZFb1JwK2lZQ0labzJ1c1RMR25qOUUxTWhXRmRQcXhqWlFxRi8wQUxKWUpaeDlwY3hpMWRNRFVzYkN6RmlJcFZMOC9jNzh2MEZWWEJhK3ZiT1dJS1ptY09Dc2JwWjhxOUs1blA5blVRU3hwNFhVcXZVZ1NubC9STXFpQzJIV2w5cjBPZWtxRVRVSW5iVFVsTUZJRXd5cW1ra09OektQR2dMZFhoMkgxYXNxSk1jdnhFdk1uZVRoeTNxN3UyWkU3N2hseHhXTlpnaGRmM05odEF2V3BhRTI3LzhsenozVzl6OW1yQUJYZ2lySDNEZXU5ZFptMjkzOSt5aDRUTE1qMEJEbTVkQTBUWk13dXNvbDRlWHpsQW5hMEZObU1WUU9PSi84andKNVFLTUhxamMwb0FzYVduY3NqSHlxMEJQYXVHN1lpNE56ak1naW1FcFRQUFM2RHhGNklMMHVBWXNKNm44TEpjejM4YkdlY0E0SjJ4R3FGVCtQT3NVN1creFFVay8xUExEdElrWE5sM01IT3VLTmJ4cVFyK1VaMzdCK2lRMmtZZEw3NUhrMFBQVTUwN2FhOUloTUc2RWdHY0NrT2JoeDNPVCtjZVJOK2RGcWVYa2p0SGZjUzM3S1Z4ajg4Z3Y4WXU1QXg4TUZpb2x1M1V2K0hoeW41K2ZlNTROTHpPYVg4Rk81WiswZitYdmt2b2xZNGZWbXZwUDc5bDRiU3BaUUVOYlA3OWhNTUxpcFN2UEE5OXFDTUNqdUdLaUVaRkNTRUpNTUxCODFTT2VoZ0RZUVRJK0tocGRsaWM0WEYwV2ZZZXVlR2o4cUhHMTRCNEdmM3Z6dWl4MDF6SmxnZDhITE0wcGxjMzFEUEgrZHU1N0ViWHVLYjk1NUdMT1lFUmVET1Z2bkxqUzh4dnJ5T0c1ZU41LzVxdTRPMDVreGd5RDFzbEhGVDRLQWpZUFFFVUhVN1FEMnNDVVlDckNSSmtZL2htVTBubDJDMXRHS01QWXFrcXhEdFQ5ZVI5L2NmRUMyZFN2UzdENkVhQ2VTcTl4QldGOGxHejN1NXRuSDVIdGltZ25uRVVXeXJLV0ZMVlRQbkhUR0pvNnZYa3F5clNjdVIvR0hxWjZ0LzFvaXNteG1OMnAxUjNOYndOcVRmN1J3SnA4YVd5aWEyVlU1aDdKZ0s2anNzNnVwYThHYXN4S1htc0hxckh5RS9weWdybDNYYi9XeXViRVE0dGIwdnBQVDVodDFKdHlRSWJaZXRhVXJBQWMvdFRMM0IwWnRNR0d3aVlYUTRhZm9IL0ZqOURWT2ZXVXJEb2d4YW92bm9TcEt5T2MxRUx5bml0NlUvNW9FdDN5TGVxYU00cmRUMStvOE9hdjJSdXd1YjlIZjNORVdCUUJVS1dwclllUmVac0VPRnY4M1VPYXQ0RHpKaHQwcDhVNFNXTzZzeDZwTUlsMExhTEdPclZzSDU1OXZyVTFnSVR6MEZzMmJaWk1LWFhRYU5qZllFZDNUOHgra0UyeS9UYVdzUDg5N0hXeURWT1JyREJGV3h5WVIzbXdlenZ5alJYbmFpVFB2TXhRWHhLclg3czRUanE1MDNSUm5lYU90SXgyNHJOZCtJWEhleHM1eDdNdzVqbzZNRUlsSFlZaE9uNzZ1c21uSERvaDY0VFNLcGM5aWs1Nmx1eWFhaDNVOVJkb0N5dkhZKzN6SWFoLzVxMmdYZFQvNWllSHZNWnY5OWwvenNBbVZmZUx1V2FNd0VaWmZldCtTdWpnSTkxdG9WQXltSVZZd2xWakVXMS9qdCtBOFpPSW5EVEVSWTJSQmsycFNUS0p2N2paNFdVZlZXTm0xWnpZTERUMG5icmhWU0VsVjFzbzBvMzJ4WXlZVk5hM0diQm1IVmlaSXVTcGR5SWZUeWtkbS9XM1kwVTFqZ1orSGI2K21NSmpoZ1NoRlptVzZlZTJNdENkUGlrRm1sS01BYkgyNUJWUVNISDFoT2UxTURIMjNjUUliYnhaU0RzMWkxcVluTkZXMTkxSGJaR0tKajVveHU2ZFlhYitlK0xYL2prVzFQMDVIc3hLLzc3S0xiYm5Ld1FTelRILysrdHpVcG9leW4xNUp4MEV4Q3k5ZFQrZE0vMkIxZWgxR3ZDeWx0cmpSTERzbW1iUG5yUC9xWHZaWkp6a1ZuazNmQjJjU0V3a2VQdk1zVEwzOW1JOWg3YVZoWFpjQVRreVdYYlJia3JveWpyZGhNc3JBWVBFNVVmOGFnY3lKOHU2Tk5ZSnBOalBYSHlKcVlTNTRJMFQ2cURqVXZDUTU3VHRLK05WZHZETWhFZ203eFdmMUUvbHhnTWovM0krSm8vQ1Y1QXAvV1Q0Uk1DMU1NWEFMeTRJTVBEdXQ1NkNJVXZ2cnFxd2RHdkswRVJydzk1Y2RrSXhSSFdnYlRXNU45UEhWQUZ0VlorckFDcUczK2JEYVBuc3lhaVRQWk9ub2l0Ym1qQ0hvenNCUVZQWm5zUVNDTUVFaEJud1RDKzJzL1lQYnRGeXBJUXFvYnZ4bmhsTll2YmJ4U2NSRlUzYWltTmJUQ1l5R1Joc1lCRTdZeG9iQ1J4OTg1QWVtSlFNckdrS1lLRVEvSEhmNFoyeG9MV2J4cENzTFpPeGdLb0d1OWJXaTFCMllzMERRRlRSMzV6cHdTY0JzSlFOcHJPQnkrSFlLMmdKRXlBdDEyWndobDZBMG1KTkFhTllhQWt0bGp3ZysrMlVOM21oTGVXdEZBK1NzdGpJdTA4RUhaSENhZnRZRHhPVTdTMmdXdi9teEUxNkFtTUdxWXIyaGpPUStjV1ViNzN4N2s4MDZMaDJPaldGamhKVkxYQnNJQXQ0YXE3V29tb2FvS1pIdUp4UTBlL2RNN1BQM3NFcjU1eFpIY2VzMzFITC9tUythK3ZJakh1dXhxSUtZb2xKY0h1WFBjSmk2WlVJdHFtWmh4SGVsVVVEMFNNMkl2dHBvdE1hU0dpTU5GMDZ2NStzdzZudDVXd3M5MlRDR21LRDMxOUEyN0plU0h3OURXQmlVbHV4S2cvWDVZdU5EKy9ZUVRiTC9OZHBDZ3R0WnU3T1AxN3JyR2pXbVNkaFJhYU1YMk9UN0NTb29KeVJoenN6TGwzM1praVlxd3ZndGIzR1A0SC9wbDM1dFdDR1EwVHZCbnZ3WFRUblRURDVxTDc4NWJFRzVuS2dtbWp3cytiWGZJdnU2VHdnRnR3YmFBUko5aVA3NTNKK1MwRGhaZmEraTJFZnFYYjRBVWRKUlk1RzhSS0Fnc01mRGZkUCt0eTRFUUNnZy83UXZmSnZmS2MzRk9ITDJiM1NSQktBaFZvZVZ2QzBuV05LSm0rcENXN1B0a3B4S29mRk0vNEw5Nk5BSWRrSDJ3UUZYc1dqa2w1WU5MQ2JvQzJSbURPNWNDaVlXQ0tnMSt1ZXArdkQ4SzAyd29xS25JdjRvZ0s1NUkyUThPMnJyMjF5Q2k3YkkvZjdrYlhrYVA1cWY3RCs4R2RJT2ZMem5EM2l1cXdpK1dYUTY2SGMrUmFXc0tLTWd2Ni9GczNFaXZpaWtwRkJBYWh1em5wS3VTZFluYzFPOG1wdFQ2d0Fac29DNHBSbDVudTFVVks1N2cxYlo2VmsrTWNQWk54Wng1OXBFa3RSbTgyVnJFZTUwbUg3YlVzNlo5R2NsWU04Z2txQnFLNGtDb0dUYUpzSlNZTWsxRVE1cGtYdllkdkNlZVR2ak5sd2krK0UrY3N3OUc4V1RzSXV0TUc4c2F2bGp1U0kyQlAwdWlxWUo4ai8wZVV3cU1ZU3FDbGJ2YmdQK3ZGdlEvZmtnSmN5ZjUrY0hGT3MrK2ErdllIMXc4aHRGRjdwNTVybnNORkFnYzRUaU9jSHhJRi92dVc5Y09LaTdEWVR2MTA3dFZoL1RxaTBZTTM3bisrdXY3MFh0aXQyUTgyUTJWQ0xFN1NYbi9JOWhsS3c2cU9ZYW05NzVUNit0MWpUTVBLT0g4Y2R1Z29Za2QwK2R3OThvT0F1RTQveEUxM1NuN09mck9KelJmOTFPTW5UWGszUGw5bXloWUVTbWlZS1VMU01KOS9CR1ViL3FBanJzZnB1MW45eEQ0KzNQa1AzZ1g3aE9PN0lsdjNBV1ptWUlQQTM3K3VIMFVId1F5Q2U5QkpMd0g4RVhFVW5pdk00c3ZRajZPOFhmeTNlSjZMajY5azlPT2t1U2tMcitpV09mNTZSNFdqM1lRY0NvTTJRRWN3dEI4WG9vdU81M09KV3VJN3F6cHFXZkhsbEowMmVsb1B1L0FzT3BmYis4WGsxTXlNem4waVlXNFV6a2ZoMTc1ZFJLWG4wZXNzeFBSWDVIMjE3NDU4SWJWSldhZFR1ajNoV2hqYkx2UHFIQkFYQUY5OElUNjkzMlRlem9VcG9YbDg2TGMrUnJSVUlpMWJqZEdxZ0JGMDNWaTBTanVqQXlzM0Zrb3dYRHZKb1RCS2dCdXVmOWR5a3F5RVFLcXF0c0FLQy9OZ2FFOExzdEJTcWl1M1VXNjZkRGNCS0p0M1BQQkxYakZOSXpBcGVqSnlUeDhqRUhVcWFCWWNtaUVFSCt5R3c0VnV3MXVLNm1uWkhVMU4vNitnL1cxZnQ1OTZ5YU9PKzQ0ampwcUFUc3JxcGwzb01hdnI4cGdib1dmcWw4NGlYZUE3clBudUQvejZjbnFQZzhodzhXeVp4Z0cvL2pIUDFpNGNDRno1c3pscnJ2dTVLSHZITUMzL3ZBWndZNFFTU0hJOER1NTl6dnp5TXAwOGRoakwvTDJXMjl4d1FVWGNObGxsNkZwUGUzWDR4MCtybkJsTTAxMTlYUkY5cWZza2lBY0Vpa3R2bHlkK2x5M2hlaWpZR1cxTVpaR3l3OGkyVStPcGtqNURoS2I5aXM5OGk5bGdDUDMvbWNidWVWM0wzRFdjYk1CZU9tOTFiei8yY1lCUTZyV0h2S1hQWFNOeitYanFqbG4wMjVHYVZqeUFMbk9EQjQ5OEx1MGtreVIrZ3FFcWc1bENsRUVSSXdrZDNmZWdZbG5WMk5oUTBGTlJJaUlKSW9ZdVh6YmdjYlU3QVJ2WDFCTlVncUtWUU5WRzB1dUZDZ2VuZkU1QmtXakxLUVZzL056a3dLaGdsQWswclQzZ0VqbGRUbDlKcjdNWGQrZzRMd1RoL2RHbi80ZEFPOVVMKy9ITEJPRXcyR3lEaHZQZ2NVcWlpTElHVE9HVDlzMzRVbFVEeHJUS1kyWUl6Sy8yd0pKL3F1RzNQKzdVQUo1Q1VsQjNQNXM2eXM2QzBPKzZhSGFOWE15YlFvQmg5STNLWUZnRjR1SzJzL25DQ0Job2MzSmhKZS9tcTh1WkZmK28reEpjcFhteUZLakhEKzlrM01QRW5qeUQrZjVoakxlZkNqS3hxMUxJUlFBWFFPWEF5WExreUlSbG5ZamtFR0c5MERJdndIOFowUDRYZGgyRXNSYjdkUWNhWUtpZ1dOOGFucTFWQWhFaGRhWElQUUpsUDBGeHJ3SWdSZWgrWDVnK2NqTzQ4K2Y3SzFIaEtKaVJnVFpCOHlsN0pReEpMK3diNkxzMEFPNWUvbGMybGNzUWZWb2ZXTEE1Ky8yZTNSOVJvck56dDR6S2haaWxCeG1VV0U3MUZFanlWdGIxckt0dFltdExiYlBQVEd2aUcydGpVU05wSTI5eTZIVnJnZ2hrTHJrRCtzeSthZFN6SkVlUWNUUytLQitGRkhwQnQxSUVROFA0QnRYdEVvQVhWTklKazFtVFM3RTUzR3lvNmFkYU13Z0ZFMFFTNUhQNzZocHA2NHhpTk9oWWxxU1dWT0s4TGgwdGxlM2tVejJiTnJTbDNGaG9QQmNZRFE3a2htY2xWbk5GR2NuQWxnYXkrV2x6aktXUm5QdEhEQWhoMUVFQ1JSTkltWFF2ajlOMmEvaTJ4cjJSSDdaNzFQS2J2WnZWWHNEVDYxOEE3L1RpMFBSU0JqSjdqV3hCcEROL3pqWFBieTMrMUI2MzBsM2VNak4zNVhnWTBXamFha1A1K1RKSTdKdVpYNG5NNnM5ZE55eUhjV2xNRGxieFgyVnh1UkxEK0RoaElWWFVSbEtKUDdvNDJ3U0tMTWpqSzgwajlzdk9waExxdGZRZWZOVE5BU2o2QVc1Sk5yYnljb3R4UG1MNjdoM3Z1VDNheDRtR1F5aXVyTXdwV2szZCtsdm4rM1JpMWNSQm5LQ0YyV3F6OVlMY1JNc01JZm9HMjBOVmZRRDVrc1NaMTFKZEpUZGlNSjl5QmwwdUMzbzcvM3B4QWQwSjJXWmhUaFVuV2d5amt0ekRCbmpHdTVSMFJwTFI5c1AyZGdacWJxQ2tjcW5Sd2djMDhlVC9ZM1RVZk95T1BxVkQ1MmVEemRjNG05TldBdXpZbmRNajdYV2JITG1vbUlTRlFwbVA2dVdTSm9zVzFmN2Z5cFdZQUZDaFErcWJFeExxQ09mYzl0ampmWCtmVzFGMkdmZXFhbVFUQUoyTTF3ckdxTXoxZEFtOCt6alVkeXBMbFA3WTAxVXBVK3pIdUNDSS9PSmNpRWZyMnJFTUMyT1A3Q1k4K2ZiSkVPS05qaW1ZRmtXOTk1N0x6dDMyb1VHdXE3ejZhZWZzbUxGQ3VLR2dRSWtwTVV2SWcyc05xUGM1aTNFcHlvRUt5MTBvU0lOZS8xMlA4N0JUNExVL3ZScWdwK3RRUFZsb0Jma0k1TkdONW53Q0JnTnFHNHZINno2bkdmZWZaR0xqaitiTis1NWxqLysreTlVdHpReWEreGszQTRuVDczei9INDlRNTEzM29ibVV6RU5BNmRISjl5U1JDczlHZ3Btc1Q3amVKNXBreFJ2cVdkYWRqTXo4dHVvYm5QaGQ1c29sb1ZNR0d3S2w2TW1rempORUthcTdUVVpwaWxnL2M0aTJGcGlPMW1LQ1pyVnk4K3lKT0FRTE50aFlxVnlwckVVY25NVWZuU3VoK3UrNXNEcm5JVmtGZ3JnR2xTNDJ2R3AxeWE3ZWV3QUw1Vlo2b2c0NFRJbFE1cUNzS3JXUkJ3U29XclJYL242RGdGakpaNC9tYmdDZTZWMmJEdGNhank1OVJzVWVScTRjUHl6NUxwYVNWbzZhMXBuOGN1VlAyRnJZR0o2U25kSWVYNy9MeTQ4MVBIY0w2OUl6WnpFVkRWeTIrclorZExESlBVaU5HOE9sUy8vaGJsajV2SHYrNjlINlc2dTFQODQ3OWcvMkxaSDlNVmh2YytmZE51Zys4SFgyV1hZVUp4WFNKRXZGOE15ZGhGNkNzaDBlNm5yYktHeXJXSEFxeS82MWgyVVpLN2xUeC83ZUdHTlRTU2M3ZGw3SXVGdW0ybEtMVFVWK2J5eTRGQ3F4bVd3SmRyTXRpVi9vYnFwaGxDdzNTWU9GdGpBaXFxQm9pRlVIVVYzcFB4MTJSMG43b0VKYk9pQUwxdWhmWGlKYjF0anZsNW5OV21wSkZKRVR3bFRveldlUVREaDRiOEFkZXdYc2hXYThwWEF0eU5say85OTI3KzZ6ZWlrYVpIZDZHRDdrYWV5c0RFWHk1VE1LTzFrNXVLWG1OY1J4WkVHN3RFVnZiM3UrWjBqTWcrWmpqMzFoUUxDUUU0NGdyckdqYXhvckdWaXhtcDBSZUd6TFJITS9Ga1VUamdZWkJ4YzJsNkxrTkVaTU5abkp3bGFGbjNtM1EvZGhCV3NyNHV6YUlOTktGeVNwYU1xSWkwTXR1Q2tJd2ZVa3M1Q2kzaVZ2UTh5WjBoYytZUFFBYjlpTjcyeDhyYVFuUFFtVnZaT1JOSU5DUzhPUllKejcrYXV5L1A5ODBWSi9ueGhncHlBUUtoOW9CNWlhT3ErcXkzdzl0clFpT3l6akl5NUtFZUdLWjc1R29sUUc1bkYyVHo1M2pTKy81djNhVzF0Ujg5eVl3NmhtWDJYTDNmZGRkZjE4VFc3V29uSWZ0Wno0TmNCNHAwS0NWeE0yN0VLQ1VSd0VVN0FmQ0NqczVublNMQWR5WWZQdk1XMG9NYU9lKzZoWmZIYmFDS0xVRnd5cG1vVFk5bEFmT0IyR0lOZ3lSS3d1UGU1ZW56NUhiYmYweHhGZUJSSWswWitFSmNHa2JJWC95K1FDUU9ZR2YxL0VRZXd0enlQUC9yeHQ0ZjFQaSs0NEtVOUFPSVJRU0VBY09sTy9yRHdXTnBEVGx5NmdWQWtpcEFvaXJSTGFSU3IrN0hZamFpNk5EZEF2aS9LanBwZE4zbmUyQXl1Szhxa2ZJVkdKR0FORDVFd3U5ekVzQ21vOW11RVZVbG1SS0tZZSs5VDlUOFVqTTNiU0x6N01hNXpUc2VxcWNPc3JrV2FKdEhIL29teGRmdElMMHdhU3ljdzZ4b0kvdjUrL0xmZVRPWWRQeVg2eGp2SVFBQ2pzaHF6dWhhcnVYVjRNRHZEeEZWU3hJNG4vODNVeWxvKy9QdVRuUE9USDdKcDZYSldmYlNZbyt1dTR1VUhIbUh5WTY5UXNmQlZuTVdGUTdUekJFNGxUb1lhWkhYSGdXd09UaU5tdXZteWRUNXVOZEtuanlSSDhFamNXQmpnNUlaRzdyK3puWCsrWitjNU9IUklKTzM3dVBFOHlkZS9OWnRIMUp0NGF1c0pJRXhVUFlJcGxiMXlpL1psUFBJcnBYOTBXeVp4dXY1S2x2RUJ3cXR3d1BTdDNQL3pCRUwwYjV0ODh3ZTJmTlQ5M3YxbTQrdXFZR2xsbEFLZnhtSGpQR3hzaUxPdE9jSE1VUzZhUXdaZlZrVFJWVEdnTFR4UzkvdjgvVWNQNi9YT1BlYXJRVlpzcmw0TDFlRkhreVhnbTRITG5TQ2hlSEM1bkduZGtVUlFvTVc1T0xlVzcxVE9SQUtQakY1TGdSWlB5ei83ZVdSRmIwbGJLMURxQmFmM3cvMmxyVlN3TE5tN3VTcndzNzNhYndMVkd5ZWFoRGRYbE5uZjJ4bEg5Y1l3cmQ1bnFTVEx5N2x6UFdpcXdzd3hNOW0yL1JPczl1VW94VlB4NW40QTBrN0E5T1ptSXJ3SDBienpYUTR0T1lBanBwU2hxd29sT1JrVVozbFIwMm1zSWtFck5FbFdhTFEvN0xmdDRwTWphSVVtaWM3QmE1NDlic0UzVG5keTNBejRaTDNraWplemlCNDRHazdMUnBVU001U3c4ZHVSd3ArRndHcHVzUW4zVSt0cGJOcUsxZHp5MWNlTkJHeHZ6V0Y1YlRISFQ5aHAyekVBUXFKSVNXMm5uMkRjMlMrWmNIKyt4UEJOblQwLytmbjVCQUlCOG5KenFHdnZvRzNMUm95Z0R5dG01NlFrWWg1VUM0b0tDaWpPeXFTbHJZMzgvUHdlMStpMmRTM0k5QWgrZmFtVHVjY1VjR3Y5T0JidHlBWVNZTWE0OExBVCtQNUJGN0I0VVpqUHRyYmgwSld2SWsydWV6eng0aFA4K3AxZnM5M1lobEt4NzVpUHhyWTcwOTUxc2cvbmNXaDZXMkpaS3ZpaVRCNjNoTEtDZGZhaHpBaURINkpXMGVDRTNQdEJMMGhwYi94dFc3YXdLVDhiNzdGSEVJN0ZrZEVvU0lsZU5nYXZvckdwZmp0YnFMS05oVFJYUXBnbTB1ZWo2dmxGV0hmZFI4bFB2NHRwMk1pTnFxblUzblVmTmM4dndwR2JOVENaOEJEV2pYN1dMZDNoRklLRG5VNVVZSnVhWkhITWhsQU9janFab09tWWdHTVE0ZVcvY0dUV2JhQ3VQNzk5RWlhTkJxOEwxbTZIYkI5Y2ZocDh1QXlXYlV6RnpkSmp3Y2FoQ3Y3MmZqMmRZWVB5ZkNlUnVNV29iQWRGV1E0eVBScUdhUmNpYnE2TDhQSEdUaHhhMytEQ29EaWFsSHRwQ2Y5RkREWlAzUVREZld5Q0txQXFBYSt0QTlidEJ1Szg4Tm9JbmJJZmpzaCthRTNrajVEMnNYcHRDbFhJWGpwYkVaWk5RcEptc3Q5SDMxbzZNdkpzKzNWcFg3ZDVKeXhhT2p3ZnF3RkhUSGQxLzc2M0laM2RTWVV2bk9VbU85Vlp2dDJSNm5Md1ZaQUpwd09lOWZQNzROOTMvM3dab2FyNEZoeU9jRGhvZWZRWmdoOS92bGZJNVlrRlIzREx0T3VZNjU5S2ZQazZOdjdrRGtMdmZJTHFkdU1vS0NKWjMwaHppaUJMOGRyUG1mVk43THo4UnByLzhXL0cvZkpuM0hIZ0R6aG45TmY0N1lZSGVaYlYvNVZnNmR5VzlTT3ljTzR4alNOeTNhYzI1ZzN6RlNzQStQZmI2MFowbmcwcFVEVVRTd3IrWEZIQ2E4M1pQSEwwRmpiUGZvUlhQeHVQbEhEYTRkdW95azR3OGQyRHFBaDdFTHFCSWlSR1g0VUtPellKZG94UXAyQXBRSmlZbm54Q2ZJdEk3RWd5MzM2Y1JPd3RaRzRKN3ZlZlFPZ08xR2lRakpXTFNONTdKYkowWW8vaTZqMUg0dG5uOWpqSENpSXZIMGlCT3RFb3lVWHZrRmkxT3RWdE9EMzlFNDZOVEpGUzJmVlhqY2orM2QycVVoQ1ltUHpwWHh0NTVMYlplTFJXNWhaTnc2MmNqcTVwTkVjN2NQbGJNYzFDSGxpNEdwdUtWZW1SNEN6Nzh5dTJiWU9KRS9mOWhtOGYzTzdkRzJ0dll2bE9mbEQ0Ujg3ODdGOEVucFBzYUxEdG5yeWlEbndYS3J4KytNWDhxdTZIN0ZoV0RocW9MdE1tRWg3a3c2NHA3Yi9oaFpJVVRQTGtJcVhOa2pQWkUrUHFrbFlzdmYrTDN0aHRGOWxxUmxYZ29la2FGNVVxSkZJOFpGZ1M0VkpJYkkvUmNrY055YW80d3EybVR5WU1rRWhBVTlOdUFzUFk5Yk94MGY2M3Y4Y1FmRFJybUgyMmtVVkorWS9JbDdtcTVjdGh2ZDRqSTN5L3AxejF4SWhjOTF0MTd3b1kvc1Q3bHNiT25sTEswTmpoaU5NUkNqQi8vSG8rMzE1R0loU25zNmtUTklOMG9aay9QbmZBTU4vcG0vYVBuZWVLcnZOU3ZRKzVQckZhaUgwOE1EN2tkbWN3YzhJTTFxMWJUSlhYeDhSeDB3REIxaDBiaUVURHpKcCtDRzYzdDFjSHMxNHlGWW1KSUs3cUhCaXE0NmFhTHpnNFdFdE0wWWdwR29xMDlxTGw1OGpzMzRmdU9MUEhGOW1UY25ueFAzcysvdkNwUGQ3dytFQTZVR0loVWJGQm1YL1Z2TVp2Tmo3QTJvNk5aR2daWk9wK1RHa09UV2Z1aWNsMUZhN3Uza05heXFHanFBOThOT0JHZnlIMUQyNGRvdk9zRG9BYjBvMHpTcVJOOEtjcWUwOG9uUEpQWHkyRG5WNDRObTRnYTV0Ung0MUhMOGhMS3hoUi9aZXNIbk9kVFF1YXB1RlNXaEFDOHBlMzBTYWR0QTlDOUx0cmRBRHc0K3AzK2xVOVVrSjRpd3Vma284YmxYRldpQitvSDlra1JQMWM5ZGVwbng2UFowVE94Wk5Qamt4enFGOTl2a2t3QXMyeUozVXNFblFzWXJoZDdwSGFENVBhNmtZY0hMR2tBRWVDejNhTVkvSFdpUngzNEhLMk4rZFQwV3piMWFQem01bVkzOHpqaTQ5QVVVMXdKTG83YnU2djhmQXhKU1B6Z1hzWlM5aG5OMWxDWlZ0c3lIOTN6VkVsUGVXWWhJYm1jTGVJOXpwVnpqc2duMFBLTTlLNjNyVWovRDF2ZnYvbnczekY4MnpiWWRhTUFkZnQwc3Z2M1BYZzhnVTlYb3Uzd01NL3N2L3RPVUtheXNHTm5ienl4bkxLbkRHMmgvdzR4bHFvUWhMYmFlc28xMWdUQk1SMjdIcHNTZytKblFxblpiUXlKNzZjMWtZSG9iNTBXalFLTDc4TW4zeGlGeC9ObUxFYmk1enNxYnVsaFBYcjRjRUg0YWlqNEt5endEM0VZdTdkVktTbFFKSEw1SWFKN1dKMlZsemV0eVdiajVzOUltR0tYaXBQK0FiWVA3cUcwUFZkallSMUhlSDNJbHlEZDBaK2NuTldlajVXMTZoUFU2NFRFb09DREIvdkJmQmcyZFJOUXRkSVZ0WlJjOE5kbEQxOE80NHhQYzloMno5ZXBma1BUeUljT3RJY3ZFSFhHeXRlNUw5NlNDQUsyMWRMUWxISThLUnFVUVhvS2dTVHNOMHZvUXlJMk84bDJudmVGV2xoNmw1dTN2ZzBSMzk1UDdXV0F5MFZQNUxkK0lsZFRocE1GY3VuSTdDWGIrL1l3M2o2NzlVWE1zM24raHJ6ekRaVUtYRU1rSzdlSlNMNjQ5Y1dRQUxCUVZZN3o2YWVPNkI5UzkvejhFN3EzOTVPYnpEQWV6a2U4cTQva1dzdW5VbURKNDlMdDRUNHVMbWE2dEI2U0hiYThVVlZSOVVkZ05NbXlobUlCYS9mczIwaEhFN0M3NzFHZk9OS1lpdSt4S2l0c2MvNnptMElweXVOK05ESXhISzVkKzZJWExleDhkci9xcXJOOSs1NzlmOVZtUUpOVnozYTV6dzh5T004eUZWN2ZkMk9VUDlGTXdVNURncHpIT2lwSXJ1NWszeElvRE04ZUtITlNNVUduMTR6T0k3WVpjc01CZG9ZS1h6bnNjY2VHNUg5SU5KSUdCM1NBcVRrM0xzcnEzc3Btc241N2hTV0I2MkJLQitzcWFVakVQMlBJUHRJYnF1Zy9XZjNFbnoyUlRMT1A1TlI3eitIVmxxVWNvNU11N2xjOTFDN244dTY5Um95TGp1YjFwdnZwTzdFaS9CZGVEYlpkMzYvKzUyNVI1SkNWVHBULzlJZlllQzExTDg5eDVVYjFnczI3TC81eVRuK1VDYjg1bnZVUFBnY2thMDJNT3laT0piU2F5OGc1L2hEQi8zN2s5KzZ2cy96WlJnR0pmbWo4V1VudVdWYk1RTDRUVkU5d2ZkV1V0dGNpYVpwZTVlZ0tRRk5naUZJYm5TbC9BdVpGcGt3d0FYanY5bnpXbDJWMzVzakNFVkZXbDJkTDJ6YlhpaUtUU3FYUHdPS2xONE5VVmFsakprbFB4ZDdjdWxXZmJsdmorMWJqS0FwWHZ6SnF6QUN4Nk5KTHkyWk1VQU0zcGQ5Z1BGVTNpWStmS0tKN3owUng3QWdMMWRsMGFJMzJicTFrbUN3ays5K3k4TVA1dnZoMzE2MnZxZWhPQ1c2TncwVDZwWExSdXpRU3luUk5JM3E2bXBLU2txb3FhbG00Y0xuK2ZwNTV6S3hQSXRGeStvQU9PR2dVUnd3TVkrWFhucUpob1lHNXM2ZFMzTnpjMnJQOVl3NXZKTUlpbmNTd2E4Y04wclhocTgrODFSUnZZL1g3V3RjRmU0L0tDVERJUDY5bFNXdnZRS0FQeHJuMGtHYUJuVEZDNlAzL0xGZjNWTWdGSUtSWmw1dyt0Z1JxYVA2N1RzcGQyVmpTSXVJWlE0WUcvckxRZjlkVEZMK0V6ZU15UDFXL3VhdkkzSy81Ny8xdndQYVQ0cWlZSlhid2tDeDZuajRrOFZweWZNUnkwc2NvZXYrejZyUFIrVEsyLzluMFZleWYzZlhHY3BYbmFldzZKdys1K0RKZCtISjMvUzVlNERLMUw4QmZJdi9YVHQ4Yy9zeS83WGppaU1WNHJLY1h5L3hzbVpIRklLcmJUdko3VUROenJEanBWWjZKTUs3anduTEVWd0JYTEhIQzEzNGtBRWMxczlycmNDNSszY2VUdjI4RDV4ZFVaQ2Q0RDErQWZIWEZoSDRrUzN2L0hmL2doTnlGaEQrZUFraVV4a3dYMkJTeFlxKzkxbmxLdmk4dDErWHdDWnkrZUhlaURlaEVFa2tlSC9iZWpRaE9IeTBuWCszdEhvNzcyOWJUeVNSc0czVmdUVCtINDRYQTlrSGpjREN2YkFodWhxQ21xWkZhMGNVYVVsOFhnZGxSWmxzcjJwRFZYYkZEMVJGb0tvQ28rdTlVcExwYzFGUzZLZXFyck9IVFpFOUFJNndLWmpONzVzemNTdjJlNktXUmtJcStJVkpmOW5sN1h0cG0zVkpucTlxM05Vd1paaXZ1TEhIMnFvU2p0MWhNU3JZdTFUZWtuVUk0SWc5ekMwSlRHbVdxSDI0WFo4ZTRoamUyMzFvWk9lMzROdFhqNHd1VmlWdGF6TEFVQkdHUmM1MVZlUmZ2WmtTdVdTM2ZKdWhqNk5Pbk1NZDgvS1k5dXcvcUh2dEU4ajBvL3JjbUUydGxCNjNnQzAvL0JxMzhTbUxQLzBJTkErcXk5c2pQNmpmY2QxN29xODl2Ni9jU1Jjc3VYNWdNRzVNNnB5M1BnWXRqdzUrd1Y4djY3VmU5Y0FCdCszak9mbnhpMzN1ZzZkNG1hZjQ3ajdZcHVsdXI2RnR3NUdxS3hpcGZIcmhkSkJ4K2hINExqa040ZEJSODNPWXZYYXJTNjNhZXJrdXBQdGYvdkUvUHptNGMrZUxlYk5SRTBINFlyZDlzLzUvUitTTWFyT2IvbVB5Um1RYU9uZGlVMjNQNnpZRDl3NFB0dEsvN3JQekQ2enV6amIybnJiQ1VacnUvaXRJaWUvRStTZ2V0NzJIOTROclh2K3IrL3FkUlVWUk9FdkF6TVl3QWhpWDhOTHdxVXcxOFJWcHpjVm5uMzNXL1hqeTVNazRIQTVXckZoaCs3MnBHbWdGd1F2eFR0WVlNWDZYVWN6TXVKczJ5N1RURHZlWVR2K3hKKzM2NEdBVEJObFBRM0R0dmJjUWpJUzQ3T1N2Yy9RQlI5RFUzc3c3Uy8rLzlzNDhQczZxM09QZjh5NnpKbW1XSm0zVDBKMjFnQlZGYVJXd0lvaUNRRkh4Z2dzSUY3aXl5U0tLMElwUXViTElJaGRRdUZ6Z3NpakxCVXNGQldWVGtCWmE2RTVMbXU1SmsyYWZMTE8rNzN2dUgrOGszYkxNcERQcFREaS96eWVmekV3eTc3eHp6bk9lN1R6bjkveURYeng4SzNFcmdXYVlhVFdpMkJmRTNud081d1Mzbk5QcEJudU53QXdWTUxGOEVyWWphVEdPNXVrT3dSUmFHZXR2STR5WGNDUkF6QWtRaW1vSVhhZkEwYW1pRTF0cXlSTldaSFhmWFNBUjBvSENJRUpJemo0Nnhyd3pEUTZaQXNSajJHR0pscWFIK010Rks3SlN2N2k3SEFNZWVHa3RyTmlSNFBCUDY1d2FoaW4zMjVpMTdIUGRRMk9rZ3BzK3VKR1h0NTdDZ2FQVzB4a3ZaR25UWjZucG1KWlNFek9GN09PYnM0L2MvUVhyWU43NzZXOG8vTnhFZ29kK2lxMzMvSmFqdm5VQk13K2NudFoxejB3c3plaDk5aEFLMy92dWhBeVB3SlorUFMyWmxOS2cxNC90Mk1rU080a3RiUTRzbjhEb1lERmJXcmJ2dEhsOTRLVFQzMHdLZWpQZzV0QmJNM0RYbDh4L2FFait3NkMrK3F2MTJWbVlmWnpwRit5eVZ5WjZua3R5NG9EVUVPM0ZZSGMrUFV1WjZHejU1Tjl2L21DM09NWFprY0JvVzhPTTJXZVIwRTIrOXVlbnNadWEwVHllbEFvbWVuWlhIM3UvTVN2VFp2ZlpxOWZDTWdxWit0bXpPY2JYd2JhUFA4Q082NXp3MWVsODRKVFRMZzBNYWUyVFRUTEV6cEJkejlBTUoyekpSOXVqdmNNYVNxUFo0dVQ3Zno2b25QWXNTWmtLTWREQzM3dXU2ZE5YWlVWKzcvcmY1WUwvZGJWa0pxRnAyU0lqQTEvQkY5RUt2NEJwaDdudXJxWGMvdkFTSUlaUjRNT3lIWWF5MUI5NzdMR3MzTzduZnhicW5XdDNUVVI2Y3ppZkUvRHZBaHB0aU1UdkpQcVBPNWx5RkJ4OExFaW5mWS8zSmM4YzNKYStudHl0ei9MMlFYUm1sdlJ2dnVHYVJZZG4rSXFyQURqdGpLOWs1NFlmSW12NWtwNjVYYjFwTjVxbGZjTFROWjNpNlpyTUI5c2kyZVB6QUkvTk45WkhhUWxXb1pzdDNPdVR5VTN1REV1cVpSRjk5ay9ZbTdkZ2ZuWUc5bzVHcktVcmlDOWRsanpQUC9DMEhEOU1uS0dSbDEvRjJscUxkOWJuTWNaWEVtOXF3bWxzNnZVdk1oYmJKaXo4NHlxb1g3U0U0cXQzOFBwZGQvS0RCKzdpOVFVTHFWMWZ3N0hmbnNOVFR6eko3REZsYkgvd3lkNzNQZldqMDFPNmlXZHpSRDg4Vk5GQSt4dk5uSE4zSjVzYXBKdGJFaTZaOE9TeGt2LzhjUUQ5dURtYzIzQVpHMElURVdZWUFRT1RDV2NSNTUwMTJPZkdjQnhYUjMzdThNRWJ6ZmNRQ2plOTgvNndmUWNOc0J4NGVYVW4wOHE5ZE1VY2hJQ09TSmoxVFRGc3gvVUJCMXJoMmJyZll3NGZuWlhyYmozbDNlRlAyRGh4QW9IUkJLWmZTb2V4a3E0dDFVejZ6SW5KSXNQVWJrY0FsV2FVSXQzZFE2bzBveWtydXRQald3YnludFArMjd3aCtqWjJpcSs1S2xSZ0pBT1FBOHJIYy9ic2MxbTFlU2xGVlovQ3NMWlQ1SGtIRUloUkI3TE9PSjYzZHF6am1xT21ZaWJQd210Q29LVWF3R2hnTittMC9YY1JkcXY3L3NRMnd4MkNGTlRMZjEvbjU0T1BIYzcvU3hHZE15YkFTV1VZUW1KMUo3QUZPK3Rzc3kxbTlUdUkxOVgzQkF6OTJxRit6eXhsSjd3Z1lobTh2TzRnUExyTnNaTzNZanNhTVZ1bnVybVV0emROSkc1cEE1ck1iTVVTdXlJVUNwRklKQ2dvTElLR0hWVE4raUwrNlF1SXhlTG9tb2JYN3lNY0xLQXJGcVdnNkFEcWQrd2dGQXBSWEZ5OGQ2N3NVenB6dnhmazQzRVRPV1hkQkZxakhyQzdLQzBxNVQ5UCtUNUhpczl3M2ZWTGVmMk45YnNvMS8zbjhWOXcxZ1Zpc1BXWVZnNWhlRzgvMlFmY2hualVKQkIwRDRIYlVSMDlhT2RVZWw0VEFqdVJvSzIxRldkSEE3YnVEcFh3ZUxDN09yQzdvclNVZDRBZVJkTjA3SFNFd25Id0ZCZlNlT2NERkIxM0RJWEh1WWNhT3YrNW1NWTdIOEJUWEpoVDdXa0U0RXV1K21tR3lXbUJZTzlqVXdqTUhBNkNxM2V4cDAxdDhNQnpVRkdTM2pLV0VuUmRzTGtweW0wTHQrSXpOV3dKWGxQd2kyOU81TXZUUzNvTjRDTnZOZERja1NEZzFkTGlROHRaYUZwZTNXNlpad2NLK3hFU0Rwbmd5WWlkN0NFVmxnTGFUSGQ5aVNSWHM2UDJjb2VNUkdNejRXV3JpZGR1SDNKTGdxZVB1UThzMlBxTFcybTY2MEdJeFRITFNwR09nMHdrRUY0UFJwTDRRenAyOGpVdnB0OVArUFYvc2ZxZDB5aS8raUptelBzNWZ6em12M2lhKzlURURKY3h6NHFaeVA2Q3RKTTdBb1lud2Vhb2o2KytOWU1mVHF2am9SKzhCd0l1WGo2VlIxYU9COFBCOENTd3BPaDl6L0FsRUFBdnlMaERiTzBSQkpjc292RGpPekIyYkNaMjhnVkV2bms1aVVVTDhIUzJnY2NMUmFNeDE3MEhxOStHUUZIcWRqaFpBQ0IzbzhRVjd2OXBJcTFrUlY2WkY2SHZucER3KzFpM3VaSC91T3NqYmp6L1VDWldkaEd4SWtRa0ZCWjVhR2djdzAzL1U4MjZUWTBROEdNN3pvaG9BdjVTNUZRQ3R6ZXc3Y05pRXRJazZBOHo5cVF1MXA1NU5MKzJyK1BWWmJQQkF0MXI0MGpOSlJOT0FaZU9ieDRnTjZaUkh5aWdIYmRUOHlHQkdMTXJXOUE4L2NjcVYrd01lUUQ0N1dFRzUwL1VpVnV1dUFvSGhGOG5zUzFHOC94dHhHc2lpS0NlUXVlTlFSejJyaTRJaDkzZmNxUnQwU2tBWE5UeVhrYXZsMjFDNFpvdHJYazF2c0xjUFQwa1BKTHEraW93YkY2ckRoQ09telIxbHFJRkVraHBwaElhQVBDclJ6K2Y0VHY5Ni9DT2l4QklLYW1zbkVSNWVTVmJhbXVvcmQ4S1VqS21ZandUcTZaaG1wNlV5SVFqbW9IUHRqaS9ZUm5uTjN4SWFTSkN0K1pCSU5INFpPZ3RSenBvUWtNWGd0WHQ2L2pWUi9meVl0MnI2RUtqMUZPTUxaM1VEZ3VsNHV6SVhiMGVrVmRlVURha3dSS3d2TXlobzZLUUg1MXpFcjd5cXBUZnUrVjN4UVBlWS9xajJnN0F6Yld2RERDRmJpZm51T05tSFQyYWhTUEZnSVYwdjFhbWNsaVFMWGtZN3ZBTktTandSNGxaSmljZnNRcVFyS2lkUU5BZkJTbHcxRlNuaER0T216bzhpcldQSm53eWgzeisybzdLdkpvM3l4Q1VkeVN3WHRhb0ZnVm9DU2crUGc0QzJ0OXljN3NEUFc4MVBYaWx3K2hnZ29UUmh3aDBkOE95WmJCeUpWUlh3L1RwL1JkaVNlbit6OHFWVUZBQUo1NllQcUh3WHY0R2VEVEppV083eGJUQ3VIeDRRN0Y4Y2t1UmFJZ2FwRlZaYWtoRTBrV1doa3pkUUtlN0tuTEZQWEVjUk1CSHgrdUxxZm42eFpSOCsyUjhoMHpCQ1lmcGZPTjlRbjkrRTJsWkNNTklLZWJXaERZaTlOemlGUTRMWHJYNC9sa0dIbk9uZkx6d3NzMmlwUTVNQUFxQVJtRFozdSszelVKbTFTL2h5aldQMDFrMEdsUFRlOGRQN0JVenBJRG1NQUFmM1gxU1p1T2VlL0p6ZnE3ZThGTEdWdEFmaHNOdWZxNlNLWmVkUnZNa2cvdlhiR0JINjJLZ0czUWRvWHZRUFFFY2VnNkdaZUR3a3FZUi8yZ0ZzWlZMRVA0Zyt1Z3l1disyRURRZDRmT3AvSm5DaU1iNU42MGMxUFQyNUhGNi9Ncjl1U0lNTFkyeXJaUTBuNTJmRTVlbEdxazk5ektsVEJMNnk1NGhGUzZCbEthbGRINGcyL0ZpM2F3ekVZYk91TDgrU2VEa0w3bjNiRmtJWGQrRFREZ0ozZlV2cEcxampCL0xtR2Z1cC9DSFo5RjAvcldFWjUwNTR0YTM1akVaOCsyVEtKNDVnL0JHbDZvME1PVUF2RlVWS1IwQXNjUGQvZjZ0bzdHV09obmhtdUt0QUxSMk9SUjIreUVldzRyRjlpR21kWjA5NFpWOUoxTUcwZzlPZk85ckNhQndvR1luQmppSm5jSzZ5MmRaV1o0ZkdUMEN1K01zaUU4R3JSc3BPakZ0YlorVjdOd3I2MWk4MXRWdGhpRm9ibW5qOXR0L3k5R2ZLZWFxYjdVelJ4L1B0cHM4ZEcwWG1JVnUvQ1p6SkxsejVaVlhjdm5sbDlQZTFrWTg3c3JScHc4Y3phY1AzUDJ3UlNRU1ljWHk1Ung1NUpGY2M4MDF5cGdQZ0l1NkJ1OHlLVHQ3N1AzZzErdlpMd3pQdjNXQVpleFFKUXdjNEhCTkoyNWJ0TGowUlFoRlNKSVNqbjd2MmF3TVZDamVyUVpYUVNHUGNjOXRWNHNSRnRVTUNSMTk5VXFWTmxRV0VYMzNuOWgzTCsrMWFhR3I1cUYvZmdhSnlpTDNvSGFPOE5aTEpFSVRoS0pobmx2NUhuOWY3eDY1YjQ5MGd4Q0Rrd2tQQTNSZDQ2QkpaWlNWQkNndkRWSzl1WVVOMjFyN0pFbzBEWjFESnBkUk9zcFA2UVEvYXpjMHNuWDc3bzFaYm5seTNhQUJ2Tnd0bEIvNCsxK1NwL0o3Y3hZSmhRRjBCNzY4d1dIMmh2U3UwdC9LRUNvbG1neXVKY1IwUEJNalZOMitpY0l2ZFdDM2d5T2pMb0hMRU1mcHlhb3cxdHhiMkxhNUFiTzhGS3VqazZBbndLaTVsL0xVTjhxNWFkMmpkRFRXb3dlS2NKRFkremx3cSs3Y09JZ2dEYUhEbDBMMnpoVmtxWjRlNmVDRUk4aFlIR0VhT04wUlNGZ2NIR3YzbkJPcStUZERPcjduUmsyZGUvR094UjgvV1BGWnpHUHVKYkg0Q2pYUk9RcTl1SWd4MTEza2t0SVhGNldlSE1nQTZ1YmROckMzSk1IdmNmTzdHK04yOHJaRUdrdEFRMHBKTUJpa3RyYVdycTR1aEJBNHlieTZTOTRvTVJEVTJERytFOXJDRGNFeGZOZFhRcWRqWXlIUjkzTU9RMHFKWmhpMGg3dTQrTmFydU9NUDl6R2hmQnoxclUyczNiUU9kQVBONHgzV2VpQW5waUdiSVI0SFc1TTRNWjF1YjZGbzlKY3ozcTlUYU9vczdqNkFwWnFnMGdETkZIUTdPZ0ZEbzkzbjBCcTFDSlFMWW82a0xab1lCaFB1NEdnbXRsbkE0YzJMbWJmMWJ1YUVHcEZ2R0xSSEhEU1JNeUZDZjBzQnpZUnRIUkJlYkJOOEFVekhiUjZ1WmNBdDZFd1U4bWJkYk42c216MjRZOWdYRnYrYlN2UmxFYmJ0N0tZUERNUGdVejk5bFBaTm15R2VZTWJQbnFMZ3dFT3hiRHV0bkt1VEpkMDJYSVRDTXVuWGJHOXRZSHR6M1Y1L1g3cGhCZWhHM3AzeFZ4aXh6bjVXZlBJMlk0OTYwWUFmT3FJY3YvQVJoQkMwT1JveU1Nb3RERTFueVEralZwY0loSk5BRm94bWlTeWllZUlZUU5EZ003RXhFTGFGM0Vjam5VMFBhU2kzZHN0Yjk2czFrVTI3NlVoMFRWRFgyTTJQNXIzQ24vK3lHakhLaXlhTTNXeHFydUQ1YVZjTllLdmQ1V2dLdDY0NElkMXVzSExBR3FHN2xSQU1BKzViTXlYRFYzVEpPamMvOTVJYTNHeENBSTVES083RGQ5cE14cFZXc3Y2RHBUaWRkVkJNRmpiWUJES2VJUDdPSXVML1NwN3RsZzV1MVhzT2hWQ09KTEZzSllsbEsrZzlWS3JwV2Zrb0diZndscGJRVWJjZC93WFg4ZExqZDNOZTBTaWVlZndKd3FFTzVweDJHby84NFVuT0xMNEVmbmxsWG9yWmdsL1Y4ZERDR0ZLQ2FVQWlXWEIyOWdtU3l5NmJ3dk1sbDNIWGhqbmc2T2llTG15cDc5ZGR3UGJuWllxTEp6MnY2cGhIN3gwMklaZTRoTUdPaEZYYm8yNk9CNWQydzJ1SVFjbUVzM20vNDcveS9BaFRvcTZINGk4Ymh6ZFFzdE9mVDJPdVJodHh6aTF6YTFkSEczRlNheHNIL2JOcWl0d0liRkpBK1ppRG1CR3N3R2Q2S2ZiOWlQYU5wUWdoME1hZHdWL2ZqdEFtRDZDZ1pPZzVGYnM5R1hjbWY5bHRXc3JEOE9NL2VXaWVNUmt1cU1Bd0pWWm53cTJYMVlaNURJWG91OVk3QjZSL1c2aUl2OWRNcGFxNGcvZTNqYWVoczREYVVCSGJRcU55SXE4OGF0UW9RcUVRcTFhdFFoTUN4MTlNUTBFUlVUMks3ZGdFdlFHQ3VrRWlIR0gxNnRXVWxKUXdhdFNvUHEvMTY1K080WjYyeVR5eHFoeXd3T3JraE1PUDVsZGZQbzhWLzVCODdjNlhDTzNvUWkveXBTUmZkbU4rYVR0amYwbVowQnlrblNTSjFIS1I1TXMxcDVIdGRYUysvU2FSZ2lLSVJsd3lHWjhmMmRKS1pGWUZWSm11RlU3bi9xVUVYVU4yUjloNnhmVWMvT2FmQU5oNnhmWHVSblRRRHprVzBQYzRGNFlRbkpnODBHMElrZk9VTjd2V2NXZ0N3bEhZWEo4TUEyUjZVK1l4M0NSbU1sZUJiVU5EZTRKMWRXR2FPaE84dGFhZGY2NE40Zk9NRURMaFBNU2pHNi9POEJVZlZJTTZWR1dSRGg1WTJLY0dkZnE0OUVoY1dvZFZ0MmJGQWdvaGh1KzZUZHRUdjRBRnpML2UvVkZRU0FPV0ZHaTZEYnJObyt1cmVLWE9QV1JYSC9haCtlSzkvN05mNEJQUVlNTUNDLythUHlOa0dEeCs4QVV4YXFzSlBEVWZzM0V6bUo2ZEI2SjlBU0FJVHJvWjJrOWVuVXA1b25zdmc2QVpndHBWMVZ3M3Q0NFRqcDdFMUtvQUV0aGMyOHJmbDJ5aXVhdWJNUUVQVGpTKzE1QTE1ZWs0UkgvWlJWdDROSVptTVdGR0krSHZqZVcycXV1NHYvcENZaUVUemV1QWg1U0poSHVnRFJTenNmdkdzQkNnOTd3bUIvZkRiei9FNE5MSk9nazdTU1lzUVhnRWlkb1lUVGR2STdZMmpBanNJNWt3UUhzN1hIc3RGQlZCUjRmN1hHSEVJZSswMzlxYjgrcVc1YUxMUkg5dWZYZ0FIMzB3MkNQZ05FNFBxYkJwZXBnMitiQSs4Z1VEa3drRFJJWEJ3ZUVXTHE5N2p5KzFiOElTT21IZFJOdkg0bWR4Vkg0dERVMW90TWJidWEvNlVYNWY4d1F0OFRhS3pNS2tIL2RKT2hhNm4vU2R4Slc1Tk9YT0tNcHdqckxEL2RWbUJBWWZDNzJIMk1tbkJDTkhrQzE1R1BaMVppWjQ4ZjJqUWNqZTQ3ejFMYVc4MkZ5RzhNYVFnOFNXZytWY2xud0lZeDYvU0FuTUp3U2F5QzhLNnMrMDl0SEY5aDlwUE84NUF4WHE1d1BLeXVEQ0MySG1URGpwcElFUE5HZ2FmUFdyYnNCNCtPSHVlek5qOHBBU0pnY1Q0b2JEV2ppcUpDcnZYVi9Lc2phdmlLZHhuZmhycnYweFozeENoTm1SYUFFLzhRM2JhTGo1QWZDWTdsNmxZNk1GL0NtVENZOEU5SHpOcGhiSi9QK3kyRll2T2ZaejdoSExmNzV2ODhnek5rMWJKUlNCbkFqVTd1TEk3VEpFNWVGR2J2M3dIanhPZ3JCbW9GbVpvWENiKzh3YXBYenpFTys4dlVTODgvYVNmdlZXTmdqK1JDQ0FFRUUzSjIzYkNLL2YvVFJGZ0pBeWpteGZxZzZPNWlIKzlLWnFRcHlQT0dpWVVzQzVyZ0VuTnkxengrRnJzNVZROUIrVTR6MWdETjREeHFUL1ZsMzBLUk1DNkxUQ0NLRFY2K1lwaFEyZGhCRzY2TGZvdStlQTdOaTJWU0k3OGlyNjlkMEgrYWI3eDkvNStSOEYvREhqMTEyODF1NnQ2N1lzTngvL3ZUTjA1cDRLcGE5UDR1TUZHa0lIVDJIdUVBbjNFTG9VRmhaeThjVVhrMGdrT082NDQ1QlM5c2FzU1hGR0FHZWZmVFpWVlc0VE9GM1hjUndIVFJFRURGbTZoMUl0SlVxS0Ivek1SRklUV0VnMEJJUHV5SGRrMXg4NXFxMWErYWxEbmV3VWNQekgyZEhybkR0RnpadUNnc0plMEoxK3JFL0N4bjUzS2NMbjdiV0FBb245N2xKMGIvSzFIQXB3SkNDRURocTBSOEpKLzl0d1UxRTVjS1BscFVGTy9NSlVwazRvcGI2cGkzRVZoWGdNdmM4eEhGTVc1S3ZIVG1OaVpURTdXcnFvSEZPSVlXaTdrWFVjdTdaVkNTL0RSLzZkOHdiMDk2LzJlWXVQUGZRYWoxMXdYYzdkcnRPcFUzQnNpS3JiTnVLWkZNZHFGUWhEc3E4UlNQdmN1N0JORTA5Wk1WWjdCMlZIVHFmNSt1OXdiY2xITEZ6OE5FZ1RQVGdLMjhtTitxQ1VtMk9LRWVyQ1BUaHJCSHl4ZmY4S01wNmdhOEViNkk2RFZsWk0rTFhGV1BWTm9HbE1pM2NZNTRScTVuaWs0MzJ1YU9yMU45YitjL1ZObFY5UXlqK1hKVUlURko5OWF0SklEYSt1TVVxTEJ4WlZDWW1rMzJFSzl0cFgzZ3ZOOVh1b0lqZlhkTU1OTjJBWUJ0ZGVleTI2cm1QdjhUMWQ0bUNJSTdteHU0RVZWb1FiQW1Nb0ZEb2RPVkNmMlVNcWpHbFNVN2VabWkzclhTSmhmN0QzNzhOcUN3SVNNVVpnNkJKVGx5UmFKVFlhaG03UTRRaDhta0ZKVU1lakM2SVNPbUkyRlVFVDI1R1VCWFI4cGs0b1p0TVdqUk54c3E5V0hTTkFhYXlSeXorYXozOXMrQjJqclU3YWs0MFhOTExmRURFek1nQVlZUHBBK29IdUREZDlVSm1YM0kxOWRXMHZZZkNOSGNmWWlyRkkyMEtZSmlBeGNvUndaZGk1Wm5RVFlaaDl4dHBTMVhjb2pIQ2ZYTjl6YzA4Q3BrR25OSkw2ZzUxbmIzTjRPZWhDMEdXREZINjhCZTRaaVJiSFFaTXlKUUs0Zk1PL1BsNmt4QjhJdlRvbkt4WkQxd1J2TDluS2VkZjltWTAxelpnbEFXekh3Y2xSOHBvblh2blc0SDdncm1tV1FiK0dJaFFlSGhXZUhYbGFQdmRXTmJaWkRhcGNaN1VnRXNkNnY0MU9zNGJDeHUySUl3cXpYQmU4YXpQeEhLMWx5VUNOelVIYmw2U24xOXVBMlRQM2V2bjhjNzdIK1hrc1pnKytHT3Yxd3hJV2pDNFczSGl4anltbmZvVXJXbi9NQnhzUEF6T0NwbHRwODFsa0EwM1gyeU5tZVFQNHpKMWlhQ1p6S2Z2VEE3ampwNS9KNlBXdS9XNHVETGFOT2JxOE56K1JMaTJYQU00bzNwR2hpQ2ovVUZwUTdEN3dIb2kzOEVvRUFtRUV1T0tMTGNSdGh3S3ZtYmtRTTQwQmJsN2VMbGkrREI3THpybWNrUkxCdDRiOXZMdmxBRjZ2bVVKWHpNeXBiVkFoQkJNbVRHRHMyTEdFUWlIaXNSZ2xmajlhSU9EbXg0VGJ5S2lvc3BMaVVhTXdUYlBmOWZ1Tm1pUFozdTBETFU3UTQrZW5KNS9OMThmTTV2WmIxL0RjaTZ2Qlk2QVhlYkh0a1psM00vYnZUTXIwVi9CdzZmL2tyVm5oYnF3UXhGdGEwSkpDNUNBeGJZRVZDWUlvUWZiMngwa0R0b05XRUNTeVlnME50OTBMUUdURkdvenkwVWdydDFXVG1VZEZFYnZHUGIwTnlNVFE0cUZkMytQbUt5UVAvSzBPajY0UlRUakVMQWVmT1hDZzhadHZUVlpiVTFtRUpjM3NYUGo1Nys0MWI2M0E4VS91OHNJWkFGZXJTVkJRVUZESUlwd2txWlBoaTFOdkdiMlA5eHVSY0E4K1RNQ0NDS0xGZ1lEQVpSTnh3S09qYjFpRy92RVM4QWYzY0V3Y05hRXA0by9WTC9ibG1hRnBHcFpsMDdVa25wUU53YUU0ZkR2b3dVZ2V0T3pMUi85S25vNURMR0ZTVk5sTjRYY0VmNW41Zlc2dHY0YU5TeWVBQWJyUGRoT3ZHWTVaWlQrdnBiTGliajdJNENkVGRDeDdsOUJQQjd2RG91VTNkVVNYZDZNVlpvQk1HQ0FlaC9mZlY0dEZRVUVoYStoSkt1NUtIdHp6T0pVTmc2KzFyZWZ5dXZlWUZHMm5TL01nWUovSmhQTVJyKzk0aDNrcjcrQzkxbVVVR1FVVW0wV0tTRGdQa0swcDB0Tmk5NURwckZlVmU4dERlUmoyN3lFRm10Y3RjdGplNW5hVTFUengzZUpPQlFXRklUdE9jT0NCTUhWcWFsMTFDd3JnOU5QZElxNE1xM0JIZ2w5M21GUFZLYVlVSk9SdnEwdms0Nm5hblpqQSt0RGRiekFQVGFtQ2RXVEFjUkErRDVyZmkzVGNEWGNoY0I5L0F2MVhLV0g5SnNuOGV5MHF5bHdqdUtOWkVvdTc0aW83Z0ZYOXV5dzNMYitQNmUwYjZEUURhZm8rQStPVzV6L0txM0g4NjQ5bTlMbTQvd2I4VEduTnJLL3AzWVZhNWFRVlBobTQ0anNUTTNxOWV6OVFZNnFnTUdMOHUzNzhlZ205Zkd3OXBZdzk2WUdlOSt3UGI5aGVlYTVLVXVDR2l6MTkwZ0krd1MxWEJibndvRkhVM3gxa3cxcVhTRGdYWFIxTjA1QlNNblBtekdSOGtkeFRTTXJiN3JHSDVOaGpqKzE5ck1pRTk4ZUNHemp4S2ZiNHJhQ2dvS0NnTUJ3UWZuOHl2eVA3ZUMxSC9XMEpRdE43L1pvY2dBWEkxdll3ZjNocEpZZE9LY2ZqTWRpd3RRWExkcExiRWtKMzdieXdBWnJhd2p5K1lBV0hUQjZOWVdwVWIycEoxaUh1bkFoYlUxNkJRdjZpOUx1TmpKdTdGUzNvWUlkY011R01vQ0NJTHNEcURsUHg3Vk40LzVvdmMxbk5FOVI5VUkzdUw4WVJNbWZJaEJVVWRzYmpnc1RXZXRwKy95em9PaklXVCs2SkNpU1NpWWt1L2F5T0RhY1lPTDcvS1R2MDU1UWUrU0dmbUkzanZKdE10ejZoaDJCcm1Ba3BaUW9FeHFMWFowb2ZTVitFUng1NXBEZHY1UFRqRTlySno5SVF2QkFMc2NLS2NudHdIRWNZdmh5WktqZlJwM3Q5Q0s4ZmllejN1L1JnV3ZNNzJXbm8xZ3B5SGNSakFzc0d1MFBBUkFpYUd1T0RKaDF4bXgzaEJMWWpLUStZQkQwYWxpM3BPVHJjbWJDcDdZNFJIeWJTZ1JNYVhtSCs2bDl3VEdnbEhVQ2JNRENFTS9SYUczcy8yZVdlOHBPaGhqVVhxL3JRa1JId0pnLzRhd0tobVVqSFFYeUM4K0lTcWZwQ1p3SVBuTDJYZnVnQTV2eTI1OW1TNUk5Q1B2aDJPdnZnUE8wZjg0WW1RT0Fnazc2QktRUlNqTXdBUWxkN21WbkZ3LyszZ3F0LzlUYzZPNk9ZeFg0c0s3ZHIvb29MUTJyUzh0SnVMc3lLWCsxRVkycHNoOEdYMW1NMnBWdVdZQWdURVRSUWxjRUttVVNQbWJkdG1ENU41M2MzRnJOeTZubk0yWGdSOFVRUTNkT0ZJeldjSENHWGxwRVI1d3JuRkg1eXppRVp2VjVPRUFxTFhVZ0hoNWhtQ21wMlBvVXJXWVBwS2VoOWZGalZhS1ZBYzk2RmtMUkZmTHhSTTVsd3dzakpucXBDQ0x4ZUx4VVZGZnQwbmUxUkwraHhLb3NxZU9qTVMvQTFWUEhOQzE5amEwMHpXcEVQSkNPV1RCaFVqYXZDSHFpZE1DbWowbDYxZGJPU01RVUZoZjBXTCszNXdtRUhCWG5tZ1NNNDdLQWdkayt4aUFiT0ZvZkkvQVRPRm1ldnhraGxheGNwUGFhZ29MQmYwRGI5aU4zMG1OQTB4Q1dYY2xXZG54Zit2cHhucnorZEwvenhkOFJYckV5cGUxckptbFZLbitVeE5wNWNLVVBuVG1DZXZKbVgxcDRJRmhoZUcxdHF5S0dFZFRmbFp6SFZ2alJURXlyK1ZWQlFVQmlSZUxkZ3h0NjJRVW9PbUhjcFZUKzdrTVluRjdMeDhwdVJDVHNsU3pDcmE3bXlGd29LQ2dyNzArZmY0NFM1N1VoKytVSTFvKysvajFPYjF6QnYxZy81OGZWbjhQbUpoYW5GQVZrbUdwOTE3VHNaM1ZONTk0NHZLanVrb0tDZ29LQ2dvTEFQaU1ReVcrSGw5K3JLUDh0amFHYyt2SnM4T0JJdU8ra2dydC95TCtSN1MxbCsrVFg4NE1XTnRIWkVVeXFPZEY3NGR5VVBDZ29LQ2dvS0NnbzVDSmxCNWxMVnZGSkJRVUZCUVdIa28zREI5SXo0RHAxbnJGRit3ekFnVy9YMDN6enNHbmwwdEJHeHF5dTV4NHdLQ2JWbWdWeFlPT0dWelo3aW43RG9rby9VakNnTVo2aXpTNXpTMjdCaDE4Y0R3VUJnSWZFTGpibUJDbTdvYmxBNlMwRkJRVUZCUVNHbmZQSjh3dy8rVXB2UmVwVEh2MTZsL0RNRkJRVUZCUVVGQlFXRkRFRnU3b09EUkJoZ1dWQjZJeFQvRXJjZnJiSDN2Nms2RVlVUmdHbGZmMnJRbU5WdHE1a2Fhdjd5WGJVdThoRC9EeXpCazFYSmg1YjNBQUFBQUVsRlRrU3VRbUNDJztcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBHZXRGbGFnczJYVXJsKCkge1xuXHRyZXR1cm4gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFMQ2dBQUFBZUNBWUFBQURTVzBITkFBS282RWxFUVZSNDJ1eWRkNXhVMWRuSHYrZmNlNmR1THl6TDBudEhRUkVyMkh2QkZydFJZOWRZb3RIRVYyTTBSUk1UWTR5OXhoSVRZNHU5ZHhGQkVFU0s5QTdiNjlSNzd6bnZIM2QyWVNteUN3dk00dncrSDlqZG1Uc3paODQ5NXpsUC9UMmk2c0pyZE40SlI3QjZyLzM1L1JOVGVPaUI5NkUyZ2xHY2padHdlZTZPbzlucmQ3OEU0S3YvK3hPbjMvQTYwZ0NWQkxObkYwN3ZaM0dSV3N6SVFoTng3cG4wdnZ3dGF0YldJM3dtV211MkdRdHZGNjMrN3Zydk5yMnBJUlZ1Sk1SZWUzekg1SC8rSHlvcEVLS040OUVnZkxEZzlKRTBmWldMekhKQWlUYTlkTGU2U1dLRHQ5cmloeTdMOFRIK0ovMVlsdXRydzlVZGpML01GQnQvKzdiQkFDd2grRzFSaUlsWmZtSmFJN2Z3R2lVRVFWdnhjdjhjZnJOdlYyd0ZybWpIZVA4d3BkWFZSL215OWZ2SkpsekEzWXJKRXdJMnQweC82TGtmbmhlQkFSeml5K0xOWkdPcjhYYTIvYmF5Wis4ZHZTTGJoZTdMbDdZYTcvY1VwUFY0QjFIVGFyeGZCMGVsOVhqM2lMV1dEL3ZjUEQydHh6dnA5dEd0eG52ZEMwdlNlcngzbmR4bkErbDMwUTRkcjBUVFBBQVhBY0pNL1JNSUZhZTdybUVvYXhoREJhTUNEaitKTDI0MTN1b2hlNmYxL0JiTy9iTDFlWHo2Uk0xUGZzS3ljUk81L2U1WlBIYm5oMEFFUTJiaEtuaitvZjA1NWRhakFmanZiOS9nMUlzK3dVRGhZa0tYRWk0WUVlWC8vSi9SdTZ1TGU5RTFGQjg3bmRyS2VvUXdObnRXU09rTlFhbTJUTlgxcmNaNzROMkxOM3BSczV3WFF1ejArZjNvbXI2dEIzSFNzMjFlRDFKby9qM3hYazRaK1JVMUx4ZXo2aSs5MEVxUWQxQU5QVzlaeExLR0lzWS9mVFBMNm9wQmROQXllL0hNMXVOOVoyVmFyMThPNzk1NnZQM3UweHRxYS9sNWZtNjVjay9RbXQvZSt6VUZ1UUVpRFN0NDR0S25PWEwwSExUYXRpRUlBKzUvZTM4dWYvVDBMZCtIUlplM0h1L0EzN1JkbnhRYXZ5TjUrUEpKbkRwK0lTSmhZVzdoOHh3dDBINmI1ei9wejBYMzdVUENWTGk2SGZ0aS9tOWJYM3paY2VtOUh1NS9kYXYxOVhHamMvbkxMUVBZZTB3dWpxdTNxTnk3Y3hTSkIyM2M3eFNZV3lkdmE0ZU5TT3Y1eko4OVMyd2dXOU42dkdJRG9kK204U3BOOUx1NTFQejdGZXJmK3BEa3NoVm94MFVZMGpOeXRpTkcxODdmYUx5dWNqQ2tTV3pXWEpaZjlYODBmUFFaUm5ZT011QkhPODcyblQvVFJNVVR1STBONUV6WWp4NzMvSTdReUtFMGoybkQrZVdQRTdkcVBVaGdRRmFNbDBiUFpWQldiTHQ5SDNOVXhRK2ZEMXRBS0dqeXdHMEhjUHF4QTdGTTJiWVhPUTdKTjk0amN0dWYwYkg0TnVsalZSZGVyZk5PT0lKVll3L2dEMDl1blQxOHNWckVrQ0lmQldlZnpLeXpyOEZaVTQ3dytiYk9lTjhBdTFmTmJqWGU2R0pMZzRFUWZoQit3RnpQVWFEWThRNmMxZ2oyTG04MTN0bkRlcWExUEJzMmUzbXI4YjdVZlhCYWovZkVsZk5hNzdkSDlrbHZmZUhDMXY1SStnelM3RFVCZXZVRElUdGtqM1FvN214dC8ralphZVIvYWg2Slg4QnFGOTZKSS81UXNWWDZqamw4R1A2Ny84cXJzOVp5M2sxUDA5Z1VJK2kzK1B2Ly9ZUnpEaHBLOHBlL3hKbjgxWGJYZDY1L2ZrRmFyOTgvbnpxZzFYaVgvLzBoalJDRUJ2YWpmdElVN09wYWFqK2JoSkF5TGNZNzdwdFBXNDEzVmw3L2pwbGZRWXVmUnJkTDYvOWhqS2hiMk81NEJiMTZ3U2VmZUQ4N0FzdVd3Zmp4M3MrMlQ0T0hXOWVOVndwUUdraW01a2Q3ZG96aDh4N3ZxSVdlY3VmUUpuZk9yUnVNOXpkcEluQTE1UHZydUdqQVAvbjV3QWNKenEybjZtbUxnVysyUG8vWjdUYTlzUTJpeVEvSGFZejVzRjFqOHpJT3pWR1JsZnhmMWJjRXROdnF1Ymd3K0YzUlNONE1kOGRoRzJ5UUdiZTBmdkY5QjIvWCtUV0E0ZG1DZTRhWjdKTXYyenh5MWVEUytGb05SVGRQYmY5KzJ4NTIwQWI3S1BhYmRvN0RGOEk2K2dHTUVhZUR0TnIwRWx1NVBMZDRNcGQrK1RSUko5RytBWi8vNUNiaWFJZXplcThEK0gyejNWRFQ4WEcwTGZsWU4ydCtieGkzM3Z0ZjdiUExBZ1lQWEw4bnB4L2FxKzEyV1FmNkZmajFPZTBhYjhCUi9QclRKUnp6ZldXN0ZtSCtZVW5Lcm9raEErMWJmaHZhdll1SDVLVzFIdE4zYmwycjhUb3p1NlQxZUR1N1g0Rmh2MGx2dTJ4MmE3L3pJOTBPMFhkbGplTjdYeG1vSkNZT0RqSjl4anZubXRiek8rN2U5SjdmeVZmKzRIcVFRcURTeWZiZFlEMzQ5cnBmNSt3NWxXQy9oUWloVVFsL1NtWnUzekVySUNROTVhRGFoaHdUbkUxODVNcGZmdGlwL2VZWC9QNTVmZEVKNHhnMW9CUy9aYWI5ZU5uWmpzVTJuZVlkcTU5ZHJCY3pKRmRRY1BWRk1HQkFxdzk3K1lONVBQUGFUTVlNNjhaRnA0eWhLQy9VNnZrL1BmNDVVMmF0NXRnSmd6am51SkViNlhFYnp1K2Npb1IrYTM0amN5dVRtRkpneWpiYWR6c0k5eDlYMm1xOGs3SjJhL3ZvbENMUXJ5ZkQzbjRNWDdjdTNtSnlGUXZPL1NWVkw3NkRNRHQrL2UvVE5LUDFoRjgrZnF0bjA1UWFKMnB5eTc1citlMkVLdnJzWDRFSURXZngvRm5jK3VhVC9QYS9mOGZNenNkUjd0WVArTDVQV285M3hQbGJQVjVEQ3Z4Smw0Zi9mREduSHI0blFnZ01OQ2hOM1N0dnN1Um4xeUl0QzYyMlBqQy9ZVnlOODhmb0RwQTU0RHFVRlhYankxODlUbGwrbHpiWlFGc2p6eWFGMHpzdXNVK2t0UjlFTDBwditTdjZiZUNLdURhOTgvVDRhK3M4dmVuNUE5TjZ2QnZ1dDV2QytmcXhXQU5ydDBYbTdNRHorTHZpc2ZxN2ZpNVRocnJNSEtCWVdxcW96ZFk0aHFkU1NyM2RWY3NmUk0xSnN6dTFmUERmdVZ0YWp6ZHh3d2JuOFppSDBscytUTHQ0cSt5TDJvWVlCMTMyRkRQbXJWbm5xQWR3RllmczNaL1gvbm82QVYvSDZ6c2JubStWRi94YzUwMDhpalhqOXVYM1QzM01RdysrRHJXTkdFVzV1RW1INTM1L0JtTnYvUlVBVTI3OUk2Zi8rbG1rSVZDMnh1eFJ3dWw5c3JuSVdjMndISlB3enkvbTEvWDVORVE5M2JRamJ0eURCNVoxNnJxRTYxOWRsTjV4eStQNnRYdjlLcTJadnF5Smt4NzhsbEVMcG5Qdi9KZklkaFBFcGNXTi9ZN2huWDU3OGErTGhqTmhZRDZHRk50MS9YWTZmOS9qUDAxdmViWkIvR0wrRVdmb29ndlBKUGVJQTVHaElIV05DWjU0WVRvUFBqZUYrWXVxbXAxVW01azN4WmtuaitheG40OWowWEUvSmJsOHBlY3o2dG1kZnE4K3lRVi9uOHl6TDB5SHpkMEhwVUVJQmcwbzRjSmpoM0JTZGlQSmYvNkwrTUlsNUI0Mm5xSUxUaWRyM0pqMjYyY0N0QVBCdnA1T0ZGdHNJTXoxUEJmYitudzc5TE50OWtkRm8zRHBwZkRjYzJEYjNtT1dCYWVmRGc4OEFLRlFoKzYzLzN6U3hiMXZRYjZZVmhNVXRnYVJac3QzUS8xaG0rYlhkb2kvK0JZTnY3aDlvMzB2Z2dGeS9uSXpnWk9PaEczd3kyMDR2NTNOdnRpVytkV3U2K1YxU2JsUlhveFdDcFR5Nm5zTW84UG10N1A1Znp2YmVtanZlR1ZBVTNaTmpQekRrbTBXSmdyQnMrWGR1SHpoY0tLcW5XdmppdGJuRy8zdjJHVGVpQTg0Zk54OHZwemRnNnE2TEpCcXMrSmRDbzJ3VGNhT1hJcnRHSHd6dXdmYTU2QTJVOThoQk9CSXVuWnBZTXlBMWJ6NzVVQWNvVkdibW9DRk43WjZjUEJkUittdXVlL2pLaGNoMHMrbS8vU2kxbDhpKzV5WE41cTIzWHJsOGV6UHgxSmFFR1RHa2pyT3V2Y3JWdGZHZDhwNEc1K2EyREY1M2phWTNidHdXaitMaS9SaVJoVWFpSFBQMm55K0JxQ1ZYRmV2YjZpMk9UWTJzQytPZkdDR2JvZHN3VkdLR3cvcHhmNzk4aEFDakMzNFRGMnQwUm8rVzFUSEhlOHZ3NVN5WFhiU1c1ZnUxdW9EUHUyenI2NFN2dlNLR1FNbWlpS2Q1SUFsWDJ5Yi9CWFE4NllvK1ljbjBUdGdlMjZZL3pEb2dERjZuNThlUlZPZklGT3I1ck84cVFMbE9wN1FFV2t3NStlLzFhbnpZVHBiWFM2LytDYTk3YzIvN0w3ZDhneDFTcmFKRGxUNU5zcnI3ZjFFZXMvdjB2TmFqWGZhMEFQU2VyeGo1bnk2VGZwNk5Pbnk4K2UrNXRuSnk5cThrQVNhTXdkOHh0LzNmWlNRMmI1OFQ3RUhhWkVudTdYcnQ4c2o3WXNmQ3dUM0hmZ3pUdW8zcm4wZlBPZDllUDEzN2E3akVUZTJYZysybzlKNmZpMnp0VFBzbTZKaGFUM2VEZXNHOVVOajBudjlYanl0VStmdmREWjd2dDhURTlKNnZJdk8rN2pWZU9XSmo3WnB2SVhaQVo2OWVqejdOcTZrNHNxYmNXdnI4ZlhyUlplSC84eWpDMk5jLytSa0VyYnE4UEdxbDM3V2VvSDgvYkQyeFMvTUFBOU11SUxUQngySUpkdm1kOVNPUSsyYjc3TGk5aitoMmhtL0dEMzdxOWI2ZW5DZ0Z1RVF3cERrWHZNejhtNjROUFVaTGtJS2FFZDltNU5ZNDlrdy90SjJUS0JDSzQwd1BiOVAzWjBQVUgvM28yaFhvU05SK3NZMjhFOSt1ODVjVFdyQjYzVUYzTDIybEM4YnMxRmFidjlrQWkyUVFyTjNWaU5YZDEzTnNmazErSVJ1OFFPSmthM1A0OGV6ZStqL0pPcjQxSTRRMHlvdFJmQzI2R2M3ZkxDZFBEOTFiWDU2ODVKMHJXMWRwMnVNL0dkYWo5Zjk5dHlPT1k5VDc2SmpBdHlVWWgzVTZKaEF1U0Fza0NHRkRtaEVkT3Y5TGh1ZXg5YzhOa0pmMWJ1SlhqazIyQkpYZzVGR1FUaXh6d1oxbVk4ZnFYZlVwdkVMemQ1WlRkemNiUTFqckVZK21KVGdkdzlIbURuUHdWVnQyMi95K0tmU2V2MnEvNTNUL255TlZQNnU3S0RhOC9hODMwYnlkM0NSWnIrZTBEVXJ2UkxYbS9HSHp6cDF2aEV2VDlFZXE0OWkzYzgwd3NTeG5kb2VxdTdlUDcxNUpGZTI1a200Nk92MDFzOGUza08wcXg3U3l5b1VPMCtKMjZEK1RYMDRSQXVwd2FkQWk5YnFwYkxZS0tpdE5OcFJpS0NYMitRbE5IZVFWdHI4UHNyVFNYUUM1TUZ6TjVDL2wvemdKMWxvVG1oWXc0VjFLN0IyZ3YxeDRBWTh2cDNOdis2K1U1alc0elVPcis3VXZMaVA3NWJlNHoxL1J1dnhyaUc5MTBNcHJkZkRKNFBTMjk0Yy8vMnNUcUUvYkZUM2R0aExiZWVYbFFvM21zVi9McnlOVThkTndvbElUUG5Ec2xpN0FwR25xWDBsandYWDlNWE1jdER0YUZpd0lYLzZyQmYzMVRycXBuSncwMlJTTlNBRkltUXc0cVF2T25VZWVMdjladkU0NnE5L1JML3p4Zzdod2pNL205NTJIZ1hORGxzakFvMFVHcVZNVEdXUkY2aml1QzVUZWV6RmwxdU5ZTkZZZE1GUEllY3drRGw0UGhvTmplL0JtdHNodm5ETFF6WnlvTTkvSURqYSt6czJIWmI4Qk55R0xTL1RRSC9vZWpQa0hKSXl3d3hRRGREd0h0UThBZjJtdFA3NG9qZmF4ODhZRkpvNzh5czVPZGhBbTBzc05OUys2MlBWM1VGVVhHeVRQRk5UMDl1UEt2ZHNQYi96ZTQvVzdSTTFndXRHbk1ocjNYYWp6Y1RrUW5MczZobmNOZXVsZGxzb0E1ZHVzTjl1UENlOTlkNDdubW85M212ZTM2cnhtZ0ljSmNIVzREY0pCWDMwTnZ3MGFvZUVkS2lvc3lIaFFNQkZTbVBydVZEdVBxVFZlUHNjOU5kR3dOcjArU3Z3KzAyMEJ0dDJjVGJqUEN6TUM0bDdiem5hM0hORW1RU1lPbXVWdXZLMk41enF1cWplOVB0Sy9ENkoxZ0xiMmZ6N0FtckpoOWUyQ2pUUDZONHJyZGZEYml1WGRXcS8yZnJuc1lvbmNPcnFNUUlCak56c3RuT1BwOTdDWGxQQi9DUFBJTGxpdGNkWnNSMzRuU3NHcDdjZDFHVmVhMzNuMjd3OTBucThJK3UrN3RBNG9RQWtBaE13VSt2SDBSb0hVT2lPT0R4YmovZVN3OXZSdjBMZ2R4MGV2dUJYbkRybUFJUVFtTkxZZ24zaGJoTXZ5SWI2ZzlpZ2Y1QUFwS0Z4WEY5S0xIc3pCUzV5dlJqOStsdEpvRkVZNUJMbHZ6eEZmdXBWSGFHS2p0dmdiVzdiOHdoOTl4NWwxSWQ5Q0VmaGlqU3JmTHY3d2RZRDJ2UFdIYmJmcEJCSVFFUVQ5T3JYaFgvY2VoSVQ4Z1Nyci9zVFRlOS80ZVdFYkNBRE45cHZlNzZZM3ZyTzFKTmFqWGZwaWI2MEdtL3ZsNUt0NS9OWGU3UzVpV1RZRitLZDgrNWwzMTZqdHVxenYxZzJrOE9mdUpKSU10cjIzZmZIcjdlcGY0VVFnbWVPdVlvemhoM1FyckgrYS9hbm5QWDZQZTNYSVg3VjJyN2s0a25wdlY0ZjJxZFQ5eXZvYlB6MFl0eTlyNXJ3c0laUEhHbEd2SUl1QlpNdTJiNFQxOG40UTZzdXZEWmxGK3p0OFkwODlEclViTUEzOHB0YkFKankyOXMyeVRkeXNidVd3YmtoQ3E4OEVWZWNEYkcxSUgxMFJCQnR3M3FxaWd1djBma25ITUdhemRneC83cmphUFpNMlRGZmI4YU8rVm5LanBIbm5rbWZOdGd4emFwRm0wVFVCbmJNZ2k1bExhL1NpU1F5Tzh1emFSb2JFWUVBMnJZeGlvcm8vZFhueUx3ODcwTjJvQzZ6WGVxeG0rMnUxUlVzT3V5Q0RyVzdOdFJUdnMvcjE3NXpLaGlrNUMrM2tYM3lzWWcyOGdSbzI2SHhoZGNvLzhVdDZGajdlaklOcWx2VXFmTXJqdlJsNjF2RFhja1RCdlhheFV3emhva054L3ZodEhKOTdUM2ZNdU9yMVpCallmbE5iQ2VOY200bW45Ym0vZGI4MUtxcXRleHp4ZkdzTEYrSk1EckkzOUxXcmZ6UnlrNmRYK3o3KzBHNmYwMlNHejZ0MXVOV0p5Zzg1enlSZi9tVlZQLzVUbXBlK0xmK3VGZVFQKzlYS0ZiazlOSXVaK0dLdksxYzRGdVpOUEx6Y1R2WlQ2ZlhHMzBidnZvRzU5dUIrN3lrci8vK3p4eFFOd1BIaldNTGlhSFRod2VoWUFNRDZMZmhydnFoV0RXcmxaMjJTN2pWWHhlMWYxR0oxSDlsVGZEbC83eWZzSDFDZ2h2VjN6NlUzdktCaTBXbjduUFhIdm1ybGFKdXlVb1dmemlaT2Y5OW04bzVDN2Y3ZUgreDZyTWZWZitIa04vaHZ2TS81Y3o5dnQ4cGNkOUpZL2ZiK25xSkhiRHk5NW55ZWVldVQvcm40dlNXWitkdTBFZjlpajNUZTd6L2FOM0hTcHo0cnRaSmhiQWtVZ3JjdUl2d3lmV3AvZEJKaFJFd1VFcWpiZVU5MzBIZjBwQUtyVUhGczBDNEhESjRLcjgvNUhuRzlsc0l0b2tZdGtFL20vRi9iQWQvdm1CNGp5aXZYckdZM29YSkxaZFhwRDRwT3FPSmlrZFdrVnlSYVBlaFBYUmVhNy9kOGNlTzBKZCs0Nk5IbzhBVjZiY2NOb283WFBaY20rZlhMMTF1SFBVS3Z4cjFQM3pTMCtlU3l1S1BNNC9uanBrbmtGQkd4dy80L3RQYmthK2JTc1RhZ2ZsWVd6cmZxbjk2dVE2ZWNEU0pJNDdnNzg5L3c1LysvQWFSNVRWUWxBV081b1c3VDJEMExiOUFTTUduTi95UmMyOTR6Y3VKVndaRlEzdHd5UkFmSjFmT3BIdU9nWG5oK2ZTOCtIVWFxaG9RbHRFeGUvSUg4Z0E2dzNuUjJmemtuVzErZTc2UjNuMlRseDg5cVhQck83OGYzNDY4QmZBcmVQaFF5YWxEQmRodHFIMVZJSUtDNkV0TjFQeWlFdUVUN1NxSjY3R3F0VC8xd0R2VG04LzdveHRhODNudmRjdjR0Qjd2VjdlMTdtY1Qzdk4ySFovM09HN2prdFNDTVVDbkZjOWxxL0ZlZTg1dStyN1RrbVJGdllkMW11azhHL2FyeUQzODViUmVEL1h2dE9ianJQLzM4N3JtOWovZ3JGcU5ESVc4UEtRMFF2L3lGWjA2M25MQU9lK2s5WGcvZmVyd2p1Rm4zVXAvdFJBZVQ2dVF1bTF4a0EzMHlVNVhQejd3WiszMlI5MS8vaGVjc2U4aVROSEdnMVVMS3QvTlo4bmZ1cVBpN2VNazJLaGZXeWZ6OTIxdEh1elVFai9YNzVkUHJWOXVYemZhL2ErMkd1K3pwYnVudFh3NGM4MDNyY2I3ZFpyeisreXhvV1hlLytiTmp6ZnBlcjB4T3JpSGltVW9iTnNBVnlKODdnL2IwUnZJaDUvMHo5Ylg5TTZqdE1MQWJreFJUYVNSenROL1llczZCSDYzdjRiVU1JVmdUTXpoM3JVeDFwYURrMnNSQzNiQkZBWGtWQy9HNnRMSTJTWFpsRnVpaGNoVGl1MU1VL0ovbjNYcWV1SE4ycHRhb3gwSHJSVENNRGJidTdQaVgvOWkzbGxuYmJlYXh2RWJyTTRWb1pLMG50OGUwZkxXNitIR08zVFhQOTdBTTg4OXg5bG5uT0g1Y2t3VHgzRUFqNE5IS2NVQisrL1BCNTkraWpsdkVmTU9Qd3ZaRUVIbVpxRnRaN3VPZCtEcXFSMnY3K2pGRE04ekNGNTZMaitmdm9xR2hnaW0wZjV6VDZCeHRJbXhYcCtFWnk4OWZnTnBkVitIckFjSkRLU2NsM2lJUVZSMEdFT0ozR0Q5N21oL1ZJRjBPU25jeUFWWnRjaEdtNmYrRitmdXA2T3NyVktiMjdLdDUvZk05OUk3UHZUc29aMmFIL0NJdzIvUUJRVlpyRnBWVFg1K0RnQzF0UTEwNjFaRWRiVlhxRnhZbU1QcTFWVWJQYS9MMTNMRXFwa1VPTEh0TnRqakZyZU90eHg0ZDNySE56KzZwbStubnQ5Tm5jZGE2eFplNHVhbk45VXJlVWQ0anFYYzRJTWZla092di9QS3NnSVlRckNpS2RacUkyWmJKclpTV0ZLU1VJcWdJWWs2THZiMjVwQzcrT2pXODd1MHZmSkJlQk5yNUVQWklwRDViRTJBYmlPLytiVS9YSDhpZ1lHNXEzamh3RDh3T0hkVmgwekZ2SGdXSnk4YXpmeDQxcFpkNkJ2MEVkUmZwemt2L2dZOC9wMjVmamtOb1lRUXJZTGo4d2YwU092MU1IQkJhNy91WU1MNmw3bGxIR1RrNDJobzFFNUxqVzg2WUtPOGhnMzhZcHYwZTIzR3IyVjA3d2FBdTNMMWRodHZ1L1BnbEthb01PenR6ZW9Jd2hDZWhyOWhUeTBrT1NyT3F4V3ZVYURpMkIxMGh6YjBtL2MvNnRtMFhyOEwzenh6MSs4cnFYVkwvMGlVaXllQVZjcHByMXY5MU1wdDZUR3BWV3ZPUlNIV3JhTzI5cHJjNkR6KzliR3Q5NXZsNS9TUjQ3bnVnSW4weXluR21UYVZ1c2NmSlRIM083VGo3TkNhSzRDK2sxdjdTVXYvdE9QT1k3R2V1cVBYZTJ6OVdLbG8zcitweDlmOHN2VzJmZmJwWi9WNTk1NUhjbUFTSzgvQ2p0cElJMzNXcjNsZGZBRG52UGdaKzM0MmlRZVBPNHdyVDdxR3U1NmR4dE5QZlE1VlRTMmt5UURLVlJCeE1QdDNaV0p2aS9PdGxZenY3c2QvL0VrczZqNkUzejh5aVpyS1JyQU0wanlmSTRNZHRvdmFVeFhhZmx3V0tHS0pzdm5laWJlYk5scHM0RGJaYUtoYndYRXJBWTJtbnhuZ3NrQVJieVliV3oyZjJXOFpaSkRCVGhQSDZKWVd0aTRDSlN3dldVMEloRXJRVFZjeFNGY3dnaXFHV1hFRzlDbWdiUFJROHZZN2srQ2VlOEJlZTNicTczOXgxUkZjODgrUEdQelIyeng2OHFsY2ZkNUYvT20rMmZ6cnZrbEFTdjZtemdIbHVONkpVdHlWczRiRXVTSDdFNGIzYytIVU0xblliVDkrOTZkcDFGWTJBRCtjMUsxVU12V2J0YzNqMTFvVDhoc29CWEZiSVVSbVRmL0lOelN4dU1OdDkwNGxITFE0ZlA4ZW5IaFlYNTU1dFpDYm5uY0krdjdKaE9FTFNjK2VYQmxra01GMmh4U0VSZzRsT0hRUVJlZWRUdU1IbjFMMzFnZkVaczdCYldqYzRjTXhwSW1ySElJamhqRG93eGVwdVA5SjF2enhIdXhWYXpBSzhqMy9sOXV4QWtzWVhqR2tVMVdOVlZaSzl6dHVvc3VsUHdVaGNKU0QyY2FtbEJsMExLNkxEK1NjRno1UDJjT0h0OWtlUHFHM3hRWG1Tc2FYK2ZHZmNCTGZkeC9PYlE5L3lNVEtCZ290RTNzNzhmOWIrWDlBSmI5RjIzUFJ6a3BRZFdnY0JCWUluL2NQSStWZFVDbnZRY1kyejZBTmNqRkZHT3R1ejJxY0pkOUR4U29ZdGdmc1BnN3lpNW9OaTh3TitFSERLN1d0QVdiWThGNGMxbVNVNmgwTnA3RVJNeXVMMk1JbG1MazVOTTJldDhta29IVEJNbi9PMXVzc1FpQ0ZRQ21GclRTdXF3Q0JZUWhNS1RDa1JHbWR2cjdmVkxJdjV2YlhyYVFBNVFBU2p1a0hvd3U4R29UM1Y4T25LejNYUzBkeHViUndZblhnMXhKb0xPbVFWTmIyblNqdGtYbU03L281MXc2OW4zMllSUFFaeGNyLytYRXF0cnlQSkFLZjZYRHNxTy81ZUY1dlZsWG5wM3JVN1Bybmh3UjZod1RYOVRVWms5UDJCQTBWVlRTOVZVdmo2N1VaQWQ1aGRzTUF6bm54Yy9iOTdFc3ZqblppeW01NHV0bHUwSnUzRzZ4MWRzTVB4ZEdFRUo0ZHF2VEcrcEVRWGxNdlEyWmliNTBOQW1SWVkyUnBuR3FKdGpOVGtzSE94ZjZKRmV5ZVhNdXpvZUU4SEI1TnhNaENxQVFTalJJdGFVWTcxZnpaSmJhK0VONjU3YnJJVkhGV09vcnY1T295cWw3dFJxRFhVckpIVHlQUWF5bElqVTc0VTE5ayt3eGE0UFUwdTJkZ2tudFhtRXh0TU1pM05PNHVkc1M5OWVVOFZsWFc4N1BqOXVMd3ZRWVNEdnJTMm83ODBlcG5QWVp5N1VPZlUxVTVoZE9QSGtGSlVSYlB2RGFUZno3MkJRUXRYbnB1Q2pmZit5RS9QM012VGpwa0JOWDFFVzUvNkVPbWZib1VRaVl2UHYwbC96ZXFCNWVjdWdlamg1WVNpZG5jODh6a2pjWTdvTkNpZEV3K255K0w4dG5TS0RVeEY1OGhXbkp4TThnZ2d3d3l5QURnU0YrSU1tbnlRS3llV1U0eTdjZGJVaVBvV21NeVlacEpRMWl6c2tRenQ3Zkx6UDZLdWIxZFZwUm9Hc0lheC9CVVM2bTNtNHFad1dhTnJHWTdid1BMSzgxdmhFaU5UK3VNL3R5TTY1MXVuUDNpaCt6MzZSYzhlUHlSWERueE51NzYxK2M4L2N6N1VOMll5bXNRS2YzWGhVZ1NzMzhaSi9UTTRnSlp4UUVsa3NERTAxbFExbzlmUHorSitPQmhoSEt6UEYxNXUrbnIyNzh1UVFpeCtjUU1UY2FYbXNHUEFtWldpTFczL0luYS83NUcwVTkvUXU3NHZibm12TDA1YXNKQW5ubGxCcysrK2kxTGx0ZDRGM2NVa1pyeWlrcjc5aTNtdElQNmMwSmhuTUtQWHlReTR6dUNvNGJTNjdwTHlCMi9Od1FEUC93MlFpQ0UzbWhZV29HUnJlbjVteWdBQzYvSVFzVUV6U1gwMi9yOCtsOURhNEhjV2xuUlhJQXJSTWNYdEc3bGV4OVZHcEhkZzQ1K2NGR2VlbXRObG15MFpXYVRaTEIxK3RoNnhlQU41ZVZvdzB0VUVLNURUa21KVjNpZVFRWTdFRkpvY0EwRzlGM0wzVmUveGgxUEhjZy9YeG1MTmhXMmtwdXdLYngvZ1VDU1c4LyttR2pTNU14YlR5TWgxaFhjYjNTbUNvVlFCajhaL3gxWG5qS0pJMWVleThMbFJVaERvYlpnbXl5dHVveVFmd2s1Z2U5eHRVU3c2K2IyN1l4Y25WL0VCM0RPQzUreDMvcDUzcytzSHcvNDRUenZBN3I3Q1p4d0VndTdEK0VQbTh2WHdDTzlMc2hxSkJ4d3lBOUVXVkdUUTIwMEd5SFZMcDJoVkMwc2JyT0dVaUg4cEl0MFYwQVhuZUEzOXV4T1A3OGxrK2J4MmVJS0pwNTNOcGVjZmhHci9SSGVYejJieVJWeldkcTBob1FUOTFhZzJKUVBKNE10b2JQWDVlN0swRUtncElIaGV2bThJaldwelJKYkd3WlNxWmJITThnZ2cwNW1NMmFPckF6V1EyZkwzOGtnZzg0TTMyNURTVXorQmhFT1VYdnIzVVRmK0lDQzMxMVA0SUM5UEIzTGNSQ0d1Vm5UUW10Rk1yb0lNekNBYU0xckFHUjF1UWc3dmdCZnFCOUN5TTA1QTlDdWd6Qk5oSVQ0cDFPbytiOC9rNWc2RTB3VEhZbmkzMnQzbUR5LzFjdHE2cUVnejN1OUQ4MUorZFhzbTlYQXk3V0ZQRjdaaGVtUkxNL24wdEd4YXkyUVFyTjdWaVBuRjFjd01iK2FVc3YycUtsVHBsZHQzY1l2RzIwR0dXVDRtZUpFZVNsUnoxUW5TanlqcjJhUVFYcEJnUjZTd05mZFJjWWxxbDZTbU9FanNGK0M4TmlreDN0VktZaFB0MkNwcjhOY0xaL1YrUG0yMGVMc3NpaG5kNHRpbUJybGVHOHVmNlM2c1FSeVRZZUplZlZjWEZ4QmwyaUVSMStKOGRoTGNSWXVkMmhQS29vaDBuN1p0ZTk2cFZycUJWelh4VEMyamRYWGRWMWtLaTZubEdyNXZjMllWd1dWVWRpbkJ3d3RBdE5JNjhUMUhjMkQ2dFhTQTBLanRXaGx2N1JONy9CeHRQOVR4bGx6ZUMyNUQxT1NJNUVpZ2NyNGVqUFlCYUNWa1FwZnVPZzBXTk5DYWxZMldIeTZPb2pmV0JleDFBZ21CQ3Nva0VrY25Xb3pwalF5YUdGMUNiSHFXNFBHaUVZa0RhUmUxODVNcFBiOVZzTlF1SWFpdUZoUTFIZkx6WnhOdzBBcGhXcVJSd0tyTUorc2JuN01uUkdKL0hwbVpwRm5rRUVHR2V6TWN6YnEwdlIvODlDMU5waGkyd3JyUmN1aHVHM3Y0V2hFdmtYVzd3Wm5ibENhUUFBQnYwbkNjZHR2cTdUcmN6UlNhSlF5UVZuaytPbzRxdWdiVHVuNkpVT3p5bmxzZytzalV5RDJIZFR2QndWblFYaGZrTm1RZlJoWTNhSGlibWg0Qy9RUHFFaHVJOFRuUTNDTTkzZDh2dmZZRDQ3VGdOd2pvTXUxRUJnS0dLQWFJZklGMUR3RFRaK0RpbWJXVFZvdDRJeDdmWWREQWtvTEhOdWhJQ3ZHSHQwMHh3VG1rTzlJSWd1YVdGdHFzbHZYWXVwN05QQ1ZITVRqY3d1SlJ4c1JmbjlIMVY3NTJZQVp6eklsd1lERitMRjkySDFJS1lZQmF5cWFlT2VMaFN4ZFdic0pONVZlLzNSTGZTMjlVWktXWlVwQ0lSOEhqZXZEaUFFbENDRll1YmFCZHo1ZndNcTFEWnM4Zmp2Ny9lMk0vWU4wYWt4TnkxYXlaUEVpQ3JLektSczNGaUZGcWg0dzQwUExZTXZIaVltZ1JKcjBNWHgwa3hiaFZFdzdvaFdybGMwU04wbTVjbkIrRkd5VWJaaXpGSGVONC9yWlorUUtmbkxvSW1vYi9YejJUVmUrbU5tVmVOS2t1YW16UUsvanV2RUkrSkdoTUgxK2R6OUZPU2Eyb3p0bW0xNThjYXMvSjg2dm9rczB5Wi8yNnNueWdpQ0dvMUJDZEtyN0o2QWxydUROdTljTmNsdStneUVGeW5heFhNWFJ4K3pPTFJlTnAvZmNPU3kvL0VIaTM4MzNhcmc2VkdacnBGQ3B0L1hXZzlJQ3BUTzFZdHNMam5KeGxFdkE5R1VtSTRNTU5vRThsVGk4MklrUHFqU0QvNDZobjdPRlh1SktJOG00djJxTWJQaml3c3drQWRmWkpaeno0b2ZyOG5XYitVYWVmUjlxRzBnMmFvck9pQUdRYk5RUVMyTDJMZU9FWGxsY0lHc1pYMnJoUCtFbnpPczJpRC8rOTNWdUdGZFBjWjdKOXVyNS9NdjRBTTc2QVR0Ry8wQTk0UG1XVnc4WWJHZjhYN3R1eXBlMEZmYU9FR2pieHV4V2lwR2JpL0Q3VS9tUkVWUkRBL2F5NVowdUUwRHJkWHBpQnJzMjNrbzJNdDlOOHVkd0thUE1JRFhhUVNLMno1cVZiSFBib3dOSGQySHFZL3Z4dC84czRmWW41dEt3Sm9MSTlTR2x3SFV6MXQyUERjZk5hOVFmOXdtTHUvY3VFSmRPcStkWVE2QVJ4RTNCTy8zRDR1RXhlVFQ2RFE1Y0V0VmZkVlBVQjdhVWViN09RUzFTOWk5YUk5d1l5ckRRb2puWFhuaHZwRjJQbnEyTjFkVTczRStudlBGcUxVQzY3ZDU4WDVRY3lyeWNJZngwNlQ4NWY4bGpkRS9XRWtPZ2hFQ21ZZlBRWTMwNWRKY1c5OGFxbU9IRU1oc2tnMTBXeW5HcFhiS1NpbG5mRTZ1dXkweElCaWtmTGVBMkgwa1puU2lEbld0TEJzTVdFL2NxSmp0bzhzd25hNGdsVll1K0lnU0VzaTNPR2w5S1E4emhmMU1xaVNiY2JmNWNReXEwRnJpeE1FakZBWU8rNWxmN3Y4b1JJNllEbXMvbjV2TFkxR3lnWXFzL3crOVRYSE5vQmIwTGsyd3hGVWVBdGpVTkg5UlMvWHc1VHBYZElUVksveHZnc0NKSGM5WFhGcVBYZXJuYW1SMi92V1VzaU53Y2pONDlFYms1NkxVVk9FdVdRM0xuODMzZkdkcU4wOTc0bkNFZmY4b3RKeC9EQlI5Zng3M1B6K0NCaHo2a1lYNkYxeXRTZUg0djIzWWg0dEJsano2YzFkL2k5UGhDaGtwSjZPZW5VVDFzTkxjLzlEa05OWTFnR2p1bFpFZ3JqYXZXK2FHMEJrT0NrQm5IVkFZWlpKREJ0c0lxM2dNemZ5aUpaYStSV1BRODJra2x5d3JwRVMrbkdTNy9qNWZ1ZDgrWlNmSWJ2SE1nMDE2ZzQ1QjE3TkZZcGFWVTNYSXJpUm5mSWtNaFQxZlBjR0w4S0hGZGZDRG52UEI1eWw5OWVKdjkxYzM4ckczcHA5c01LVUM1NERlakpCd0xETFBkNjY0ejVzRm1zTE9jRTJRb1dUUHcxQjBCUFhvWFVGNFZJWkd3T3lUNXdaQWV2N2hkRnlaUTBFaHBmaE5MMXVaN1RiVGFpUDhzYW1TbDZYREwrQUpHMWZxSXpsYTRNVTg5Uy91OUpjRk53Q29CWXJUSjl5S1hrdFVHUFF2eWFSeCtIQ3ZuZklpdzY4R3lvSmxkd0xFUjBrQklBNlZWS2hOQlpESzN0d0Nuc1pHbE45NUliTkVpaWlaT3BQU1NTektUc2hXb3YvZEozUEpLem5yOExncUtpemp1ME1OeEhBZlROSEVjcDRXRDU5UFBQbU9Qa2FONDc4c3ZHUHpWNjh3Ly9BemNKU3N4Q25MUnRyTUQ5Yk1PMEhkT09Ja0ZwVVA0eTdOZlVlTnZJcGpsYTNkdHFVQ1RVQUc2QlZkU204ekhWajZrYUovOTJDeHlmVDVQdUNXVDN1dDNkZFZMQTRiUTlETnR6c3hxNEhCZkV4Vkxreno2M3lndnZKK2dzbHBseks4MGdXRklncUVBQlFVNWhNT0JsblViemdyZ09ONitEMmR0NHZtd0h6c3ZoNjVEeDFNU05MZmZBTy82T2pPL08ybCt0ZFl0M0c5YWV6Rk9LYVNYOHFqVnhseXJPN01XV212R2x1UXpvYlNBcHhlc2FqME1yU2tLK0dpMEhYSjlKdFVKbXk0QkgydWlDV3psWklSQUJ1bXB4K3cwdjAwNk9CSjJMV2ZHeXJ3STU5Zk5aMStSeDlXNXBld2hjM0MwcGttN0NBU1o2c1B0QXlrRlVnaWNTSXc3cmprZWdKLzk0Z1YwMkFldTZ3WGdNL2p4b2FVb2FEM2xSZXQxZjIvRTE3QmV2eXVoUFQrT29FWGhFUjFjWEJSemtqei8zV2RVUk9xNGN1OWoySC9VS0FwK2ZnME5ML3lINkJlZm9pS1JYZjRXQ2NBVllJdG1YZ1F3bFJjZlRVcXd0T2Q2MU1LN3pnVzBCTjhtanNnenpqcURrY05HY3ZLTkovTjkzZmVJM2lhcXdmVjQrOVBnbURHZmZHTXBUNVlWY1VSZml3dm12OGdCWlQ2ZU9QMTRianJyU3E2LzUxUDhRWC9MdWVqUENuTGsrTzc4cXJDS1VUbUs0RkZITWEzYkVQNzB6RFJlZnZ3T2FJaEJhVzRiWmpnMVU1bUk4eTR0NUZvMWoxeGZzSFhnYmU5dCtMZ3FVTVF2SXF1SmFOVm1XN0NaM3lFN0pJZ2xOYTRMZmNzOGt2SEZxMXdNQTRJK1FXUFVhOFN0Vk5zRWh3TENRbkpWb0lqZXhzYkVBenRsdjJXUVFUbzVwNlFnTjJnU3QxMFNqa1pyamNvNFpyZVBJYkllM2JpTFFBc0xOMVY4S1ZTQ01sM0ZJRjNPS0tvWTRiY1owQ2VmMHQwSGtiL1B5ZVFmY2lnTUhyaEx6Y2ZENzlYeWNHQXN4dzZMY2VPTS83QlAzMy94MVBsbmM4c1Y1L09MMzB6RkZ3cWtEaENOTHlmTWNYdmw4WmRlVStsZkdJRVRUbVpTeWY3YzhZL1p2UGJvZlVBY3lOcWlRK0d5eS9aRWEzamdnVysyNmZDVFFFd0pEdXdxcVUvQzVGV0tnSkVwVlBpeEk1NXdpY2NkNmhxUzlPeVd4ZEVIOXVMcjd5cDQvYU11WFB6b1dUejBzMmVZTUh4aE91YWhacEJCQmp2S3NXRWFCQWIwSVRDZ0QxbjdqbVh0WHg2Zzd2VjMyWkhLMTlHZm44ZXZoMXpPdm9WN0FPQm9seTZYL1pTQ1U0OWoxUzEzVXZYRXYwRXJqSndjajFCb1d3TVBRaUFNQTdlaEVRUVVYM3dPWmJmZGdGbGNpS05kVEF4TWFUS3BlaHEvbjNkZlpwSHNZTFRiSGo2Z2pGOFZWYmV5aC8vOHpEUmVldndPcUs5allsaTI2Ry9ycjRIMUczNXBwVHd5a3ZXYWltbXRXNUZpYlE1bTNuVXQyclIybHFHU2M5SEpHYWpFVExUOVBkcGRqVmIxZ0VMZ0ErRUhZUUhObjZWb3hkNlRTWjdOMkdoNHBLYXU3U1ZjR0piak5WSGJYaDhZYVlJcEg4UEMyVEJtWHhnNkdrTGh0am01ZGhIb0ZuSXV4VHJTb2ZYUG1wUTNyNWtyM1MrZ1RzR0hDWmhxUTF5djI5SVo3REQ0aW9wQUNrTDkrbEQvMVRRQ1phVkVGeXpxOEVCWVIrRm4vWTVxdjhxQzU1OU9KaHlFclpBQmsveWNJTVU1T2RqS3ByNHBSazFqQWhWTG9DMFRuOTlFcWExTTdTNmZ2djIrL0FzdmVEOVBPMjM3eWs4QnlvR1NMSGpqRUJqVDB6dHVxeXZod29IdzdtbzQ5eE12U0xmTnVXSWFMaHZ1dmNjRGN6dnU3QzRKVnJCdjBWZTh1T0s0N1NuMDZKK3ptQ3NHUDhwUFNsN0VtdHhBK2JOK1luUE5kUXZ2QnhDd0hFYVVWZEMvcEpxZjd2Y05wYm1OZkxXNE83TldsbERkRkV5THhvYmI4NHp1R1JUYzFOL2t1QkpKd0dqYlJsWXhSZFBidFRTOFVvMWJrMG42NjFpN29aQWordmcyWXpmNDJtNDNiQ0tPWnBvU0oyNVRVSlNGUUJCUE9GeDV6bDRBM1B2MFZ3UjhKaHBOVFZVVFpzRENjVExPdGJUMGVmZzFPaWsyTkFjSkRIY0k3V1ZULzJJQWU1WE1PTkYzTlhTeWdHSkVXSmdvZnQ0MGxlUGlDN2d2dkFjdkJJZDZzYnBFaWt4Q1pwSUd0MGtXSUNEcElvV21kKzhpbGk2c3dMVU1oQ25UcnpESXNnR0lMKzVIZkVsZi9MMlhralBtYXdLOWx5Q0VSaVZTZmpHaE8zQitJQ0JoVFZJd095SjVmMHlDZmFZR21COFZoSTAwM2xJdENaUnQxejlqQ1llcGMxZXhzdUpkWmk1WXpibEg3VUh2YnZrWW1UMldQdnJaczlONDZkRS9RaXdKSldIZStOY1VieEVXWi9ISWZXZHd4dEVqK1BiN0NuNXovd2Y4N2ZFditUYjJYejU4UFV4WmFBalAvK3NrRGh3emdFblRLdmpsWDkvbC8zNzFrdmRhVjBHM3ZFM1lrSUxjZ09DUWZtRkdsUGo1WUhHRWFhdmpKQjJOenhRdHl5eURkSkRqR1pkNUJobGtzSE94dStuajluQUJUOFliZVNNUnhVNWpJMUtuVEdDcEliOVJVTmdnMkcyKzVKUVBvQ0dzV1ZHaW1kdmJaZVlBeFp6ZUxpdExOUFZoaldONEtxYlVIYXBxWnJEaGlhWUJNNG1XRGtJM0UvSnBoRExCOGJVcSt0blprTUpyWHRpeXNOeVVNMVNxbGtYUzZwb2ZvLzc3OWx5ZTdGYk1FYjBOTHJqcldRN29GdWFKTXlaeTB4bS80ZnAvdkpYS2E5QXAvVGZNa2Z2MzU4YThLTHRsUndrZWZUelR1Zy9rejg5OXprdVBQQWdhZnZybzhKUU9xbHZIdWxwaXRubzk3V2k5Mzl0b3oreW91Z1FkWDQvY1dXOUNzZk5iTy94ZTVhV0lEdXBpR2Y5OEJqc0d6NDQ3bVNNT2pSTDQ1SDFXWG4wTGdWRkRLVHJ2TkFaTjJKdmJyem1ZYzA3Y25hZGZuc0V6cjg1a3liS2Fac0c3ZFIrbU5BaEIzNzdGbkg1d2Z5WVdKaWo0K0ExaTAyZkJxS0gwdVB1MzVFellHL3grNWkrdDVvVzNwMnhlandDeWJJZGtVdExrR2hncFdkOE1wMDVROFp3bks1SnJKR0tET05tMlBLOFF1QnF5REJlZnp5VmlHdTIzQTdXR2lncVlOdzk2OW9SZXZUck9yNm9VTEZzR3k1ZkQ0TUhRcFV1YkNmQ0NobUxQZ3Jqb0hxeGs5N3k0ZW14eG5salU1Qk5xVjdaMUpSdjMrOHE0MzdadENib3VTOS83QUdKeG5JQ2Y3LzV5RDc1cE03ejlOR1kzaHYvaUtzeDRBb0lCZWg5Nk1OTElKREZsc0oydEc2SFJyb0V2NHFkN2NRUDUzU0lNTEt2R2pQdElTQTJHMnVCNlFBbElXcGg1RVFiMXFDS1dzREJOUmFJcEFKYURNUFJHL2xobG13UVNGb042VkpIZnJZbXUrVTBzbmRzZE94eEhHS3FsZ2Z5bWtFajJaa25sVlF6cjlndWtqTEJ6V2FXMkh3S1dwRERiajl6T3pUL21iUEQzUDk5Y3hqKzdiU1llOFBkTjUzbmZXRlROYnB1MEwrSlFtck5aVTlyV2ZvN3AvaGxMbzEzNWRuVi9rQkdQNkhVWDVsKzNrYXlTUWFvSXBOVzRIQ0Z4ZG9GRC9ZNnNibnhTM2NEVGYvZ3JuN3o1S3RkZGZpajNIM1VBamFQR002MHV4c2ZsOC9tcy9Edm0xaTJqUHRGSVMxNXhwdnR6bTlDWjYzSjNaV2doRUZwanVBN2FNQkZDa0RSRFNBMm1XNTlxa3VpMnVqYURERExvWFBqdzY1ck1KR1RRZ3M2V3Y1TkJCcDBaWlpOZXB1R0JwNm05L2UrNGxUVWt2cDdGbXNQUEp1dU1FeWo0M1hVWXBWMjhDMTBYTnZMWnVRaGg0RVRlSUJsWmpsQjFDQTFOOWZPUWJpLzg0YXZ3YUFvM2VGM3F2WVJwNHE2cG9PYm11Mmg2OWhVUUF1MjRHUG01NU4vNUszSXVPM3NqTythWUsrQ3NZK0NrUTZDazJETjN1bG8ybDVhczVhVDhhbDZxTGVDeHloS21SN0s4T1BDMkpnOW9nUlNhMFZtTm5GOWN3WW41MVpUNDdKYjZhU0dob2hKZWZCK2VlV1BqbHlzZ0pDUUhXZG5zWllhWjZrUjVNVkhIRkNkS1BLT3o3bFJJS1ZzUlUyL3ROUm5zQWhBZzV2cHhxbHo4UjBmb2NsSVNVUyt4aWpRMWIvdG9lcytQTzl1SGNBV1lIYmR2dzZZbTdncitzamliTnlzQy9MeDNFL3NXSlVDRDR3b004ZVB5RUpqQTRFQ2NTN3RVY0hSMkhTc1h4TGo1MzFIZS9qeEpiWVBDYmVkV3RKMWRKN0RYTElkV3IxNU5NcG1rWjgrZUtLVVFRclM3RGwxcjNjS1R1blRwVW53K0g2V2xwUzBOa3RxRjZpaTh1UUNXMXNFK1BhQW9sTFlPN3gzSmd5b0VhTnZCVFdpdkNOeHdJZGplUENPRFllWlNqdkJQNFZ1bkwxTVlqU0RPMWtvRnVWNXNTU015NVljL1JyMUhRSk1EK3hSNGQzOVNqU0RMM0hGMVZrSm90SmFnRFBybUw2VEpEbFBSMUEya2d4QS9IQy9kN3ZBcFBsMGQ1TXdYZTBEUVpSMFpqdVM5SG5QWk85Qklvd0pEZ0VwQ3NIY1dWcGZlTEYrbUdIV2d3Nzl2RHJCeVNnaGZXS0VWS0VjZzE5TVgxdThocEhWenpCbElsUUpybGFvek1TRFdLQmw5U2lNVHprMndjS3BGVWY4ZkZPaVlRakIyWkMrV3JxcGg3ZHBhbEFCaFNBcVBPb0FoWngyQXo5b0pPUmVEWDhoc3VBd3l5Q0NEemVyMUl0Vi9aVHNld0VxamEyMVVnOTNDUUxhMWR2SzZaakppbTFLVk5OckwwTWlRc0tlTEN3U2hOQ1dGSWRaV1I0Z25uQTdQSXhGb3BOQzR5a1M3RnRuK2VvNHVtczdKWFNjeklxc0NuNHpqYm1aOXFpalV2d3RObjBGNFB5Zzh5L3NaR0FYZDc0SGF2YUR5ZmtpdTJiUjFwRFhFWmtMK3FkN2ZzWm10ZXlDMVhwdmdLNFhpeXlEL0RKQzVvT29oOGpsVVArUDlkR09aN0kzTnI2VG1XZHlSaGcwRVJ6U1NYQkxFclRjek4yY0gycE5LQ1V3cnl1RmRlM0ZGM3N0a0wvMFBoWVU1ZE4vOU1DSWprOXcrWlQ3TFZqZHliSEFGL2VJNVhIYlF3ZHl6OWdBZW1XeGpabHM0N2phdmxWYU10a0lJOG5NQ1pHY0ZzRzJYSlN0ckNRWk1kaHRTU2l6aHNIeFZIVzdiZkZTaTlYY1ZGT1NGeUFuN1NTWVZTMWZWRXdxWTdEV3FPdzFOY1Y1OGQ4Nm1tbTkzK2dOdVIvbk5QRCttM3Z6cDBRNi9vaEFDclJSdU1ra3lPMHhTZTRtNFhpTmZzWjRCbmtFR205NzRCY0pnckJWaWhCa2tSMGhjd0VtdFR4UEJDQUkwYU1Vc0o4WVVPMHFOZGpNK1ZVQmo4bzlmZnNUbFo4em0xMzhieTM4LzZFdGp4TUl5RlZJNDVJU1RORVl0RXJhQjQ4cFVMWi9uREJNK0g3bkhIRTFlVVJqYlZoMnpSUysrdUxVdUtXSC9sZlYwYjF6SVhXTjdNS2wzUHNwVlNLMVJuVUFtQ0tIQjlib3NOZHVOV3NtVTc3RDlQbFFoVWsxNUl3bUt1K1p3eTVWSGNOTG9ib2o3bjJiWlAxOUNOY2FRNWlZYU1ndXgxZmZIa0M0S1B5b2VRTm5nOFY1TENDb01YeFNsbE9jbnpxQkRzYlIyTldzYnE5bXY5MjZaeWNnZ2cwMmdkN0xSZDJudDNQN2YrZ3V1Zno5Y2R2QnFYOWJqTWF3M2JSbXNCTzJ5ejRNdzZWSis3QVN1VDc0MU84VTNFdUJuZi8wWEIzVEw0b25UanVlbU0zN0RkZmU5U1c2QkgvbW1GOXpLR3huaWlQMEc4T3Y4T0tPeUV3U1BPWTVwM2ZwejE3OCs1Y1ZISGdGUnl3M1B5KzFxTXExdng1eS9DVHZHdHdrNzVvYVVIUk02NmlpbWI0Ry9lU1A3STI0VExNbnovRTNsZFlpQTFTNGJCcTBSbG9XOWNCR2g4MytLc0x6OEFaMUlVUC9rVThod3VGT3RRTTA2a3l2VGdtYlhoNEZna1p2Z3BJYWwzQkx1eXRuK2ZKcTBpNDNHNk1DN0x5UzRVWUd3Tk1MY2V2SGhKbFppckRpWDY4NThrUE9PTzVHYjdwL0NReThzd2syNG1EaytsR1pUL3AwTWRsRmMrMW1WSGxBWkYwL3Rsc3VmOWlzZzNDZkVSRlB3MW9Bcy9tSVZJSlhpOGkrcjZGVW45Y3d1V3RSdjBvc2dFR2lFa3lRUVcwTTgxQlVqMFVSUllnbmRnclhrVVVOalJRT3pDbzRtRVNqQVNqWVFsQW5DcWdGLzNWTEtzMGNRemU3UnBpVzl2ZjEwaHZUNnZTZ2xRQXVDT1pVSVlaUG4rS2lPNTVCUUprSjZmY2E4c3RrZjN1T09kbGdiTE9NZmcyL2c3YTVIY1BuQys1aTQ1alZDYm9Lb01BQ05UTE1Hb251WVFlNE1sL0pJdkpyL0pSclNtbjh4Z3d5MkZ0STB5Ty9YazlMUnc2aFpzSnltOHFyTXBQeFlJYng0aWJBZHRFK2hjalZHbFVRYk1sVVhwak85VE5MdnByRnBmczVkQ0k1aVVPOXNIcjE4R0VHZlpQNmFLQjk5VTRYaDgzSmQzYVRMMkdFRlBIakpFS0lKbDNrcnAvTE5nbnFrSmJjcTdjaVFDcTNCallWQktpWU0rcHFieHIvQ0lTT25BWnJQWnhkeTM2UmNQbHJreDFYYllOOG93YWw3MW5EYW5yVmJMcVdRQXFjcVNmVi9LbWo0c0FhZDFCMXFXRS92Nm5MOWdZcUxaL2c0WVlHSjMvRm9zakxZSGdhenhOeHRCUDZmVEVRVzVtTi85QVgyeWxVZ0JTSVVRc2RpTzdXMjVrLy9Yc0NmQnBSeTNrQWZaL3p0dnd6TGZZRTdMamlWNnorNGlwc2ZuRVIyVGdpdHZWcWxncUpzTHByWWo2dUNxK2d1RS9qT09Jb2xROGR3ejcrbjg5QnB0MEZGSTNUTDNUbCtLQTFDQ2t5NW1lY3k2enVEWFF3NlpVY0xrWW1wWnJDRDFwd1RCV0VRR0hnMnZyS0RpQzk0bHVTS2QxS0ZUdWxIanRnVTBsejFMeS9HOHZjemt1UTFOdmRFeU56TERyRkkvSDRDZSs5RjZUOGZwK3IyUDlEMDRpc0luK1haa0JtZWhRNncrRHFYamRkdWYvVW0rSjdhd3M4cUJha2NvemgzM2pLR0Y5K0w4ZGxiY3pIeUFyanRNQVIzWlAxNEJwMTVJd3FrMzRkS0pqYnRkc240eW40c3l3RHRLTUk1QWY1eno2bGMvYnUzK0dyeUVtVFl0OVZ4WkNtOWp2ZHVVeEFzbC9PTy81Smo5bGpBRlk4Y0NWcTByNFpld3hmellweGZXODVOcHhkdzJyN1oySk1VVGJNVUt0NjZYajN0ZEVzQlVWdmo5QnBKV1U0V2M2WXNKS1pNM2pjV2NIeXZHSXR6L1RpTzhPaVFYUzhHTzZpa1A4c2JLb2hHYXpHc0VFcTVhTHlhQUozWmxKdUg2MUwzMFVjMHpwdEhjT0RBekh4c0pZekNQQnIvL1JxTGw2M2lxQStlWTliU1JVd1lzeWNWMWRWWWxvVnQyeWlsTUUyVG1iTytaVWozSG56MDlSUkd6SHlIeFllZFJmTHpxWmpGaFdobngvU002Z2g5NTgvUFR1T2xSLzRJdHNQSk4rK2I4a1cwM2NjbWhZdWpMQVpseitIYWdiOWpXdTFlUEwzc1FoeHR0a05tQ2twS1FzUmlObjM3ZWpyWDRzWDFCSU1tNWVXeFhUYW5Sd05ocVJnZmlISnVWajE5blJpZmZKemcvbi9IbURiSEpoTFR1M1IvNFhSdk01T2lNRzlCTkpxa3NxS2VzckpDS2l1OWJLS1Nydm1zV1YxTlhwN0hMVjlaVVVkcHQwS3ExbnQrOWVwcThyTEQ5TDNnUkhwMEs5eCtpWlYzM2RxcDEwTm5uZC9tbkdIWGpoTnRxQ2FVVzB6bHN0bGtGNVNSaURhUVg5b25WZExvOVdtMEhVMUR4SWFkcE5XWVVuSlcvMjQ4djNnTmE1cmlMVDNrc2kwVFYydXE0MGxzcGJHVkl1NHFLdU5KNG03Ry81TkIrdW94YmF0ZjNzSjUzTTdOcUpSRElscVA2UTlqbXI1VWZiUm94K3NWeVhnRGh1bkhzZ0x0REd4NkhKR09rOFJKUlBDSGNwSFMzQ1hXUStNbmhmejkyUmhYM1Z2SEYzVjFqSmQ1WEoxYnh1NHlpNlRTUkhBUmlFeGJ3QTZHYWtxZ3BBQy94ZDFQVGZZZTlCbUVneGFXYVZEWEVNc0UzMzlzYU5adEd1cXcxNjdFMTZzZmlVWGZFeGc0ak1UU2hWaGRTbkZxcXJCS3V1RlVseU1DSVdJenB4TG9Qd1FOMkN1WGdPWDMza2U1bUFYRnFGZ1VJUVNCd2NNUmdWRDdmV3lzUi8yWTByOGFFekhlbXorZGhkV3JPVy9NSVp3MThnQ0tMcjhLMytBaE5MN3lJdmFLWmJ1c1gxY0Fyb0Q4S0l5TXdlb2dsSnRRNWZOb01nZkZZRkVRbWt3SUtBZzZVSnlBY0JJV1pXLzhmbzdqTUh6MzRjeDdkUzQvdmVZQy92bmRFNHc3R0tKUkU5dDJrRHZaYmpPZmYyQWlkc0ttemhISTNrZUR2NG55R2JQb1gxYkd5M2VmU0hUSkNoWTFKVURBa2J1Vk1ERi9OSW5LR3F6RER5WmgrbGordjZrYzFGVnkydDlPSUJwM3VPS3VqNGhFa2doRGJGb0pFQnJoZUllck5wMU14SG1YMlRicnZGM0M4aUdEUVdSV05tanRCWWVTQ2R5bUppLzQzWUdlbUFTYWNWYUljd0w1UEJhdndkRnRNd1dWQWtOQzd6S0RucVdTRDcreUdUdkNTNGhZWGFrNGNDK0xGV3NVc3hjNmJTWmpGd2dzQWVjRThobG5oVWhzWWh3N2FyOFpVcVlLbE1CMVBjSU1tV29FcTVUSU5IdllSYmRoQzBtS0Z1bDNTR3NvemZjeGZtZ2V3M3VFY1YxTlRjU2hOdUx3OGV3NlZ0UWswRXEzS3A3T29MMEtuVzR4bTEwRVNsZ2dQSkpBb1JKMDAxVU0xdVdNcElvUmZwc0JmUW9vR3oyWXZIMVB3Ny9IR0FMRGh5TkRRUUNXTFo3TGg5ZWZUYmNSZTNQNE9aZmgybmFubjUrWEhwMkFuYkNwU1ppczZYOE1UVG1yQ1UyWlRQK1QrdkMvNXc3RldiQVVHajM1ZSt6ZXVVd3M3UVhsUWRReEp4RTFnNng1OW11TzdCWGozRWNQSWhwenVQU0dLVVNpdGtlQ29GczdTTFRXbUtiQnRkZnVnUkR3eUNQZjRqanVSdGUyNmI0S0VLNkxzUHpzVlRHYmNoRmlrdXlOb1cyVWxCbHUyUis5N1BkSUFEK2F2SnE1QzkranBqN092cU9MMGJvclZ6d2h1ZS84cHhrL2JBRTZjK3h2UHhWWVE0Nmp5VW9GdTVvTWFEREZMbHVUbGtIbmd0dlFTT1RyR2RTOTlpNk5IMDNDWHJWbWg1T1NUNm1keWNSSkYzTm16eFA0OWVETEtmWVhvQjBIV1ZSQXIvdnZwUENzazFuNXE5L1QrT21YR0RuWlNMOS9veVFRa1lwMjY1UU5JMUtOblBRR1VXWmhtcWhFQXFlbWx1ejl4OUg5anplUnRlOVlGS0FkQjlNMHFVclc4b2U1OS9IczhsZFFaSVRqamthelBWemZabnQ0ekNidDRaUCtkanlCV0lTc1c2YmhOc1lRcHRuaWoxREpKSWxZM0ZQS2xNSUlCQkNtaVZQZkFGSjZUV1Y4UHN4Z1lNdWtWYnFaTE41QW1IMHh6TDRRT2pyMVhBeHRMMEhaczFHSkdlamt0Mmg3SWRvdFIrdG82cGoyZ2ZBREZpaU5zRFRhVFJXSVpBNkpIeDBzb2JHVkJOdmt4TEp5QlBEaXFoSXdYU3lwc0xlbmY3U21FdDcvSDN3L0MvWThBUG9NQXROaTExWVNSV29mMnFBRVN2dVFNdWJ0UjJHa3RxQUdYRndWeHBVV1Bxc2U1amp3ZmdLV3V0NWJ5TXgyM1NrdUpOZEZtajRTcTlkaUZlUVRtVGUvM1UwaGR5VFdXbG50VzUzU3MrT01oS0pIM3lJT0g5ZVRnOGYwWTBpdkFpcWlhK2lhVlVMU01aaXpiQzFUdmkzbnBjL21zV3A1RlNyZ1M3MTJKeS9LWmgyc3JnNys4aGZ2OTBNUGhidzg3L2NPemxRVXBGUllDYThjQkdONnd1TXpJTmNIZi93V2p1NE92ejBFVmtYZzE1UEI4SU9qTi8wK1lyMHdodDZVZWFmQk5PRGFZZDVqajh3SHg5M20va0NnWVZUZWJNN3I5eXp2cmoySVJqdXJnemNONVBvYU9MM1BpMXcrNEZGNnJscEUxWjArR2o0Tm91TXBXZFlHS0Mwb3ltbml3dkZmTTdiZlNycm4xNU53REw1ZDJaVmRtZUpTQUdVQndZMzlEU1oybFlTTXRyMUl4eFdSOStwb2ZLa2F0OW9oZysxb053UzJZRGNVakNGUnNiN2Q4RFVIZHBYOFpETnhOS2NoRGtwejQ4VUhjTUVwb3hsMDZEMGNzbTgvQUI3OTd6UytmL2NxSG45aE90Zi8zNnM0U1JkQ3ZuWi9CeWtFSlFVQmFob1NKT3lNN2RuaCs5YUM0QmlIeER3RHQwYXVMdzV4cXlTSjcwMVVrMWhuZW1WaVRyc01lblhQUyt2eExadTdnU3p3eXZPb2tpR0tWSlEvTlh6QVNiRzUvRFZyTHhiMEdvNnBYTnpHaUtlQU5Dc2NPM0M5MW5aMldaRHkvWlNVWkRONmFDa1REeDNLczYvTjVMdUZsVlRYUmp6ZE9aM3N1V2E3MzU4QUlMR2tENVZMZXhQc3M1U2NNVi9qNjdrRUlUVXFrVXJvM3NhbW1nSlBMNjVPQ0V3QkQ2NDB1YVRNNGNVUkNmYjVPa0JTZzVGdUpxOVdLWUtyOWNuMDI3NHBYS1ZZVmRuQVA5K1l4cHdsNWZ6c3VMRk1HTk9mZ0cvWFNQN3U3UHJaUVYwTkp0NTFMQVY1SVE0OGFCaWZUbC9POGpYMW5IYmtDTExEUGo2ZXVwVFJ3d3Q1NTZGemlEYkFpVThkeHQyL09aY1IvYnB6MTBlL3dxZnY0OGo5Qm5MY2dRT1p1N2lTS2JOV0VmQ2JITDV2Zi9KemZyZUJMdWI5OUJtQ0hya1dKdy9MWVdUWEFPOHZpckNvT29rcHdEUkVKczYrTTZHOGM4OVpiNWVMVERGVkJobGtzQlBnQWwya3dWV2hYQVlZRmsvRUc2bFNidHFQV3d1dnlLRVp1WTJDdkhyQnlQbVNreitBaHJCbVJZbG1iaCtYbVFNVWMzcTdyQ3pSMUljMWp1R3BtbEp2czhxWlFmUE5rQzZZTnJLMkY3SnFFRVNMdk9kQ1ZhaWkrYWo4cGVCYW9JeTBtSFRsbUNBVkNJMWh1T3pXYXhrQU0xWjJ4MVVTdEVDNUJoanVqL2EyUG4vdmVkaEptenBiSTN1WGdpL0IyaG5mMHI5N0dTL2Y5Vk9paTVlek1CSUhCRWVPN003RUt3NGlVVm1GZGNTaEpFeUw1YTkrd1lGZC9KenlsM1BSUG90SkFSKzJxMXZIdW9SRTU0UTl6MEZxUTJ1WjBvMlVweVNKZUt4TmhJTTdvaTVCQ09nenBJeW9rcGdTc3YyUzlaOU1KaHdXTDZuWVlYYTRsTkE5MTgrb2JsNjhaZWJxSmxiV0p6TDhqQmxzZDl6OHdCYzgwYWVJMHc4K21va1REaUg0OGZ1c3ZQb1dBcU9HVW5UZWFReVlzRGUzWFgwUVowL2NqYWRmbnNFenI4NWt5YkthZGdwcUwvK3BiOTlpVGorNFB4TUxFeFI4L0FheDZiUFFvNGJTL1crM2tUTmhiL0Q3V2JDc2hxZGYvb0puL2plVEpTdHFObnRVK1JLYXQvY3BaTTlENmhrWHFxWE9NWW01Qm9idzZnNkUxTGd4ejA3cnRYY0V2UUdEdmpBMGJyUjl6MnZBMVlLZzRaSm5PbndWeldYcSs0VWNOS21XcEYrMDcwaDBYVml3QUs2L0hxNjZDcnAzOXdSQlI4QnhZTklrdU9jZStPdGZvYkFRekxiN2tneWhLUXM1NHZ5KzlXSllibEkvdUNoUGZWZ2VrakZIN3BMMU1DS3M4UjBTUS9idzlBUzF3c0QrMHA4UkRsdXJTcm9LYVJnc2ZlRmx5aDk3a096OUQyYndxU2Z6eFFkdkFiRHZDYmN3LzQ5L3B2R3pEeWk1NEJMNkhuRVkybFVJWXlmU1A3VGtXNGxNL0cwWGhCUWdiSk94STVaeDNtRXorSHBoS2JyR1QyUE14MDFYdk1ucW1pd2UrZDlZSEtsUXBKcXNLMEYrVHBUZm5QVUpjMVlVc2FZbW02YTR4U2tIejJSVW4zSis4L1FFNmhwRENPbVJ1a2swcHBKY09QRXJ1dVUzRVluN3NLc0Q5Q3lwNSt6L2U1N0gzOTJkS2JONm9TMTM4LzVia2FBaE1vNFZOZWZRdS9neGxISmFhaWs3cFN6WXpPTkR1K2R5MDBtRHlRMzZ0cXN0dWRkZk43QXY3bDh2SHRDck9SN3dMZjJQN3ZZRGVkN1ZXSWNmMG1iN1FtdkFUZEpZRitiejJVWHNGWnJPL3FFWVg4YjJ4SW1uRENOcjE2UzZFWURVelEyUjlGYXZHUUhvbEQ0a2xOckdNTE5BYXQzcHlObzNoYUFRSEJYSVk0d3Z6UE96Vm5MdFpYL2orUWtQODhzTCszUFVubU01cXQ4KzFBMDhtWGt4aTg4cmwvUHgybGw4VTcyQXRiRnFsSnVxR2VqTURVbWFkZVR0WkJ4MzFycmNYZHMxS1JCYVUxVmN4cXlSZStFc2FxREtDVFB6M0QySVN4L0pKeXJwNTZ0bFhQOVZEUDNtRy9JcnkxdGVrMEVHR1hRZW5IM2pOei9PTHk0ODdTUWpzemJRMXp0Wi9rNEdHWFIyNUZ4Nk51RVREcWZtNXIvUTlLOVhRRW9hbjM2SjZOc2ZrM2ZqWmVSZStWT3Zmc3B4UGNkS3MwNnVQZCtaOEIxQnpSLzJ3NW9TSWhGVStIckU2Zkw3ejFwZDA2TERxMVF4RTFEL2p5ZXB1K04rM0lvYWhPWFZUV2VmZXhJRnQxK0hVZHBsazJQOWNpWjhOUXVlZUJuT1B4Rk9QQmhLaWdFRlhTeWJTMHJLT1RHL2hwZHFDM2lzc29UcGtTeVVGdTMzT1dpQkZKclJXWTJjWDF6QmlmblZsUGpzZFNhdUFSV1Y4TklIOE5qTE1IM3U1azBVcjZwVEV4U0NDVllXZTVvaHBqcFJYa3pVTWNXSkVzK2NBVHY0NkJWbzdaRXZTeWxiT09sa0t0aWhVdmREU3RsU2w5LzhtclJ4dXVnMlBKWkJ1K2RWVnhqRS9wdEZVMjJTNElGeEdqNHlpYzB6Y1ZZYlhxNkRUOU9SZEIxS2d5R2d5S2RZR2pQNStadzhEaXRLY0dXdkpycGwyZUJJWEEzR0xrNU1KN1FnYkRvY25WdlBwY1dWOUhFanZQMW1sRWRmakRGbmtVc2t0bldMKzk4LzZkRU9YOVA2WjV0T2NZWnUzKzk5MnV2dHV6NFdpM0hGRlZjd2ZQaHdUajMxVklZT0hkb2l3MlFiNDhuTjF5cWxtRE5uRHM4Ly96eXpaOC9tNmFlZkpoZ01idDBYY1JYTUtvZFZEYkJ2RHhoU0RKWkJ1am0yZGhRUHFoQUM3VGprRmVVd2JsZ1czWXNGVStiQnQvUFd0dGNiUmdLTGVwV0ZnN2tOb2syamtTanRZMTNjMDBIZ3JzZmNtTUdQQlVwcERpL3o3dnZuVlR1eXFFK2dIUVBMYk1KMnMraVJWOGZhSmtGRmc0TVVjWlFiQm1NbjFxeHJnZC9RRUhUeEI5d1dEbVlIamVXVENBdWtGcW02SGUyZEZ6NU4wMnFMYjk2VjVQUktFcGdid0orbGNHMkJLR3RDcndsaFNvRldrSXg1Y2tKS01BeEIwbFhJb01LSlN3d2g4R2ZyVkVXbVFFZ1hmMUdTcWE4R3lNa1dZQ1kyZld4SlNkZWliTG9XNW5EdUNYc3pkZFl5UHB1MmdOVVY5U1JqQ2JUdG9PSUpYQ2ZUYmlPRERMWUZtUjJVUVljY003cjVITkRJc0ZkY3FKUGU0OXNsLzBjQXBrQWd3R29uY1pBWHZQWisyaTRxN0FNQnNpbTVUc2R2dnFZZDR4RzJONmFNK3BrRzdpUU4wcEFFQXBMU29oQUoyNldxTG9adHF3NjVQd0tORkJwWG1TakhSN2EvamlPTFpuQml5VmVNekNrbmFFVFFHTGl1aTByKzhGaFZEQnJlZzhqbkVONFBDcytDOFA1UWVBbUV4a0Q1bjZIeDQwMzd3K0t6UVVYVy9iNjVEOG1aQUNYWFEzQlAwSTNRK0FaVVArTjlwaHRMOFhabGxzNW1iZGFkOFpGV2NaSzg0eXBwL0xDQXBzL3lkOWxDUWJIelpublQrMUZMUW00anZ5dnFROTlscjVKZC93SmpUejJGaGFJM2o1Y1BaM1Z0ak5WR0pUbjl3Nmd4TUxUaU0yYTk5VDl1R0YxRi84TU81NGEzTldhdUQ4ZnR1RytrdGFhNlBrNU5RNEtLNmdnSDdkMlhrWU5LaU1XU3pGMVUyZUxqYjdmZHJEWFZ0VkZxNm1KVTFFUTRiTjkrakJ6VWhmckdPQXVXVnUreWphNTNpTjlNYWJTcjFzVXlXdkpLMStPeU4wV2JtclRvUkpMWTZyVTRpUVFMRjgrbjFtY1NUVG9FWjh3a3I2QVFYMEVlWmw1dSt6cWxaL0NqMG9tNlNZdERmZG4wTTN3MGFjVWNOOEVxTjBsRWUwV3VXVUxTemJEb0tTMzJzY0tVU0l2M2tvMnNWdmFQTmhSbkdncmJEZkx6MDZaeCtWV3pPZmlFWS9odzZrQWdqc0NoZjQ5Nmp0aG5KYjFMRzFtNkpwdDNKM2RuNmVwc0VyYUJSQUVtYmwwdE13YjJJcC9XbkNzZGVuODFPRUxRdXo3RzdaOHQ0Zkg2T004T0w4R1dFa01wM0RTV0NRSVFya0Z4YmlOeDIyUlVEeSttTUhORlYveVdRMVY5TmtqVjVqVm9TSUZydThpRXpjRUhEK1BXS3c1aDhPcGxWRjV3STlHcE14RmFJRXhqby9pM01DUXFhZU1rRWx1eFRqUk9MQWVTcXhuZGZ6SkR5aFloZFJ4dDVmSGh6QkdzcnRnVHNrTklJNHBTR2E5TFI4RjJIU2F2K0k2cVNCMWp5b1lRdERKMWp4bGtzSkY4UXRQWGJwQjdSeXVDNDJLVjQxN083alZrY3FqTG9kVm02SEZYcUNtMk1Cdlk5eEdOZG1IU0pmeFlrMitldi9kODdLUk52YU9odEJ1dWtVelpCZDE0NWMvbnNXakdVaTZmNStWZzNOSzNLMjlkZFJEUnRkWDRqamlZV05MSHNqZSs0TUNTQUNmKzVhZUUvVTFrQldlZ1ZBd2h6TzB5cCt2Yk1VYnZveEgrSnRhdVo4ZEVscXhnd1hwMnpBa3BPOGEzbmgwejRRZjRtMXZPUmdIYWRzanRYc2dkQStJQTNHZ1ZVcittQm1FWjdVdUxjRjF5ZjNZK3dqUUpIM1VFUWhwRVB2aVF2RXN1b3Y2SmZ6WjNsa2o3dGFLVXh5TlRIL1AwaFp5Z0g2VTFVbWJzcjEwVkxob2psV1h5MjhoYXZyR2ozQkx1U3BZd2FOUXVaa2VzV3dsT3ZTQm5meHRwUWYybmxoZFQyWW84UGNNcVJCVmZoNU1vcERBYkhyeGhMQmRQSE1Bdi9qNkRqejVaQlQ2SkZiSndYSldwMmZzUm9PK2h4NHJ6ZlpKK3hWbDgyVE9FMldzRVdCYUJVYnR4V0FFY3NEVENmb09qTENKUEdJSGdSb3Zaak5WUmtGeE9tYitLM25vaHE2cGNwcFdkall6WDAzL042K3pkcng3dE9zeE5adUVJRXlOYXc0Z1ZUM040dnhYa0JCTjhYMjN5SDJjUXVxWFpoOTZwZmpxMzBlOGxyQVpTUVJvemlpeGFTSStxcmhRWWl1OGlSV2hYZ08wSFU0SHh3NzE3RlFLaFhhTEF0L21qK2ZYdTkvQm02VkZjc2VCZTlxNy9Ga2NyNHRMRTJGbStmTmZkaEV5REVtbHlmYWdMZzR3QUQ4ZXJxVlNaUGh0cEFiMkJveVNEcmRmWGJJZUtXZk5aK3RGWDFLOWNrNW1RSHpGRTBrWkxBMTFZUUdVMnJBelpEUGNITUJ1aXlJWW10Q2s3anM4c2cyMjlXeGc0QkdVTVM5aG9MVWhvUDNFZDJQVnl2YVZnMXZJbUh2dGdGU0dmWk5xaUJwQUN0em1XTEFYVEZqZncrQWVyaVNSY3ZsM1dCRnZCcDI5SWhkWUNOeFlHcVJnLzZHdHVPdUIvSERweUdxRDUvTHRDN3ZzeWg0OFgrWEcxSU1ldkVFSlR0VldDVnpDd05NNnZqbHhMeUtkd2xkamNiUVlnTnJ1SnFxZldFcHNUMlQ3bm5vYUtzT2FPdlJMTUszQzVlSWFQMG9ob3hlV2NRVWRzVzRFNWNoaWhheTlENUdRUnUvOEo3TThuUXl5T09Yd0k1cGhSSlAvM0ZxcXFlcWNOOFlWSFRpWWVTMUt2RE9Ud0U4aXlLMWp6OVV5NmR1L0IvYjgrREtlOGtybVJCRWpCc1h0MFkyTFdVSnFxeXZBZmZSZ3k0R1BKbXpNWUZyVDU5NStQSXhKenVPTE85NG5GN0kzOFo2bXQyNUlMMlp4ZXFQVzI5OEpvRHZtdlhOTEV2MThzWjhVeWI1ZDI3MW5FYVNlVzBLTmZWaVl0SUlOZHpDN1NDQ0ZiYjRBTU10anVaNXJYc0ZvbmFoRytmRUtqcnNQWC9URGkzeitKVXpNcmRZMkJRTzJrYmJIeFlWS2JvL241Y3hZQWZ6OGpTVjZqd0JDZ2hjN1UyRy96Y3BDZW50T3pCMFcvdXhYZndBSFUvZjArVkRTS0RBYlJycHVacEcyQXE0MU9OZDZOK0o2MjZLOGUwKzY4VWtOS1hLM0p5aEw4N2JmSE1HcHNJVU1IbXZ4a3hrSnFHelhTa2w3ZWJoc0NPanVxZmx4S3I4WlV0MkpDOWVwQ2xXYVh6VFBlVldEa1pSUGVlM2VhUHB5TWlpYzJaVko3ZG96ZXNYcVk3bVJOUm9TUjV2SnNDK2VWMW9DVVJLTTJwMTMxWDhxcm04QnZvclhHa0FLbGRadmp5RUtBS1JWMnpBK3U1UEI5NW5ENzZSK3o1N2pWbkh6anlheFpXb0paMElqanR0OFB1NnJjNFpyN0svbjIyQVEzblY1STJVRVd0ZSs3UkdjclZEdzlLWVNGaGl4RFlTNnRvM0xZWU1iMk5Ka2JXVUxYb2lqTGxueEQ3a29YczI4b3RkRzhmUmF5QXVRSHNobVFYOGFjeXFYc1ZqYUkyWlZMaVNRakNDRXo2dDBHaUM5YlJuVE9ITno2ZXR4WURBa2tsaStuNXUyM2taWkY5bDU3WVdSbFpTYXFyZkxYY1RHN0ZHSlAvWmI1SXc1bHlQdi9adTZhVlJ5MCt4aG16cDZOWlZuWXRvM2pPSmltU1hWZEhhUDZEK1MxZDkvaDZIZWZZY1g1MTlIMHIvOWhkU255WlBsMlRrTHBDSDNud0s0R3AvenRCSlNFOTJxclNDcjlnKzZIOVhuYk5ZS2tDcEJVRm5WMlBuVjJBWFYyQVJFbmk1QVphZE4za0ZJZ0pmVHNtY1dZTWNWZVRTc3dibHdKMDZaVlVsa1pBOFF1cDFOcG9LZHBjMXE0Z1dOQ1RjVFhKUGpieXpIKzgxYWNWUldLcEwzclM3dk8xbE10T3p0QVdWa2hLMWRXVVZDWTdaM05LNnZvM3IySXlzbzZBTHAxMjlUenhjUXJxMWo4K0hORWdrWW05MkdYbWw4TmFLSjFGUWpwWStuMGwrZzJZRFExeTc2bGVvbW1aTUFZRXZGU1VFbjg0VHlVMG55M3VKNUw3cHhLMHRIc0RLZVZLUVZabGtsTndsN1BmTlhrK0V4c3BmQWJrb2p0a3V2enJpbndXOWhLWVdkNklHYVFwbnJNRnYwMldxT1Q2L3RyMXF2VWI2bGZCdHFZNzY2MUp0WlVTZVdjUi9EN0ExaDV1eEhJSFlnL1hJTHBDN1R1eWJvSnd6UGFWTVhhUlovZzFINUJNTGNuUlFQUEloZ3UybUxzUjJ1Tm5ZeVRpSlNUcVA4ZXUzWW1pV1NjNG1FWEU4cnE4c09mMjBsd3llMU4zSDU1aUorZkdlUVBEOGU0NlpFNlBxbXQ0M0N6Z0N1enV6RkNaQkZYaWlndTBtUE55V0JiYkhVQk91bHkrUVg3VWRjUTU5bVhwek43emhxUFVNdDJ1ZXkwc1l3ZFVjWXBsejJMQ1ByU2gyczVneDJnM25oYzNJbEYzMVAxNU4vSlAvRnNhcDkva3RLYi9rejFFL2VTZmVpeG9GeHEvL3NFWnRmdTZFUWNxMnMzNnQ5OEFmK1FrVFM4OXhyWit4K0NXMXREWXNsOFFydnZSZU1uN3hEYVl4OTgvUVpoK05kckJOMUduRkJZellmMXVkVGJsaGYzYS9hSEtJZjVWYXU0ODlPWCtHYk5FaTdmNnlqMlBPWTQvUDM2VS8vQzg4U21mSW1PeDNlOStIcnFXQXM3Y0hnTkRMWmdLZkJ0RUVwOE1Ed0p6OFZCR05BbkNqMGNHS2poU3dWL0RXOUNQelJOWE1mRjhCczhlZi9qSFBUWS9xejU3Z0p1T00rQnNJWGJZTE16MjRPYWU5eDJQUUtCSWNGTzJGUktDeEVNc09hT2Y2QmRGOU15Y2FNeEFCYU5uNGdPQmhHV2liNzZWZ0QyekFsaG1CTGh1bFJySDJaeUhFaXJsY05HaUJSUk1Bb2R0OUE5VjNvSlQ4dDZJb05KbEFKQnBqbFk1enZ0V3R3UG9EWFNIOERNelVQNi9haFkxQXR5QzRFd1RFUjJBSm1kaTkxUUR3Mk42eVhuNkE3WnMyZjQ4NW5qSlBqQ2ppQlNoWGliUThBbjZONVZzbmlsUzBXTjRwWkx3M3oxcmMzQTNsNFFKaHlFODA0SWNzWHZHOUZBdng0R3E4b1Y4ZVRtMzlOSUtVOTdtMkhPOE9kdjl0TjMxSDV6bTJLUVROMmdZQXl0UU1YOVhvVEQ3eUpDd2UyeTMyU0xHZS85dmo2SmwxcnZtZzBmYnlhYXk5akZXNzhYdFNOUUtmSmpZV21Fa1Y2SlBDVjVQazdmcndzSERzMG5ISkNnd1ZVYTI5V002cDNGck9WTlZEZmFmRHEzbnBxSTdUVmR6U1R3YldHL3JTdDFjQkVvWVlFd1BTNHhsYUNicm1Ld0xtY2tWWXp3Mnd6b1UwRFo2TUhrN1hzYW9YRmpzWVlNUlFZRHJkNXp6ZEpGZlB2aXczejl3a05VaVJENy8vUVgzcHJhQlFwZkp0NThkS3FiTDVDd1FmZ2hHRUxkY29zWHRQS1pFUEVDTHVhb0ViaWhMSVJsSWkrNGxDemdwTHdRbUJKY2g2UUtjWFg4RWlLRVFMdnJINGlwNDAzZ09BN0hIdnN5QUk3anRrZzZ3L0NTVzlvaWc1WFdSQjJCNncvVHEyc1dBNytZUW1GT01UbERSMU5iWG85TUpnaWFJcFBybXZFKzhQV3NDbkFVWThlVThvK2I5d1BnMGxzY3puL2dEQjYvOUZuR0QxdUl6aHl5SFd0RWFkaTd6dVdFU3B2UmpZcWlWTUN4MmhKTXk1YThVbXp4WmE2Qms5bWZHZXdNbjRialVQZnFPMVErL0RUUkdkK2hvakh2TE44SjUzbTJHVVlEank5OW5yZlhmc0wxZ3k3aS9ONm5JZ0RIVHBLMXo1NE0vdVFWS2g5Nml0Vy91eHQ3MVJxTWd2ejFEa09GVTFQbkZYb0VQRkkzSFUrQUVCaTUyYTIrazFOVmpWVldTbzg3YjZiNGtuTzl4K3drcHVVRDArVHhwZi9scnZrUHNTcFdUb0V2RHdGYlY4aVl3Vlpqajl1dUJ3VG1OdGpEcGlseFhZMVNpc1o0Rkcya3lQcWxoTVlJem1IN1VYcjFoZERRaEJFT1VmZjk5OWhWMVpUc3V3OXVKSXFSbTAzRi85N0JlZkFaekp3c2o1eDNzNzRHQTlkeEFjY3IzSlBOM0wwU1JCRGhHNHJoRzRvUlBzVzdYdFdqN1VYbzVDeFVjZ1k2K1IzS1hneXlITGMyUUd5bWoreERHdEhKb0dmSHR6UVkwQmxyZUZlMjI0Um50OWxKaTRKUW5MOE5uOC9aM1NzQmVMcTRocXZuOTZFbUdzRHcyYWtrNnUya1BHZ055eGZCbWhVd2NEanNzVDkwN2Q3K1JoZWR4bUZwbzVVbTZwYVNVRjFKeU1HRXhHcXltWXhRRFY3eG9BeDVaQUpHSC95TmkyQnlETDVTMEtneUNVYzdHVVpXR0NFRnZwSmlvb3VXWU9ibW9MVk8yMkM5YUtNRFRxTXhoTVMxYlh3K0grZWVOSVFManQrZHNnS1QxMlkrVHlBeG5xVkxQbVoxSU1SeEE0N2lhL1VCbDV4OEdCY2VONEpIWC9tRysxNzVHanVwTVN3RFY2czJoL0k3ZklmWDFNRGRkME5sSlh6empmZllqVGRDY1RGY2M0MzNzMFBsS0xoSk9MSTNqT3NGbnl5Q2UrYkF0OVZRR0libmxzRGdxWERkY0xock50VEV2S042L2U5dENIQTFhRHMxSWNiRzEyalB2TVp4NGRqM1UvcmxPbmNPQmw3K2Zadm5jNE1MOSsveUpXTUxwek13ZXlIVHFuYmJPTGRtcTJRN0dOSmxRdGN2dUhib2Zld3J2aUR5dkdiWnkwSHNDdUVWTzdUREJMQmRnNm1MZXJDc09vOFIzY3RwU3ZqNGFGNGY2aU9CWGJhZ1FBQmQvWUxyK3hxYzB0VWd5MmpiaTNSU0VmbXdub1lYcW5BcTdZemczZzUyZzhBamRXK3hHd0piRzBlek1KTjdnN1RRU3VIem1SeDI5QWlhb2trKytXb0pBYitKRUlLVHIvaTMxNERITXZqWHE5L3k4VmRMT1BDUXdZU0NGdTk5dm9oazBtbGJRb1FHdE1JWHNEamxvSjY4K2VVcUZpMXJSRXN5aEFVZG90T0NWbURrYTdMR0o5RXhIN0dxbEtDVG5sbVZYR3BncjVib3BNRFgxeXR1U3k0M3ZFNE1HWFI2ZlBMaytXazl2dDVsMTI3eWNST0ZqVUdOTUJudGxQTkUxU3ZFUnpiUi9kWmZFQnpSRDdjcGlVN2FYc0ZveDZSUHRBa0ZlWmZ1R3VlNUZKeDl3bTRjT3E0dkNkdGg1ajBmZW8rbmNsSFN6dVJ0dHZ2OUNZU0EyTHlleEw3dlFXRFFDckpIZjAyZzl4S0UwS2hFcXNIRkJnU3lobWlkYTdHcDNtTlNRTVNGZy9JVnh4UzV2RmxsOEZxVndSbmYrWGg3Ykp6ZHN4VWYxVXB5elUyL2ZzZlBpVVpyaFpBZW9ZcGR0eHpwejhZSTVLVytmOXZPME9hckdxSUpQcDI1bE9YbDlaeXlhQzFuSExZNzNZcHpkb2tFOE02c241bVdBYlpEbmVIbjdkdnU0UENqeHhDeUpPOThzWkNqTG4wR3RTYkJibWNzWi9nWW0zdU9lNHJ1V1FNb1p4cXZ2UDBZMWRQR2MrSEwveVRhNk9QTW8vYmd4cC90eTduSDd3YkEzVTk5K1lQMnBOYVE3Wk9NS3ZIVEs5ZGl5cW9Zbnk2TlVoVnhDWmdlWVVXR2wyTEgybUJvc01NYUFwb0NEU0xsR3JlelE2QlV4aTNYa1Q0MkRYbzdKd21JSHlHSHJ0WWkxZU5Sci9zYnRrOGo3QXgyQ0JUZ1EzQ0NQMHhmdytLQldEM2ZPc2xPWXljRHlENHVzakRWU0tSQ1V0elRwZUJiazVFTExFNytFQnJDbWhVbG1ybTlYV1lPVU16cDdiS3lSRk1mMWppR3AzSkozYkY5aUR1YmZHaHY0d2F2R2JuRU5XeUVIVVIrK3hPTXRhTXdsSWxwT2g0SnMydmdMandVdCt1M3FLRXZvNjBZaHJJUVF1MFVmNnNBcEZUMExLeG1WWDB1U2Nja1lEcmNmUFRySU9ETXh5NGdrdkRqczJ6S2N1dFpYcHVQVWo5T3Nwa3h0OXlZeXZQMzlOOEthWGg1RFgvOHU1ZG5hcG00RVUvL1hiai9zZWhRRUdHYTZKL2ZBbWoyeUFsaldpWTZrU1NTbmNPVTIrOGptWjJMZEJ5dlNZcVVxRmdFNjRzdmtNckVEanNZRWtUY3dGVkF3UFh5VHdlUFFvYkNXMlNJMk81MUNVcVRIVElwTzNoUDloMVJ6SXFxR00vUGJzUnZTdThTMDJCTWxrdmxVMi9SRUhYYVhEeThqV1lrYU9oVDRPVS96MXpWbEtsQnltQ0hDZFBGaXl2NS9aSXFudXRUeE9rSEg4M0VDWWNRL1BoOVZsNTlDNEZSUXlrNjd6UUdUTmliMjY0K2lMTW43c2JUTDgvZ21WZG5zbVJ4MVErUytEU1RQUGJ0MjRYVEQrN1B4TUlFQlIrL1FXejZMUFNvb1hULzIyM2tUTmdiL0g0V0xLdmg2WmUvOE41M1djMDZJM2hUN3lzRUllM3dTbUVKVndjR2MzUFpRcTRlc3BTeTdBYXdUUnhYWWdpOTd1eHVMdXpSNng5NnJJczVidUY1cmNEVkF0TlFZRG5VTkliNDdkeCszTGFpUHhNS2F6bEdWeEVYRmtaYk5xM1dVRjhQYjc4TmMrZkM4dVV3YVJJNERoeDhNSlNWYlgzc1JXdFl0UW8rK0FDbVRQSGUrNzMzWU9WS09PSUl5TTF0V3pQMzFNOXNVekcrT0NwNmhtMytzenhIUGIwa1I2eUkrWVRZeFU1U0hSZmdndTlvNzF5SjM1ZmxQWmJCVms2b0FpU0RqanFDSG84OWlEbGlCRmEzVW1wVFQrZDBLMlhZaUJFNG4zMUE2S2dqV3IxbVI5c2RUbFVOaVlYTFNTNWZnMnFLSVlOK3JCNGwrUHYzd3VwYWxJbUQ3aXJIbk5BWXJtUmt2N1djY053TVNpZlhzMkpOTHNON1Z6Qmh6Q0ttek9yRms2K085WnFzNkpSdlJFa0tjNktjZXVnTVZwWG5FWXY3MEVwd3lYRlQ2ZDYxbG50ZjNZdjYrbkNxK2J0WDkyUUpPSExzQXNZT1g4WlgzL1ZreFpwY1R0eC9EdnZ0dDVDdkY1VXliVVlmWEoreldTSmFMOXRXczZiMkRMS0RjeWpLK2dKWENZUklUNkp1dGRHWkp6YklQOUllZ2ZMNmRjRkFkdEJrZE85OGNzUFdEdldaZW5uZUhtRldhL3ZpdmkzWUY3L2RoSDJ4TGwralJXSFhZQmhRVWh3bXFTM21sZmRua0c4dTNlUkNwRDJZUHYzNjRpUmlyS3FNYmI5YzJ2Uno3YlJUSmRWb2FVQWk3dVZRQkFJSTVXNVZNeTNSYWl4aWw1aFBGMDJ4TkxrODNJVUpUZzVQdkZmREtkTm1jZFpKODdqazVKZm8zcjBMNDN4REdkZGxiNjdvdVI5TDdlUDRxcmFLajliTzVxdUtPU3hwV2tQQ2lYdXpJd1NkSXBsWVNsQXVLdExvOFRqNC9OdmxZenBiWGE2WjVzMjhOMHBqTXMxMnY0Y3JEY3hrZ3Y4Y2RpYlhuSEVlNTkzK1R3Wk1uc0dNMGdCcmpWeUdqLytPZDJwR2N2L1BMdWNYci82YnkvNzVKMXpMaDZtMjRzeDBNb2xYR1dTd3MxQVIzZlViMGdoSU5SalhJSVdYUHhSUGVMcXpaYlRva2tJSk1BVW81UkgwL1FodDBjNmF2OU41MW1KekxrQ0w1cjN1OFZidGNEWjh6bnRXckZ2UlAzRHQxajJYSWFYY0dRYUdScnN1Um1rWGloKzlrK3l6VDZUNjEzZVMrR29HcXFHUjZtdHVvK201LzFINHh4c0lqQi9udmNSeEVJYlpRcVVXbjlISTZzb3d4ZnY1MFlaTGRDN2t6S3ZGS2s3cHZZQjJIWVJwZ29UNEoxKzFmSVlJK2tFcGZLT0diT0l6TmwzMG9oUjhQUWVtejRQSFg0THpUNFFURDRhU1lrQkJGOHZta3BKeVRzeXY0YVhhQWg2ckxHRjZKTXV6djdjVUw5Y0NLVFNqc3hvNXY3aUNFL09yS2ZIWjZ3eGJBeW9xNGFVUDRMR1hZZnJjdHBQZ045dHlRU0dZWUdXeHB4bGlxaFBseFVRZFU1d284Y3o2M3dGK1FZR1VraUZEaHVDNkx2UG56MGRLaVZhcXhXY2w4RGluaEJBTUdqUUl3ekNZTzNjdXF2bGMzcG1LaEFKYzRTVytORzhQZDczSEpCMmFtMittT1dsUGgydVBKb2dhZzVxbmc2aW5nZ2dKMGhYSWtJYVEzZzRmNk4wdVIwTlFlbzFiM3FzT01hVSt5TmxsVFp6ZHJRbkQwcWlrVnlRcWQ4RUVSZ0gwQzhTNW9MaUtrL05xcVY4VzRZLy9qZkQ2SnpacnE1Ulg3OW9HQkh4aUk2N01VLzd3ODdhOTJEQWdIa2RIbzZsYVhJbkl5Z0xUU0RVaDJ6NjYrR2x0ZGxNNEtLVjQ2cW1uV0xwMEtRTUdET0M2NjY3anBwdHVvaytmUHBTVmxiV3VSMCtSUGpmTHZHWmJvdm14bFN0WHNuanhZdjd3aHo4d2N1UklGaTFheENPUFBNS2xsMTZLWVJpWVcrRzNBYnhDNXpjWHd0SjYyS2NIRklYU2lzOWhSL0NnZXZQc2dnN3cxSytIY2tEM1Y3SGpkVFNkZFNwN1h4cGo3ZXBxaE05cTgxbXkyQzFsbVNwaHVkc2xwVUcwZDM5cE5DWVdDWVpZaXdpTEdFbHRzY0R0VG9QS1JZamtMdUVyM3lwMFpBUEVabVUzamVkU0FERmJNYnlyWlBYMFNRQU1MOXVINzhzVkFYUDc1a3lLRkZmczRZTW1jOWl3eFh5L0tvRGZkT2lma0J3N2REcUYyVGIvK25vMHM5WU1ScGgyUzU3NkRqYUl2RGxRNENqUnF1NnNoUjZwT2Q2WnF2ZkYxTVRLZlh6NlR6OVpaUWw4UVUyaTBhQndlSlRlK3lYNDZwRWdyZzFtU0ZFNk5vNFpVQ1FhSlpYbE1QSkFteTQ5WFJ4YnNPQ2pJR3VtaDhDVm1BR05HVkRNZUNWTTA1b0FSMThhV2FmdmJXSmVlM1lyNVBJenhuUGsvc1BZWi9kK0ZPU0ZlUExseVNTaWNXcmVtOFM4VDk3Rnlxai9HV1N3VFZpZTRVYkxvQU5PWWVGVENBdVd6b2ZaY3dvWU1jeW1aL2RHaE9YVncrakVkam5hMXYzVWJSNHEyS3FGckVnVyszSDM2d0tBL0t3Y1ZlTjQxempLaTEzb3JSeFRCanNWQWI5QmFXR1lzaTVoQnZmS3B5QW53TkxWRGF5c2JLS2hLYm5WdDBtZ2tVTGpLZ3ZYc2NqeTEzTkUxOGtjMzJVS28zTFdrbTAyZWpWSFNZVjJGRElyU0tqdk9PQ2pMYnZDWXREd0hrUStoL0IrVUhnV1pJMkhuZzlEMVdOUS9RalkxYTBwclJKTHdTbjMvazRzM1RCZkNLd0NLTHdJaWk0QVlVSGptMUQ5alBjWmJteGR2NGdNZnVqbXBIajlkWHlIZnF4S0NsU1RnWW9ZdS9UMGF0WE1LYlR6ZFJFaEpUclN3TU5uamFINzI2L2hMM21jNGVmOGppcy9IOHlUWHk3bmNQTTlBc0loTitCajJtb2ZqODhZeEhFamp1ZmFVMGNUKytoQlR0anRZRmJ1MDV0N0p5L0h5QXJpZGlEQmdadmkwdzNtQkRocS9BQ2FtcEs4OStVaVZxeXRaMXRJYkJ6WHE0TXNDWVU1ZXNKQVZsYzA4ZUhreGF5dWJHcnp1M2EyMHV2dDdqZlRtbERJSWkvYnR5NE80L043ZWFDMmpSWUNJUVRWZFlrMjhaM1pkZlVzWGpDZlJEaE1yV213ZFA0Y0NydVdFWXhIV2JPa25sNk5YU2pNeWZiNlJHVnkvalBZUUxjb2tBYUgrckxwSi8yc1VBbStzZU5FVUpSSml4NkdENEJ5NVRERGliR1FCTHRaQWZvYmZ2REJhOGw2YXBTYlZxcnRqdUNxRllEdFNpREJMUmRPNDcxWHV2UGgxTDRFckhwc1IxS2NIK2Ywd3hkeDFlbXpLQ2hLVUZQbEp6ODd3VU12RGFHaUp0anNJTVRJem1ISTh4OVNsQmZBZGxUSHBFSHR0OSttendnaHlFdllYRDV0SmIzcVk5d3pwanQxV1Q0TTI4Vk5WMjVmb2RGQ2t4MUk4SXRESjdHeUxnZUFZMGJNNStIUHhsQlpuK1Zkc3dYL3FSY0xCOVVVSnpzdnpBM1hIc1VaKy9jbDY5K3ZzT3JSRjNES3E3eCtEUnR5Y3Fka3B0UFFoTkdsa0Q0WFhnUzN0dVpwTTM3QVR5SU5nZDBRWkxmZXozUFBaYzl5d0o0SkNNQTlmNE9UajRXU0xtL3c4RXZkdWU3Sks0aTVvN0I4RFNqVnNYRlA5MGNxMnhiVnJHVHk4bG1zYmFwbTkyNkRHTjluZEViZ1o1REJablQwZ0hZWUZ5czNCaWJyOGorT2xaNzhlbmF2c1hQOStmK3ROd0wvY29RN1gwa3J3VDRQYUNaZkNjcjUwVG0wOXJqMVpxOEZTVkxpR3h6RjdRVjFIK1d4K2svL0lCUzN1YWRYTHc3ODlRb0U4SmNMcitMYXVtcWlBUi82aXQ5U2NHU2M4ZlhaSk9jRWNJVkNaanVZZjR0RGp2UVNZcmJEOGJ2N0JuYk0ycFFkczJvVGRzejhUZGd4bzlzYy93ZWtvTDRwaVpucXRGemZsUFR5djFQS1VwdkMvMUtpRXdsd1hRSjdqVVZJU1d6U2x6Uys4QkptU1JmdmVid2NUcUNsOTIwNlFrcUI3U3JlK1dZNUFCUEg5Y015WkViUXRFY21HWjNQdDlWY3lTa1J2SnBzWUpZYjU2NXdOM1l6ZzlSb0I5bm1yaEViR3h4Q2doc1JaSTkxR1BoWUkrV1BCNmoveEVJWWJGMi9RUmxFNWg3cDBYVnJoVkt3KzhCOFB2ekhnYnp3NFFwK2VkOU1sc3l0Z1d3ZnBpVngzRjFMM2tzaGNaWHI5ZFdXUmt0Ky9vOFZSYis2V1JRQnBaYmdXRXNTdEFJRVREOG5EQnpQRVgzR2tUVk9ZZG1LNnJxRU1ENWRDK3ZWTXdtdHlLLzVsbVBjNXhqWkowR2lLYzRyYWk5b3JFVnB3WGZGeDdPeXRvTFNoYStSY0pvdzVHTHM3QkpXNU96QnE3SGhHTXVYSVJxcmNkeGF3ckZ2U0JUMnhmSG43QlEvblVDalhjSEV3K2VRWGJDV3A5OFlpNDZINk80dlptUmhOa1poUHF0cUU4Z0Zta0FvU1VuWlBNcXI4NG5XZGRteWJ3S0JRaU8wb3RvSThXYlppWHlUdnllbnJuaU9DeFkvUXU5RUpVMW9IRGFiQXJQRDBjeS9lTEkvbDM2R2o3L0hxcGpoeEhZdFdVQ0t0bUo5SXU5MFJHcGNoblRKOWpYaU54SWtYRCtOZGphdU10WTVwekpvMy8yM1RMcnVOb1JrWTRSb2RSMXJheHN5ay9MajFEcXhlNVRnREMxRFY5VmorR3k2OU1vbE1hTVNaMGcvWk1UR21yMGNHWTFuOWxrYXdNU213S2lseENpblFOYmlZRkxoRkZPaHV0Q2dzbmU1WE8rQUpibnk0WG5nS3ZKeWZSQjFHREk0RDRDNTgrcVEyUllYM1BNZEdJSnd3Q0RpdHQwd01LVHk4bE5pSHUvVCtFRmZjOU1CLytQUWtkTUF6ZWV6Qzdudnl4dytYdVRIMVlJY3YwSUk3WEdoYnVWNTZmY3BmblhrV29hVXhuR1YyS3p0bzVPYWhnOXJxUDVQQlU1VmN2dHlsMnF3RGZqdkVJZUYrWnFydjdZWXZkYnJCWk5KNGVvZ0tadVRoZitVNHpINjl5SCs1SFBZbjA0QzIwWXJoVTRtSVJvRjEwRllucjlKN3dUdWt0RzNYby8wYUlCSnhHeVdXejVrSUVERlh4NUUyWTVuWHpSNWZEbHo5emtXSFFwam1BYnVMMjREclJtVUhXU0V6MFM2TG11MUR5TTVGcVM1U1dlWVNrcXdaYk1Ud1dzUVlHbXcycjUvSFVkdjhyRkFRUExpbnovbitnYzBXY0U2Qk5BWXEwVXVtTTh2SGo2U1JFSmhtcG5EckdPTUpiWEIvUlViSysvTk5XcVpYSXlPRjkxYUlZUms1Y0xwYURROStvOXBlU3lEem5Zdk8rbHBLd3pRTmpxWndNd2ZTdGE0UDVGYzlTSHgrVStoWXVWcG8wTTA1K1hWWld0Ky9wd0ZhUDUyaG9OUmI2UjhJUmx0WjlzbVdMVGtrNWhkdXBCNzRmbjQrdmVuK25kL3hGNjRFSm1WNWEzeERCZkdWc0VuazUxcXZCNC9xOERjVG5tbFFnamNlQUxpTnJKYk5sUFdOdkRwVTB1SjFGUlFPS0ludFordFJpVmpJQTJ2MW44TE50U09xQjhYQWxUVVFkbXBQOUN0VkNVc0VFRWpzMFhTNzNCdXVVZitQajNJTytVSTR0OHRJTEZzMWJyMmtDbjkxbThvU29JSkFvSHRxNE90M2VEdnZtZWZrdDV6ZU5mTTFyYWEyemt6OVdSS2ppamw1YkVvclZtMnRBb3NBMkVJdE5LNFRYRUkrUkROdldoK0FLYWhjQndEdXlITW9NRXJ1ZXZjOXpobW53WGdnKysvTGVURkw0ZEFiZ1RIM2ZyMWxFaHFIbnl4bmxrTGs5eDVSUkg3WGhra09sdFIvNkZMYkxaQ3hkT29QMVpLTE1xUVFmZjY1ZFIvV0V2Q3lxZk1iU0F3djVHd3FjanFBWmpleFVxN0dCcDhob1VoRFN6REFqdE90aS9FeE1INzg1OXZYc2V4QXR1OS8yQm5RODBiYjdEb3FxdEFDSStURGFoNS9YVnEzbndUcTdpWWtlKy9UMmpvME02bmZ6Ym5OS3NkZjcrMTdXRGs1NkpXVnpCM3pKRU1ldmxSWm56M0hjY2NlU1J2dlAwMnBtbml1aTZPNDJBWUJxN3Jjc3hoaC9PUCsrL244c2Z2b3FKWGQ2cnZ1Qit6TUQvRms3Mzl2a09INkR1V0FVbWJwbUNJajg2NWtFUXdoUHdCZm5kWEd5bDFSMkJKbTE3QlJXZ2sxWWtpYnBwMU56NGpRZENJb3JSczArM095ZkZ4d0FHbEJBSW1Bd2ZtMGJObkZnRExsemRSVlJXbnBDVElwNSt1b2I0K3NVdm9WQnJ3bzlrN0VPT2M3SHBHRU9YcnlRa2UraytNTDJiWTFEYW9MWDVQbndXN0Q3YjRhcGJkcWVmaWtqUFMyOGYxd0xPdDkyNVRVNHhWcTZvcEt5dWlxcW9lZ0xLeUlsYXZyaVl2ejF1M3ExZHYvUHlxVlZVRW9vMDB4V29KU0hjOW50WU1PdnY4ZXJWYkVtbGxzZVRyL3hDdlg4clhMNytJMWhyREFNTjBxRjY1bUQ2ako2SmNGNFJCWTlSbXp0d2FJcmJhS1FHNnVPUHkrZHBhSm5RclpINTloS0JoSUFVMDJnNUtnNjAwQ1ZkQjBpSHBhdXFURHZZdTFOeDhSOVRiWmJDRDlaZ3QxQzhIL0NhbGZmeEViRTFBYWpRdVNTSHhDVWc0bXBBbHFLeHdpVFRaYllyVkN5R3dmRmtra3hxNzhpMThWWjhTRDVRZ2czMXcvSDBKNS9VbGtOTUxmN2dJMDJ6Tjd1VzZEaFhMcDFHeDlDTkUwemNFbmZsRWEwWVRDTzJIRUJ0blVUcTJUU0phUmJ4aEdkRzZ4UmlKUmFqWVV0eDRPY2w0QkoxM0lKWVYzakZyZXYyK2pOc0pENzJRNEtFWEVseDVlb0EvWEJua1YrY0Z1Zm5CS0w5L29vWjNhbXM0M2lyaXNxeFNob2d3VWVVU1JXRnNiWjU2Qmg2L3U2UG9XWnBMS0dDQjdXTG1CbEZLbzJJMi8zNXJGbTkvdmdEVzY0ZVE3cTQrS2IzdjVTcU5JUVZkQ29PWXBtUjFSUVEwZEMwT29aVm1iWFVNcFhUS0o2UlJLaFBtM3VTY3VpN2FjYWgvNzFXTXZId2FQMzhQdDY2YXBzL2VvL2huMTFEM3YrZkkydThRR2o5NW03eGpmMExOb3U4eDg0dndkUzBqdk1kKzJHdFdvSkp4ck5MdVhweXhzQXZDdExacXN1L3V0NVRYcXZONWNFMVg1a1JEcmFxWlhhMnBqamJ3NnV3dldWQzFtZ3YyT0lSVGgreE53WlZYRTNsbkVJMnYvdzluN1pwZDZpYnJGTDM0Mm14NHdJQmo2bUJNREk2dWhzSUFGT1JBZGhNMFJzQ3ZRR2ZCM0FDOEdRWjdNOFNUaG1tZ3RVWXBoM011T0k4dnB1N0hkZjg0anN1UG0wZWZNU2JFWFhaV2RwbnBuVU1haEVTWUptNURCSm9pR1BsNWFOdUJXS3lWbDhGdGJFSVlCcjdpUW5Rc2puWnNNS3dOVHJUMVoxU2liWVYyRTJENE1QQXhZUHdLSWxHSEZZdDdvbUlnUkFBdDRpQkJ5QjNUaG5kRDBnQ3hVd1BlR2tlNUtRTHV6bVVjYURRaW5FVnd4RERjNmtwSTJqaFZsV2pYeHVyV0EyR1kyR3RXb1IwYm1aV05tWjlQcUhkL0JHdlJUdEpqSDl1bUE5Y3JVc2tSQnBjRkMxbmdKbGlyYksrd2JSUFhTK25OOExpUkZpY2M1T2ZSRjJQNExQalZoV0Y2ZFBVVXhsOWRHTVpuUVR5aHVlYWNFT1ZWaXYrK205aXNEMUttNXFGRVdsd1dMQ1JIR0RnL2tINjh2ZmFiRUtCZFFTaWM0QSsvN3NMcWNqK09HK2VJZzBlamRKQlgzNXRGMExRWjF0L2k2ajhzb2I3ZWh6QjFoK2toQ2xqak9CUWFCZ0tvVm9vNXlTUXhyUmhrK2VoamVlTmVhTnQ4YnljSkNzbFFuNDlDNlJFeVY3c3VKYWE1VGUyU3pSOHJjYWtMdnVJa3ZtNDJSdEFsTWp1RUV6RVJVdThRa2JLbFBsNkdGQnc0TEkrRGgrZVRGOXFZZEg5TTd5eUdkQXNTdHhYZEMvd3NxWWd6ZDNXVUZkVUpMN2lZUVVyV3JKTXJMZ0lsTEJDbVZ5U3NFblRUVlF6VzVZeWtpaEYrbXdGOUNpZ2JQWmk4ZlU4ak5HNHMxcEFoeUdCd0l4dFVPUzZmdlA0aTcvM25NUXFxNXBLTU5qRzdTVEY0My8wbzZkRVByVFhTMklVSUI0VUEwNEs2Sm1oc2dvSkNzQjJJTnJXK3ByN2VTNWpwMHNXVHpVNGNETjltalhheFhnTUtiMDlJNXM2dGFONEZxWGljZyt1NmdJa1FXd3FLYTBJK3lWNEZnaEZWc3huMDlYZmtmanVON0VDUVd4UjhYemFVbWNWOW1GdXRzQjJkTWJqYWk0NVkweTBzK2FrMXM3UHZnU0ZadUt5ZWIyWlhBWm9seTJzSkJmdnpzNGZPNUpHTG5tWEM4SVYweHZpL1hpK0hQazI4UFhSSmFHNVlsdVQwY3BzQ1c3ZmluTzRQakt0M09iM2M0YmtTa3p0NythbndaeXFKTXRqQnkxUWFCSWNQSnZlb1EwQktZalBuZUhZRnlqT0lkcVNhbWhJOFJiNThHcDBtcnA1NU84K3ZmSU5iaDE3TnVJTGRRWU9qSFlvdlBvZjhFNDltMVMxL291cko1Mmh1Nmk0c2s4S3pUaWJueUlNSTlPb09RSHpaU2hyZS9wRGFsOTlFeHhQZURsU2E0b3ZQb2V5M3Y4VHNVb1NqSEV4TVRNdkhWelV6dUhYTzM1aFVQWTFzTTB5Ukx4OUh1NW1Gc2hPOUNPMjJoNHNLMGZIMTdHR3hxWFV2Y0pKSmduMTYwblBDT21MTVZiKzdtZWpjdVF5NTluTDhXZGtBSkZldHBTcnhPS2JZbk9kZ25YNjNZZE13cFJUS1ZZQ2ltVWZTSTc4eUVESVg0UjhOL3RFWW5PdGRIMStEREZSUzhlcHZTU3llUi80cEkwbXVuUVZ1SFFnSGdRSENEOExudWVoYWlDbTNvZG8yZzdTQkpUUzJhNEFXbk5sakxYL3R2NVF1V2NtV1pYZDJqMG9PTDZqbkZ3dDY4Y3lxcmlBMGx1RmliODlHVVhZU1prK0haUXRoNUZnWXRSZmtGckRydUZNRTRLSmtNVWxSU2t3TUljb3dmT0hlSklRTDhsaDhlamx1ZEQ2KytMdElYeEd1UElqa053cmZaL1VZQ1RzVHpVb0QxSDArR1dHYVpPOCtndXEzUDhESUNxZDFBa3BicGJVVUFtVTc1R1Q3K2V1Vmh6RmhUQzR2VG4yY3NVV2pTVVJqeEF5WFFGNCtlVm01TEkyc29LS2huTWphVmN5cC9ZaUxUeitNY2NQNmN2RmZYNkdoTVlFMEpUdk5aWmFkRFY5K0NSOS92TzZ4UngrRkNSUGdsbHM2M2g4bXdGVXdyZ3NRZy9mWHdMbjk0WjB3ekZvT3l5Uzh2QUpPN3d2RDh1Q3pKcThHcXBuUHpoRGdKZ0VMaGhkRGpnWHo2NkVxM3FKeXR0aWV6ZWI5M0pvV2QwNnE2WGNxZEdONGhRTmJtbnBUT0hRTlZXQUlGNlVsWVRQQytDNmZrMi9WY1VUcEI2eU5sV0FJRnlrVWpVNFcxWW1DclZwNC9YTVdjOFhnUi9sSnlZdFlreHRZODZ5ZjJGeFAzOThvTjBadEpoU3pIb21JMXBCMEZkOHNLK2JObVgzcFVWQ0g3V2hjVzIreVlGUnJqZXR1bWxwUGcvZWNrNzVaQWtKRGw0RGcyajRHcDNVenlHbExyMWdCMkpyb3h3MDAvTGNhWjYzZGNTcWJhY0lSUjBCcGFXdG55Sm8xOFBiYnNCT0lNbmE2YkJWaTIreUc5ZStiOXZUN1pOTGhnZHVPWmZHS0dnNDg2d25lZVBNNzhMZSsrVmYrNm1WRXlNZEh6NXhQdjU0RjlOanZ6OTVZdGlEekJWQ1E1MmRJcnh5NkZRYzU3WkNlaElJR1U3NnJZdkdhQ012WFJsc2FnMlN3Rlh2V0I0SEJEbWFad2l4U0JJWTVhQmVzVW9YYklJblBNbkhyQmRvR2JRdGtsaWE4dHcwQ25MV0d4MjJkUWFkSHIyNjVuZGhTMFJob21vUVA0UVByclRlcCt1cExTbjcrTTRxdXZRaXl3dXRKd0l4TjBxYXpRbXNNS2FtdmFHRE93a3J5c3dQTVcxUkZ0Q2FDRWJCd2JBY1FDRU9tSmZtSVFLQnRUYi9oZnFRUUxKalRtL2pTM3ZoN0xTRm56RFFDdlpjZ2hFWWwvQzNLaXdUcUhYQlNmZ01KNUpwNkk3dEVhd2hLK0twQmNsU1J5Ny9IeEpsVlkvRDBHZ00wbFBnMEdvRkViOGVHSWx0WXk2bXUxRm9yaERRUndzQnBXRVg5ekg5alpuY2xhK0FSVzcwVmhBRGJkbG00c3BxSFh2bUtPVXNyT08vb1BkbG5SQzlNTTBNZXRMUDBNMjBJajB6ZlVaeDR3VDhoNTJWa2xnKzFxbzd4eDQzaXZPUDNZRVY1UFMvTytpdjd6ZCtmdkdBK2xVc1hrT1gyb2JITEcvejA5TjNSODQvbnJqcys1T0g3UGtTVTVLRGpEbFEyYm5FOUFKaFNVQncybU5BbnhKQWlQeDh2aVRCOWRaeVlyUWxZWXQyeXpHRExwb3ZVV3luM1Vnc3BxQ245M0NMMlRBRTMrN3VDa3NSUHY1S3V2UTNJQ2dFS1MyNDlqZnVQWGUxcnZqMUtRc3dVaUZESUs0WlBrZHFKRG80VHV0RWZqMXpWeXZNTENWT0RDMHA3OFJ4cGVKT3VYRytsUzVrUkpwMzJuQU4yTTMzY0ZpN2d5WGdqYnlTaTJPa2NxOU5nOUZBWVhWMUM1OFZ4VjB1Y2hRYm1vUXFqaDR1OW0wbjhmMzVFbFNTM1NaRGZLQmkxUUhMeWg5QVExcXdvMGN6dDdUSnpnR0pPYjVlVkpacjZzTVl4UEwrWjFOdkdJZGZaNUVNMDJjNDhNaTFBdWxnaWhHL3FoUlFraWhIWmRTeXZLdWFZRWRNSitaSThQL2tBZWhiVlFzMVFxcWQwSVRuMllSSTZDY3JjNFFSOVVtaUVhN0R2Z0FYODZlUVh1ZU90STNoOSttaVNqc2wvdnQ0VERTUnRDMU5KamhyK0hUY2UrVGEvZk9Fa3Z2aCtFTnB3UFpuM28zUklDWVJwcFBUZktFWitya2RvSE4xQS8yMW9RcGdHdnVLQ1ZKNi9pemFOVGRzMFdpRXNQKzdpQ2s1ODVWYnlTeXFJREtoRGZaWlBzRFNKTExXUldsUDlZamRlK3V0VEdBUHowUEhZRmxtTnRtc2RrQUJIUVZBcURpeUtNWGhJaUwzeUlpUzBpWVhEMzJjbVdGN2pZRWl4UStWMlU5Smx4cXFtbHQ4ekozQUdPd1NPYWxtRmkrZVg4L3NGNVR6VnA1alREejZTaWZzZGlQWHgreXkvNm1hQ280WlJkTzRwREJnL2p0dXVQb2l6VHhqRjR5OU1UL21wTnUwbTZkMDlqK3QvdWllbmxqZ1Vmdlk2c1crK1E0OGFTdG5mYmlQN2dIRVFEREIzVVJWUHZmd3B6Nzc2TFN1VzEzaWJvWG52YlM1NHJFRWh5TFlkcUxLNGZmRVE3cG5lbTJzR0xlV3FRVXZKRDhkUVNZdUVFcGpiZUQ0NVd1Q1RHdE5uVXhjSmNzLzhBZHo5ZlIvcUc0S1FBOW0yZzJvdkszOWRIVHo1Sk15ZjcrWDF2L29xVEowS2d3ZDdNYld0elFWWENsYXRndnZ1ODJKeDlmWHc5Tk13Y0NEc3ZUZms1clpiTGxsU015QXJLUzd0WHl1RzVTYjBJNHZ5MUJlVlFabFVBcm1ySEtVT3VLdk1sbVBKWFdWbURQRnRVelk4WGMwd3VCaTRFc1d4bG85M1VzOWVhL2w0RGNXOXdMTXRhMzNITGlhbnNvYUdOejZoNFowdmlDOVlocXB2UkRzdXdqU1EyV0Y4ZmJxVGZjamU1QjEzSUZhM2treDRvNU5ES1lFMlhkNmYzZy9uYjBkaUtNMVpCMy9MZ2xXRnZEWjVFSlYxWVJLdVJFdVZPbm9Fd2xDc3Jzampwa2NPSXhMemNmTCtzMUZhOHRqYm93a0hrNnl1eUVVYnFxV0dXd01KVi9LUC80Mmw2Sk5oRE8xWlNYWXd5VnRmRGVDTnJ3Znc4ZlMrT0thTFZ1SUg5NDVHa1hSeldGSjVHV0hmQWdMV1doVFN5NU5QTTVUa0JGcWRGMEpBUWJhRmtXcThheG1Tb213Zmp0S3RlaytFQXdhMWthU1hZeUIyZ25SSzVmQzc5ZXZaRjV1eWh6WnBYL2cyS2JPOHVtZE5kcmJGM2IrZVFDanM1N1FMbjhRcEhFNWxnNlozV1E3MzM3WWZEejgzZytmZldlclZTKzZDbXI3ZXBudWowZExBakVVNHU2dkdKd1ZQclk0U0Q0WVFQMEJpMmRGakVtbCtaNXJITnR3TThQdnNVajZNTlBITUk3VzgvV2s5MTV5YjVJUUR5d2xIUHNGSEZvUDlmUmtjM291emh1OUZPUWN3b3pIR3grWHorYXo4TytiV0xhTSswWWlYWUMzVE13ZE9TSFE4aGpBdEFtUDJRU2NTMkF2bmJGOTI1RTVTbCt0RXRsSlIzVktoL05aZXUwWEZxLzNqbFNsbGZOd25iK0kvOFZjc0hEYUMvcE9uMC8wN1RhNkt3VlEvdmZaME9PaWp0NW40OW4rOG1Vd21mcFI2am5ZeTlXTVpkR0xMMFVodlE2c2pkQUpYZzVsMDBVRVQzUlRGamtSSTl1K0RTNUtjNmlqYTlKTDNFMWt1c2pxT0NJUVFwb2wwbkI5bDdVOW56ZC9wRkhheFZoN25GNTQrSW9YSGUrWVI2cWJ5L1dqV1ZkYnBMZ0xoNlNxc0k5OFZyR3VZSmxxOVQzTSt1bTdKYmRjdGVrWHJ6MWovOHcxcFpBVGlEaGZBM2o1REtWQ2F3UGk5S1B2aUplci84U1IxZDl5UG03Qkp6cHpMbWlQUEpldU00eW00L1RxTTBpN2VhNU1PK0gzSWhrYXlsenZJMmhCUnY4VDgzbDZuTnpzTytIemVYbDVUUWMzTmY2SHBYNjk0Y2sxS1pFNDJlWCs0Z2R3cmY1cTYzZ1daR3RNV2ZUenc5UnlZUGc4ZWZ3bk9QeEZPUEJoS2lqM3pwb3RsYzBsSk9TZm0xL0JTYlFHUFZaWXdQWkxseFlRM2pCTm9nUlNhMFZtTm5GOWN3WW41MVpUNDFxdWhNYUNpRWw3NkFCNTdHYWJQM2ZxK0VCcHcwUVNGWUlLVnhaNW1pS2xPbEJjVGRVeHhvc1E3Y1hLZmlpZUl6bHRLWlBZaUV1VlZBUGhMQ2drUDYwOW9jRzlrd04vQnkxZTArM3F0Tlk3amNNTU5OL0NMWC95QzJ0cGFwQkRzaytVUjFFOXFha0pwVFY1dUxyLzg1Uys1ODg0N3Q1cHd2RU56dWgwQmZvWFJOWWtzY2hCQmJ3SHFtRVJWbWJockxVZ0tNRHJPbVpFd3d4M3NpRXR2UjR0T0FxVU9nZDBUQlBvcXNEVFJiMDNjaFJaNmlZWEkwdHV2TmwwWXVOcEZPblZVeEIzK3ZEQ2JkNnVLdUx4blBmdDJLd0V0Y0pJUkRHbnNRQmZxNnUwNDJRS2ZWQnlTMDhDbEpaV01GSTFNK2pqR2U5TksrR3BXTnFzcWxtTlpQdnIyNnM3S2xTdEpKcE9iZGQyTUhHQnkydEVCZm5WM1U2dm5xdXFpYmZNMzFkZGo5T3VEZGNSUmlKeHMxUEtWSkQvOEJLSlJSRGlNZHQyZHBvc3JwWkJTc216Wk12N3hqMzl3d2drbjhQYmJiM1Bvb1lkeS9mWFhjK3V0dDFKYVdvcVUwc3VaQlpDeXRieFNxb1VqU2luRmQ5OTl4MjkrOHhzT091Z2czbm5uSFU0NjZTVHE2dXFJeCtQazVPUzBmT2JXR1R3S1pwWERxZ2JZdHdjTUtWNlg2SnNXOXNWMnpEZEtyVWVkTkJpNXQrYjF4YTl5N3d1VENma2QrcGYxSVprb1N1VTd0SEUraEUyK2FFSnJRYUdzcDcyMVY1Nm1iVklnNnpqRzl5VzVvb2tTV1V1TnptWjN2WUNQa3J1enlPbUZFTW10OXJXdkQ2T3o4UWczZG9STkoxSU52MFhhVjhaSkFYRkhjVkIzeWQ5LytSY0FmdjZ2ZlppNVNoR3laQXMvUVljZmJXaTBOdkdaRFJ3eGJBR2pCcHFVRlRZeFoxR2MwbXdZTmlDTDdLRERxdHA1ekZvMWtFNFRnRzl1bE9qVFpHVnJBcllQTFRYSkJQVGVJNEZiYjFHNlo1UjlqaytTVEVLUG9RNVNlR0hIYWQ4NFZNNE5NRysycFA4b2wvNUhOQkt4RXZoY2s3cDVRVVRjSkdoWjZMRDZRVDVkNVNvV0xsN0xxdkk2TE1zZzREZjUrcnRsMU5kSFBKUGJOSkRCSURJTm1tdW51enNyazRlWndROWhJdldaU2NoZ213U002WGY1L01zY0hOdGl3bjdWdlAxMlB3UUplZzcrbHBmK1c4TGcvZzBNSFJUYitjSklBSTVDRHNoQzE5bm95aWdxTjRSLzl6Q2djV2I1b0NxR0tBNGg4aXpVZ2lZd1pVYUlkaUlJd0RBazNZcXpHRHUwQ3dmdDBaMGh2Zktwckl2ejZZeFZmRDVqRGZPVzFSS0oyeWwvVnR2MVBTazByakp4SFI5aGZ3T0hsWHpGTVYyK1puVE9HdktzT25BVmJoUzBBVlp4YjhJRGp5QTQ1QWg4eFFQaHNxRnRIcitLUWNON0VQa2N3dnRCNGRsUWRCR0U5NEx5T3lFeWVUM1R0Qm9TQzlmOXZqNnl4a0hKRFJBY0JaRXZvUG9wN3ozZFdLcTNmR2E1Yk5HUGdpc2gveUR2NzlwM3dWRHNFTkp2RGFGUlRRU0dSVkJ4ZzlpY01EcTU2OVg2U3FCWGRnU0FaWkhnVHMwUU5TVTRVWWRqaHVWeFJzNXIzRmQrSDN2OTlGYjJmNllyTTFaV0VnZ0k5aWwyR0RTZ0wyNGl6cWR6bHZOdVJQTElGNVc4c2JBSGp4OTBFb3VlL3dOWG4vWXlINjJwNEx2VkN1a1RIYzRoMkJCSjhPN25DeGt6ckJzSDd0V0hnOGIxNGF1WnEzajlvKzlKSkoydGxwdTFEWEhlKzJJUkl3YVdjT2krL1RoMDMzNThOblVwNzN5K0NIc0xlVG1QSDl3anZSZmFVOHQybU45TVNJR09PUFFhMDVYRVNZTnBiTEtSbG9rNzV4dmlXYm40ZXcrQVpKS2lnQ1R3NUN5V3pLMUdCRTMwRHl3VUlTVStMZER4T0ZJcFFqbTVLTWZCaUNYd2F6QU1nMVpFaXpzWnhpNmlORFhYWU84SUtPR1ZNM2MwTEFSN21pSDZHejZXcVNTVGsxRktwTVZwL2p3R0dIN0NxVTVSRVJRTDNBUnZKeHI1TWhsRit3VDlEUjk3bWlFK1REYjlQM3RuSFNkWGVmWHg3M05sZk4yVGJMSnhkeUdRa0dBcDdoUjNDb1VDRmJ5dXRFRHBXNFVhcFRoRlN0QUVTWUtFR0lTNDIyNlN6YnFOejF4NzNqL3V4Q0ZFZGlNMDUvT0I3TXk5YytXUjQrZDNNQTZET2QyV2p5RmNINlc3UFR0R0xnb2hRV3AwS294U1VKcG16b3NsZ01TUkFsc3E1T2VrR0Rlc2p2eVNOT21JU241Sm1uSEQ2bmg1ZW5mcVd3S3VmK29nRHRuMmNLVEE2MGpPWDl0RXA1akJIMFozWVZWeENHSGFyaVo3R0NsK0FsQnRsWk1HcjJWMHhSWlNsc2JwZzlZaWdFK3FPblBwbUdWOFd0bVpHY3Q2SXhYbkM0ZFRWUlJzeTBaRzB4eDNYRzkrZlB2WEdKbHNJWHIzL2RSL09BOG5hYmpZSzlzdzREUDNWeFdrYVdPazR1UWVmd3dsUDdxZDlmMnk0R2M3WDkrV2djOVgwbFN3b3g1T0cvcG5wano4QmlJSXFDcS9mZ0ErbUNXNThUcUIwT0ZiTjFZemZzaDlUTHpuWjdTWjQwRk5nanlLaVhVZ0ZFN0ZlR25wZEtwYWF6RnNrL2xiVmpDaCsvQ2piWmM1NnBjK1Nudml1Sko4T3kzT2kyM1VocVdidTA4TmRmM3V0R0RuaVZWNjlwTnA1SnNHb29aakg1RklSekw3bHYrOTJSS0FvNkFYS05oWlljd0dCNlUwQjQ4dlRXUFlpMGR6UUVKajFBdXhLSmJod1pPZmo2OTNDNncwa1pZWFBBZDVOMlhzR0NjU1IrNkhIU08rWUZlS3pQK2tCQlFGTlozaXRzVnVEcFdXam1NaGNLeU1ucVB1QmVPUkVxSHJSRjkrQmIxSGQySnZUc0ZKSkFoT09wbklNOCtEcWlDRWdwcVg2OTVmMHc3TEpXTGFEcCtzcmNld0hKNmR1UmFBb3B3QUhrMWhUSzhTOUtONGwzdEZkaVRhYm50Z3EvMHNsSTczYm03TmVkVVFWTm9HRjBXcStHbXdsQ3U5ZWNTa2pZbGtuN0xhSEhCTWdWQWxRcFdVZlRNSldSSVVzTklDa1pBbzN2MTFQVHFBUUJHSzI3UEJOaEV5eFVVbmxYUGV4SEllZkhvbHYvcjNjbEpOU1pRY0wwS0EvUlhvRmFzcUtsWWlodW9QNFBmNmlDY1RPL0duclhYVThuOElmRFE2K1JVcGhSUkxpNzNNNytKbmFHbGZ4cFVNWUhiOUNsYlZyV2ZzNWdUOUdsUEVuWUIwekI1aVowRW1TR1ozWTVaeEhuTTJSZ2pWTFNFWjBCamM5QVl5R2FHcVlDSjFUU2w4VFFteWZBNDl3ck5vaVpmUldEYU8xbWdMNWJLRkhzRWFUdFhmcGpubVlYSG9FdUxlN0MvVkxqckNUK2ZZZ2xBd3pUZE9YODJqQ3hJSUxZRlVmQVI5RGZUbzNrVFFrOGZIYjViZ05HWnp4dm5yT2Vta3VUejR2bytXcFNjUWJlb01tcmxIWjQxa2ErNlV4RUJRR2V6S1AvcDhodzhLeHZOTi9XTXVHZXVRNVZkSUo5MW5PbWhZTkwvKzlaZnE1Q00xUHc4R3kvaG5xcG5YMHBIREczL3hTMGpKOUpDekhVaWFvR1RhR3FLNDB5Y09OMGdLQ1RuZU1PTkxQMlpDMlVmMHpGNVBRRXVRc0FLc2ovVGtvOW9KZkZ3M25uQTZwME5FbkdqSDN0UnlGNy9Vb1NiSHNtbFl0b2JLOStjUjJWeDdWUG42WDNTSzJEYXlJQSt6ZXhhT0ZrYVBOSkZ0bVdUMTBoSHJhakM3QjdBOE5zcUFUaWlmYnNqb0MwZTlGWWZPRkplRWxEaGQxQzJNOG41R0Q3MlN0UFN5ekJqRUltTUlhZWtsSmR1aEJtdWJEdmhGWEV2dWNKN1lZVjNzME5oTTdQQzcvWFhBS1lKNHlrSW9BbFZWYVdzek9INTBFWS9jMUIrQVcvKzVrcG1MVzFDOUtvNlV4Rk43VjFPdEtpN09rNTBNZ3VJd3NlOThmampoTlNZTitReVFmTHk4Z0VmbVpQUEJlaSsyRkdSN0hZU1FidHV5QTFuK2p1RGkwUzFjUExvVjU0dHdveFNCMVdUUS9FSURrUmt0U0VNZXVFSWtwWXU1dmhkQ2FtR3B6ZDBuT254emtZZHoxMmg0RFFmbnE5T3c4OURaWCtWZDBFY05RN2EyWWM2Y2cvRDc4Vng0TnVhbmkzQXFONUxlVWd1bWlYN0tSSkFPeG95WllKaUhTRFFvR1h6aEdIYlV0UytFWlVNaXZoTTNzc01SMERYMG9nS2NWQXBwR2toZDNhdDExcTFUalA3bENYS0RKdGxCU1Uyemx5V1ZmalkxQnZaYVNkSTA4WVhmOWV6cEE1TGtGcFFqQkVRM1Irblp5OFUzOC9tTytxUGF6NmhROW9rUEhlMTMyNDdtMFE1MXk2M2hDRUlJeXRsZUJ5Mk9qdlVSUmRjY2Y4VmgvWHlmOE5FZXRWT0VDblljS1JVODVaUFFTOGFTWFBjU3Z1YjNLTWhXYVV1VDZmbDFjUFNKbG9iRzNaOHlvNysxWlVsdWU4NURRSkVzdjZFRmIwUjFYVmg3V1VlMVk2dlU5amdQNElWZGRRYjFDTjIvbVpkVnNyTUpudjQxdEs3bHROei9BUEhwTTFBQ0FWZG1PRWQxeW4ybDMxN1hQcjJ1WFIreTJJYlBzNjBSOVFIU3lDZS9RTm5iVjMvMTUvYlQzU1d2VkFpa1pYTE1zUU5KQnYyc1dya1EvNmQvSWw4eHlGTFNkUFlVOCsvc2ZwaURCbUFra2dUV054SkxtbCtxVzNaay9iZ1FJRTNKOEdGRjlPaWlZRmdtT0xxclFnbUpSMU5ZdDlsaTRiSVdoQzZPOW9FN2JIUmNnWnFkNWRaQUtCQTRiamlCTVVQd2p4cUlIWTI1Y1RQVHdva2xRRXI2NVViNXkzR1YyRmtkaTk5NDJ1OTIvdHp2Tzk4NHZNZng0Ui90OURIL2pEUGFRZFpvdUkzbU03RTVhZUFHTk5vQjlIL0tsTS9kdzA0czdhbzdBYysyUGFwNGRSZjN6SkhvdXNhM3Z6dWVwMTlkUkVOOUZLRi9QdTZySXR3Nktpc1N3Sk1UNTJlM3ZNVjk1ODlDQkNFZFZ2RXFOcXUyRkVEU2l4cE1ZanNIYnJmT1dwems0dS9YOHBNYkNyanU3R3pLQnVra2xqcUUzN2RKTG5kd1VoMEx4YnRQY2twQVFEcDRON1lSdHlPSUhJRm9rdVRtUTIwM0FRcW90c21nMHI0QU5NYmJhRXRGYVF6WFlRckJwa2c5bHd3OG1mK3VlQi9UTmcvVFRiRU51V1hycXVCb1JkcisrU0NrWVlCbFpuUU9EZUgxSEJKZFUxb1dJaGhBU3h1cyt0cmxkUHY3Zzd3NWRTcTNmZXRXSHZucm93aEZRUkVDMjdaUkZMYzM5RzNmK2hhVjY5Yng4TzkraDc5N1Z6YmYvbU4wdng4OE90Z2QyU0g1UVBXZHZXY1dqbFFJYVZHY1RJMkY2ZWpjMmZkWElBWDNMSGtFSVNTbTQ4bGtDK3lkRFpaSW1DU1ROdVBIbDNIeXlWM28ydFhGZWR1MEtZWmgyTHozWGpXSmhQbVYwS1Vjb0V5MXVDQVk1ZnhnREU5emluKy9tZURadDlLczIyeVRTbi81UzVZVnFWeDVwb2RMVHZVdzZySWpHKy9nSno4NHZQMjRmMzEyWjc3ajkzc3BMc21sb2FHVlVOQVBRRU5ESzhYRmVZVERMclpaY1hIZTdzZExjaEZtaUw2WGY1M09KYmtkSnhuZWZLYkRKTnlPb2NTT2V2NGpiWHlsbENBbFRkV3JjRkoxbVBGTjFLOThsWFNpZ2V3Y1FXdXp3RGJDbFBRN24zWHpucU44eU5rRWNnclFGSUUzNUFIelFBT1NlNmJZcmwvWTIvdkxQYk42TThlWDVkTWo2S00xYlc3ek5kdFM0aEZ1ZDV1Z0lqQ1FCRlZCM0pBWk9YWWs2elZ1akh0cnZaMFFSK05JaDgvTWRGRDlzZ0JwU0FxNitDZ2RNSTBDdFlwRk1vdHN3ME8vUkN1TGhZZCtlV2sycTRVVUxUaVRlSnVKOE80ZGxvYm1DWkJUZmdxTnJRdXdJaldJV0JOQ1dVdks4dUJrNTJHRVNsR0NQVkJDQS9IbER5U1FWWWFxS2doRnBiQjhCRTVpSTU2V1pRUzljUkp0YTNBNkg0ZUtHMysxYllkRXRJWlV5d3FjNkRLY3hBYlNzVHJDa1RaOFdocnBtRWpIeHRZNlVWUitDcHJIZjNCVTlWQ21QM204NC9pQXBycFEwMzkrUHNVakw2UzQ2Mm9mdi94V2dKOTh3ODk5ZjBudysyZWFlSzIxaVlzOVJkd2NMS09YQ0JCM2JKSTRxRWNyNXZaZEw1VVNFZkJ3NzIrbXVuN2xrQS9MY3ZCNlZMNXgwd1QrOGRKOE5tOW9RZ1M5aDNWKytkYnd0TmVqMExNOGg5d3NEMHZXdEpDYnBYUDFPWDBKK0hRZW43d1NSMHF1TzY4ZnB1bnc1T3VyYVEwYkRPeWRSeXhoc201VEJNTzBqNGE2MlZIZkU2ZzV1WVNPUFJFN0VVTXZMTUdPUmNtOThHck1tczFJMnlIcmhOUHg5UjJFSFEzVCt0cHphQVhGZUN0NmtkNndHdUh4b21ibDRPbFNnWnFUajFwY2h0VllqeE9Qb2ZqODJ4bjFYbEx6NWhpWGw1c01DQ1Q1YTIwSlUxcnppVzl0TXAraHVKbG1ZYzE2N24rL2xjVjFWZHcwNmxRR1gzZ3hucDY5aUx6eUVzbUZDOEEwOWkzLzRRaXdMemNINE45ZWVEc041VW5vWThMWUZBUWtOTml3SUFzK0s0SWFMOFJVVVBlMG1Sd0hWZFZKTEYzRnVFQ2FBWDlaeVVNL3VvWlJzNTdpd25LSXF4cVdaUjMwM3JQYVp6OTlHTk55YUc2SlVWd1k0c3h6UitPMURjeTNwK010eWlmVnJZTDFKNXdQRW5yT2VKbEE5M0xZdkpuNk45OUhHVHFZbWVrUWRaVjFGUGdFU1ZOaS9lNERpQnVnQ29SVWtFcVVBY01LdVdqaUJQNDdaelpyMTIybXR3Y0dSUlRlN1pxZ3BqeEpxMjg2T1Z0T0lONlFUU3dlNjdDRkpMY1Yxa3NVWGU2VXArbVlXeDJOY3ErZEx1MUZRVStBQzRlY1FtTlJMdUlnQzRYbldINEFUbW1GUGdNR1VERzREOWdwck5aV1NDV1J0bzNRTllUUHR5MDRLZE5wYk5PRVZBcFowb251ZmNiU3R6VEZzcnIxN2NGWHNaRDBWMzNjNUN2Zy9rUTlaZ2JtV2U2cXdFcElHNUtabjVuOCtRZFpET3F0a1V6QmxSZjZjVklaeGN3SE0yWWEvT0crTFBLekZXNy9kWlMwa1drY3N6Tk9oRnNUakF1bWNwT3ZnUDZxYjl1OVA0ODZjcjl0ZFpyYmRwb3J6em1OL1B5QmtQb01GdjRGK3QzQTEwYU9BMzBnNGVnbWJ2M0ZIMEY0MjlWb3RxUmtXaXFKWHdpTzgvbFliWmk4bFlpejFERG83L0h3Zzl3OEFQNGNDYlBTTUJqczhTQ0F2aDZkMmFrVVNTbTVKQmpDY3dEYXd1VDhVWWUzWkdtWjFpR0toWFFFZXBGSnArdnE4QXd3MlhKL0djMHo4bEIxMjQyamRDQmJFWURQbzVBMnBXdDhmaDZQOHlvTTdSWWl5L2Y1WWxMWEJEbWFSZzV3enNnQ2txWkRkVXVhVDlkRmVYTkJNNjM3MlJEeVNHL21ydXpBUzJ3RWp0RGRRSzhBNGFUcEpKdm9KK3NaUWhPRHZTYTl1K2ZUZVVRL2NzZGRTbURzR1BUKy9WSDhPeHUwMHJhM2FmaENWVWtsRS96dWxzdVpQdTFOMHBwT2o3d3M0c0tIYmFlSVZxNWg5cXlaZVAwQnVuWHRlc1FyZHBOL05SWFRjbWhwaUZGVUd1TFVLMFlSc0ZNb2I3d01KY1ZZRmYzUmhnMEdDZFpuaTlCNlY4REc5VGovZlpQRXlMRzhFKzFFdzlwYWl2MDJDUVBTUC9nVTRpWmJ1NFpKYVdWMmhMSk45MU1VYlp1VFUwcWIzcjBMT2ZmY1hqejMzRXBxYWlJSW9YNmhNZWorWHBEdmd3cWlkR3VyUmswazBDeURIdUV0Sk1zcjJPUVRSL3c2UDFSMDBTY2Z0SWZWajhqTGNSdW90SVdSaVVTN1BkL0wrOG1RRTBtVGV4NmNUU2lnTTJsOE9SZWUxcE9uWHkzaXUwL3IvT0dxSnpoaDBMcURnbGU2di9Ka1d5N0FqblZVNmxiK3RZT05tem52VUN6LzRyVGt6MnRTbk4xb0lZWGJ0K3J6S01lUzNGSnQwaVV0dWIyUGp3YlAwYzE2bEE2bUVpSHc5ZW1KcjA5UENxKzdsTVJuU3doUG1VYjR2UTh4TmxZZmtrZXlwSTBtTklvOGVYeld1b3h6Wm4yREs3cWV4dy82M1VxUk54OXBXU2hGQlhUNzY0TVVYSE14bTcvN1k2UmwwZjN4UCtBZnNqTm9kdkRZVVJSY2VoNmxkOXhNNWZYZlJXZ3E1Yi8vSmFGalIrSGdKcUZvbWthVDBjcXZWLzZGWnphOWlrUlM2TW5EbGc2V1BOcGMrbERScnZid0dlZU94dmRGOXZEMGx3bjAyRzRQaTZHRCtUZ2RvcjZ5amh5ZmlzOUkwdTJuUDBDTFJwQ2E1c29NUmVEczBGQXRzbjREaVE4K1J1TFE4TmE3bEY5eW9hdGJKNUlaZ0tBOUcwcmp4bzFqK1BEaGpCa3pocUZEaDlLN2QyOENnY0J1VGNSczIwWksyKzMvbVJGUVFnZ1FHb3F2RExNbUMzUHpSRENIWTlWY2liOVhBVTU2UGs1eUFVNTZNZEpZZ1hScXdHbEZZaVBRWEh0ZGVNZ2dhckU5V2U1b2R2U1JRS3B3UVdKTlE2Y2lPODZmZTFkeVZyY1c4SUFUZ1VqTUxWalBEcVVwTGpaNE9uY3RseFEzOCsyMUZWUkdRZ2pkY3BzTmRDUlNheXdDczZmQjJ1WGtqQjNEOGVOS3ljOVdzUjE1VUJMSG51dGd6VElwdTVOV2h5SUNnd242K3FQbytRaWhJbFNOU0NKT205bEdwOXpUQVltWjZJMWoxU0VMSTNqcjFxSTZSK1hFb1NacDJ5ZytIeTN2ZllDL1J3WHg1U3VQK09paUVBTHBPSVNDQWY1K3g1bjRTcGN6ZTJrZCtiNDg3SHlOSWs4Ukg5ZTh4NXFXNVFRYlF3U3lpcGcwL0V5Q2FvaXFqZFBvVmIyV0FmM0wrTk4zVHVQbWg2ZVFNbXdYYlA1Z2JGalRCRTF6RGJSUFA0VVJJMkRRSVBoZ0Y3dDYwQ0JRVlpnM0QwYVBkdWZNc2tEWEQydzliR1ZiSnFEQkwwY0FPcXlPd1FWRjRGVEFtTTZBQjZKbXhsZTZqUitEYmNBNVBlQ3Z4MEtSRDE3YkJEUHI0ZFZOc0NtMkE3Q2VzdjErR1hlT1d5dm1RTzljT0xjclBMY0JhbUp1MFlEYzQzeExUaXVieHJmNi9Jc3NMWVlRa2hKZkk3WlUrVTdmdjNGMWovK2dDcHRsYmYzNStkSjdhVTduNzlPQTVIZ2lYTmI5djl6YSt6RzZibGxQMDRNZUloLzVrYW50NzdIckFQb0hPaFJjYU1CZE94OGVQYmpMVGlkN2RadU55UkthVFQveFNKck9uVldDdWI3UGpYZ29TSHB0U2FDRUJlekNPaFZGMEtzOGoxR2R1K0FjZ1BYKzZkS09ZalJRNEJGOHUwTGxxczRLK2ZwZWFGbHVJSXI0ekFqaEY1c3h0eGp0cTVwNVBIRFBQWEQ4OFR0L1AzTW16SmpoN3FmL1VidGhYK05vSDZkRDFGYldVK0JqZXh3dFlTQk5oN0xPdVp6enpXZlJOUVVuWmFKbCtYWUR2bFE5R2xiUzRKNEgzOEcwSE1xS3M2bmQwb3J3NmwvS2R3VXd1bjgrVjV4YXdZRHVPWlFWK2luSjgvSFh5ZXVPQ3ZnREpSdWNOUGdHV3ZpSG1xaTVrc0JvQzYxQUVwM2ljV3ZpMk1Hdm1CWWtGN20yb2pTUER0OVJPbXlVUW9ScGdLcmk1T1JpSjlOVTN2Y2I2cDcrTDJVLy9oNEZGNSs5Z3c5QUhFR3Y1V29LemlIb051SklpYVdwL0dmS1VsNzQ3d0ljbjRhcEtpaEpnNzY5aXduSERCcHF3a2hkT2V3Q3h3S0JURnM4L2ZBWUFuNlZZWlBlUVhoVTBsVTlhTnpZSFcrM1NySkhmb2F2b2hJaEpJN2hJV3JER1FVT3B4YlkyQkkrYWxPWTJxeWlpWjFUQXJhdUlFdkNyYXM4dkZpdjh1ZStCZy8xZDVsbDc0QWtiSUpmQVUxMDNCc2k1YmJtUGJzZFZWeWZseEFLZGpwTTA0eGZZelFzSjlqM0RBTGRUMER4NVdSZVJPenZkZ01remVFNGI4OWRUVlZ0SzVlY01vUUxUeGhDVVY3d0tEODZCUHBaWFZVOVdZcERibDZReWNFQUw3eTluRTIxWWI1NS8zbGNmYzR3REpyNTVkdi9vb2Ywc2ptc0VMTnJ5ZllXTUxxaU45Y2Vjd09EU2tZUU9rdmo3bXNuOHNlbjV6SjNjVFVlajhvMTV3N2pzalArdEpkckFnSzZRdmM4aFZ4ZkZvT0t2YnhmbFdCZHM0RWl3S09LOXNJTStVcVRsZGpQaGcwUzhFdnVXeEVudEZFd054b2tubWNpRllNNTA5NGhHRks1cjNzdUR3d1FrTlNPMW9ydkJ5a1NITTFsd1ZrSlFVV0xoYk55QTdLaUIwcCt6blpuUnp2NjJVTDkwdnZ1NXptWWhRVEwyKzlTd2dkWUhtTEpBZ0orVUVRZHFHQ2xpeEFpaFJwTXVBREV4di93OHYwS1ZJallRTEdpOGgxL0R2MTlBZGFPSElLM2N5Y1hjUGJ6ZkFKQ0lCUUZ1ZFZ2MDQ1ajhOeHp6MzNKbXBUNHprZ2pRcExrcTE1a1JPQTUzaVExMVlQd2dtZWlnZi95Rk9rWkhzd0ZHdllPZnNPY21DQXZLaGk2VnVHaUdSQUpTamFYU0ZaVzJDenU3YkNpd3FhNlJCSU9TcmJXa2loeXIvSGtqa2orY0ZuM2ZRUVFrQUxGaytMOXQyOGszRktCblZmUG1JcjExTFhsTTZwaUE1cGlNMW16R0ZteGdYbVZQUkZ0M1NoYWR5WW5udlpQSE1PM2I0TUpQSCtBTnB2TTJHdXRpUURMdG5TbUtaYUZkTnh1Q1c4c0dKR3hyd1E0Q2syeExKWnQ2VXhySXVDbVowbXgwelgrSi9UZlh6NklaZGswdDBRcExzem16SFBHNGJWTnpLblR0dW0vNnlhY0EwaDZmZkFxZ1I1ZFlkTm02dDZjaGpKc0NCOGJYdXFxYXNuVEFKOFB5KzlIMkE1U2lKMEFCSnhKeCtCSnZVcmVJQU5aRmtYa21IaE1rOVFudVJqalcvZDZ6RHUwTGlHVG94ZlFCY3ViYlA0MHA1a1hMdlp6KzFsRHdVcURybENaV3M5TG40VTVxRGlQRXFKcG04K3FZMGpjNWwxSEZmbWpkRERvaW90RzdMWVdIU25aM0pabVNsNHhYLy94ajZpb3E2VHR6ZmVJVEp1Sk5DMXlUanVSM2hVRi9PYXVTY1JTTmtwejQ4NEtvd0JGVmJqdnVyRTRNMmVUK0dnT2RuRWhYZjc0UzdJbUh1dUNRQUhMMXpmeHdwdEwyVmdiWWZ6b0NwUXgzWGRUUEo5OStJczNqUzBFYUE3ZW9FbkUxdm41NHY0OHVxRXJkL2V2NU5aZUd3a0UwamlHamlrRjJqN0tLVXNLZENIeGVRd1NLUytQTHUvTmIxZjJvQ0VhQk4zQ0cweVQxblQzR2ZaMXMrYmx3VTAzd2JKbDhNZ2pjTjU1TUc0Y2RPMTZZRFdIaXVKZTQ0NDdZTllzZVBGRnVQWmFHRHpZdmVkK21yMEFoVjZiTThwaW9udkE1UGxOMmM2TG03SkZYVW9UaXZpS01DclR6ZWZlK3ZkUk9nRDd3N0ZaLytZN2hGOTlneFZBZGMwV1dtZlAyM2E4ZGZZOHFtdTJzQUxZL09vYlJGU0ZubDg3QlEyMTR4OU9TbElyMTlQNHlQUEVwcy9GYkdoeFFlcWszQjdCRUFLanNwcms0dFVrNWkyaDZMYkxDSXdZeE5IaWxpT1I1UGIvcXpaVnRibTgrTVlJdXBRM2NlcW85YXlvS3VMMTZVTXdWUWRic3pONjZ2YmZKQXlWRjk4WmhxYmJqTzY3QlFYSk8zUDZZcGtxQ1Z0QjdzRC9IQ21RbXMwSG4vVkF0eFdjazViU3Qwc1RzNVoxWmZPbVFoSUNwR3J2aGJRUUNHR1JTUFducXZrbStwYmVqOEE4VEdCUWRuNzZSMjhjdnN1VFE3WmZweURrUVJHQzdzVkJmblA1WU5LbXZXMS9TUVExTFVsKy92SUtVc2JCTGY3WjBiNG9LZ2h4NW5tNzVIbDNyV0Q5aVh2Tzg2NnJyS1BBSzBoYU85c1hVb0xRQkcxaGc2dnVtY2FJc2xNcHp4NUdTWTg4UkJPc1hqeUliOTBaWlUxbExRUjBoTWM1cUNDSWNsdDJWTWV1b3dPNXVoUUtxbUZ5ZVdjdkEyODREcDgvaDh2LytqcFBWYWV3dkY2RUl3K0thUlNYRGo2aGNMaERpVGlBVndqTzlHWXpTdmZ6NHJvdzkvMDB6T1FaQm5kZkUyRDB3RGd5dFFRbnNRaVVKeW5UTzlFcE9Kd3plaHhIVzUrdnN5cXA4WEhqSmo2b1c4ckM1clhVSlp0eDdFelRyc01CVEUwSXBKbEdMKzlPN3EzMzR1azNoSllIdm85aDJRaVBTbnR2b0NPdEx2ZmlzUVg3ekwxMVJSRHdLTVFNQjl2Wm5qRzVhMnM1Q2FpS0lPUlJTQmdPcGlQM2VXKy8rT2l1RDN6eHZwczFBSTdEU0UzbCtkbi9vRWZ0UXJxZEdTTDQwWk91SFZqZWt5VmhrOW91Z3ltYk9Cb3B4K3gvbzUwWFgyenY1UXQ4bm8zb2Z0ZmUvTC9ndkZNUGI0YjEwS3lqS3VsUittSjVGbS9IM09IRHJNT3ZWQVJhSWszam1QNllXb0xTYVN1UjQwYWdYWEFlNWpFNm9pNUIrc2EvNG5Nc1RHR1NPQ2VBMmZkV1d0Yk9wZWpqT2dyWGI4Yng2QWNvODQ0c0cvYXJrTDl6T0ZPUlA1L1NZREdPdExHa2pTb1VWS0ZpU3h0Yk91Z1pqQmZUc1ZHRVFCVXFqblN3TTNYVFFnZ3N4OTJ6MnRaalNGU2hvQWdGMjdHUWdLWm9TQ214cEpVNXB1NXdURVVDdG1PaFpING5wYVErMlVMVlVaWjRhRWh4Ryt0ZzI2Q3E1TngyTGFFTHo2RGx4NzhqOXR5cklBVFJwMTRoTWZVRGN1LzdGam0zWDd2TnI2OFZGbUlVZS9CM3R2Q29Eb1FGV3FqSTVUNGU5NXp3WDU2ZzdZRkhzUnRhRUxwYnQ1VjE5UVhrLy9JdTFMTGlqQ1BSZHBGajkxV0dPREIvQlN4WUJZKy9BdGRmQUJlY0RDVkZyc0ZVckp2Y1hGTFBCWGt0dk5LYXo3OGFTMWdRRDIzTEJWYUVaRVFveXZWRkRWeVExMHlKeDl5aFdBc2FHdUdWNmZDdnliQmdaZnYxc3BDQWpjUXZCQ2ZvSVVackFUNHg0OHpLOTZPT0dvcWFGWEx6Y3pyUWFmQmwrUnI3NG1lTkxGaEovWE5UYVB0NEllbjZScHlVQzJ5bitIeDRTNHJJSFQrY2tzdlBJSHRFLzNaTG1OaWZzUkZDVUZ0Ymk2cXEzUG05NzNIL3IzN0ZNWTdEVDA0OEVZQmZUSjNLUEVYaHp1OTlEMVZWcWEydDNjRmVPd1R4RHdGWUFxWFFRaHVVUk91V1JxMHdVQW90TjM3WHJHRnY5R0JWZWJHVytYR2FORkRiNXpudnFIbm5nTmU0d0cwa3BOZ1o0R2xGdEZzRndmKzFvKzRvTkpDZFRRcHVqWk16ekVaNEpOSVdpQXNNV21kcXRQM0hqMXpwb1NQQ0ZvcFFpYVdqK0hVLzQzdWRUTy9pUHN6WjhDRUxhbGJ4M1ZnMnB5UUhjL3NKZDlLcFlDRFlFV3piUkZXMGc3RDRjanRJT1JaMDloaGNWZGpNWmZrdGlJWTRmM3N0d1gvZk15bnNuTWMzdjNVbDc3MzdMdjM2OWFPdHJZMm5ubnJxY3k4VERBak9udWpsaG90OERPdWg4LzNmNzl3eVFkT1VQUzlPVlVXR3cvaHV2cDdnQXo5SDJqYkc1RGZ3M3Y4VDdGVnJpTjN5WGF3bHl4RVpYbndvMUdraEJJWmg4SXRmL0lKKy9mcFJXVmxKUlVVRjFkWFZGQllXTW5UbzBHMDhXS2p1NHJUYXdsak5MZTRZRk9TajVlYTRleTdUeUdqSWtDRVVGQlJRV1ZsSmp4NDlxS3lzcEZldlh0eDExMTM4NVM5L3daT1Iyd2RFTFVtWXNwWmdnOG1rYjE1TU1CUTY2UHp6T1dhM3EzM3hwZmxHMjhobVUyV0kraDROMUdzaGFCRlVsRzNBOWhkQlk0Ylg3T1U3bEtzTmxLbE5kRkthQVNXREU3d3ZDOUhtYTU1UHFWRHJ1TW4vQnAyVlJ1TFN6eitUWjRFSEdwMGNJaklMZ1kwOHdBVytWTTlwTjMxaUozTytneElzdGVIRDJrV1AweFZsRzM2Y0tXMGNKTzBTVFpoZTA2N3ZhenFTNGl5TnZLWVczbnJibGUwL2JXcWhPQ3VmcENGUk9qS1JWWUxYQTM2L2g5b21tNFlXNkZ6cUo1RnlxRzJXSkFLUW4rc0JqckRHeEJsbHhySEJVYmJpUDB1Q2VaSzJ6WUxhRlRxdHA4Zm9YYUdqbUNwTmJUYWFCdWxHRDZOUE5mbDB1a3JsYkQ4Ymd4WTVYU3lVTkVoTGNYTlhrVGkyK05MMUYwc1piTmpjeUM4ZWVZdnNvSTl3TklscFdXaENJZStrc2ZTK2ZEeGVYVDM0WXpQazJaMmYxV25IeGJUVkVGT1VEdk56SFhFcElFZFlVMjk1aEQxdk5VZWJwaCtsQTVNVmxnSFB2MTVBV3lSSWo1NXRTRDFPTEpWZ3lVSVAvM3FoTStOR0N3WU1TQjc2bkhBSDhLam9GNVZodmxZUFhZUG9rd293cGpjRDRMbW9EUE5kRHlKbG9aOVRRdnIvTnJqRjNFZlQ1bzRjL21zNzZGNk5icVZabkhwTVY4NDRyb0tjb0llMGFWT1U2NmN0bXFhbUtVNHNsaWtTL0JLQktIQWJhdHVPaG0xN0NPb1JUaW4rak5PTFAyTmt6aFlLdEJZVTA4RktBQUVkWDk5akNmWTdIVitQOFdoNVhWR3pPeUdGdWovYkNpY0prZmNnL2pFRXgwUEJOZERsajlENkhEVC9HK3dJT0JZMFoxd0pqdVgrVHMyR2dtc2g3d3BJcjRYTjM0VFl4MkFuLzNmYVFNdjJZbTdvS0xubnV1UGIrajVnSEp3WDBDVCtJVkU4dlZ5ZnMvcHlNVmFENTZzemVWS0FrUGhVbTU4UFdRY0NicDQzZ0lTdGJqdDI4TVdEQUNmRnBXUDZNZnZkSjFtcUZQS25hZDFZVzI4UXlOVkoyQjVtMVRxY2Y4RXdtcHNhbVBaQkl4Um1FUXdhMURRMGNkOG5vemluOUMxV2YvSjNydTl5TlhmVXJnSHBwejBGbjVRU1ZWV29iNHBSMnhpbG9sTXVmYm9YWWxtU2R6OWVSOXF3OXZ1NmlpcW9ybzlRbUJla1crY2Mrbll2SkpZd21ERzNFdFBhTTJibjB5ZDJPYnpYMnk3dTFvN3ZIK1NXWVd4V2RVemJnSGRlb0x4bE15TXNrNlVsUGFrNTUyb00wdVR0cGY5UXk4dWgyNWlSMkphTnZtUUpXdGNBL2xTYW5qMTc0czNQdytQeklSVGxzT0VQUzJUb0s4R21XdjJDMml4d09qaVZWSEdnTEFxNXFmYmxld0lvVlRXR2FuNGlqc01pTTBtWnFuT05ONDllcWhlUDJKNlZuNDlLaWRBb0ZScFBwbHRaWkNiSjAxV0dhbjZXMnltcWJmT1FxL0RibWtLYmFWVGR1ODNtRnJTL2ViSFY4eFZMNkpDQ290d2tibTJEMjlzdWJhcFVOd1RCQm0vUUJodXE2NE9rRFJXQlJEb1MwTENqRVZhZWZoSjVnSFdROUM4bmcwMTFiRTJZb2c5Ti9qYWlFKy8xTE1DeEpacVV5SVBjWk5MZTQ3Tks0bW1kb01mZ3hINVZET2plZ0FCeWd5bmVYMVZCM05CeHZrQWZFRUtnS21CRlUzaENYcjc5N1ZPNVp0SUF5cWJOb1BrZkw1SmF2OG1kU1hWcjB4TzU5WWNJUmNHT3hpQVVvTWVkdCtDOThneitZUy9qeVkvZTJPMCs1K21MUHVmbUR0THlFeTlheG5PL2ZBUGhVNGkxU1VKNU5xT0hnYTVCSUIvU2JaQ3NWeGx5ak0xVGR6N00vYitFcnJrZUROdHB0NXFZVi84SGJiM0Z0V3Y0ckdZbEhrM0RzRTNxb3kyMEphUGsrYk9QMnNHV2JEY3V1SE5HL1ZGbnlGZUZGQ25wWVVURkRhMnJ2S09URFdQZUNIWHJPeWRRY2txTkZueENJajgyaFI3aHhNY2REQU5tM2N6L0FxakRaei8vRmFidDBOSVNvVEE3aDlQUEdNZWdIeGdZYjA4blVGeklYMHVMK2Q3NTk0S0VSeWYvaXFLK3ZXRlROZlZUWnVEMEhzekhvencwbkxLRmJFVW5GRWhTN0xzZDFRbTdBZklPR0wrRlAzMFlhMnM5WUdHSXN6SjJqSkd4WTlMZEtsaVRzV042ejNpWllNYU9xZHN4dnpoanh5UStKLzR2SFFtT2RQMWtpc0IySkhackpMT0FCR2dxRS9ya1lWZ09jOWUzN1ZWdXQ3UnRRbWVlUVh6cU95Um56UVpGSlhEaVJFTG5uME5zOG10SXd5RHl3a3NvMlZsZzJZY2R5NUhTMVF4Ym9pa2VlUFV6bGxZMkFkQVVUWER2ZVNNekVKeHkvMnQ0L29jb09HcG9POGduQlJRVnplZEJPZzYyWWJ2T1VPa2NlSjdGN0QzMzliS1FxSmxNazUvRjYxaGdKdmhKc0pTUVVJbEtHMjB2RjYrYUxmR1YyRGdwUVdLWmh0Q0JpRUFOU3JyY25pQ3hUQ015VzBjTnlmMklPV2QwZlNjT1NoQWxPUmNaZlIrcjVDZG9xc0VQciszUHRXZDI1NzVIRi9ITWF4dkFsbWhaT283allxa2NrYkpOVVhEaVVZWVBHTUdJZmtQNTcwZFR0OWtMVy9lbVk3dldtSzdwMk5MQmtmSXJyOTAwL3V1djhzTnVRZkhZcUJ5YXRuaTRyL3RwakQyaEYyc1h6K0dQbTZmelNxdkJqZk5ieVk0WFNlZUViMEZ3ZTVORktRUkpYeUZHcTBHUHhCSzZCZGRUNUYvQ2VxTXJzNE1uNGNRaWxKbVZkQzlLMHlYUUFpR0RXZVo0dW9aZm84SmZUM21va2hLbG1RMWFYK2FIcmlFWkxIVWxvbEF5Y21QM3RkWXhmcm8wQ0EwTGkwc2ZHa05PeFhLR1RKaE9XMk0rQXdzclVId1JXdE1yS2UzY2wzc3VTekI2NEJZK1c5R2RqZStQd1JleVFUaXVqM3F2ZlFqdStXSEZ5eWRGNDZqMWpHUkdMdHgyaG1CMHFVUkkxejd1dUt5UEhlalh2OTRyVzcxRTBiakxYOHhBWDRnVkkvdmo2VnoyeGZpTEhVZ0hrcyt2Q0hCTUFRNFU1RUF2RHlSNmcxVUxlc3MySmZpd1NjOFNTUHJucmVTYkEvN09wQzd2VWVxdnc2OGxVWVdOTFZXU2xwK3p1NzNCdE9wVCtOdUttMW5aMXAvMjVsaFdXK3NCdm9Od2U1ZG5lZ2E2L3JsTTM3NnR4dzdWK0tvS2VUM0tLUnN4Z1BER0xTU2EyNDRxWUY4MXY4ZWVGWGVYS1NSVHBDS3RwTklXU200U1gxSW5VYjJCUVBjc1lva2E5SWdmSmFHaUk1QWQ0VmcrU3Z1Z3VUb0VSSUp5clpwUjNnV004aXdnTGtNSVlJdGRScU5kU0ZwNkRvZ1BDZ0g1d1Z4MFJTUGs5V002TnEySkNMcXFFZlQ0TUcyYm9xeGNmSnFITEcrUTVuaVlwbmdiRW9sbDJ4aVdTVmxPSVZKS1doSVJiTWVtT1JIWjc5b0FWVld3SFlrbEplZ0tTemJHQ1BsYy8vV1NxaGpveXJZK1NsdlAvY0pyS1E1U0N1eGtFQlNIaVgzbjg4TUpyekZweUdlQTVPUGxCVHd5SjVzUDFudXhwU0RiNnlDRXhHNlBkcWlPb0U5Wml1K2ZYa2ZBNDJBN1lsZGhBVUJ5ZVl5bXArcElyb2p2OVAxK0dPWnVMRWdJbE94c3ZOMjd3OXExZThVMEdvS1NCNDVKczdwRWNJZDNOT1c1WmRpSG9wL3hQeGQ5UlhhdVFDa3RSdVRtWUs5WmoxUGZ0SVB1NkNDVEtVZ2t3YU52WDJpSHdOWmM4UE9IU2FVdFdscmk5T2xaeEtSVGgyQ25ESXdwN3hMTXo4YnMxNDlWNDg0RkpQM252SUZXWElpenFacjZOMmNRSERtWWVXb1JhNVp2cHNBRENkUEdmbWdHSk0xdC9qTlZrZGdKaldPR05QUGVyOWZpOTloTVgxUk8xOEptdXBmRnNHeWRVMzdRbTNsTENsQUQxdTU3WkJkNjhjWEczWmV2NHhESzh6Rm5ib3lUankvbTBYOE5SUWk0OVJ0TG1EdXZEczg3WVNLdHFkMTZLeCtsejFjUnZwQkpDQUZwQTZkcUkyekZtRUlnVXltM1ZzM24yNEYzQ1pSdTVlRDNaeTU2MUJmWUhwTWpoQ0NWVGhPUHRGSzE1TDl1ZmtONVgwTFplZmk4M25idnIzR1VPcFl1Tys3aXcvcjVidVdiWDdJa0JhYmp4ZTlKNDVoaHBPTEYxKzg2Y3ZXTHVQdkszbHcxS29SaXBvbHFBUlFrb29ObFhGSFBIcDh2alROcDdORnN5VFhQK09pVVp4RzRyUnJDN0YxU3NBTnNMYysyNEF0TEFmZjJ2QXk5c012bnRtaDdnUmNmZ3JqMTFqNGtIaDNmaUdFVVB2QXI5SDg4UnVTcFo1R21pZUx6YmF0WFBrcDdSMzBTQ3c5b0JVaGNWY3lUV1p2SnBFUm9Bc1VEcUlyYkowKzJuNDIvcTcvNmpITjN3V2ZkMFYrOUozeldYZkpLaGFiZ0dCYUZ2VHN6WVZnL1ZtZnBMSEVhOFNoTHlPMmNTMHM4eGRwcWl6T09HOE9tZnQyWXM3R1NMbEpsMVpJcWhLNTlvUzNhMGZYanFuQ3cwZ0h1KzNvdEZ3OS9EbHBLSVg4TEpDUU5tMzBVZDQzeHdvb2J1UFN6TEZSUEVrc2UxVkVQQyt0TlZmR1BHRWp1K1pOUTgzUHc5dTZHVnBSUDBiZXZJdmVDVXpHMzFOUDY0aFNTQzFlQ2xPUjdUWWFVTmlOeXJJT3E2bm9MODQrb2NlMzExbHZ0Y0JVYlVNRlo1REl1WmZqMjc5cEJodTM4VVNCVEpxZWZQaEFrVEgxdkpjTG45dWJlTVRZc3BhUzVOWUZsT1Y4NC83cnFZS1oxbkxUTzJTY3M0VTgzdkUxRmp6QkV3WXdvS0VLQ0NtMXhIemdIbmhucDlYcEpwOTMrVnpWTkZyZi9ycDZGYTFMODVQb0NPbzNSOFE5VVNDNTNDTDl2azF6dTRLUU9JV1J3Sm8xQnBDV2JxelhpdlJRYWlyeFV5QlFiOE5HMUprbDZrMEFVZ05RVUdoS3RPQklHRm5VblppYUlwR0lnSlpxaTBqVzdHS0dvU1B0d2JBUmhJelF2U21rUklyTjNaVk1MVGwwajBrcERCL2RReUQvelRIemR1Mk9IdzJ5NDd6NVNHemRTY05aWmxOMXlDNHF1NCszYTlmQm5JcXFDVENTUmpvVmFWSXhhWElqUWRPeTJNSFoxTmRKT28vaXpkb2lySDZ5cHRjR2pvMnNxRzYrOWcrTEtUZnpsMFVmbzNxc25kOTE1WndhZVNNVzJiVGR2VzFQNTNmLzlIMVViTnZEeTVNbjA2VjdPMm90dlJrMGtVWUorcE5YK3VuSzc2RHRWOWVUckVrZFhzZHBhRUk3enVmRUhSVGdrN1FEamNqL2dtejMveU8vWC9JREZiU09aM1RRUlI2cm9pb2xwNnlnNGV4Mi9VRlZCbno1NURCMWFRRmxaZ0o0OXMvSDdYWU9yWjg5c3lzb0NEQjFhUUcxdGdwVXJXN0R0SXpONDVRQTZNTnFiNHNwUW1HUDBCR3VXcFBqblMwbW16ek5vYUhadzVKZHVFOFlPMWZubVJUNU9HT3VuT2RnRG1IdEU2MldGdmlQcmVRM0RJaEtPazUwZEpKbE1nNERzbkNDUlNCeVB4MTIza2NqbkgvZEtoOFRtR3VMeHRzTStCcnZWeGV1V2xBdThta0JYWFgzS3RDVnAwOVdYMnJ1LzVwRTJ2aTUyb29MSEYyVFRxa1hVclhxSFZMU1dubjExaXNwVU5tOHdxZDYwSHQwL204R24vWWhBVmphS0FnTzY1L0RpYjhadDF6azc2SGtuamRuNTgvMHRPK2QvT2cwYjBSU0JJM2VHNTVhNy9Tc1BTcitiSDNhNFVpcHdISXZHK2xXVWxBMUNTZ2Nodm5vMit1SGZVMVVlUEw5TlpsRTdqcVErMnNhUW9scG1Oc1hKelI3TXBJcVJ6SmozQ3FlWHhWa2Q5bVRzdmIwZk8wVlJ5ZXMwRE1mOEpzMXJua1JOcjNjYjE1bHhJaTF0NUZxMUJNMVZKSm8rSWxwZFRsYW5TUlQyT0ExRjBWR0VndGVwSkQvYmRkaEZZbXN4a2hIOG9RS2tZOUpTT1pYb2x2ZncyTlg0dFJqeGVJSkl4TFgvWkNidjEvYjJvcURQTmVTWERVTlIxSVBDOFB3ajNHZUlmK3pyTUw1bDJlNDBxSXFyaGovMFJJcS8vQ2ZOZmRmNytOMGRBWDU1YzRDNy9oam5ieTgxOHFMUnlGWGVFbTRNbGxJaC9jU2tUUW9IOVREcDBIWGs4QXlKOEdrdWo3UWRNQ3pTcHMzTUJSc1JRaUFDbmtPRHI3eTMvaEZkcFNqZlQwMWpuSnlRaDR0UDdVbVhraEQvOTlSaTZwdVQ3anNJU0tadEhFZWlLQXFxQ3FtMFRlZVNBTmVmMzUrRzVnUi8rYzh5bWxwU2xCVUhhR3BMa1RiK3gyTWNRZ0VoOFhUdGdWNVVpblJzaEtZalRRTWxtSVZNSlJHQklObVR6a0VKWnBFMTdtVDhBNGFoQklLbzJibGtuWGdHU2pDRTR2T2hGaFNoZUgwVVhYczdRdE5Rc25QM1MzbTgvYThKTHA1ZzhmVUpOci91bm1aWU1NSGo5Y1dzVC9xM1k2MElnUzBkcXNOTlBML3dBMVkzVm5QRHFLOXh6cWhSRkhRcEp6cmxEV0x2VHNWdWFqcXdQcStIR1NsQVNvTktGU29Ec0RRTi9scTNmR2hxVjZnTlFrTGJydXVKUGZoT2hhcGk0dEQwN0FPSUxRN2xUei9GYng1NmtyLys3V3Q4NzVacnVBNkxBRG9SVEJRT25sbWpmZjJhNXlEWHovblhuOERkSi9WQ256MmIrSlQzV0J4UmVMQzVnT3V1OWpNaTRBVWhtTEt3bm1mKytBbS8vYzVFZWcvclE4UHpMK0ZzU2ZPR1ZjN2JsU2JVTmtPT0RrcW1hU0F1Mm9BUUJna3JSYXJicC9UeWpTT29sdEtZWTVQYnU0U3hJejA4TXZ0VGNyMHBJS3RqSjFUYm50RmZVOTBMcnplTzR3Z3MwMGRabHczdXNFdVExc0ZkYUlYQlhQNXc3dDNRcmVMZ0YxSmM4WnQ5NTJOQ0lJU2dkNjllSERkaEF0bkNJRGxyQmpJZVE2Z3FpcytQVENhUmh1azZKZE5waE0rUHRFeGtJazV5OVNxeWgvZG5YSzh1bUpiRjZzWU5TRVU3NENJQUM4a1puaXlXMlNrbXA4TVp0N0xjdWdkUkJBenNyVEdzcjhicUtwdW4zMHp4aDN0RHFCNUJubDhnL050VjZoUEdlckFOeVhjZmlGRlNxREJ4dE02aTFSYkwxMW80YkorbURCd3k1M3B6T01PVGhmVWw3OUNoKzAwQVFtTGJDazJ0QnZuNVlIendFR3FpRXZJcnNadnE4ZlFlU0VOVEc2WWwyajBncHdyb3BHck1TNmZZYkZuVTJqWlppc0l3cjVkUDBpbW1KUk1BTERiU2pQSDZDQWpCMUdTQ1JZWktVa3FPOGZwMnhFbmFMN3E3K3hXSHQxUnBtZFloTnFEUUpLbU5QcmI4czVTOFNXRktMbXNnTkN4R3c4dUZHTFVkQ3hDbktvSXh2YkpwaWhxc3FFNXNxd3Zma2ZLQ091V0YzcjBDM3M0T2FHUURoVms2QlNHZGVlc2l0TzVuQTdWRU96WGkzYkZ3dXlPTHVOMFdtakxEdXdRT0dpaTY2MFIwMG5TU1RmU1Q5UXloaWNGZWs5N2Q4K2s4b2grNTR5NGxNSFlNZXYvK0tINy96czl1MjFzN2NycThPd042NDJRQWtyWlVydVhEOTZkUWxGOUVGSVdxWkJxVk5FRlZrUFFHU1VmYjBQMEJzckkvQjBEbENBTTJ2dUNHTndFL1o5OHdnWHZQNmt2b282bnc2c3VzYlE1dzE2WWhYSE5iSnk0SXVRQlNyODlwNDRrZnY4ZnZmajZLM3FNSEV2cjNvNVJ1VUhreU5wbzNWdmdoMlVoR3djbklBMG1YTHJrQVZGZEh0cW1FenJhaURJRnQyNXg2YWdXLy9lMUUxcTl2WS9Ma0ZoUkY1WXZ5djRRUUpBMkhEN2ZBQWpHSXZzZjA0VnV4UjRsbDUvUG84Q3ZabkJCRXQ5Z1l0anpDOGx2M3JvSktibE90TzBZdit0c3pmejR3Nzc2cTRqMzNkUFJobzdHV0xzSmVzeDVyeFdwa09KSnBObnhnay9MeWZ2NHVsYlpKcFN3aU1aT3VuVUtjTWJFcm55NnA1ODMzaS9qbVkxZnk5Mjg4d3dtRDFyVWpVSDA3a3k0UUJ0aTJSRkVFamk3WVVPV0NyUGFvOEtDWUVzZVJDRVVnOVlPLzhEVUo5MjQwT0x2UjRrdHFNOXc4UWdGbk4xcFVldzN1N2VYRk91cFIyeitXUWNkYXh4dWpyVi9wSVZTelFnU1BHUUZJMGxXYk1UWnRPU1FGVnU0MFNpeHBrNlVGa01DL3ExN2s3Ym9QdWJ2dlRWeGZjYkhiRDg0MENJMGRTYitQWEFBZ0pSUUUyeUhtSkZudy9EOUJ3b2pMYnlTaytQRVBHVUMvRHlZalBEckM0OEV5RFRUZEE1ckc0MVV2OGZDYXY3TWxXVSsrSjllOXRqeWFkSDJvNmV2WFBBdTVBUzY0ZmlKM245UUw3K3paSkthOHgrS0k0SUdtUXE2L1pxczlERk1YMWZQTW56N2hvVzlQb1Bld1BqUSsveUp5aThHYlZoZW1WTnBRVThNSElrMkJxbURLakQ0a1hkQVhHMWcxZFFhKytuVW9mVFFTYlFheGpmTlovVmFRaWpOUFE5dERNdlNPTkh2MmJHYlBuczBqanp3Q1FGbFpHUU1HREdEa3lKR01IajJhSVVPRzBMMTdkM1JkMzExVkJvd3R0VFQ4NGU4MFAvNnNxNHNyQ3MxUFBVWEJOVmRSZXMvMzBEdWR1SDEvR090eHJKWEk5Q0ljWXduU1hJMjBhNUJPT0tNWjZTQzh1S2hBNmhjTG55T0lqclJHS1hzcnRqUWhNUzBOaE1NZHZUYnhxKzZiOFJmWWJGeWZ4VjllSGNtN0N5cW9hWGI5bjUzeVkwd2FXY2x0NTMzR1diMWJPRGsvekk4cnkvbGRaV2RzcWFKckZwWVVIVHUxamJVa3ByNkcwWkRGNVpjVmNOS29FTG91TXVDMUhlaVA3RUJiSStVVTRnZ1ZKekFDeHpzVVJkR3hIQjBoSlpvUTZLcEtWclFGbVgwOGRyZ0IvOU8vUWwrL0FHR21VT1RSaGppSEEzVysva3JDbnk1QXB0TVVuWDBhU0VtNjlpT0VxaHpSL0VHeEpaZWUzbzIrQXhQVWJ6Q29zc0tjUCtJeVBxNThudzgzdjBhaHQ1VDhTQTUxc1Exc2pyelBaelV6T2IvL3RWdzg5aW8rV2ZVUmpUV2ZjTzNFTzduMWdoSDg4ZG01MklwMmNGai9CeC9BYzg5QmVUbTgvRExjZVNmMDc3LzdlZjM3dzFOUHdlOStCeGRkQkpzM3crV1h3NlJKQjNSN1I3cWk3NTB0OEpEanVxTlNDWGhvT0t4N0IwWU9jVjAwbFMyd3BCWFFNbWE3QU51QWMzckFhMmRCZlFzTWVCWFdOYnJuYkJYZlhiSmNHVm9kMzI1L2JHV0JxbkNUS2s3dERMODlFZFpIWVhJWUZCWDJsRjlyT2pwUFZsNU96QXJ5czhFUDBpTlloUzFWSklKc1BVcElqek8xWmhJL1h2SURWb1Q3N3JVUFdGVnNUaWlkeFIwREhtR2NtRVg4UmNuR3lYN01CdUVXTUNnN255OGQwRXNrQmVjWkJNNVdXS1NOQW5ZR3VmN2JqODdZYmJGS3VUMHhTbFhrSG92amxhbCsxTld6M2NMNEhjaXJxMXg3emxDdVB2MUVEc1E1UGJJakJJYUVmSS9nVzkxVXJ1bXNVT2paQzFrckFCc1NjeUpFWG16QzNKUStaSGJWLzRiZHNMZHhOTGJGMFI3NjlrVDZaT0pvOWk1eE5KSHJBZE5oMG9sOWVPTEJDN2orKzVONTU1MFZLQ0V2bHIyNzdMZHNpZUxUK1dSdUphZWVPb0EzLzNFbDE5MzNDdS9PV0kzaTFiOFFPMDRDNFpqSk8vUHFPUHY0THZpOUtsNWRZZnI4ZXJiVXhZOVlZTTNEeG42d3dheFNpYzNROGZXM1FKY0lXNUtZcjVOWXFPR2tkdVkxMG9MMEttMGJQenhLWHcweU50Y2N1US92T05pSkpMbW5uMFJ5MVRxTWpkVW9maCtlMGtMTVRkVlVYWEVyTFUrK1NLZWYzMFhid0tHb2hrRUFHM3RycGNGaHhFS0VZQnU4bzVRQ2FlanU0K2xXcG1HSzY4azRHR3hQQXFhRURadGFjQ3dIVFZjSmhyd2t3MG11T0dzb3F5cWJlUDcxeFFRREhoSkprOE1wOTF2aWdyN2QvWnVscUtwd0UrMmtRSGpkSk9KMFZROGFxN3JqcmFnaWQ5U25tS1hWUE56YjR2cHVwdHYxUlpWY25SWTh1RkhuVDVzMVBHTDNzVkdBWW85a2JsamgyRTk5UEQvSTRPUWlteHM2V1V6TXM1blNwUEtIVFJvaHJRUGV6MG9qTkMvaUM1b2lPdWtvVnF5ZVJOVk1Ja3RmUnRFRDVJeTZnVURYWTFGRFJabmlBOUVPNjFXUVNwc3NXVmREUTJ1TWxaVU5YSFhHU0ViMjdYeElnZHM3SCtZc2E4dXUrdG0xejIzMzY1N2NDOCtjT1NTbXZNZVNpT0NCNWtLdXZ6ckE4S0F2NDlkdDRKay9mY3B2dnoyQlhzUDcwdmo4U3poYkRONjB5NW15TGcyUkdEV2YzczE1SjIrM0t5Kys0MldtZjdZTVZRL3gwMitkeGNMOHgxaXlhUzNDMXZGNExaNTlmVG12dlBJSlBic0hlZWpPU2R6L25aTzMvWFpEOVg3RWVBVGtCVlNHZTMxMHl0WlpXSnRpMXFZRWpURUxqNmFnS2VBY1ZkMitrSDR5cm00LzVLREFEa2l5NStyY01GL3dXamVCNllsVFdub013VWFGUk82bnlJQ1B1K1lueVJ1Y0pIS0tpWm9RTG5qelB0SXYvblZRbWZuaEk1OGxPQnIwYW9Nek44SFFacFdLWkN1eE9UK2hxa3NwdmlGOXlEMXZFb0ZqaG1aMGkvYXBVdXoxNCtaOUd5dmhGczdKSFNzcU81SXViWWRwbHE1dXMzSjVpSGVuRjdGOGJRNURCdVp4OGJtZDJGaHI4ZW9iWHBMeEdIMTZ4NWswc1ltZTNSUGd0Rk1lejhFb1ltcFgrZCtlU2RmaWtHMDBCL0FJd2RtS2w2QWVvdHN0dDVGOTdKanRDMktYQlJLZVBSZXJ1WVhjRXllaVptZTFtODlvandENU51aERMVHpIbXFTbWVFbS83OEV6MmtTR0JZRXJVc1FlQ1pCOHhVdlc5eE1vZVduczlTcE9lUHVla3dMc0hkWm9Ua3lRRnhVTVhhdHcwUXlJQkNXYlN5UXJLMndXOTNaWVVXRlRYU0lKQnlXVzZ2SWNSZTY1bCsrUnhoK2VPNzU2SHhhN0FHK0tEZXY3TXJwNk9Jb3ZSazF6TVlzVmgzTkh6R1Z6Y3lFQUY0eWF3eWZyZTFQVFZFTEFueUMxWlJpLzZCeWtSOC9Wa1BidFV6UGs1L2Q3WXdxa3JZTGlJQjJGZFEzRi9QSy9GOUJrZUhCVUc2UWdibW5iaFlscXMzQmpWemJYbHRKZ2VIQWN0K2lKekRVNnVvR3p0aTBPdER1NG54Q2dINlE0MGNVM1BBSzVJYzYvN2xUdVBuazArcXc1eEtlOHkrS293NE50QWE2LzhoU0dCVjNVaGlsTE52UHNvek40NkxiVDZUMnNQL1hQdllSVEcrTk5pcG02SVF6UkJOZis0VTRDT1I1c3kzTEZzT09nK0gza2xYWEhXM0FQc1hnT3Z2Yy94Q3lLMDNEcThkaWRMRnFQYVVVUGVaRzI4NlcyVVVmV0pXempqUkt5UElKUEd6V1diazdSc21ZVmRaRTAvUXI5ek5sczRkVVUwaDJzZHUwNkNxWXRNVEtBTXA4bmQ0OUM5QjZsanFCL2ZYdnNIdHgvN3FiUkN2cFEwcThYT0E3U2NURHJHek9GRlFLdklqQnE2ako2azlpbVE1azFkZmc3U2VUZ2ZnU0dEbkJ6L2xVRnM3RjVtN0Rzb1VtK2YxNGZGT1dMVi9hekQzKzVqbVZKdCtteDZqTm9UUHE0NTVOQi9HbE5OKzd0djRHYmVtN0c2eld3RFIxTENyUU0zNWMyYkhYeDdQajMxbk84WGdNejdlR3ZLM3J5d01vZVZMZGxnV2FqK1F4c1IyQTVZdjkycEJDUWxRV25uZ281T2ZENjZ6QmlCSng1SmdRQ0IyYlRDQUhGeGU2MWtrbVlPeGZHallPeFkxMmc3d080dHBUZ1V5UkRjMU9peEdjeE1Edk40NVc1Y242clQ5ak83blUyUnlRZGpIZjRpdmU5bFk2RDV2SFFQUDh6R3AvNEIvOVFRbGl2VG1FeGIzSW5BUUFXUC9BQW5WSDRoeEtpOW9sL1lIWHJRdCt6em5DYlkzUms0YmFVcE5adXBPNkJ4NGkrT3hzbkdzOVVUTHYxRVRzT29UUXR6Tm9Hd2xNK3hJNUVLZjNSTFFTRzlXdi93bkxuYUxDdlkvZTBzaE1QYzRDWXJXSkpqYXlBaVVRaGFXdll3bkZqRzJLWHdKVVF4R3dWdnlyd2VpUUtrcFNqa2JhMWpIOVA3c1JBcEpTa0hRM0xVWkJDSVR0Z1lUb2FNVnNITFZNRkxQWnlld3VMNXNnWjFQcVgweW4zRlV6YlJ0a1hGaU4zNW1zZHdTSk9IbHl5MjgxZG9CZjNidGwrbmZIOUNuZnFNZUU0a2xtcm01bjEzeWFhb3djWEJIU2JmWEhkQ2R4MVVpODhPOWdYRHpRVjdKRG5MWml5TGM5N2U3NkdVNTNtRGJzTGIxZGFuMnRmU0Frb0NxWDVhVll0cTZkN3IrNGtJMitSbitNbk8vZFNOczUvbTJOUGZvczY4emdxcTNJUXV0MXg0RTR5QS9TMVExTlI5eG0zZjNlNGlWL0ZnZU44VWZwZU9KeVpKU3NRaXNMNHk4ZHcwdC9uTUMzbVFTb2Q1MDNicXRIWndCdEdoQlAxRUdXS2puTkkyd0x1M1g2M2tSUXBHcmNHQ3pqQkN2THZhYTFjc2lEQ2xSZjZ1UGtpUDExS05Sekh3akdxSUwwQldsOGpXeXRnckg4QVk0dVA0N2F1eDFObG5zTzgxaWJlcjF2T3ZJWVZWTVpxU1Z1cGpCOUxjSENVRExIZHY1K1JqMHAyTHZuMy9ackFDYWRtaXRoYzM3UlFOUmNndngwYmZ4NXBkYmt2WEZXeHorOW8ySkkzVjBTNFlIRE9YcDMveXRJd1p3M0l4ck1mb0FndlhyM3JBNzl3UU92OHJDRURJQmFERFp1UVk0OEJCT3EwMXhsZTBZWGhHejlCTGxseFlLdjB4UmZiZDI5YVRxYUI2dzZKWFZ0ekJCUmNSTFIycElvSGZuUjQ2Mk1QL2VTb1RucVV2cEQrNzU0QjdXVHFTYnk2dTdmU3B0TnVPVE4zSEFDc2kzQWswdWNsZS9GSzZ1NjRqTVFsM3lSN2FEZWNTSnEyS2M4eDVpZS9ZZlA1YTdHZW00d21CS0p1T01GaFdXUTlPUmVmN3NYeDZBY3U1NXoyaTIvSzdiaHNIYWV2SDJuNU8wZVlQZisxYnNmVEw3OG5qblJRaEVMYU52QW9Hb3BRTVd3RFJiaFlMYXBRU2RscGRFVkRGUXBtWmgwcFFrRVZDa2tyaGRjVFFBaUJiUmc0T0tpS2lxYW9KQzMzZDFzYmJGdU9qYWFvcUlwS2FvZGpRZ2pTdG9HdWFPaUt6dnEyalh6Q0swZVo0cUVrVlhWVkY5dENMU3VtNkxFSHlicnFBcHAvOENEcGVZdHdJbEdhdi9jTFlzKy9SdjZ2NzhWL3dsaENZNGNRL0UxM3pJWjFTQU44eVY3NHhnMEhJUG5oWEZwKzhCRHBlWXNRZmk4NERwNmgvU240emIzNEpvN042RXdXUXRYY2V4K2dhMjMrQ2xpd0NoNS9CYTYvQUM0NEdVcUtBQWVLZFpPYlMrcTVJSytGVjFvTGVMeXhHQWxjWDlUQUJYbk5sSGpNN2NhbUNnMk44TXAwK05ka1dMQ3lIYmY2TG94MHF6M25GNElUUFNGT3NIMEVQWVVVWG5ZSldST09SUTM0TTBEdDdXK1Y3akZmWTI5ZngzWm9mdnRqTnYzZjAwUVhMc2RxaTdsMjJnNE9xZlNtT2hKcks0a3VXazNYTzY2aTRMVHhoNlIyVWtxSmxKSndPTXlqZi80ejkvendod3dwS3VMeTVtWjZqaG9Gd09YdnZVZXlvSUQrUTRidzBQMzNFdzZIRDYyVHhBYWwwTUp6YkF4dFlCTFA2QVJPVE1HdTlyaEx0VWNhZlVnUzQ5TUFTcGFOTVNlRTA2UzVZREVIdUdSK1V2L09BVDY4K3dBS0RqR1BEd0VFalJUT05zL21nUlVPL045dXR4UmZ2RSsyS2k2ZmMxd0lzRlJKeVhmajVJNndNWk9ncHhVUVlLWWtoYWVZQ0EyYUh0UlE0OHJuUC9FZXJyOG54VWtSQ3RGMGhPTjduc0FQVHYwWlJhRmlmdlB1eitsVzBJdmlyREptVjM3TXUrcy9aVzcxVFZ4OXpBMWNQZlo2VkpWdHRWNUhXZ1d5S2lUanM2TGNWTnpNY1o0d1N6OU44TzlYa255ODBLU3hWV0tJQmthT0dNRXBKN3U2MS9lLy8zMnN6OG5UNjlOTjQrcnp2Rnh3c285T0taM0VaTzhlbk9PZkwrdGtheHZlcXk4aitQRDlBRmd6WjVQNDJhL3hYbm9SYXI4KzVFeDdrOWFSNDVGMTllRHhIUFRhU3NkeHNDeUxwNTU2aW9VTEYzTE9PZWN3ZGVwVVRqLzlkRjUrK1dXZWV1b3BTa3RMUWJxQTJLbDFHMmgrNDIzaXkxWml0YnI2cXBhWFMzRFFBQXJPUGcxZnorN2dPSlNXbHZLVG4veUVsMTkrbWVIRGgvUGdndzlTWGw3T3ZIbnplT3FwcDdqbW1tdlFOTzNBbTNUYmtzSWFtOStmZERNVjNTb091Zy82dVV0MjlqOTBkTDZSQUtRdENXVnBuSnFmWmlMakNCZTJFZWdjWUdOakRSdDl6YnliR3lRYU4xd01zYjE0aHcxMkdWMlZlalk1SmJBUHpaa0VFaWs5VkdpYnlSWUpMdlBOb0xPNkVVUG1FRlNpM09SL2s1L0VyNk9QVnMxOFl6Q0lBOGNsdWorcjd3R0pDeW5Cc2gwVVJlRExOSXhKR1JhT0k5RlVaYmR3M1Q1VHcveWRQb2IrOVBBQnY3TmIzeVg1L1lhcEhGL1VuM0U1UFVISzlva2lESnpTYm50QkVSQk4yNXpTVTJQV2kvOGhISTBETU91MS96RHU0bS94MmtxYkhKL1dJZlVrRW9GUWJLS3BFSWFTejZuSHhmQUZRalEycHdrRlZWUlZ3VXhFbVA1Y01UZzZpakN3NVpHWFpDSzJ4ajBGNkY2SmtSQmtkVE5JQ1l1Tm14VjY5bFJJR0E2NmdJMmYrdG40dG8rU25oYlpPUTd4UmgrT3owUVBPWmhSRlcvV2wrZFBibU96am1UYW5OVzBoZU1FQTE0TTAzTDVoQUJzRzVsTzQ5aUhRVzUrZXkwdUFmNlFpd3Viak1jNlRDNVh4VDFIMVBwVHVuUTZ2Qjl3OWM0ZnN6b2Y1cys3cEdNdTI3dDNiMGFNR01HbVRadFl0bXdaMFdqMHFPL3BmNFEwQlhTL1E2KzB4cW83ZStEM1JFaFpnb2JYdXRPandIRWg5UTYxNkZNQTAwSHBHa0xwRWNCemJnbUpmMVRqRnhJOTIrVzFqcENrTmlZSjNOUUYwU09BMHRXUHN5NEd1Z0pIMDl3T2UvTHFLb1dGUVVvS0F2VHJsc3Z3dnNVVTVmcVJTTHdlbGNFOUN4alNxNUROOVRFQ1hwWEd0aFNSaFBHNW9sWWdVUVRZdG9ZdGRZS2VDQ2ZtTGVSclJZc1luYnVKRXJVUjFaSllCc2k4TG9SNm5raWc3NGw0U2dlakYvUUVmNTViZzZpNFVZUGQ5a3dST0NtUXFVeWZsTTl4YlczTldIR1NFSGtQNGpNaE5BSHlMb2V5N2xEL1c4ZzZHWExPZE0vWE8wTjBPcFRjRFdvdTFQNFlZalBCVHU3Y1dPZno3Z011L0tYd2d1SUhHby9zdFhEQVBpUzNPQWgwUDRUR3VkZlUvV0NuT2g0YnhCR29XUlpXaTA3eWt5ek1PZzlxam9WWjUwVW84b2d0cEZHRUJFZWhWM2FNODd2Vzg5YzEzVWpiR3JNYXN6S3VGWTFzM2VLV1BodVp2S21FZFpFUUtBN09RYkNiUk1ZM2xSZklZbVRqR3pSRjVoSWFkZzlybDVwb1hvZEVXeHBzaGJESFM2OGUzY2pORHRJaWwwQTRUbHlZYUVFUGk2cGJHZGYvUXFwcVpqQmlvQmRWZFh0UHRNZGlrZEo5dnRLaUVOZGZPSktoL1V1eGJRZlR0Rm01dnBFWjh6YVFTcG43ZVYxSmw5SnNidmo2Q0FiMExNTE8xSEl0V1YzUFI1OVVrVGEvM0kvU0V0TGIwN2plbVRGMUFIVjQvNkRNNDNzZEIxTlI2WDdsalJ6ejRVdEV6ZVhrRFJ4S2pRMGVkZS9YaGRBMHZIbTU0RGdVRlJiUjB0UkFmaUNick02ZFVIemV3NDRsL01yczlwWFFLWmFVQ1I0YnBXSm8rN1o4WmFZWnRaTHhXWHpaL0hncytNWjhtd21WN1N0WUZBUzlGQzlaUW1XaG5TQ0p3L1hlZlBwcFB0U3R6N3FqRGlVRS9UUWY1NVBEbzhrbTFqdHBSbWdCZWl0ZWFteHJXeCt3ZzAxYnh6TVZhYU4yMVd6V2ZUWUxQYmVjc1dkZmlqK1UyeUY0MTFLQ3B0aEVFa0hlK0xBYjN6aC9GZDk2OEhqU3BoZE5NYWxyQ2pCNVJuZENmb3NCUFZwWnZqNlB5ZTkzcDZZcGlFUzROV1hTUXMzTlk5Z25HeWtxREdHYWR2dmtHeFVYZjdrOHM5MEdvMzFhRTl3N2R4UGxrVFJQRGlyRmxCYkVVb2ZldHloY1hTYzdtT0Q0M2h1eEhZWEJuZXJ4WWdPU3daM3FtYmFpQnhQNlZMR2lwb2pXZUFDeEEwNnFxaWpZdG8wVlNURnNlQVgzZkdzU0V3TW05c09QVUQvMVE4em1DSXFxdUJnZU95ajVRbEdRdG8wUmk1QTFZaWhsOTl4TTFhaFNIbDQzbVdrYlBtWkxNckxiczc3azN6M3ZWMU9ocFFXcUxsbE9YaGtrbXlRK3J5UVZoVGZlZ1Q4L0JoVmQ0ZXZuZ0JBMlJwUEMxeWJGS0o3Nko4YXNxY0FLbUloMjBtMTAvdmRvYWYwNkRNdEVDSUVpRk5ZMmIrYlJlUy96cldNdUlzK2YvVDl0QytkbDZlMjBSOVZ0Y1I4aEZHUTc1Vi91bW5rb2o5WVJIakx5U1pzeHlVYWx0eEhKL1RqVmNONWJvYTZqRnZzS0o0ZFYrWXlSdHBZaE5JUGovaXFaZXpzNDVsZDZMTDUrdzE4Z044UUYxNTdLM1NlUHhMOTROb2szcDdFa2F2T2JWaDgzWGpHSlArWnRBUVFmcm1qa3FYL081TGUzblVHdm9YMXBmT0VsMkJMalRTZWZLZXZqRU45Q3d4TXAvTGtLbHRVeGZlVXUzc1dPMFdiUEpqcmxQWlprN0pqcnIvWXpOR1BIVE4zRmpxbDcvaVdzejdGamhMbzkvcCtYNjJkWXp3SStYbGFIWmRtdWZhTzU5Ui9Tc2xHeUEveXdSNXF3bzNEeEZqL0VZM3V1TVpZUzRmRVFmMjhhTXBsRXljOEhLVW5PL0JnUkNDQUNBWnhZakxvYmJqcHNjYjlGSm1nL3BuY0pwdzNyeHJ3Rkd3RTQ3ZndSSE5PN0pGT1NmUlR0WkcrbzI5OGZib2NKVVFHRGNPVVdMQ25KNzk0SklYd3VNTWFCMHVDM3Z2UVVPNVBCb2lCNDNZaXd6RW56Y0xBVFExVWZMZEpDUVh5eC9hZUFOTUZzVXNpWmFGSnliWXJHLzNoUmdoSW5MY2c3M1VBdGNFaXZVMWwvZXhhcDlRckN4ejdHSTl3Z3ZsUDNFQ0l3REx3OVFIalFaQmg3NDUwNGhYZlJ1YWdmVC85MExMZGMwSXM3LzdTUXViTnJ3TzlCOTJ0WWx0TmhEcytPdUtxcUtNaGtndFBHbjhwM0xybVpYei96SitMUk5vU3Fic3ZYa3RJaEo1U0RiZHZFV2hwQTk2QjRmVGhTZnFWeGloNHJOOFZyZld5aTZUWXVXUmhuYkxvSnp6aUg4Y3NiV0xtMGlsZjZCWG1vbjJUTUZsdWt4YzRkR1FXUVk5VHlqZEpYR1Z0WWhVOHhtRjlmeWx0TjR5bVBWekl3c0lZdVdWc29EVVRKQ2RpODBUcWNFYzU2VGl4WWpsOU5FZEFNR3MwOG5rbWRTYTJ2UDFMcVlBdTh5UnBzUFlEbHpUNG9manFoQ3FTcG9vZWE2WGY4TzZTaUJTeGZQQmd0VllKUTJtaHNMS2RpV0JnMXY1bG5wZzNEZGxRbUR0L01LL2RQNDdvSEpwR1NlMDdMM1gyTmI4MmpkVUFvYkRaOC9QZFRXRllONXg2cmNlTWtENTBMWFpscDIrMWVVcmxmNUdSOFFlY3JJUzdUQytqMHJXOFRHanRxdTJQa0lOSCs1dk1yQXFRQjNRb2xrM3FCVjRGT1dTQTdRMzAxcUJia3ZnZitLcGNISCtyNHJvSkQzOXpWL0dUa0w1alU1VDN5dlMyNzJQY21QalZGbnJlVkVuODl4ZjRHZnY3WlQxbmQxbmVIM1BOMmtNZi9lT2FBT2JvUUFrVlJNRTBUS1VIMzZFakgyWTRwZVNCMDJsa0hzS2dseWVZMm9sdnFNV0tKbzhyWFY1RFV2ZEVvRWltMHFoVEthSk5BWGhyVjhPRER3Sk5uRVZBTmpGWUR2VktnWkNBM2o4S1JIMnJlYU9NWFNYSkVoQ0sxQ2E5amtDMGllREZ3TzVJZUdHbUtTbmxlQ1pQNkhrTnVJSVJIMWZsdzNRSk0yeUkva0UydVA0dVVaVkNjbFVkQk1JZnkzQkttcnB4RHRqZUFWL1B5L3RyNVhEZjJiQUNxMitxcERUZnp3b0ozU1Z2NzdpdFJoTUNPbTNpelBYZzBoV2hERWoxTFo5TFBGd0FTWFJVUU5ja3E5bU5ZRHVtSWdSTFlQY2RaVlJ5a0ZOakpJQ2dPRS92TzU0Y1RYbVBTa004QXljZkxDM2hrVGpZZnJQZGlTMEcyMTBFSWlkMk9xcjdYNC9EOTArdm9YNWJDM3JXNXR3QnBTQ0l6V21oK29RR3J5ZGcvRUQ0cFhkdzFJVkN5cy9IMjZVUG91T01JSG5jY25sNjk0S1dYOXRvUU1WVjRzVmVLTGQxaVBIRG0yWXp2TVRJekZnZVJBL3p6VjErTlRTdDIvVnZpUktJWVU2WWg0L0h0K1BlbWhUbjcwMHpCMnNIdkkzM1JaVTlDNXp4dSs4NnBmRzFvVDR4cEg1SitiUXBWcHM0Zms1MzUrcFVGOVBIckNFWGh0Ym1iK1hERlFuNXg4empLaHZWbXk5K2Z4QTVMNXZwNjg4eGFFeXJySVZzSGRaYytQSTZnS05zZ0t6Y09LUTFoYnVTOWVWNU9HR1l3WktSRlFaYmg5cGJaQzdya2tzVmZZRVY3S0tXZTZaK09vYWhZUjByNDgrOHJPR25FRWg1OFpSRmdjQlNCZDI5OGUzdFkwTkxCMmJ5WitQZnVnVVRTUGRseDhKeDNOZ1NER1A5NUVSeUpGRzdjTmZqUS9hakRoM2FvUWVmOGp6UmJrOUpCQ0lXNjZ0Vjg5UHBERkhROW5zWldBeVFzbmplVjVrMGZNK0djdXludDBtL2J1WWZkTzN3T2F6eWNxVGpMVFhwcGlGb2RkbzljTlhCRWpxOGlKQW5EdzRTK3kxRVZoN2MvSFljZWpKSGxTMkJiSnMyR3luZit2b2xYbm1uaHU1dGZZVng0T1VuRlExTDFva243a0MxQUFjU3pIVmIrc1lKT2prTFpiVFhZVzN0U2ZGNVBBZW1HYzRRUDFxNXp2K3JkQzJRNmd4OGg5dkc4TDZIeFF3cmJaUjFJVkJTc2pDOUxSV0dyWW50Z3ErT2ptWHZXUlJIQ3hmNEFQSDM3a0hmSGQ5Qjc5YVQxLy82RVhkK0FraFZ5WTkySEtyWjFoTVhaUDczSHQ1LytTNG1PZ2hlSHBKUTBBRWxWbzZLaUowNDBndGxRQzNZS1RkRlFkRittdDhQKzBNNStwRjM5MVYrTXo4cDJmTmJ2N0lEUCtvVjVwUktFUXF5MmpiOHRYVUtzU3dGOXVwVVFxZTVQeE9sRWMya25wdmJwem1YWkJZeHVhQ1BIOGZIMjhrMFpESm92WG1zSG8xOEZRaUVXRDhNcW0vQzZNL0VQZW83YXlGbytlYjJFNGNjMEVkV2pvT1FjOWJNY1RycUtaWk5ldFlIVThyWGtYWE0rbnU3bENFM0ZONkEzMHJDSnZQaytadFdXYmZXdkFoY0hROTJhMDN5UUpsTWNZYXRHMmdjaSt5VkMxYkNicGlDRWpnaU5jTCtOdlkyVUptcmgyVWpiYWxjTlNCRmdtemFEKzVRZ2dhbFRsaUg4K2k3N1cyRFpEazg4T1FlQ1hvU203SFJjRVJJaEpHWTRTR0duWnY1eTQxUXVPV1VGbUdDMEtXaXFnNlk2V0k0TGpoenlHU0FPSEczZzlOTlBwN0d4a1Ztelp0RzFhMWRNMCtMdmsydFl0dDdnd1ZzTEdUZk1UMkNVZ24rZ1FuSzVRL2g5bStSeUJ5ZTFFK3o2UWZXWmFERllKRHlvUFJWS1d5eWNHSVR5TEJiMDh1TmZacUdsSGFSWHBUN1dDa2hXQ29XV2VDdE9Pb0htV053dzlFenFZeTNJZEF4VjFiRVBteHdhVjBIVVI0ekVkLzZaYUtPSG94YTZ1cDdkMUlUMTZVSlNrOS9DWExCNDN4VEdmU1JmdDI3NHVuWERhbTFGL2ZuUDNUaG4xNjdrbjNiYWtjRkFGQVdaaktOV1ZCQzg0bUs4NDQ5RExTNEVUVU1ta3BqTFZwQjg0eTFTNzd6dit0TTA5ZURxbW80RFF1QXB6S1B4cC85SHVxcWFPLzk2UDkxNzllTENjOC9GdG0wMFRjT3lMR3pMUnRkMS92dnFxNHdaTVpMcEMrYlRmOTZiclA3YTVkaTFqYWg1MlVpemZXMVBWOThKY0g0R2oxT2ZQWnZFMUdrc2pnZ2VhQ3JrK3F2OURBOTZBUmMvLzlrL2ZjcEQzNTZ3azc3enBsM08xUFVHdElXNTZJNFIrSU1lYkh2My9ENUhLdmpVSkJKQlhhb1RxckJKTzE1ZXFyN1M5YzFMRmErYXhwRjd6MnlraEVna1RWVlZsTjY5YzlHMDdiL1ZOSVZFd3FhcUtrb2trajVjMCtlK2xHeWdVTEU1TXhEajY2RW8rZEVVcjc2UjVLazNVaXhkYXhGUGZ2bUxGZVFJTHZxYWwydk84ZEM1WnhGdkdTZnpZdTNKd0NWZlVmL2tQbDVFS0VocHUzNnlqQit6SXhhTW9pam91b1pwV3FnWlA2aHBXT2k2aHAyeHViN3dlR01URy84em1iaGl3bUdNblNPQkhMOUt3Q09JcEJ5OHVrQVZncUJYRVBRb3RNUnQwcG9rYlVteWZRb0pReEpPMmUwaTRZNjQ4UlVDYVZ2RVdtb3hVZ25NVkp5Q1lrR25iaDRzVTlLdHQ1ZldsamlXbVNMY1VJWHFLeWEvVXk5eXMzUk9IRkY4MEZ2Uy91QzdWeC9XL09DSFA3cWx3Kyt4Y2YySE5OWE53ZXZOSlRlL3kySHJYeitnWmFrZVdjTHlZTlF2UzhDanFsajRTRmtXWnd3N2hVdE91NTVYTjN4R283RUNvZWo3Slk4ODNpQ0YzU1lnaENDeTZYV3M4Q0k4dWtVczVaQk1HK2lxRFhZVWtXd2tVYSt5UEZsQktMdUFlUDBjN05wbHJHN1NRRUJlM2xwU29jWDRjZ2NRRFRlUUhaNkJpQzFBS2phR0pVaW1iUXdMZ2o2Qmc0YVdPNXk4cnVkUTBQVjRkRy9nNEt3cmp5UXczcTIxVEh6aVJhWTdqczlLdWJWWGVzWXptWkw4NU5Fa3YzMGl4UTl2OVBQWEh3WDU5YmVDZlBmM01aNTZ2WjZuMHczYzZDdmx1a0FKWGFTUHFMUko0N2cxeTE4Sko5Ym5DWXI5NjJuOVJUOFJXM3RVS1lJelR4MEFFdDU4WnpuNGRKUmROb2VMSG45NDVKZjdmUm9uSDlPWjhTUEttRHl0a2xXVnJWUnVpUktPR29SakJyR0V5WXZ2ckVjSVFWc2tqVVR3ekJ0ckFFa2ticUpyQ3FzMnRCS09HYVFOaHhFRENybmdsQjdNWFZMUHRMblZKSkw3YUxkOTVlci9CSXJQajZYcHhHSXhBb0VnSGwzSHRtMXNWZUR4YUVoZFJTZzJCSDE0UXVXQVJFb0xMUzhIdzdCUWRRK3ExNGRobWlRQ1dZUkNJWlQ5eEpTZnU4cGlVNlBEOGlxYmI1eG1jV04za3dIQkJQK29MV1Y2V3c3RzF2N2ltY1VlVGlmNHVHbzVXeUxOTEszZnlMWERUNkwzNVZmaDdkbUw4S3V2a0Y2eERHejdDSjhodDE4YmdJYXJBbHRBWElFUHN5Q3FRbFhJTFMvUzJUUHNqN1J0N0pabXRMeGlVc2xWSkh4UFlyM1ZuVTZ4T01LbmNjdk5sekZuL0NBZXZmeHl6bG02Z3RFZURjTzIzVjUyQitGZHRXLzkrQ3krZDlWb2V0V3R4bjc2TDN4WW5lYWZaaGNtVjVtazEyemg2b3RTNk1JTm5kcUd5V3VQemVUTktZdTUrcG9KM0hQWFBWeFV0NG9MWG51YnVjVVdqeWJMZWZiVFJuY0JDSUhFUXRoWkxQL0VJYWpPSTZxVk1peXJpS0xFSmw2MFg2ZStwcGljN0NzNDNyeVltUXNiSVpCd2kvQTdpT3ZYMXZhaHRtRUF2WHBNb3pIU2wwMGJoeUlkNkZyK0dUNS9FK3MyVEtSTHAyV1VGbGNlVkdQQ1hYU2lIUzM1amlldng4T2dRUVBSUEY2c3l2WFl6VTJnS0dpRlJlaWR5MG12VzRQVlVPY2FvOEVRbnA2OXNlcHFNWnNhc0Z1YnNUWnZ4RE9xQjBOS2UxTFZWa1BLTmhBSEVMYlp1Z205UXVGNlh6NXI3VFRMckJTcVVMR1JTT0hXY3RRMWdoaWc4TU9iQStpYVFOVlVDbk1WTEhOblhQdkNYR2hxY2JqK29pQ21LZm52dERSMWpSWU95amFiV00wa2Z3M1NmRnp2eThjckZLd3ZFZVFkdXQ4eWVReW1wWkpPcGFGcEpscE9PY294UHdVazR1MXpvS0NNaEptSG1iWjNUMGhzQjhVcUxTVkpLV214YlQ1T3A4aFZGRzdQemlFaEhaN01nSDhPOG5pWTZQUHg1MGlZTnNkaHZOZUhYMUZJYjlWU3hZRTh3djlvTXFPQTBPQTQ0VG5aSkt0OUZKL2RSTW1WVFRTL25ZOXRxbWcrQyttSUR1S3NFUEFvWERPaGxJOVhoL2xvWlpqV3VPV0N6V1FFV2M4U1A0VlorMllZcW9xZ0tFdW5KTmZEMnRya2Z2R0drL3ZsdE1QWUNvUlF0eVZWS2hrbmFYdHNuci9zTnBZS05sdFJwVXk2MEVvZnA1b2hOREpZdCtuVG80RE9JL3VUTys1U0FtUEhvUGZ2aitMMzc2WjBJTjNBbWhBQzhRWEs0ZGFwOEFhREhIZmh0U3o5OEcyaURadnhoSExSSFVseDE0SDg3UEZYS1N3cyt1S2h5VG15QUZWdS90NGs3cng5S0wwYVo4R1QzMlBWT29YZlJNZnk3RW9mZGtNZFYxMmZCT0hPczVNMmVPT0ZPVXg1YVNsWDNEYU8rMzc0S09NYVovSDZDeTlRMWQzREwxcEc4TzhQRXdqYjVmcXFxdkRPT3hjQk1HVElFOWkyazJsSXZGMnVnTTRMTDZ5aXNqTE16Sm5WZ0w2dFVlb1gya0FTNGdiRWhJZEdtY2M1ZzBiVDRNMWxucG1QYXNVUmpuU1Q3QTZEOFEzcTZiMTNVZ3NIVFhIMmNGd1MxTlA0OVpRTEV0a09GTi9OVUQrQTY5bzIrZ25qOEY5eEVmRmZQSXkxYUttNzU3SkNxUDM3SUJ1YmNacGJEcUZNRUVqSDRmMjVOYXhjOXg0dDRSVGpSaFFoWlNtMy9WdmhrZXVmWnVMQXRSeCt1ZUtTZEp0TnlLK0JSOEdLU3h5djRPbTNYUUN1SDMybkNHbEl0SkFDQmlUYjdJT3RySE5zbTgxbDllWSt4VWVrZ012cVRWNHQwcGlacHg2dElOem4vYmFWTVhUY0xTYSs5c2V2NU5CSjB5UmR0Wm5JdEptRTMzcVB4S0psT0xIRS9oWFh0ZmUwWmhoUWdTZVBxQlhqdTR0L3lZdlZiL0d6QWQ5bGJQNXcxM0R6NkNnZUhjY3lVVFNkaGxnRDBlLytCb0NHODg0bGxOUGRQUllLdXR2S0FVMzNNSzlsRVQ5YjhRZG1OMzlHbGhhazBKT0hKZTJqZStrd29adCtmQTUzWERXR3ZuV3JTRC85S085WHAzak03TUlyVlNiMjJob3UvM3JhMWFGd0d5UzkrdGpIdkRwMUtWZGRmVHozM25VZkY5YXY0cHhYMzJabXNjTUxpVzR3UXdQVDJKYXB0N1docEFRbVZ5NGhwM1UrYTMvMFcreEFMdDZhTUhMSlluNSs1bWw3clFkNFBDcUtJbkFjTUUyTDJ0cGFhbXRybVQ1OWVrYmtDaW9xS2hnMGFCQ2pSbzVrMUhISE1paWNvdURZMFFRN2wrRXJLS0R6S1NmaTgvbUpyNi9DdGl6MDd1WDRodzFFT20xQUNLdXhrY1RpVldTZmNqeXFweWNFTXVBR01vazBLM0hNNVRqcFJVaGpDZEpjaDdUcmtmTHpnUXVVMEpIbFFQZms1QnplRDFpemp3NVdJYkdrd0RSMGh1ZUgrVnYvOVl6Smk0RWZubjUxSURmOS9qUlN6U0VYNlZkMStWSlRRelpMRm5mbEw2K041Qi9mbThyVjU2emc0WDVWWEZMU3hEZFg5bVJoU3c3bzFyWnJkeFNaRnJ3N0w4cmNaWEV1T1NXSGIxOWN3S0Nldm9QdUcyMGZEd1hvSW9yS0JsSktDTldUZzJVa3NOSlYrTEx5c2JRQ2tBcjZrdWtrYXphaGVyelk0U2FVVUM2ZW1uVmZXZUMySTAwRmJaczlEeERrblhnOGJiUG1rZDVTeTVFOE5Zb1FDTU5rZVA5eWJqL3ZHR1lzZVlxeVlDZk9IbkUreWFxMXJIbnRGZFR1R2x2c05Zd1Y0MUNDWFdoWTlRbUJ6VFc4LzA2TWZ0L293ZUQreDdGeXhTZThOdmZmZlAyMFNYejBXVFVMVmxhRFIrMlFKbmM3VVVFQlRKNE1XNXNILytBSE1IaXdXL1czTlhpcktQREtLN0IwS1RRMHdDOS9DVGs1Y1B2dEIzeDdSNEtxdzVJRytMOGxjTWRJQ0doUU9STnFxbUJrTmhDRDc4NER4d0RWNC83R2xtNWprNGRIdTdyaWVUTmdYUU40QW1CSk1ET0FXKzlNY3U4ejVEV3duUXpBMTQ1N1I0TVhLcUZ5TXN5c2R6L3Z6WmlianNaL3FpNmtLdDZOcDQvOUpsMkQxVGhTUVJFTy85bDRBZCtaL3dCaEkzdnZuRG9TZW1WdjRMWitqM0ZKeVgvUjUwYW9mZFpMY3FXckE0bGQzWCtPVzVDWk04R2k4QXFEVFoxNzhvdTFOL0pTMVhsQTNrNm5qdWhmZGdDVDQ5QzJPSmN0aXRnTlIwdFJCT1dkY3NudFc3cG5ZTkJEd0JCemRNRk5YVlZ1S0ZjbzllNUZURXE0WTVxY0Z5WDhRaE5HWlpvak5zdjZDS0ZiZm5RbWQxdzlacWM0MmxhN1llYzRHcnZFMFk3ZkxZNzIxMlE1ejMzV2hFeVoxRGJHV0x5NmptaDhMNEZuRkVFMGJyQjRWUjAxRGRHOWlsOVp0a01rWWJLNUxzNGZYbGhOZVhHQXRHR1RNbzdhcGUxQlRrb2drd0luSlVoK29xRVZPaURCaVNtN0t6d0txSm5qVnRQUmhtNWZGVnA3MWhWSDVvTUxnVlpjaUt4cm9QVGUyMmg2L0hsYUc1dFJzN093MjhJSW53OHQ0Q2N5L1dPU3N6OWhWcGVSL0Q0d2lyVmFQcmt5aFNKZG9KbkQ0bFVBYVNsSVUzUHRXMXZoZTJlNlNBbS9uM0k4VW5HUWhnNjZpVkNkZzJLTFNDbXhrU2dlRmNkeUdENmdqQ3ZQR01La2NUMXBpNlFZM3IrVXgvNjdrTFViR3QxaW1FTm9JWW1NbnVSSXQ3bUo4Q2pNK3JqQlZWTDhib3hZcHFXcmNPb3BoQ1l3TmxaUXY3b1hGNXozSVplZE9KM0dtSmVpa0UxalRHSENaejYrMjlYa2toS2J4MnMwQ25TSkkzY0dTSkZBU0lWYVErQlhKYWlTcENPb1RBcW10YWg0bFBaU2JTUlNiaTB1RXFScUZoQmJQUVUxVklMaUNhSmxsYUhvQWV4NEkwYnJCcEpWY3pEYTZyQmlOUVI3aktkZy9IZnhsZzVGS05vT1Q5OWVXOUQxNzIxcERQUEtCOHZZVU5QQ3BaT0djZWE0L3VTR2ZJZGtMVHgvbUxPdENidDgvc2E5cC9PZEswWXhxRzQxOFgvK2dlazFCdit5eTNtbDBzUlp1NGxMem9saHBRMEFZcEVFci83MWZWNTlmUUZYWG4wODkzN25MaTZzV2NGcHIwN2xreXlIUDhWTDZEVGhZY2FPS0tkelNUYXZURnVKVEp1TUg5T0hwa2dMUDN2dnUraVJnZlFyUGgyajdHUGVlYzFMdlBoK2lvN3B6NG81NHpqMitOL1NlV1JYUmczc1RDU2U1djFwSy9kNUgyNzFJZXVxb0V1T1JxNC9RTzhDRDdNMkpWaFlteUpwT25oMXhjVU1QcXI2NzBZL1A2RnAvNXhUWGtuMUMvazgzQ1hJdFcwT0lUejh0RVFsV1RTSVg4NVpTMFVxekcvTHZkeTJNVWFYZTFvZ3ZYK0ovTC9ZelQ3ZGY1dFVVUVNvem5hL2xOd2h3VjhJaENJeXVUbUgxZ0VucE9zYk9IRUwzTGhTTUxCTm9OZ095N3A2NlhiUktlUjNLOGN5TGVLZkxzVXhESUxqUnlIYUNiUXVXR0hzL2VZVFlFdEIzRkRKOWxxN09HQU9hMVVPS2NIbnNSazhvQVZkaEZtMktNbkxqR0RoaWdiQ2pXc1pmMnlDVHNYMk5sT3ozVlMzejU0NW92aUQ0dlcyai9ObWg4Mi92YWptNE9yRFd4czlSdWJNWTgwM2JxSDhydTlSY3NYRkNJOW5wL1BDTTJmUjhQVHpkUDMrWFNUWHJDTnJ4TkNENWd0VGloMmNKb1hVT3g2VW9DUndXUXBwQ0dSVWdBMzJaaFZ6bm81M1VobzhlM1pxU0FIMkRvZHpZb0s4cUdEb1dvV0xaa0FrS05sY0lsbFpZYk80dDhPS0NwdnFFa2s0S0xIVno4L0JPdEw0ZzJIc2ZRR09aU3NFUFBEYy9ORzB4SUxjZVBJVWhuYXQ1Sk1OZlRocHdHSzJ0QllROUtieGFRWSszZURXVTk1aWRXMFgvam45REo2YlA1b2Y5VmhOSXFXaHFSM3JyTmdLM25UeTRLV003NzJXZjN3MGdlcVdmRGFsdlVnaHR4VUdpY3kvTWlOVTRvYUhSTm9MUWxKZTJNaE5Fei9pNDdXOW1iNWlBUHVicWZYNlI2djNTbStQSnRLRVk2bmQxNnNRTkxURWVmWEQxWGgwcGNQZHN6ZmYrM1h1dUhJaXZXdldZVDcyQ0I5c2lmR1lMR1R5eGpqbTJ0VmNlZDZ4cUpsQ0tUT1I0dFYvVE9HMU4rZHc5VldUdVBldU83aW9aaDNudlRxVjJVRjR3dHNicVdsdWs2eU0waUJ0QjAvUXk5U2U1VVR0RkZsRE8zUE96Rkt5bFJBL0wvYXh0TnQ4dmp2NFl2UTJIMm5IK1ZKWFprZldKV3hkSEk2VW1GS2pvWGtsbC85ckRxWVNvRGFlSXBzb3ByOEhoWG1udUUyOVpmdjNVbmZ6WXdXR0xWRjNYeHFmUzdZRWorcVdaeDZVT3NTamRzTUJjcXNqaDlhZmMrMEJ2NjYwTEt5RzVtMXhDcXVobWFvYjdrQm9Xb2V1SmJIRFdsV0Z4SElFUW5GUWZUYlZzUUMzenhuS0gxWlg4SU1CNjdtdXh4YThIZ01yclNNUjZMa09kc3g5WGkxWFlrWVVCQkt2MTBDYUd2OWVYY0g5SzNxeXZpVUhOQnZOWjJCTGdkVWV0U3VLQXNHZ0c1OSs0QUhvMlJOQ29mWlJ1bFhWdmRZSkowQjV1WHVQWUxEZDJJSWlvSFBBRWhlV1IrbVJaY3BuTjJiTDE3ZUVhRTVyUXQwMU4xNGM1dnhFSFB6dHJHYko5cGtJZHE0VGJMZG5iV3VmOXh4MC9iVlUvdUszNUR1U3pVSkJvTkFqa3lOV0x3UUJvTnlCRnBGRjkrdXY3Zmk1bG1DM1JXbis1OHRFMzVuMTVUbkhRcmo1bm9rVXNZL20wL1RYLzFEMnkyK2pseFMwYTIyc2tudVk1eG1HajNCeHZHdFJpWlFvbWtWOVhZZ1hQK2pISjZ2S2NCUVROK0FxZGdlYUVxQW9Fak9sOE1hc251aWFnNVVVS0I1ejk2WXhPeXcyUnhITVhWbEt5TnVQK3ZvUVFrMGpaY1pJbEh2SG5DUVNXM3JaMG5RZGVmNUtjb01MU1pzcXFyS25hSkJiSXlpRXRoMGxWRXFrTk4xYXdRTm14anMzRFVxa3JWMkhGMDBSQkx5cUc3K1Fra1RhemdCRXUrYzREcGlXUTlDcllWZ2RHOW1LN1BMNWxoK2R5UjFYamFGWHZXdGZmTEE1eldPV202OWhyTjNDTlYvZjNiNTRZOHBpcnJsNmwzeU5vb3g5TVg5WCswS2lhaHBuSDVOZ1Z1Qk5lbmNkZ0JIUHdiSUZKV1d2RVBBM29yZXNwRGxlQVZvUlVpWTcwTzhuZG1KVlNTT0ozK1BmbGtNcTlxVkw1RUVReFVKUnlFdkhPUG1VUGpTTjdVRmt6Y2RvV3BEV1kwN2xwTFZSRmsxZVNxT1doWEE2SmtZYmx3N04waWJpMkV4T2gvRWlHS1VIQ0FpRi9CMlMxd1FTUmNqRHJzWjc2NWdNMG56Y24xWEtqSGlNWi83Wnl0c2Z0Zkc5YXdLY2Q2S1hZRURCdGpNMUNWWVRkdVFEaUh5QVI4MmluN2NuL1VKanVITFFXT3Fad0tKb2tnL3ExekN6ZmhrcjJ6WVNUa2N6ZkZMcElId0lBWTZObEE2S3h3ZUt3RW5FQ1I1L0NyNWpqaWZ4MFh2NGp6MEIzOWlKSkQ3NkNJd3dTQnZoOVNFODNuWUI2VG5TNm5MdGZRanlPZEtORzY1cVNQRzdEeHM0cG11QXpqazZaZ1ljVnR0cXZ6bHVuRjlYQlZ2Q0pyLzdzSUZlaFI2R2xQa3hiWGxncFZyN0E4cXp0WEVGWUgvbkxzU0dEU2cvL2pIaTFBd284bzkvakhQRnRjZ2VQYmI1c25aQ2lqdUVHekkzejRlbUNieWFGNy9tUnlKSldTblNWaHJMa3JTRmpmYTFNWTQyZGo5S1J6QmRmMjZYZGpIbkhRbHRVVmRYemMzU2QrSlpCNkk3M0hHQTcyZXI0RytGL0htelNROVlSUFMreldpdDllUU9HSVQzbHprVVgzc0psWTg5aVY4TGtIM2RwV2p6Rm1LR1k0aXlZUHVBald1ZWRqR3BoQXJDbThsNVNsdEl1Mk9hRWh4cCtUdnFFV2JQWHovdzYyUjVRcmlJUlFxMnRGRVFLRUxaVmc4dGNMRm1yTXd4VjJmWmJyZXBpb3JsV0NpbTIrcmI4V2c0MGtFZ1VCVUZ5M0YvdDAyR2YrRXhnUzN0YmNkaVpTUDRJYmNlWllxSGdYRW1OTTNWcngySmIrSXhkSjcxQ3VHL1BFSGJBNDlpcDAyTXhTdXBPK01hZ3BlZVRmSHZmMEh4N3g2bStSdG5JUzBvZVB3aENDZHArTjZQaWYvbkRWZEhVUlNVN0N4eWYzMHZPYmRuL0grV0RZcHc3OVdPNURnd2Z3VXNXQVdQdndMWFh3QVhuQXdsaGE0d0tOWk5iaTZwNDhMOFpnQ0tkSE83a0ZDZ29RbGVtUTcvbWd3TFZyWS9GcWlTRlVMeGViRmEybmE2dUNRRE5aRklFcGs2bmZqTXVXUk5PSmFDYXk4aGE4S3hLSDdmWWJkVXBPTVFucldRcWwvL2s4aW55M0JNRTNkbks3dnA5R1pyaExhWjgzRlNLYlNzSURuamh5TU9NTy9raVpkZjNtK2RXUldDL3NPSGMzdEZCU1Z0YllqU1VnQzZxeXEzVjFUUWYvaHdidjMrOTdsNVo0TnRuK2phaXk0NndNVU1lQ1Rhb0NUYXdDU2U0Mk9rWHM5RkpoVjhaN2NCa0hvakYrRno4SjNyZm5haUtzYWNJSmppZ0cyTkpyRi9zU1FoSFFRT2pxS0RFT2gybEZrWGZnMWgyNHg3OFczU2FnZ2hKWXBqSWxHUSs2dE03RElsMHJJUXV0c2dXV2IybGxBRTBwRkkwOVVQZHp1dUNwd2srRTl2STZ1dmdablVDZmsxZEQzakFiVWcxbWFSTXlaTmRJeUs4VTRPU2dpa0pmZnUrcG0vdHg3ZlNYOVFWQ0twQ0pQNm5jWUQ1LzRlZ0t1ZnVwaVAxczdnOWhQdW9pQllpTEYyQnJuK0hBd3J5UjltL0pwM1Zyekc3UlB2WUZ6UGlSbjczVVFWNnVGZkt5NEZSUjZEcitlMWNWVmhNM2x0Y1Y1OE5jRi9wcVpZdWNFbVpVQ25UbVZjZE5HRjlPN2RtNktpSXRMcE5FT0hEbVgyN05rME5UVWhwY1RyRVp3eTFzTjFGL29ZMTgrRFo1V1hwaWtlNGl2M0VZellzaEM1T1hoT1BZWDBpNU5SQ3ZKSS8rZGxuQzIxcFA3Mkw1VFNFa1FvaFBmcjU1Tjg2QThJbisrUWdBeExLV2xwYVdIY3VIRk1temFORTA0NGdSa3pabkRaWlpjeGJOZ3dwT09nQ0lXMjkyZFM5NDhuU0s3YmdKTktiNCtGQ0VGODhUS2k4K1pUZXRPMTVFd2NqK000akJneGdpM1YxVHorNzM5ejBra244ZmJiYjNQY2NjZlIwdExpK3UvYlRlQ0piVGl6aDNxTmRuUytrZXRpRjNUMktkd1JmWU8xYTZJRWd4cDVocVN6bWVhS1ZBNUxQV2NUalFuMnloMHZkWkxTaTBkWXhLU2Y3UmxLWHphT0FvR0RGQTQ2RmdHUm9reHBSc29RR2c2R0RCQVFDZktWQ0RvV0NBY05HeFA5Z0N6bWxYcjJnU3gwaEtvd3RGOFhKbzd1VFVYbkFnQ3F0alR6NGFkcldieXEybTJNMm81clNCM1EvOERzKzh5L0wxUjl3S1BHcDd3Y2ErQkVmeE9YZGgzUHlMd2VXOU5FRHcvMkswRlRWWVo1NFJ1UFA3N3QrOGNmZjV6SHJ2b1diNmxxaDRhSEJCSnA2dno3bzc1RUc5OWo3Y1pxSE50Q1NrSEFyOUtwY3hHVEYvWUJ6VG1pYTFrRUlHMndETmZYMzdZMHlCSkRvZC9wTVFwTEhhUURBYTlBRHpvb0NXaHJVUEJuQ1lMWmtzNzlMR3JXYUNoNzJ3QW00eU15VFlzTjYydkJjV2h4RlF2M2V3bU4wK2V5N3BPUDBBK0RzWG5zdCtQYlpZQVZSV0hwMHFVQURCNDB3Y1hJYlljMTg0MUxkLzQ4Y1ZidnczeTExZTcwS2Z1cFJ3L3Z4KzA4ZWFlUHAvL3JNSC9lVHBQYi9aSjkrdlRoN3J2djVva25ubURGaWhXazAya0dEeDVNWTJNajBXaVVlRHgrMlBLMUEvV24veStUbEFKVTJOd29LTXd2WWJBV0pMOWxKUWtaUVBGWkZNb3dJem9kaHloTVlNWHEwUElPNVdCblpqdFB4N0VrbnVQekNhNkowdlJhRy9GdkRrQVREdjYvclNUdmhCejA0L05JYjB4QnZyNmpCRHc2NFljNU9ValNwbzFwT1RqTzF2VEk3Zk9tWkJxd1diWWtaVHBZT3hidDc2RFRDUUdPcldGTG5hQWVaVUxlRWs0dVdzd3gyWlYwVXV2UUhiQjFEZEZ0SkRtOVRzRGY0emowNG42bytUMFFpclpkUDFZRXRpM1pVQnZaN1ZsN3ZBSjJCT3hXc0pyQmJnSnI2My9ON3ZkMkdPd1lPQW1RYVhCU0VINFhvaCtBZnlEa25nY2w5NERJd05ZSHgwSjlGclE4Q2NrVjRLUXpzUThkaEJlVUFLZ2hVSE5BelFPdEFOUkMwTGIrVitCK3IyWUR4eC9aYThFOElEeEgxOHFSamtTRUJxRjczSml1NlIrRWpIenMrbmlsUEVDZThQbS9GYXBFTFRTUmxzQ3M5bUYxVG1QV2U3RERHbnBwR2llcTRhU092T2FRQW5Cc0JSeUZsSzNTa1BKZ09wSjBLc1ZMbTdzRGtFNmxVUHp1c1pTdHV1ZExFRXJIbzRjSUFkSjA2RmZxcDJxaGw1NGxwVFQ1QjBDeW5zdjZhOXg4OG1BYTR4WVZnWjRvdmhERm5mejg1OXVuRWhVQlFvckZnMU9YOGZaYUR6TFFtV0oxR2QyTFhtRms1ekY4c2pHTzRsRU8yUDdMRG5ub1hKTE4rSkhkdVBEVUFVUmlhUmF0cWlNU1RTRWxqQi9abFphMkpBdFgxTzZUcnlzMzIwZW5vaXhPUHE0NzU1M1NuNmJXQkV2WDFCT05wMEhDeERFVk5MVWxXTDZ1Y2MvT25mWXljQ1VVNjI1RHh3YlQxMkhPaGc2djA4c3NlaWNqQitvZGhiZWEweHlUVjA5cHB3S1dOMWlnNytQTFpXTFcvcHdjaWxwYXlNbktRdEgxdzNLL3IzQUNIT2trZ1ZZZnJDd1dwTFY5K0pYam9PcysvTHFYaEpuQ3NyODg3OFZydWZmYTI3Wk5XV0x2WWdOcXhxZTN6RXF5MWs2aklGaG5HOVRZNWg1L2wwQWlFS3kxMCtnSWJDQkxLT3h0dENEYTd0andrcmFtOVRRdG5zcXFUK2F5ZHZsS05qWFoxRzZwNXFKYmY0REg1M2VCUlR0Z0RZRE5UZmRQWVAxcnp6UDNpY21jY3N0WnhKSUJySlRGKy9NN3NXRkxGamtoZzNETVExVnRGbWxEelZRL1pEUkt3NkR0alRmUXNqUk1TM1o0aXFPREJFZWcrbXlrSTdBc1FYRTh6VTJMYStrU00xaDc0VVJDZlhzUWtDTFRYMUIydUkzemgzOCs4N24rVzBWSWtra2ZpemVYY3NxQURheHJ5bWR3ZHhlYmE5MldmQUpla3prYnlra21mUWpoNG15NTZSY0NPNVpDZURSdXVIWWkxNTgxaEw1TEZ0SDZyeGVKTDFpQnRHd1VYZHQrbzR5UUY0cUNIWXNqdlRwZGI3eVM0RFhuOG1KT0hZOHRlSlQ1TmFzd0hBdWhhcnVOUkt2MDd6YkdmbHRsdFQ5R3dXZ0hrcUNvYnYrZ1pBdzIxMEQvM3JCbVBhQzUranM0ZUhWSUhXTlF1VVFuTjZEdG9RYm5LTzJKbWhOdExLK3ZwQ2lVaDEvejh2NkcrWVJUY1pvVFljN3Vkeng1L3V6LzZmRlovNnZoN2FDeEN5eWp6VFZDRVVqRmkrNHRhQmV2V2Y3dmQvNzhWZXRYY0hock5SbGU2TkhjZW12VFFsbzIrWFphbkJuYnJBNUp0WFo5TjlUNTVuZURYWTVmNDgxOTFsTGs1TFJRTmpQMlVUZUJidlkzOS9wdUlhOTVXSTlHYkpmUE45NTdHWGRjZVFMOWFqYVEvdGZqektpTzhwaVR6eXNiWXpqcjEzUHh5UlBSejNMMXVVaWp4YXVQdmNlcmIzekdsVmRONHQ3djNzV0Z0UnM0KzdXcHpBejUrSzl2QUdpelFCcTR6WmJhWDc3dWFNZVlHVHZtWHp2WU1kZnN3WTY1OTY1N3VIZ0hPK1p2R1R0R09yYXJEU2c2MXc4T2NZK3ppQ3NHRFdYYUo5VTcyTElTVkFVbkV1T3VWZmxZdG9SNGVPLzZEbWZrc1FnRXR1V2ZpR0RRelIzTTFMMG91Ym1IWmtIVVJ2ZU9PeXFDM0pDWHBHRngzZWxERUVLUU5HeHlRMTRYbCs0bzdSWDVCL1U3TUc1bXRDRzJUQ1d5ZERIVnowZm9ldCsxK0JQL2d0elJpUEtUd1Y5NjBMaXFqY1NycW15dzBsd1FydVNYV1oyNFZNOG1MaDFNcE52bmVCY1JLOU9nNWtnNjNaTEFxRk5vZnRWRCtVOFQyRzBDbVdHZFpvMkt0N05EdDEvRVdYTk4xbjVnYTd2M1ZZcS9qVlAvVzJUZEEyQ0hjUktmb2hUZWdocnNoeVBCY1J5T0cxekluSDlPNHFsM0dybnZ6N09wWGRzS2VRRlFWSTZFR0lpcUtKQk9NYnovY0g1OC9kM01YN1dJaFl2bTdJUUhKeEE0UmhvUkZIenpuQ3VadFdnT3VUbjVURjh3eThYUy9RckhlaVlmMTFWNEhjRnRTOEpNMmlUb05FSkhsVkJ1ZXJobW82RElvL0Rpb0Z5bUZ4U0xtS0x1TkJLS3RCbWhMZURTd2V2b2xKdWl0a1huL2VvVHNmeDUzRjd4SE1QTG1nbm9KcG9LQzdjVVVGblhoZHNHZk1pcDNWdGRuNEtoOGRDcWNWVHBBemxQZTVraWI1Z3RpUUkyMVNaWVczb2FsamY3b1BqcHBHMkRaaEpyNnNLNlR5ZFMycW1hVXpycmpCNDFGNDlWaGRGOENab3hpcXRHdnNiRFV3dTQ4L2NqK08vdjZwbXhzQ3Zoc0IvaGNmWTVyOGoxZnd0UUpBS2JsQVdMTmtCMW5jM0hLMnl1UGNYREplTTBkRTNnd2psTGxFTzhEcmZpTDhibnpHZmpEZCtqOU81YktiajhndDN3Rnc4M1VnUmd3REZkQmVmMnpHSmxzODZjVnNHRXJwQlZEZW9jU1BlMXFibmFvdUM5R0xsenBhdWVIYUtlQlFKSmpqZk16UVAreGhsZHA1Q2w3MWtIeWZlMmNFYlhLZFFuUy9qWlp6K2pMWjNiYnJYODJhZWUyUzdYMmR6Y3d1Wk5tOUEwalU2ZHU5QWxQNWVqZEpRNm1zd3ZhV29yQWQycjRZdWtpUms2SHRYQTlLVXhQQUZDaVFqQ2s0MW9sbmdkRFZNVGJuNXVCMUpiekRnNmFYdWNMNEdCaDJZN255cTdLOWxHbExnTXNOa3VKK3hrWmZLNzk1LzNDU0RiRitLWWJnTVpXekdJZ01kSE5KMmdLSlJIM0VpUzVRdlNyN1E3YVROTnlCc2dZYVl3YllzZUJaMEJpZC9qb3l5bkVFVlJLQWhrMHhodG9UQ1lpNnFvN0lvMXREZmtPQTVkeTBQY2Nsb1hRbjZOUDc2NWlYVmI0alMxcHJjSnQxNTljdmpPV1YySkppMys5azQxbXhxU2JzMk9CRlZ4a0ZKZ0o0T2dPRXpzTzU4ZlRuaU5TVU0rQXlRZkx5L2drVG5aZkxEZWl5MEYyVjRISWFRYk9tbFBkY01SWER5NmhZdEh0K0xzNnVOV0JGYVRRZk1MRFVSbXRDQU51Vy85azZWRU9pNzJpSktkamJkUEgwTEhIVWZ3MkdQeDl1bURFZ29ka05JemE4TjhMbm5tVG40eTZSYXVIWDArWHUwUTZqdDduY2V5YzAzejducWNBckpqZkZCZk5FZE9iVDB5SEVFcEtrUVVGMEZERXpLVlFoczlISHQ5RlU1akU5cUFmdUE0V010WEhSSXNwMS84NVhKdXUyd1VlU3NYa0g3d2x5eHBjWGpHMjVObjFsdTBMSzdpekhORzRWRmM4ekVhU2ZEbm43L0JzeS9QNS9aYlQrSDJQLytXMDVaK3lza3Z2TTY5MlJyL0dOYURQMzlZQzdhMUxROUFJa0MxcVEzbk1ubnVzYVJNaGJyYVduSnpEYXFpM2RqNGtaLzZpQTZxdlZjNm5LcnFuNnMvT3FwS20xSElJM2Qvd0xrL1BRc2g0UFZmZkVncmhTZ2VEY1UrT0hoUDloSGVlczJ3bkM5Y3owSlhvVFdNdldJbHBBMXdISnltQmp6bm5JRUkrREEvbm9uSXlRZGRSOWcyVm1NVGppcVFaZ2VCU3dBNSt1RWQ1NnB1VDJOVVFEcWR3b3l1cHNTYlE2aDRPU0FKZW9QVVIxZGpHT25NVk1uRERrWkl3amE4YkZzZS9pakxpaUlZM3MyTmViKzNJclpIREs4RG9XWDNQTmgrZG5TbXhramE0cURNWnpxY2grV28vUDI2UjdqWGwrVEVBVXQ0ZU1vRjFJZHo4V2dXSG1ueWZqeVhtWG5YY0w0MWk5dXJYNlYzWWdPdFd1alE5WmJMdURvOHVTYjFmKzZLQXBSOHUrYUxjWE1WYUl0QWJnazg4WnI3MWYxM1F6Z0N1ZG5zaERPeFYrZDlDZjN1dHFIdE1qZlFpa0lFS1lKSTZVR1F6ZDVuVjMweGpYNWtUd3ZReGNWUGhlZGp0YzNHZGpvUktEbUJyQ3N2UisvWms1WmZQMGhxL2dLVVVIRG52czRIa1k0MGZKL3d1cjNJY3hPNzZyb1FBRm9jbS9sU1lRRUtkWTdKRmQvOEJpZGZmREdPWlJLdnFxSng5a3lhM3B5Q2JHaEE4d2ZZb2Z2R0RsT2E4Y0x1NVZ6dDFrOTNjNXAvYnNWblhiTWpQdXVYOTlOOU5PSGlzd3JIUmpvS3FpYlJoUUVKNk5HUTV2eHhJNmxMTkRCMFFBVWJsNjNFLzk1NnBoODNob2FaUzlIVE9xcFBCY1BHZGhTRStIemI0S0Rrd1NKUkZRMEtvcWhid0xHeUtPME1CWjBGNVQzQjI3QzlWOFZST2x3VUZvbFowMERieTIramQrdU10MWZYclE0S0lxOVBKL0xXQjlpUjJFN3p2Tk9VSDZUSmpFUmlSOVN3Q2xVOWdEa3hzT3YvalZwMEtTaCtaSHF6SzNvTFRnTW42UjRydmdKRSsva3JiRWNpc3J3ODlNZ0g3dk5uZWI5UUYxUnovTmdaN05XdHBLa09scUZEV3VPS016N2hMemRPSmJjNGpaWHBWNkh2MEh0SlFZSUYzVXZhd0d2aU9BZG1NL2w4UGg1NTVCSGVlKzg5ZXZmdXpaMTMzZ25BckNWSkx2NWhMVCs1dm9Ccno4ckc2eE1FUmlyNEJ5b2tsenVFMzdkSkxuZVFLVmV2T1poa2U2R3pZWkZxVVduTjBzbjJXTFQ2ZERyWEd3amhZR2N3RFdTbUYySmJPa1pKVmlFRmhkMjVvTTk0UnBiMTVaNFpmeVBONFJURmxxQjc4SjE3R29IYmJrVHQwUTFuOHhhc1ZXdVF0bzFhM2duZnBSZWdIenVheEtQL0l2WGEyMkFhSGNwRWhLYVJlOUpKZUx0MkpUaDQ4QjUxdXNQSUtFTWFTYnpIalNYN1p6L0VNM2dnU21FQnhxY0xTTDA5SGFlK0hoeUoxcWN2UGhUUzc4OUVwdFBiY3gva3dmUDlTVnVpbHhRUmZlSWxLcXRydU9DTmYvUHAwaVdjTXZZNHd2RVl1cTVqbWlhbWFhTHJPcDh1WE1DQXNrNThzT0F6K2k2Ynpyb1R2NDYxWURsYVVYNzc0SVptNk9ZZm5za2RWNDJtZDkxcXpDZit6SWZWYVI0elhmM01YTE9aS3k5SW9tVjBQVE5wOE9yZlArUzFOeFp4OVRYSGMrOGRkM05SM1NyT2UrMXQ1dVJaUEU0NU1YVnJQN0V2OU1yeVVlTXBMQThQcGNrb3hxOG1jS1NyanluQ3dYQThLRGdvWXUvMFM4ZVJ0TFlhaEVJNnlhVEZva1ZOREJuaTV1UXVXZEpNSW1FUkN1bTB0aG9kWnJOM0ZHV1EyUm1xcDdra0s4SUpuZ1QxYTVJODlHcVN0MllhYktxejkwb05IOTVmNC9yenZKd3h3VWRMYm44ZURwL0ZtK0h4YkRKTGpueTl6RHhBUGl3VXBPM2d4RXhVajRJMExiZFdPa3REcUNLRHNkV2VQY0JCVlJVTXcwTE5ZTGpZdG9QWHEyTlpyck5ZVlJYU2FYT240eDZ2aHNqSm90UFlnWlRtK0RwT0VyejMwZ0Zmb2t1ZXpwQk9QcmEwbVhoVUc4TjI5NTFYVlZDRklNZXYwaVZYWjFPTGlkOGo2Snlyc2FRbXpaWlc4Mzl5ZklVUTVKVjF4MDcxWnRObkJsc2x2V1dCcGtNcUlmRDdFcVFUY2J5QkhCQUtqcFJZMWlFd0VvTkhmaDNqL3ZBSjE0ZXVFSS9WMGJ6eGR3aDdDN1ViREhMemYrSDZSS1NERUIybkhIOFJOa3RIWWJhWWx0cHV6eTEzMkp2dHAzTFpCOTF2SXdIZGNWQVVneDdCTG96SzcwSXlGcWFUcmhQSjlDdmMzNW5RdlNFS3VrM0FHeXFqYWMyTHBKdm5vU2x0Uk9NMlhsMUZTb0dpT0NSU2d1ZmZtYzc2YWd2RnFzTk9CR2hvYzMyWXhiazJudXozc2NRaWVuWlJ1WEtDd0Nja2xpMndIWWpHYlRRRmJKR0RwM0FzUmIwdkpsVFFDOTBUUEdnN1NTdXc4UTAzdHYxdDFtZ2RkaTlGY1V0Z1IvVFh1UHNhSDdsWmdxZmVUUFA4VklQNy9wamd3WDhuK2RuTmZwNzhkUllQM2VadysrL2kvUE9kV3Y2WnF1YzJmeWxYKzBzb2tWN1NoeW9Sc2owM3RSQXVacHl6STA2SGNQTk10dGFaN05PamZUNnZrMks3MC9sSHQ1NE13SnNmclFNRXUyNFBtZEcvck1QQXByUnNoNnlnaDlLQ0FMb3VpQ2N0M3Zwb0k2b2lhSXNhbUpiTnVrMFJIQ25RRkRkSGFPM0d0bTNEMk55VzV2bXBhN0VkaUNjTWRFMmhVMUdRbkpBSDI5cjM5YU4rUmZvSXlreHY2VmdzeHBJbFM5QXpXUEE5ZXZZa0x5K1BXQ3pLaGcxYjJMUXBRbEZoZ0xSaGJjTWxjaHdIcjFlanVUbEZlWGsydlhwMUlSZ01FWTFFMkxCK2ZVWk9XUXdaTW9SUUtMVHRYbnZueDRQTmpRNy8rY2hnVFkzRGRhZlluSGFNVFk4ZWFaNnRMK1M1aGlLcU03M0d0KzRmMDdaWjA3aUZmMzN5RHFzYXE3bCsxQ2xNbW5nQ2hlVmRpYnoxQm9rNXM1REo1QkhwdUJlQXFVQjZGMWVwVjRBR3JBeUNrMkVYS1JOTWU4OW1rVkJWd3M4OFMrTlBmNGFkazAzb2ozNjBiMVN5cGtjZmxHU2N3SFZYY2V5Zi9rei94Y3Q0NlBycm1mekVFK1FEV3FZWFJZZkxvUWUrVmtyanJ4N2c3VGFMSjBRRi82MjBzTGJVb3VoQVNDT2FzbWlXN21oRWt5WVVoZ0RCdi85dkN2OSsvRU91dlg0aTM3dmgyd3hZUEk4N0prL2pkWHhFaFpZQnpCSTRLWWVUaDZRWTNTTUxKLzlycEpNeHBMK2NpVlZEV04yakhsTzBjZjV4RHVsd21rL1dCaEZlcDEzOVVUSXpxNmFwc1c3VEpPTGhVcEpiQkZJS1BHb1kxYU9Tam1heGN1a3B0S2FIRUlrVlVaQlhoY2QzRk5qdDgrV24yeWlsUjgrZWxKU1U0dGdXNmVZbUY5VEdTQ004WHZTeXpwaDFOV0FZYnQybXB1SXA3NGJkMG9SanBBR0ZkR3NUdG1OUmtsVkFyOEt1TEs5Ym13R2RPTUROeS8remQ5NXhjcFhWLzM4L3QwemYyZDUzMDN0Q2VpQWtJZlFxb0JRUkZRUkI5R3ZCQnZiKzgydFg5SXVpQW9KU1ZSVHBuWVJBQWducHZXMnlLWnZ0ZmZyTXZmZDVmbi9jeVNZTEFaTHNiZ3JtK0ZyTXpOdzc4OXg3bitjODUzek9PWitqcU5aTWJ2SVY4TjE0SXhHVkxWck5jcnExZGtpZVcyRGpWeG0rOHhtVGdpSU5IZEI5YjU4NEJVVndVclhrSjNkWlBMZkFwcld6bDhtQUFzSkM0eVpmQWRXYVNmb2R6WUY5TXBEclRXV05QUm16YUUrRkliMGVsVHNHa2kzZ3pVZFZuZzlMYjZVNThHUElhR2hCMWErNUJudUxIZk0wMXpHUFNrbXI0N0EwbmFiYmtkUmtHd09VNmpwTDAybHFMQXVmRUhpRklFL1RjRkFuNkJRUEF4MzFsR2NvT0x1TC9OTzdDWXhNMGo0dm41Wm5pZ21PUzFMOHdYYnNxRTZteVlQUTFJQkVmeHlsMkZnZlovcndISzQ0dVppeGxVRmUzZFRGMmwweFFqNmRvY1YrenArY1Q4Qno2TUNBYVFoR2xmbFp2RFhpRnBNZm9wdzFKcThmakFLQkUyL0ZUcmdGaTBZZ0h6MVlQQ0N6dFZxTE1jTnNZNHJaeVhDNnFDd09VSDNlSEFwT240MS82bVNNSVVQUnZMMnRFK1U0V2RZY3pkWFBCeHRNemhxSm5rQWhuL25tVDVnL1lUSmR6WFdzWDdTQWJWdlhzMm5MV2hwMzc2Q29xQmpidHRFUDhMMkJiMzM1MkY0Zmw3M1U2K1VmUHVKRmZmZHpyRzNWK0hYbVZCN1k2SWZXVm5TNkFJMW93aUdUSlNtTHhoM0FMUnE0Ly9ZWHVmLzJSVnp6eGRPNDliUC94NlRWei9LTHZ6L0pZMHlnQ3g4Q2llTW9IbjU0VXhaTWRaUEs5bkVNQ2FSMDlWOXJhNEpubnRrTTJTS1Y5N0ozQkdCb2JxRnRvanZHNnVFemFMTjBWRk1Ncis0MjVUNVc5T1lMSC92NXdXOFdBa1lYTnI2alRpb0pScmovMGorUnNrMkU2SjhyblBPUC9rVldQR2VkaHIxbVBmYXF0VDNKZStic2t3bmM4bmt5OHhlU3ZPMlBxR1Q2NkRsRFFyQjhYUXZZa3BPbmxmT0g3N25FOUovOXZzME5mL29ZOTM3MklVNGZ2KzF0L2VTUElzYU14eFFzWFoza2lUY2lYSGRKRGhOR2V0bXdJY1dEejdtRXVaZWRrOFA0WVI1V3JrOXgzMU5SUGpqTHhHT0tJNWZab09CRHJSWUZsc0lXaDNRYUJaYmlRNjAyQy9OMFRzZ2hHUFlPaUFKM2txb096V1V3SElEbnZTdlM4YjY3ZmNxeWFILzRNVnIrY0ErcExkdmN4QVREZ0dPTWtNWldEb1l3S1Bia3M2SnpQWmUrL2lrK1B1aERmR3ZNNXlqeEZyckJwU3h3VmhhdW9QR3VIL2Y4Rzl6a25iMEJxRmFyZzU5dHZvTUhkeitPUWxIa3ljZFJFbHM1SjliVE1TUjNubHRBMjQ5L3hCczkvckNmanZwZDVKbUtlRUJnSmhQSXJKTnFKbUtZaFI1Q01zMER2M21jeCs5NWtVL2VjRHBmdmVFenpGbXpsUEgvZVpaR1pXRWoyR2NSS2RCZGlwMHpDcHVJNTdlUTZOaERvNWhLenJScUJ0VThRbzZLMDZaN0Rncjh6MlI2eng5ZDF6QU1nUkFhMGxGa0xKc2RPM2F3WThjT25ucnFLUUN1eDhlNW8wL2l4V21qT0MrL2hNcHJyMkxTajcrQi84VUZCSVNHZnU1Y0FMb2VlUkxqUXlYVWZlM0hHRU9xQ1o5ekd0SktveG02V3lnbS9BalBPSFRQT1BUZ2g5MnJrOTBvcXhhVldZUE1yQUYrMTJ0OHhaL3RQTFlud05MZUx5Zit2MjhmMitQOThHVUhaeHJpa3BqYWxvRnUydnp2Mk8xOGMyaTkrNkVQN245aUROZDk1ekx3WjlEQ1VSQTZXazlDbm9VV1NwTk9tVnozL1N2UnhiLzUrQWMyTWlNM3hzcVphL2pGamtxK3MzMFF0bVZnbURaU2lRRU56VVhpa3J1ZjZPUzV4VEUrZDNrQlgvaHdJVGxCN1RqaFE4cTJKaE1DWFNWSjZkTlFubEdnTEJRQ2FYVWlheGNSWExzYlI0V0lqejRaWitkR1VBNXl4R1NjcmN1dy9XSE1aQ1JiclBrZUYyMi8xLzdpRXRtcGQ2MklWVzVrWnE5ZlA0RE9nMzZja2RJSlhjY3NMRUI0VElTdTR5MHZKYkdsNXJqZUF3MmhjY2taZzFGbUUrVkdDV05HVGlZM21jUDIxYzl4V29HR051NUc1dFg4azlhR0hkUTE3YVN6UEk5UnFnQm5aWVE5eTE3aGd0TytUVHdaWThuS0Z4bFZIT1lqNTQxem13Z2VpUVkxeGNWUVZRWGQyVWhvU3d2TW0vY1dqRksrL2IycUt2ZmMvb0JBbFF1bDNMSUUybEx3OWNsUVVnMm5YUW5iRytETGkrSHBIYUI3M0NKYlRZQ3lZRXdoak15SDJqWlkxZ2JDQnhtNVQyMDRDaDZ1M1l0eHV1L3RqLy9MYlA1eGF4S2UyWUViSVR4RU43UXJFOGJVYkRkZWhwdjhLNVZHMUE2OTk3SlhrT3VKOE5HaGovTDVrWDloVVAxMjJuN2hJZkthLzhCRkN0bUIrY2RKaXE5Slk1MFM1cS9OMS9DSDF6N0Z0c2l3ZmxjenlwSHYzQTlGWldNeWp1eHpjK3orOU90ekRNRU4xUnFmcnRhbzlCMEVyaVlBQ2NrVk1ib2ZhU05UaytLNDd1cDRuTWd2emk4L2lEaWFTNHJSTzQ3MkhIKzk5eld1dStGMHZwcU5vMzNsc1pkNVN2bnBGaHBka1NUWGZlMC9KSklaOEJpb2QzbVdTaXJ3R0t6WjFNUjFYLzhQSHZQZ01SMUhLdTU3YmdjMXV5S1Vsd1JJWlp6K3pnejg3NFdMZE5CQ2l0aUxIcExyRGN4S0J6MVBJYndLbGV5dDVEU3ZJbmlhbTRnWGZjYUxUSjRvTjMwL1NHYlhudU53NGdwVU9rUDRuTk1vKzlybk1DdktxSjR3bXZ3UFgwTGRyVC9DN3VoRUtJV3lKVVplR0NrbForeFp4bFJ0SGZjSFR1SlB3YW1vSG1CVURQUlEzM3RibEJyRmVUSCs1OHpsUFBER0pIYldsYUpyV2YxbUdReXBidWJhV1d2NDh5dlRhWTJFMERUWmI5YXFlby9SS2FYUWRJMmRXNXJwUGlQTm9QSmNLa3R5dU9NZlMybHQ3SEtKMDQ2aWd5dXkrNHNUdDhHbkl3dzNUcWdGalo3UG5hakZwUitzNW9kZkhzdkZONzVCdzU0RW5rQ0tUQ3JJQnlzVHJJekIxY3Y4ek1xM1dSOFgxS1VGWXdPS0FrTnlkejNZeXYzVGV2Qlh5Q2dvTU9BWEl5eVVnbyt0OVBGbVJLTXBMUWpxQ2w5ZjNmNXNnYW9RR2tMbzdFM09rZWtZN1F2dlJSZ2FhQjQwYndpaEdhaE1BaWZkaFV5Mm9QbHpLVG4veDRSR25JT25hTlIrUGVMRmdNeHZnU0NhVExONDNTNGEyeUpzM3RYQzFlZE1adnl3STE4d1ZuMmNxYks3cngwRmY3K1hyWjAyOXhuaitXdDNqTWJhSnZJOEVLM0lJUzgvU05tSVN0Y1ZyTWpETjdvTW53NFAzcnVBeC8remxDL2RmRDdmL3ZsUE9IUGxZazU5L2xWdXJCekpJNHQyc1dUeGRzNDlkeHhQL1A1cS9GNlROTTI4c0hvb3YvbWR4TE5sQmVVbERoZGQrQUcrZmZVZjJSWlp4b2p3Tk81NGVBVy8rdHNpbm5oaFBXZ2FsMzV3RWsvKzRkRG1MRUs0R2xVcGxCQ0VQQnBqaWowVUJIUkdGM2w0ZlhlUzdlMnVIZUV4WENmd2hDVzNUNGFlMW5MSStzOEJjb0RmaTFKT0RTaFNTQndSWkxoek5yL1Y3K2JUbmhSRmFaMVRiVW5OQ3BNTFRta2xTditFQm1VaWZmam5hZ0xkc25HeVdLQmg2TzU4c0cya2JTT3RCTmcyUXNxak5rbTBySjA4dVEyK3NsWXdxaHNpWHJoOW5HVFR4QkNQZmVZS2N2TkxrSWtrZGtzSFRqeUIwOTZKVVZ4d2NBYkFlNG4xM2tzT0lDTjFZcGFYYUVTak5lWmxVR0VTcjE4U01qTG9RaDV6aEc2OXIwR2c2WXFTWW9GcGVKZzJvNVdscjBmNDl5TXdmblEzcDMyaWxXSERKRjN0eFJRWHA5Q0VRcW45WTFkOWtHWDNIMWY2WWZBZmY5NFAzK0lhQkltT1RSaStBanpCQ3VpdmVPK0hMejBNUDFRblU5OUk3VGUvUjN6ZGVnWi83NXNZK1hrOW43Yy85UnkrWVVQcGVPNGxXdi85R0dXZnZKYmlLeTlEQy9nSDltYWJZQXlXcUlTQXBEdmIwdk04bUtkWTJGdDFaTVRkdjV3R0RaVVU2T1VTMmFJZHRFdWhCT3pQdFpjYkUrUkhCWk5xTks2Y0Q1R2dwTDVZc21tSXc4clJzSHFVOTYxaHdPTk9QK2lIa3ArV3pjUGQyVm9HdXNNVEswOGhONURBMUcyVzd4akpNMnVtNDBpTkQwNTlFME56YUkvbDhQeTZxYUJKZHJXVmdRSkRVNGYybTRkbEF5czBSMmRZY1N0bmo5bk1BMHRtSXBRQXcwYnRSOEx6dGxFSWhkQWRzQTM4M2d4bmo5bE1RMWNlcjBnTnFUdW93MmpDZmNVM0hqa0ViRTIrUGJkRkU2emQxc0xWMy9uM0Vaa1AvM2ZaUkZwK2V6dnp1OUxjWjViemFMdVhlSDBMZmxOZ2xlZGpteWFKSEplazFUWk5HRnFPMzZOejN6M1A4L2RIRi9ISjZ5L2dxN2QrblduTGxsRCswaUx1d0NHSlFOL1BLeFZDWTg2Z01TVHFhaWtvR1VWQmVEayt3K1RiY3k1bnQxN095Wk5uczM1KzNVRXQyNEdzU3dDWFl6cVdrZno1d2tvdW5qYVIzLzE2RWROSDVxTTdLVlkycGZuc1o3L0NzeXRpWFBQWXZBRWhWd3A1ZElZVytPbElXTFRGTFpMV3UwZk0vYVpHVWRDa0lHQ3lveU5KSkRYd2VVTkNDTjQxRkNJRVdyYis1b1QwbGtHZXhERTl2dDF2eFNkMzl3YytLWHJwT2VVNFdQWE5ETFJUSVFGMGlWUUNsVFlSWGhjcnNxVkEweVdhN3JDOU84U05pNmJ5bXkxRCtlNjQ3WHgwU0QxNEZJMzNCSW05NFdKWW9WTnR5cStMUTBid2oyM1YvTy9HRVd4b3pRZmR3ZkJta0pBbEUraG5LU21CYzg1NWp3MWQ1NENMVWRQY3o5NEpOQm82MVAzcmIxOGlhL1BrbUpKWmhRbFI0YmZVMkhDYUIzZm1xdlZkWHFIWU54V0tvNjV1YXcwTllGelZ0Zzk3emlvcDN6WC9SVG1PMjhqQmR2cHRMbGZjbk95M1MyOXNkZTl2UlhFLzN0K3Y5OC9YWkNJUkRDVkpJUWdpOEN0NEVoc0JYS2dNa2dKU2dLRWttVWhrNEgxZ3h5SCsra3E2bjV5UGpDY09QdWRZQ0ZRcVEvVEYxd25OblU3K1J5L3F5ZjN0RHhuMm14OGMyeHZhbFpkeVhFdnpJMi9UWHhKRlRHbzgra2lLN3NRMjVBRXMweDdlakN6cm15TTFscnlXd2JaQnQ5ZVN0aVNhbnVWZEZnZlFrY0RPVnNXL2F6TEVZclVvSVErandZVUFZWlBNVk5JYXVaVmI1eVlwQ25xeDVZRytLVnZuQlNpWndVcDNZTnR4RkFyRENHSjZDOUEwTDJLL1l3OUhYdUhqdmRYRmcrdmViZ01WK2ZtZmM0ZVRGekRaM1piZ3pwZHI2WXIzSnN6TUM1cmNldWxvVEYwTWFJanc0M2YyZnYyckN5dG8rZWt2ZUs3RDRqNXRDSS91c1BiNUYwSFh2K2dVM2w3K2hSQ0N2LzcyT2Y3NjE5NzVHZ2YwTDVUQW8xdkVZMUZLOGtxcDcxcENlZVdMdERsSmhsZGN4MlVYLzVRZjNicWF5T1lWNkdPbjRHVFV3TVNOY0NmdmpvYXR4Rk54UmcrZXhNNjZqZXhzMjg2NTB5K2pvV1UzanJJWlZEWVNjUXd3WkFoQVNNV29rS0x5M0xsUVdNNjAvTE14ZmZuNGd0VVVuUTRqWDFwSFcvb2RmUDErK1AwTWlrZlRYYnlRaWRJaWJYNmJiR1dLNWVjei9pSUs5WDNOUmx0dGsrNjBlQ3ZuMVRFakV2QUt3UWU4WWFhYmZoN1oxczAzZjlETlkvUFRmTzI2QURNbW1HNWNYQWtYZkFlVWpPTWtWa05pRldqM1VXNVdVaEdjd2tYRFp0RTE2c05zVHBvc2F0M0ZncVoxckdxdm9TblpqdHpiU0tpZmlOYVVrbWorQUVMWGNScWJzd0VVQTkvSnA2RjVmUWhkUitnNk10cU5YbHlJWjlSb1ZEcUZ2YXNXdTdNZHpkOTNNcnpqclM3M1VQS205M29MRTh2OXZQNkZrYjIrUXhQd3B6ZmFBUGpzcktLZTFNSEtYTFBYc2FiZVIxM1JGNEx4V0F6OXhodWdwZ1pHallJTkcxeG5aTUlFdEsxYlllUklpTVdnTHczV0RxUkhEd3REQVpseCtNZnY1M0wrM0NybXIxdkRnOC9maTNRazExOThFMmRNbU1nTHIrM2hnbysrZ09iVkR6dmQ3a1JzOTRTOG55UWNQRHpmU2ltUVdYS2R2V3ZwMjMvYUNzRC9mV1ZzejVwMG9TcHgxT0sxd2xHb0hCLytaVHNJckxJd25UREM5Tk9jcjdGMTVUK1FKT0FMTjlEeHpNdmtseFZnMVRXQngvT3UrYitISkdmOHFHKzJoUVRONnpvKzlmVnVjNHZLeWhCQzA1QnBoNzZuMEYvWTY5WHhscjlUOWZQdkRyaWQzS2VaOE5IZWRZTkR3bFg5QVBaa2NMbzdzRFp2Y1cyRU1hUFI4d3ZBMjdkR0gvbmV3eU5kVlB2OUhYQy9QSkhiZm5paWFXNU16SEZBMThuOXd2V0VycmlJanUvOWh0akRqNE1ReEI1OG5PUnpDeWo4NmJjbys5UTk3ajFmdkl2ZDMvNGZuUFl1aE9rMkpNajV4T1VVL1BoVzlQSVNzZ1l4R0FQTFJTRWxMTjhJS3pmQjNmK0cvN2tLcnJrWUFqNTNTaFFiVnM5ZUlnUWtVdkRRTS9DbmY4S2FMUU5UVGlOTWs3SmJQa3RnNGpqcWJ2MGg2ZTA3MzQ3M1o3bVVaQ0pKMTdNdkUzMzFEVUp6VHFIa2M1OGs1L1JUajUwbUlFcVJhZW1nL3MvL0lySjhQY3F5RWU4WVJCVnVkYnhsRTFtK252by8vd3YvcU1GNFN3djdkRDBYSE03YVZ2c3FGS1BQUFVmVmpoMDRnSmIxVlRTZ2FzY09qT2VlNDl6Q3dpTlJ6ZmpPeXQ4UjZHVVpqQ0ZwUERNU3BKL0x4Vjd2eHhpZEl2a1BOeWRPeTNXd04vaEpleFRlTTZQSVJoTm5od2RubHhlTXZpV0VHb2RCMENPUVdLRWdxY0pjUXJ2cUVjSWdqaGZ6OUduZ09DUWVtWTlmT3FCc1lvTXI4YlozWThiaUI4RmllQkNQTmhEQWF1dEEyQmE2MThYMW5IUWFwUnNZSlVVQVdDMXRDTWZ1K1Z5bTB6Z1llTUlCbklDR0ZtL0RFQkxIY2o4M1JCcWhOQnhSaEQ3U1MrYUpidlM0alhhUTMrK2sweWpEeENncWdMZUVQakoyaHBKUUNkODg3L3NBL0hyZVQxbFp0NHlSSmFONVpPVkRnQ0xvQ1dFNU5wclFLUXdXc2FPOWxpLysrMzg0Yjh5RjNIekdWNm5JZGZkMFJ6cm9RanNtdHhJQlRBL0YrR1J4TytjRXVxbmJFT1BPSjFLODlHYUcrbVozamhtR3dlREJneWtzTEdUVHBrM2s1T1JRVTFQRDRDRkRtRFo5T2krL05JK0tZb2VyTC9UeTRRdDhqUFI2U0Q3dnBYbUJRYnBPUng1Sy93cE5vQkpwOUZFak1FNmRRZUpIUHlkMTU3MW9lYm1JNGlMaVgvc3UrSHprM1BsL21HZk9KWG5iSDQ2S0hTR0VRTmQxcnJqaUNtcHJhN0VzaS9yNmVqd2VEOWRmZjcyYlR3dkVWNjJsL3JZN1NOWHVjUG40TkEwMG93Y2dsS2swc2JYcnFiL3REb3h3RG9ISko2RUp3U2t6WjNMNzczOVBVMU1Ua3laTjR2TExMMmZZc0dIb3V2Nit6UGNZYUI3VXZZYUg3dldReVNraVBDU0EyV0hqRDBoTTZTV1RDYUMxZWtCbE9OaUVvMkY2SThQMFJxcTBGcGFpdnlkR3BhR1F5c01rY3l0WCsxN2hqdVFIaWFvQUcrM0JuT3BkQ2pLRVIzVFI2QXlpVGViUkt2UDRVdUNmN0hHS2VUUjFMcHBJSFRCR050QUlsYzlyY1BsNVU3amhpbG1NSGxwR09PU1M0MFppS1M0NVl3TDNQcnFZLzd5NGtsU20veHB3OVdWTk8wb2lFR3lMTmZLM2JTOWo0S0U1MnNvRDNmTnBUWFJ5MjlSUFV1akpPUUpWY1FlbmY1T1d3NFJ5blphVmkxaTBkRVhQcUJZdFhVSEx5a1ZNcUo3RGhrWUh2Nm4zbTczVHErMnFFbWkrREt0MlZyRnE5UWZCN2dhWnljWVV2T0F0aEx3UW1tNW44OUdQZ0FrN0FEZGEyZ0t6d0NKVVpoSHNBaWVXUS9Vd3hmaUpnbFFhOHNNNlhsMXczVGN6aElLMmEvN3VoY0U4aXZ0dTlSejB0Sng3eXVqZUY3Si9SeHJoYXBoUnNWYTBTQk5DSGYydXR0ZGVQcnp2ZnAzanNIN0RXallzV1lTdTYwd2NOb2p4NDAvcXNkLzdJcDk2eSt2ZGNRL0hrMmdWWmNmVmVFUGx4OWQ0KzBNdXZQQkNObTNheE91dnYrNWlpRlZWZk9NYjM2QzB0SlF2Zi9uTGJOaXc0WmdjZDd2SFZSNEZtUk40Mm1HYkdoN1lXRyt5Y0dPTXFvbkZQSkI3SlovOThFdlVkeFR3K0d2VG1SR0lFR3RUTkhaQWRmRXhFTy9MZ21BeTd1QWQ3R0ZOd1VtazR2bXM2eWhoL014Y3JzeGJTeWFleFFoUzhzUkRQbzdFdGlVZDNTa3NSMUplR0dSMVRSc1ZSVUVLd2o3U0dZZjEyOXZadExPRG5ZMFJtdHJpT0dwL004TnRNaXNkQTZVTWdtYU1XWGtiT0xOb0xhZm1iR093MFlpcGd3eVhvVmZQSWpSaUZyN0txWmhsRXpDQ3ZmbTNFaW1iTGJ1N1dMdTlqYlUxN1d5cmJYL2JXTDBqNmFIVTJ6YzMzVDlsZ1VxRFRJS01neE1CcHd2c2RyRGJ3RzZCMkVJSXpRWGhCN0x1Zy9DNzc4VVdRdEdOWUpTQ1VRUkdBZWo1b0lkQkM0TG1kODFUWVdaZE51MHRCdVQ3UUIzK3YrNGhoMkRpaW15enhYMmVqVUFqNDZTNHBQaFNUaFp1SGVGeTc2VTgxYlVUais1RDlUQkY3czJEa1lmSWM3SGpnTWE3bm05VC92MWFVbHNDeEJia2d3Szd4WU4vZkp6Q1R6YlFkbWNsc1lYNSs1SmhqZ01SMld2TDkyWW85Vm5zalB0NWFtY1pIaVBFOElvOExqMXBKZ0JQcmx0Q1hiU0xwM2FXRVZNNlkvS2pOS2RNdWpLbVMrazAwSTZUb2RQY0dzWE9Id2NqdmtEenhpNElCUGw3clUxRlNRcy92MnFhaXdaTHQ5SGM2VlBHZ0ozbXV2dFc4SHlUSDN3R0RkRUVJOHJQb0hYOXVNUENtdDl4MjVMZ01YVFNHWnVHbGdpaGdCZS8xMEE2SGdyekFsU1U1ckIwVGYwaEIxamRwbWc2eVpSTmMyc00wOVR3ZVEya1ZCUVhCQ2t0RExKd3hTNDJibXNkY0xYZ0V3NUIzZUc4VUNNQXowVXJpVXVkbE9yL3lUN1FkWG85L291VW9DU0p0TVdadzRjend0ekRBNDB0NEsxQ09JZklqWkRsenZDV0ZsTWRDcUNiSnVJWTVSMTl2eUN0Z216UHZvT1ovRXJoTlR6TUhUYVpzY1ZEV2R1MGplVU5tNGdkUkkyUE9FUW80OVpBOFVHUDN5L2MzbHduR1Q0TUJBR2hIUXdsSmgvMzVtR2o4QXNOQnpqYkV6cG9IZkNEZUZQL1lRQkM0Rmd4MHBrRUdSeTYydHZZMHh6RnlXUlkvdXpEakpzeWc0bG5YdXp5a2ZiVGIrcDc5M2NKWGkxRFUzdVFFWmRjelozZmVZMVgvL3drVDcwMm1NWHJTbmx6WFFrYmR4VGcwMjFTam81SFNMUXNXYWRRYm1OVGtZaFJkOHZOeEZEWVIyQnRCRFVkUGEyam5kTktjcWNYdFRtRTZkWEpwRE5jdExrWmJjRldOcVUxbHRsUi9HaG9Rcmk1WjBmRGh4UUt5elpJMnpvZGNSOExhd2JSbm5Uemt6ZldGZEVSODVPMGRESzJnVEpzZEtIaE9Bb25tbVRVNkhKdS90U1pYRlRwSS9Ed1AybDk3QVZTdTVvUmhvNW1HcjBTSG9TbW9hUWtFK2ttT0dZazVUZmZRT3Raby9sWnkyczh0V1ErTlpFbWhLWWpkT09BRFNQMXR6Q0RDNkhRYlEwN25DUzNRS0ZzZ1JDS1RBYnlTK0hzdWJCbVBYem93cmRnbVE2RUsxS2tOUXNQQnVrK1JDYmVUY3pLMGNlWUpsM1hyOSsydW5FcnIrMWNTZHEycU00dHhkVGRuaFcxSFh1WXQzMFo0MHVHb1d2L3ZiMWg4Z045ci9HekV6c3djb3RveWVRQVVHS0NuZHFORWVqL3V0empybC9CY2NaUGozTDd1bWlhQnpJV3hyQXFndWZOd3Fnc0liMnVoc1NyeTNGYU90Qk5uU0YyUW55aWE2dHZXckoxeWpPaFFjTVdCc3ZQcWpkRGY1UEkrWmF1ZDNQbVF4SXJBWXR1ZXMrZm5YZkw4OGYwWXoybGR6a2dkMTB4aU03YmY4eWJYV24rcHBmd2FMdWlyWDRUQmFaR3ZBeENCVkc2SG5iOWd0QVhvdmlHK0FoNTBqejQxNGQ1K3JFbitlVDE1L1BWV3o3SkdTdFdNdlhsWndoaUkwVS9jVkVkUUg1Mlhoa3QvL3R6bnUyeXViOFBmc3o0TlcveTViMStESWJiN0Q2VlptR1RqYWRzTkp2MlJIQmJyUGQyTUlVRzZ6YTN1cVdlbmtPc0E5bS9hZXBiRzZnNngzWi9JVTI0T01CcDR5b1lWWjRIQW1vYXVwRlNvUmtuZUVVT1hpLzFZVjNZQ2NTcW40SFZRSEtYUmZxMWJTVFBISTJzMkliZVdRc2RxMkhLZDhHVGMwUThVazNUU0RzT2VlRXdTdFA0WGxjREszd0p2dXN2SVNSMG9zckIySDhjQ3RCaDJLL2k1SnlSQVVzZ1l3SzdSU0QyMjc0MVEyRjNDNElUYllvL2xxYnBMaDlHdmpva1NqYlY5YWpMNFpiYURNblZvSWRSc2RjUXVSOUF0ZjBGTGZjaU5MTUNSNEdJdk13blppN21xbk8reDQvL3NZTS8vdkYxWk1haVh4MnNyUFFuYzRJUUlLVkRLSmpEZHo5NUsrTUdqZUJMdDMrUG1HMGhmSDZYQ3lQYkVENFVDblBHNUZsODl0SlA4TUU1Ri9DN2Y5ME42U1M2eDRmelBzNnZQNnRnSnBlT25jcTR3VkUydjdHVUlhZk9Rbms4Tkl3WUNlb3licHA2RWhQekJYOWFzcFpHMVR1Znk1QnA1dVN1cGJyWVF0YzBsalpYc2JKak1GY05YY0tGRTFySkR6b0lBUmxIWjhPTzBSVDVFNXcydEpYaUFqZTAwVkRuWjJGaUJrT05MZHd5NkJFRzU4ZloyWlhERDdzdVl2TTcxRW9NR0U0bkpFcHBkRzZhelBuanUvbktsYS9SS0Vid3doc3pxZllIMlpFWlEwSE1SK25RaFZSVjFQT0R2MDFoL2VLVG9DaDZTR3RBWk9lbGNHRE1ZSjJkYlpKRVNnUEQvYXc5QmZQV09PeXVUL1BhQm9mcnp2SXdlNHlPd08xRkpZNEJMRTNvT2xaOUUzdSs4YjhrMTI2aTRudGZSYy9QUFNibnQ0WjdyMGNYd3hjbisvRFVGbEh3Wm9TTFZpUkpuYXhvYVlkUjY2QWw2S1ZsY2lucFQwcGtaNEw4cllDbUVFY2g1S3NMaDVrbFM3aHN5R1BrbU5HRE9pZkhqSExaa01kNHZ1NENYdHB6THJicUgwNFgxUmU3SzlzUHM3YW1obFZyVjFGUVhrVlhNc21XMWN1WlBYTU93MGFPUU5uMjBhdjMwQVQrd2p4eUtrdnhoQUtja1BlZi9OSXo0bDJWc2RCMXJ0YmJHVk1SUkZsUlBMN2grTHQ5ZUhjMUVCaDNLclJ2SlZ4Y2lDNGpQSjdPWVhYYXhCUWNFQk04UEZuWTY5V1hmN2Z5eEVON054Y1JqWmdNc2R1cDV2WFVxZXkyQnBIQnd6WnJPQzFPS1NucDY3TkphanNPU1N1RExXMlNWcHEyV0JkKzAwdDNNb3FwRzZUdERBM2RiZmhNRDlYNXBTemZ2WkZoUlpWc2E2Mm5NQWo1L2h5MnRleG02SmhUaUdkU3BPME1aclpYcWpyMEMwYlRCRisrZURBK2o4YTk4K3BCS25TUGkyVTZHWWNjbjg0WExxd21tWkhjL1ZJOVNEQU1pU01GVGpJSW11VDAwY3Y1enR3bk9IZmlDa0N4YUVNaGR5d09zMkM3RjBjSndsNkpFQXBIMHYrQmRTa1lWWjdpV3hjMkVmQzQ0K294aG9Ea2hoaHQ5emVSM0JqdjlmNTc3UzE3N1hjdEhNWTdhaFNoV2JNSW5ub3EzbEdqMFBxUk13Tk5wNkdyaVM4KzlsTlcxVy9tcHhkOW1ZTEEwYkYzY2p3SHo3ZG5Db2xYdDk3eVFCVmUzU0prSnJGVS85ZFN2WnUxNHRUVlk3MjVBczhGWitNNTh6UlMyMnJCNzhPWU5BSFZIVVcxZGFDUEhBcFNZVyt1T1NxWXoxZW5oNm43L0RkWUczZDROSDg4OTlkWmRHK3JBMDFDMENDV2R2dWZDYVdSVER0UWtrTkhWNElmM2ZKM2Z2dC9ML0RsTDEzQURkLytQcVh6WHViYXgrZHhMem5FaGI2dmZrYTVkbVUwNG1IYjFpSHNUQlFnekFaVVZ4enFkZHFOV2RSMUxRYTlGYVhNOTF5TUx1L09BYlkyeHlKRklmOWNzSWR4NHhlZ2FmQ1ArUlpKeWhDWlRKYTU4Q2o0dGNjWlR2NC90Nzl4NFB1ckZNcnI0VFBoTmlaNFBhUXRHOThuUG9ZK1lpajZTU2NoZ2tHQ3QvOFcyZHBPNnA3N01KVER0cDN0M0g3blNxeEl3cTJKSG9CaC8zRDhsNC9wL2Z2RHZOajM3VVRKbnA3T2c0ZFBvbkhheDVuL3hGY3dmRVdBd2ttdllPYUhmc2VnWVpPeU9KeU9sUHZPT1dyUTV2NHJUb1A2bVB1cUxDVFlteHAyckNMRlBsTXdiYkNiOTdpd0prNGlQVEM2WTg5RFQvWVRTQUhCNGE0T2lXL1hCMHpWN2VXZDh4b1cxNTMvSk5mTm1jZlFraVllK2RyLzR3dDNmcEdkYlNYa0JlSTRXVjcvWE4xQkNjR2oxZWZ5VXZrc3JtbWF4MmZxbjhaVTltSHdhZmJqeEVSZzVGczAvbUVRS3ExUmR2TWVsOUJXN0wvdVFET2hvUld1dUJXV1pFUDRTOWJDNzc4QmVRVnV1UnNjM0hFSGs2bzJmVXgrUDlpZkxVaEhKNTRLWWhoK3ZJYUdabXJBd05sd3lzb2cybU9vNWpkSXJQd0QzUzBwTkNYUXg3NkVkK3puQ2N3OEdmMW5QNmJyVDNjUmUrb1owQTAwcjZkdmVNdGhTTlhQdjNNSWMzMHYyNm82ekxWeUdPZC85UExlcHJpcDNuMHhXcTYvc1hkZUs2RUllQVZibE9SWlBMU05PaDlwK0dsdFdzZEpIN3lBaXROUFJhSlFtVk9vT1BzMDJpNjVpTzEvK2pQUlYrYmowZjNaY0pUYlYwL1RJSjJLSWdRWWZqL3FRTGhWcXZmTHZmMTBuK3Uwcy95czc5UlBWN3huUDkydlB2WXlUK0Vqb2d5OHBzTmxZeHY0MENrbWQ4L3JabE9ONHFsMGhwTkdsYk10YnBKcDFLbXlUYUl2THFNODJzeWdJb3N2Zml6Tms4c2RIdHRZUWNZK01FL3RnTmVQdXcwc2lTWThrQi9EZitvdldmVkxIOHJJcGVMc0tONEFSSk9tRy84OUVUWTl0a1NCRTB1aUJmM1lyUjFrYXV2d2poNkc4SG1RaVdRdkhOZFdncWhsb0dVRzNLSG85ZXEzdjc3M3YrZGhDQTlhYUFwN2sveGw5d0lBOUpKckFPRitKanowZDk5YXBVQjR6ZXkvMzFrZk8vdm5Xd0tHTHJFaUFmSkt1cmo3YzA5ejVkbWJJQVZXdDRhaHZ6M1FJb1FDQzhaV3RWRlYwc1dlNW53MDAzWjVmZzhGdnRFMEJnOGV6TXlaTTVrMGFSS1RKazNpdHR0dVkvdjI3VDNITkxUWmZQRzJGbGJWcFBqcC94UlJrS3NqUEJDWXB1RWZyNUhjTE9sNjFpRzU4UWoxRmhRdTlpY0RnckdsRnRabW01anBrT2QzOE1kU0ZBcUw5dUVDYVhyZTluZ0g1MVV3c1dRNGFTSDRmNi9keS9LR2pTak42RWZNdW8raWEzaE9uMFh3RzE5Q0M0VkkvUGx2WkY1WmhEQU1qSlBHb1ZxSG9xSnh6Q2tuRWZ6NnpjaXVDSmxYWGdPbjcrTlA3OXIxamladzVWZS9DbElpZFAzQXh4a0dWbXZyc1hFUE5RR1pET2FvVWVUKzlFZDRaODhFS1luZGNUZnhCeC9BM3I0Ymxjd2dUQjJ0SkJjdHJ3U1JuNGRxYW5aN2pBamhjaGNMNFM3b0l6QTNsRzFqbEJhUldiQ0VtdWtYTS8yVlI5allVTWNaazZkUnM2TVcwelN4TEF2THNqQk5rejFOVFV3WU5JVG5YMXZBNlFzZlpkZEhQay95eVpjd1NncFJqdXlYTWYvdVE5VzAzdlliNW5mYS9FMGJ3cU43TEJMMWJmaE1oVlhpeDlZRXNTd1B0eTJBUWZuNFBCcjMvZmtsSHY3SDYzenloalA0NnMyM01HWFZZcjcxL0t2OGdpS1N3b2V1Wks5YVV0ZnFkWDFBcjVhazI4ckRyeWVRU3V2SkJaVG9qQSt2cFRsVlRxZFZjTkE1Z2xJcWFtcTZpY1VzY25KTWFtdmRMSnA0M09MMTF4dHBhSWk3TldySGtUaEFyaVk1eHgvbnc2RW9RMUpKWG4waHlmMVBwWGh6dlVWMzlMMnZKeWNvdUhpdWwrc3ZOUmt6b1lBM21NTjlMUmV4SkhZU1hUS0g5ME5oYS9QWER0OWZGRUtnTWpib0N2L011Y2dTQzdPd0hHZGJoT1RDbDBFS2hPbldzdmFidFdZN0pGTVpRa0UvaVlRTE1BUUNYdUx4SkI2UGExTWtrMm1DQi9qY2IzckltemlPd3JLOFk5WTF5UFhybkR6WVQ0NVhZMmQ3QnRNUWVBeU5lTWJCa1lxRXBRaDZOQ1pWK2ZDYmdoM3RGc1U1QmljUDFuZ2xKZWxLT3Y5VjkxZGx5VW10ZElwSVd5TUYxWk5vM3JLSDlTc1MrRU9TUkV6RFVYN0tSNTlHSUp5SGJWbXV2dHNUNWVmM2I4RjJUbkF5SEFGancrV1BqVFhSMmJvS3J6Y2ZUV2tvSjBsbjJ4YjhnU0o4Z1VLVWt0bTYrZjZYUnN2TEhzdkgxRUFFcldlL0ZLeE1oS2t5VTVTWjZYNzl2ZXZ2dUxRUGV0VzF4eDFia2t6YmVEMXVMbFk2YmVQekdSaUcxb3ZYL2ZEa3NTT0cyK3kxWWt3cGFRcWExSGI3R1NJRmJicGtaOXR1NWpkdDQ1d1JIaFNTdzIrZHF6QTlRZkxMSm1KNGNtamZPWmpZbm1kSWQrMm1PMmJoTlhYOFBoMmYzTTN1N2Uwc1dPNURhS0JrSG5ZV1d6ZjJLRFRSZ3BRdGVHY2s4YzF4OHduU0dVbmFjckJ0QjI5dU5jSHFpeWthZWc3QjNLRm8rbHZKTHZwSjh4Mm9SbGlBWjRTTk9jZ2w4dlNNc0xIcWpRTWVSeiswSlhFYytOQ1pIdjcxcXhDL3VpK0ZaU3NlL2swT3AwMUo4Ym1meHVtTUtMNzB5d1EvK1V1Sy8vMjhuMGQrbDhQdTdaTFAvVHJHSHhZMDhNZGtNN2NFS2pqZG05dVRBejFnKzhKYnRqM0hBU20wM3JtQlBRdkx5ZVlHaUo0OTVGM3IzcFZDK0h5WTU1MkJNWHdvKzRKdEd2YjJIVmd2TGtBbGs0ZVVoeGlXcVhlM3laWGlLOS84T3dBaEo0VW1EdHlUelJhQ1BKbk9JamhIejZxeGJjblNkYzNzMkJOaFIzMFVXMHJhT2xPdTF5TDJjcUJJaGhWME03bWlpWWJ1SEpiVVZhRVU2Sm9pWXpzMHRpV3kzQ2xRdXlmS25ZOXNvSzA3aldVZnVsSTRsTGpFVVpHM3hDWGVGWE5JcDltMGFSTmRYVjJVbDVlVFNDU29xYWxoMnJUcENLRjQrZVVkUFB4d1BZV0ZIcEpKaFNjTDZWZ1o4UGtFSFIwWnJycXFqSnR2cnNCeEpEVTFOVGlPUXlBUW9MV3RqVTJiTmpGeDRrUThua1BuOG9za0ZBdlhXelMwU3pic2N2akUyVFpmcXN3d0xwamszc1lTWG8vbXVMRkxzYSt2VzF1aW0rZTJMR2RYWndzYkpwN0dSeWZNb2ZyNkc4bVpmUnFra3YyakpWNWVlRVFmcHhTUWx4SlVkTHVNd3lyTExkbHNTNW9jaVNiMmNUOE1MNEJjcnhzUDNYdWw4dzd3bllWZitRcEdVUm4xMzd3SnIwb1N2OVFnb3pkUTZQOE9WZC8vWHh5bHlCT0NuLzcxci96MW9vdTQ0YnJyWUs4ZUdtQTh4aWk1NkM1TXI0ZGtSUlYyZlJNWUVpTmd1b3BlZ3kvLzlsV01qRXZFWS8vMlZUQTBKQXFqSkl4dFMvNTIyN1A4N1crdlVqeWtuSFJuTVRFN0Nyb0xka2pIeTdUOHJmeG83SGFXQnM2Z1h0ck1uajBGdnhLVXpEeURwQkE4OS9vNnpJNkYvS0o2QVovZE01WE56aUEwTXYxYi9xN0E2N1VwcTFwTzB6UDVWS0lUT0syQ3poM3o4UTJTR0J1Nk1FeWIrdUZKdklXTmVIenFSQWVxOXdEUzgvUHoyYlJ4SThOSGowYlpGc0l3OFpSWFlwYVZvNGRDbUtYbGFINC95blpRNlJSR2ZnRjZiaDZleW1wRWF5dlN0ckVjaSswdE95bnc1N3BrSHYwdzRkM1lyMksyR2VTandUTHV6Q3ZySVQveStRU0R5eldxeTNTY2NzSHJuUnJGWHQwMU9zVGI1NHpTb2ExVDRsUkxKcDBqcVd0eTJOVW9TYVpVejNkK3RLdUoyV1lRNnlDMzdZRmFiM3R2bXlaQVpnU2J0dTNpaktrbnd3dVRJYWNTcG53YndpTmc3bzlZLzllWElTM1FRdENmYnJNUUVNeVN5R2dDRENHd3BPU0pSQnhMS2V6c29scVpTYlBPeW1BcFJValRlcFJxVUdpSUU4SGVRN1R3d1k0WmVLc3lCR1lrU05UNmtRa05wMXVuN2FrQ2h2eWdqdmo2QUczUEZpSjBOVEQ3aVlMNmpneXZiT2hpK3RBY3pwdVl6L0JTSDV2cUV4VG1HRlRtZTZrdThoMVNVOGQ5OFExQlFjak1HcCtIUHZpd3I0OWtIMHFSYU45TnNtNEY4ZVp0QUFSTFJ4Q3Fta2FnYUJESDY0UlZTcm1ORDV3bzI5NzRPV05uZlo2UDMvQTVBTjU0OWovY2VzTVZmUEk3ditPa3FTZmpPRGJHT3pRSDkzN2czT1BxdWd0bS9ndWRJWFFWajBDMXRnS2RHTG9IUjdvTytNM2ZXY2JYMHY4RFFPbzd5N0pPSEJoR0RyWXRlZkQyRjNqbzlvWGtqYWpDYnA5RHpJbXlmeXJUVDM2eWFLOXB0WjhUTG5DY05OZGROd1dBKys1YmhXbjZzQ3g1S0VzTUtRUzZraXhNNXBLMkZhYXdjWTR4Q0h6MmtLMkhEcEJvZ0xiZjJoYnVYdWcxTEtaWDE1N1E4ZjJ5VDJoczI5WE5xZzF0Z0dMSDdrNEMvaEY4NnM2UGMvZW5IK0tNQ2R0UXh3S0dMdHphZ0pJaEhwNytaUmZON1JiMy9MQWNsWkk5VFhwVlNtSlo4TXUvZGJCc1U0YWJQbHBDeTA2T1dLSlkyRlpNaThyRGNoRVVNRFhxRUxZVmtST0VJQWNIbnVwQVJtQk1kc0Y5Ni9rQStCVURVZ24vUGpSQWhXbVNkOG01ZU1wTDZIcm1aYUlMWGlkVDE0QnlKRUxYanJGSHJyQ1ZRNDRSUUtCeCs3YS9jVXJCWks2dXZnUUhoUzVCSWdsb1htWmYrZWw5d0kxMEVBZ2NvVENBZVMydjgzL2Ivc2FRUUJVS2lhMmNFK3ZwR0pTbGM2N0E5SHFnb29xTDZ4ZndjVU5oZWt3Y1N5R2xJdlNqVjRtbUVnQU0vOUYzZUNtUlFVc0pkSitHRlhQby9PRmo3TG85U0dKSU9lbk9ickFzMExWOXVzT1JpSEFPOVgrNkczWGJMOUIvY1JiaGhrWFUzdmNRTTIvNEZLT2VmNHl0UzNlZ24zM1JRV0VQZi81bG1KWHJiRmF0czZpcHRlbUt5R3g5NHI3NVpSZ2F1dTRTYUtadGg3OHJpMHQzTnhEYnNweC9vUEhVSGIvRkRPZHdZMDRKRTBlUEpWMjdrVlBHVDZSeWN5M1dIKzVGYnQ1RzlkOXVkLzBmMDR1VUV1bTRMUEJhTmhZaUFJU08wSElSM2luZ25aTGwvdjVkci9HR3prZ2NWL09oNm9NZk9PN250Q0VVdHRTUWxzSFpwZTM4YWN4MlJ1YW1jRElDM1ZUc3FnM3k1VHMvUkU2MWdjOFV4Qk1lRXJFME1wWjBtZE84R25oMVBENUpoZ3czM25ZaFowemNUV1ZwRE1jU2ZHTmtQVmVVdHZQWlRjTjV1YmtRREFkRGs5anFoRDNSR3drVWJ0Y0UwbGwvekFGbG9hVlg0VEFkdzlBUi9pcWNuVFhJZFNzSWJOK0lkWVVYVzBvOEUyZWpFbEdNbFMraFpSSlp1K0M5OVlQMm5vMSszT0N5S0N4eW83TUgvQklkVVZDQVZsWkdmeWR0czJWanI1Y1hUaXcrcHAvaUw5N25NeFFwS1NvT00zZHFLU3UydkVRb1VJaSt2SWFOcTM1RmFkVWVSazh1Wm9XeGsyaStqZG9XUlNaMGZDZE5vYUtsbXZhT2Y3SGw4VWVJZFhZei9PelpEQzBkeHRQTEgrZVVTZWRRWEpSTFEyZlVUZTRieUl0WXNBQjI3ejcwODNidmRzKzk5dHArY1JNRUxsNy9zeFh3KzAwd3ZnZ3lDbFkxQVRib25yZm5qUi9NZmZuSnlyZkJPZWdDbkF4Y045WjlmZDhtTUwxZ0hZYi9mRnJ4RXNwOHpUelhlQTZMV21ieVB5UC95dXppTjZrS05MQTdWblhncGE5QTF4ek9LSHVkcjQ2N2c5bmlkZUtQS0hZOTVzZHFFWWdETkc5UkVzeFNSZUdITWdRdkZieXU1bkxiOHMrem9IbE9OckI3d3RjTUdmQ0pLbzNQRHRJWjVEL0lkYU1ndFNaTzVKOXRwRGNsM1VsMlloc2VjQ201Nkc1TXIwbXFvZ3JySGVOb3B3SUhqcVBkZDl1ejNOY3JqaFlEQVYvKzVDeStmTjFNQnMzOURmRkk2aDJKMzEyb3dDV29DT2Q0cVh2dEZtNi8vMDIrK3NPbjM5T05VRUI3VjVxRm5hMVlHWWM5YlVsOEh2Mm9rZTBQdEpnbHJtSzBXbzRNMXFBVVpIYnFwRGNiT04wQ2E3ZU9YaVRCNlUyeXFwVExmV28zdXVNNkFSRzhqMFRUanI4eEs0WG05OUg4aDN2d0RodE02VmMrRGNKTDNaZS9UM3JIYnJSUThPMkUyRWRycUxaOER4MG53ZExSUlpvNUk3Ynh6emRIZ2NqdzY4Zm5aSlZuQm8rZVlzNkliZHk5NENSSSs1R213OEUyQys4UEhhRUVOTFpFYWUySTgvajh6ZVFFUFRTMlJ1bnVTa0xBYzFRTEpaVlVCSUlHczA0clpkbmFUcnE3TWdoRDlCUnc2ZG1raVV4R0VvbmFQZE5DWmNtOElwcUZYNE52RHJGWUhvTk9TK05iZ3kzbVZ0ajhkUmZvZUNnMUJRNlN0QlJvUXBGcndEQy9ZbXhBVXBzVS9IaUhGNlVFUVVOUjRsRzlHaU1ldnFFdVhBSUlKWW1zZnhRbjJVNWcwQ3dTT3hkaUo5b1F1djMyT2E1cENLRXd3eVhrejdnUllmaXl5YnRpd1BGNlRRZ2NLZG0ycDUwSG4xL0o5dnAycmo1bkVtZFBIMG5RZitTYUpoOXY1UzBSUE53bVI3SklDcVpVNWZIbXpST3ByaXJveVR0b2JJM3l6ZGV2b3IwcnlaVlNvK1dOVzhrSmVudk9mK1NadFZ6eHVRY1lPV2tvbjdqcWt6dzBwcFNIQU51UkdMckdFNjlzNGU1L0wrZlVpVVA0M0ljdjV0Sy82VFN2a1ppZUdSU00vUUEvdTJzaEcyc2luRFZyTFovLzJBdysvN0VaT0k1RXo4WTd4QjgrZGxCS1lpKzVvTlBXaHZBSDBJSUJrQktsdVhsT0pVR2RBcitmaWh5VE5VMHBsdTVKMGhLMzhXZ0NReGZJRTNtRTd2ME9URGgwYklSc2s3V1VteGVvaEk1d29veU1aYUM0blBuNWEvbGt2UmU1RjFQelQzQlZ3bUdOY0gydlYxV1ZoWWQvcmNJTllnZURmalJObzdHMURYU2Q4dHhjakdBQVQxVVZRamZkeEpMRG5SOWJkeC8rK0xLcU9HREJkVnNFbzdzaGFjQmRZeFNQRFZlRXdnSlJrQXNlRDdyWHpVSTNxOHIySVNiOW9YUGY0eXVFQm5nRkRWdTkxTHpteDdFVlNUUTZsQTl2b1dMcWVRN2hzRVJsamxWM1c0QW1pQ1JMNklxRTJOV2NKQ1Z5U2VVV2taa3dEbTJDUTJIMUNqWjBkaExzQm8rL0RQUTRPYjVXOWpGRTlrRml6Y2VWZnNpLzh1SSt6dVo5czhEVE9SUk45K0VQanpnUVNuZ3NRVTRZZVhrb3g4RnFhMGZ6ZWRFQy9pTXlOZkVwOUVFT0l0Y2xNbEVwdDRtSHlGZG9JWVVURllnOGlUQkJCRlNmcjFTaHNzcGN4M0J5Q0tSS0tPd2VRblhMQ0NLaGFwWnkvbitaZnRnbnR0UjU2STNUdWY2MGVadzhiQ3QvWHpJWFIycWNQVzROeTNhTTVKNEY1NUd5VFJDS0krbVNLTUFSaXZtYng3QzlwWVNtU0JnbEZFcSt0NDhtcFd1ek4wWEMvUERKUzluVlVZQWoxR0d2dnY0bzhGWktZVHRINWdaK2VYVU04N1NQa0t5c0pGcmZ5b2QxaGVuMTRFaUZWSXFsZmc4cmYzeUhlMjArUDlmLzlJdG9RcURyR3BidDBOUVo1ZWZMV2lnZWVocnBEMDhrbmNxZ0tlbFdHU2lGWnVna0k5MlVmZVZPaXRHeFBhOFMzN3FEbEhMSTMxUkhjZEttMmZNVW1ScytpNmV3REpXMjMzVWhESFJkQWdoTVlHdGpON1AvMk1sdG84dEp0bS9GOFJpTXFCekc5RHNqWEZzWnhRRHNmbTZMNWpVMFJoVDVtVDAwbDEwZEtlWnY2M3JQYzNSTk1LVXl4T0FDSDRZR0c1b1NwT3pEbjRNTlhlbURtSi9RSE1tNFpNN3E3YXZSa1lyV3FFVkRkNXJqRU4wYVVGa3dlc2t4UGI1aDd4ZFlWVURLMGFnSUpuaDg5a3ArdG5rNGorMHNCOE5kRzFLNWhBeWE0YUFaRGhzN2N2bllLOVA1OWZDaC9MWnVNemsvVitSZDY2NkZwcC82cVZFQnZsSTFtcFhiaThDVUdONE1FdnFleTdKalI5L0F3VlFLb3RIZU9XRkt1ZTl0M3c0KzMxSEpGWlhLalQrUENGbml1aUVSUm9RczlkQ3VzSHFwS1VpM3JRbFR3ZlRkTHR2aTgrTjhMZ2ZxQUlRa1l6Kzc0K0FNQ0ptRmRFWHY5KzFOMjhBNlFBTjB5eWI5OUR5YzdidmVkczRCditzZ0plL3NQakJRN2s5K0xPSDU1OTM1Ty9vc2IrOHd3ekhnV25oMW5YWWh1SUlFWDhURGFlaDhKY3RHTzRrZ0MzRzRYV1I0bEFDRDlJRnZoQ3dUU2JxZmVSV3JzZTNRMTRzUTJCM2RkRCs5Z1BBRmN6Q0s4dnR0elMwS2p1YUVES0JFVjc5ZEhRaFhoM2JhbXF2SXJONStlNDhuTDhCcktQTHkzSDhYNTJsMFI4RUlTbUl4Nkl5NGFiNGMwRTUwbTlGMlJrUzJtZC9oelJlbEJMcm0wTkl4amcwTnBmemcvQkpjYW80REZBb0Qwa25UMmJRRTJ6dUlrQ2NIVXpOSTJnbHNsU0cvYkNhYTRUczR4L1lkcFhkSDRrY1cxNzFGUlFrbURzN2wycm1EQ1FkTTJtTVpubDdSU0VObnN0Y3hjOGNWY2N2Rm84Z0xtZ1A2K04vU1A1blNpKzVHOTVna3lpc1A2Rjk4NWJldlltYjlDMnV2ZjZFT2tLOHh0SUowUjIvL1F0UGNtcURobzBMRUkxdm9xbDNLa0xPdllmRFE1NmlVR1dMZFovRFlvLzltMitZbG9CY2duWUZ0TnVjb2gzVTFTeW5LcjhKTzFoS1VXNUNKV3JidDJZeGxwZGhldDVIU2dpbzhucVBmYkU0STBHeUhRVVZCOUtvcUtydEE2U014OURCYUY2aUthaXFMUW1pN2JXU1dzS3EvTVlaOG9mTXBYeUhibkF6TjBzWkFjSk92a1BHNnR5ZnVwWUNmTkpZemYwc0EvWWprYWV3NWZNd0VSYkZtOFBsZ0lXZllRZjc2Y2ljZldSbmgyaXQ4Zk9aS1AxV2xHdnZnREFFaXV3OHJHNW5aQWVudDBQazRZYU9RbWY3eHpDeVp4UmNHbmNaTzY0TzgyZG5LSzAzcmViTmxJenRpVGFUdGROOG5nR1ZobEZlUjgrSHJTTDM1T2lMZ0o3bkVKZUpGU1h4VFo1SjhZd0ZDMXluNnllMllWWU5CU2F6ZE80ais4NjhrMzNnRjRmUDNpYnZoZUszTFBUU2NUOUVVdGFrSW03MmFYcWgzc1BNYkloWmxPUWFHZGhRUlRLVWdGSUlMTG9DMk52ZjFtV2Z1KzJ6YU5DZ3BnZWVleXpLQ2kzN1NDNGVIY095MU1jSTU3bjU3VWttQXVOR0ZadXBNS0hHeDlYQ09ENVRtRW91ZGlNK2VrQk55V090QVpmR2d2Y1J3U3NHaXRaMnNybkhiL3kzWjBNV2NpZm05VklJOGl1blJTa2pNVEFDVjBWQjJnbWhWRVRNZi96ZjFYWXVSMG1iNjcyOWd5NWVYMGRLMUhHMVhQU0dqSDhueVIxelFKOHdIcGFodlNiSG90ZDA5T1dCYWcyRE8zRUdVVi91UVF0Q2YyOFR4bHIrVGYwWGY2d2FGMEhwSXJ2Zi9ONEJFb2FQMWtMS3BQbTRjaDMxK2RpNGdKWWw1ODBEWHNldGNYOURKcE1GeENKeDdMcjBMUmZzQnh6bVlSQ1lGOGgzeVV3VnU3TktSNnJnam9UOW1SSGNiMkNuSFJpOHZvZmd2dnlEbkU1ZlQvczJmazE2OEVobU4wM3pERndsKzZFSUE0bzgvaHhZTWcyWGhtWFlTaFQvL0pyN1RUOG02R2paQ045NjVCdkg5dnRkcCszSE5DWEZjOHo0b1I5SzlhQlVkTHk5Mmlmd1BhdEc3cFA4ZEx5K20rL1ZWRkgvd0xJUngrSE5oK3c5K2NIaXFEUEFKd1V2SkpFVU5EWXp4KzNHU1NWQUtRMG8yTnpUdytpOS95YmwrUHltbCtwM3U0K0RuaTBJcnN0R0haSkFkT2lxbWtYZnZUaUszVkdHdGRuRWNjM0tDdkh0M0V2dFpHYkpEUngrYVFWdHY0OVI1anJpZklYV05nQk5ueS9peDdMNXdKbWY4OEU0Q1NpZWVGeUpRV1FaS0VROEh5WW1rU0dLeCtKUG5NK2k1SlV4OGN5VUpQUWV0ai9rVzAzWXVocldiYUh6ME9Ub1h1MFdVK2FkT3BmeXlDMkRLZVBlZzFSdG8rczhMZEN4ZUFRSUtUcGxLMlZYbnc3UnhXU0J0TGJROWpkTzExTFYzOGs0bWY4SUh3SmhFNFF6Z3FvMDBQZklpSFV0V2dIcVA3d2Z5WjA2bC9Jb0xZZEpZOFBWdURCN1B4TGo0cEErUjU4K25POW5GZ3EzenlBOFUwSkhvNEhPbmZRbUFPMTc3SFdGZkdLa2t0clR4bTM1QThNS21aMWl5NDNVK01mTkdycDl4SS9xeHFGT1ZJTSt3dVRpdm0rdUsyeG1TakRMdjZRUVBQWnRpeFNhYlJGTHR0OWRMYW10cmVmREJCMW0rZkRuZi92YTN1ZU9PTzlpd2NSTmRYYTJjUGwzblk1ZDRPV2VLbDl3OVhqcGY4QkJaWWVCMHV2YkdJWFAvQzVmTVc4dlBKM1Q3cnpBbW4wVDhhOStGYUJTdHVwTHdrLzlFSHpFYzYvV2pGK01YUXFEck9zT0hENmVrcElUS3lrcnV1ZWNlcnJubUdxcXJxOTJZWmpKRi9mMy9JRld6RGVIMzc4TklWSmJVVzRCdWFDaDA0alhiYWI3Lzd3d1pNeExONzZlOHZKeGJiNzJWVjE1NWhSdHZ2SkhxNm1weWNuSjZmdnY5SmtjaTN3aWxTSHBNak8vL25LR1pidWpXWGQ1NHYwUEttMHZ5ZXk5a25hdER5d3NWQjMyY20rODRWRy9pT3QvenZKU1p4aGE3bXFjenA2S2hHR3Zzb3RtcDVKSFVHZXh3eWdpS0ZEOE8zc3N2RWgvbFFIbXRSOFRFMUFSbnpSekQxMjQ4bDRtanEzb1Ixb2VEUGlwS2Npbk1DOUVWU2ZEQ29nMjltdnYxR1ljK0xIaFNvV2s2amNrT2J0djhKSEVuVFZHb2xKaVZvaTBUUWRPMExCbTlRTzdsdkR5S29nbElPNHE1cGZDUG45MER3SzJmZE5mNXIvOGE0ZEVINytIcTM4MWg1UjVGME5NdnZlN2VqcWZ1TlgwOUNsRmVpaExsKzgwekJkSUd4MEdxNDlzM1VJQWhOSFkzMnBCdlkxUWxPTytUYVlKaEU1Vnk5eW5wWlBFckszdE9TaUVkZ1o0dnFSaGpzK2NOOEI3RWxQbkoxNjU0ejJPS25BemxUdnJvNEYrblBORHJwY2ZvWXdhaGdLU2RadnUybXF4dkw5bTJiU3ZqeDQvRE5NMCtOSURwbzlJOUlTZmtmU2lpQjRlRTFibnVxek5iOTJuMUU0amFvZXpCQ3RJd2U3VE5iejNOckUyT1lXZlJNRjZ2Q1ZIYlVjVlQybVdNa1grbnBEaE9kUVZnSDAzMW8vYjlOMlpqaHd3Q004SzByU3RsdEd4amFIRVhiYmwrR0phUFl5dFVVeHE1T2ViaXZ5ZHcxdVBEVHNseWtjUVNGdHZydTNscGFSM1NrWXlvenFNamt1TDFOWTJzM2RaT1czZlNyWU1SQWlGY0xFeEtBK1VZQkQxeFRnNXZZVzdCR3ViazFERGNXNC9QcitFVVRNWVlmREwrWWJQd1YwM0JMQm1IMFBibFFIUkVVbXpaM2NYR0hSMnMyOWJPMW0xdGJLbnJZbGRySENkbG4zZzRSMWllVFJZZXRGNUkyaWtzbVVFVHZlMTB2MUhJNWVFelFialAyUXlmeWJPcGgwamFDV0Rmc1ZKSlRNMlAzL0FkZ29IMURubjFtc0lveXVDSjZ2akd4cEVKSGJNOGcvQkl6Skkwd2llUHV6M0tiZlNrTVRvYzU3eUtObjY5YVNUdEtaaFdWczVuVGptVEQ0eVpDTURRL0FMdWZQTVZWdXlxeGUvVHVHcElBeTgyRkxHc3RRQWxCdmk2QldBcGlvczF0ckdlaVpXWEV0NitFWlNOMGd4KzhXSXJyOVM4d0tKYlRzZjB1WmhVUzNzblUzNjVpSVl1RDJiWXhFcW1DQVNyMEdaZXc1Ty9YVVk4ZHl5WTRyQ01pb3pWT3puUGRsSnNxbTJqcnFtYnpiVnRUQmhWUWlqZ0FRUTc5blRSdGpETzh2VU5wRE4yeis5WnRrVHR0M2NwcWJCczJldTd1eUlwTm01dlpYZGpONXUydHpKMlJBbEJ2NXZUdXF1K2krYTJHR3MyTjVPMjdENGJSNGFRNU9rV2JiYm5iZXRFQUVWR21nL243dUtxUExkWmZMR1I0bC9kZzZtM0FnZjg2U0lqVFpkallxdEQ5OEVHRWpmclFRQ0VSc3lYQTQ3R0dLZVdrMXFmNWZhV2wrRFVFc2c3aDZpbWNjaFZ5a0tnKzMzb2Z0OEpKWDhFL1lXREVaL2g1ZXFKNTNEcDZEazhYL01tTzdzYVNOdVpBZm10Q3owNWgyVDU3bytBSHF3NXV6Y1BadSs1aHpLK0g4U2IrdTBaT0k1RU9VbFM4VTZNVUFuZGNRc0xneWx6NXJCbmV3MGJWeTNscE5NLzBLK3haMXNMN3ZzM0FneEpZMmNKbDk3NlViUndoS0s4RkMwZGZraDVRRmVrc3YwVk12dmY2R3c4SmxwVXhKU2RGdm5CZnNRQkQzU3RBandJTnNzRXRhUzUvckpXOHBibHMzNkRuOTBxaGwvVEdTYTkrTjlZVDluYVRiUTVUU3dVYWZTOWpWK1BpczB1d0hDb3FTdkhkblF1UEdrcmIyeXBkdmNMeldGaHpXQjJOSlFnREFkTjAzRVNhZEFFVjEwMmd4cytPSVVaTGJ1SS9lUlJXaGNzUXlhVGFGNXY3MGt1QkVMVGNPSUpsQzZvdU9vU3dwKzhuQmNITy95bDVpRmUzYkdNdUpWQ0dDWWcrb2M3VW9PQUQxSnBDQVhaMTEvakNON2c0bS84Ni9DZlNTYUozVmFIMCtybVErbkYxUmhGMVFoUEh6ZzFmaittWDYvUFozZ3BEUlhpMFEzaW1aUmI0NkliRkFSeWlXZVNkS2ZqRlBqRC85Vys4T0hpSkVJSU1zbG0wSUpBZ1BrYjF3Snc5WlRKU00wbWsyekc0eS9ONW5UMmo4NDkzdm9WSEcvODlFcUFDUG54amh5QzA5Qks3cWV1SUhUWjJXaTVPVGpON1FpL2wvU3F6U2pid2Q3VGhMY3p3dFJVdXpiTWl1YWRuR3E5OE9uUW9NbkwvQ1ZQeFlUM3ZsU3FhelZDenpEcno0bzMvcWRQMXBWU0NqM2JqOHB4OXNZVmo1NkhHOXR4Qm9FUGVCaGRXY2t0OWEzOFB4MU1yOW5ETnhJS3ZJYitVN2NPK0tMZ3pleitZNllYMzBobng2UDRhbkxRSjFZUUd0U05TR2RjbnBjQkFqNUxMN29MdytzaC9hNzh6WWZ1eHpoU0lUdzZTMnU3V2JvVk5CTXc5YmZsY1NzRm10Zklicm4vUFRpcEFEeUd6cGtUcXZDWjd2cXVMQWhoNnRxSkVGdGY3ZGlEMnQ5czJIUUhuVnUySUF5Rm5qOFdqOXhDKzhNdlVmejFJU1IyYmNMclcwbklkd2RNL0ZvV3F4VURlQmtDS1NXREJ3L21jNS83SEY2UGh6LzgvdmM4WGx2TEdpdkpyNFBsVERiOGRDZ2JEWUdtZ1IwVkZIODRUV2lxaGQyZ0lSTUNkTkJEcXRkMm9PY283RzZCY2lEdnJBd3REM2tIakdOYng4MnBkL1FnUG1uem5hWW4rVUR0ZldRc1owQnlQczdvenoxWmFKQkpNbmZtMlp3eGVTYmJHM2F4ZGZjMmxNZUwyaitmWGtueWN3dVlPSHdjUlhtRkRLMFl4T09MbmtlWUpzNzdQQUo0dzRRTEdUOXlOSXlVTkZjTXhod3pocFRqRUpneUZlOUpKMUZjUFlqekhJZUc5bHkxWXFjSFMrMUxRVENpVFZRRWRsUFg0Q0Nsem10dDQvQTczWHlvWWhsNUlkblQyaWVaMFZnWEg4YlU4anBLdys1ZTZVaU5OK3ZMMkpVc29kTGZ6cnlPYVZSRW0wbDNSOWdlbW9udENSMUJuRTY1Zk1RSmpaL2MralNYVG0zakIwK2V5bitpWHdkZDR5L25mSkVITm4rQ1RWdS93VW5oQ3BvMkxxTFZxR2ZhaFExc1dEV0xsSFdRcWtSbUxSa05QQnA4K253UGY1MlhZVzJOZ3pUZHo0VUJRa0pOaTJUWHl4azJiTE81ZUk2WGowMUxNNWg2MEh4WW1oZGRTVTVFcDk5N1QxYTQ5L29yWnd0T0gyUlFNei9HaEE2YjBZRXgxSlNCVlFGR2s4THdiY096TzAxcXZFbjl0UkQ2ZjJDbU9TclVsaDQ5dy9sVkwxQVdPRFRNckN6UXhQbFZML0JxNCtuWXR0RS85N0NQT2RlT2RHaHJhV05yb29NUGxQdkowZjNjdGFHWjBhMnREQjQyRk4wd2p0cjhVSTZrczdhT3hwVWJpYmUwbjFndzcwT1paNVM4TTY0QkNFMXdZWW1YOGcrZlIvTFJ1MUVaU2NtMFM4aHMzZ1ZqQzRuZS95cUZvK1lRbUpIUHV2K3M0V1V6RDYrU0E4WWIvL2NYZHAxNGFPOGhLZVdud2FrZ3FmeHNGOE54ME9pU3VYVEpmQ3o2eHIramdLU1ZvcUc3bGUzdDlaU0VDcWpLTHlYUEgyTGxuaTNFMGtta2RKQklxdkpMS2MwcDRNMmQ2L0hvSmlVNWVTUXlhV3pIUmlwRmR6SkdjU2lQaHU0MkRPMHc5WnlBcHM0MFg3cDNDNFltMk5tU29qY3VMZGpWbXVMemQyM0dkaVF0WFVuUUZGWWlDSnJrOU5ITCtjN2NKemgzNGdwQXNXaERJWGNzRHJOZ3V4ZEhDY0plaVJESzVVMFpvSDNPNjVGODY4SW14cGFuY0tUb3VTNlZVVVRtZDlEK3p4YnN0Z3p2V1dpOVg5OEFMUnpHTzJvVW9WbXpDSjU2S3Q1Um85QkNvZmY5M1AvcDlMOGY5TVFSU0tZWDFhS0xmZHBLRjVLenk5ZVRheWF5dWV2OSs5QnZmcmZIRjQyUi92ZFRhQlZsZUM0OEc5blNpclZ3TWRhQzE1R05UU2pieGw2NXpzV1U3S09USTFWMC9wMllwbzR6WkJpSnBYV2diQXkvQjBmcEtLbjR3czlmUmsrN3RiNzIvNzBLcG83UUJIcHBtRWgzaXY5M3k4UDg4dGU1NUZTV2tPcW9JUDYyK2hsQTAwaWw0a3dMcnFZME1KZ2xyU2w4cGlDU2lETlkxWUNWY0oyRVBqd2JsMUhOb3AxcXZuQkhSL2JkUVFneTJaM3ZCRTUrTURqNVAxNnBmU2VrR3VIMWNla3Brb2tvWk1ZQzJ3R2hveExKYk8yejV2WTBTV2ZRUERvZEhUSCt0V2szcWM3SWdQWFIrbUQ1T2U5ci9hZFFhRUpES2NYT3VwME1IVFFVVDZDTWprUTU1ZDR3UWdpYVl4NTBYeWtBeTlhK3llaGhZd21Id2owY0cwZlRIOVdFVzNza2RYaDJsN3UrcjVzbzBLVExQM3VzZVBTTzZzMU5VUlRVR1ZucTdmbjM5b1N6bnpvVDZQMTBXNTFFc24vdXRRR2hjUzZIVzNTakYzVWk1YllmOEZSd1VqQnVNbnovMDNER1RlNzczLyswKzU3VHVVOWxIK3h4NzduZVZWODBCYUFTdERYdllOa213YmhpRDBMRTJOaVNZZVlFeUNzY0ExbzR1M3YwMHdSV0NpVUVNcGxpMDBQMzB4cGJUYXBOUnlZcVFJZWN0Z2pHaW1jWk4rZGs4czQ1azRLOFBNd2hnK24rMndQSVNBUXRHRUE1UjY0cldmN2xCOThmeHM0R0dReHhlSmhRWDgvdk1ROE9wRmdsS0Z0QXJrVDRYRTRjb1lFWFdOZ20rVTh5VFcxdUJiTktKcFBuODVGT0pIajZpYWVZZStvc3R4N2M0eVYzeUZEQ1E0WVNyaDdFbGovY1FmTXpEK0lKZUJBSW5FeUNlRktqZU80NXlJeE5iT1ZLZE10NnozalYzbjY2NzQ1WEgwby8zU2dvbmFIaE50YlhtM3cwNE9NcmM3ZXdjbmNPLzZpcXBtYjR5ZXhPZFpDWU14RXVLS0owN2ZOYzNud1BNNGJHc1hKR3NyRWh4YkRjVGphM2xxQVoxdHR3aklHdkg5ZEFaVml4b3hETzhwSjJrdnhxUmpFeG9mR2ZDVHNoNUdIWlUwV2dNbkNpRzhPeEpRTE1zaUtFRUxUKzMvMmtWbThpT0hjR2VtRWVlbDRZdTcycjU5RGFTSUM3Vm8waUdSeG9iMk5kcjFjdlBML3d2K0JCdUlUOU1ySVFvZWVBNXVaK2F6bW43SHRRMmZkazVEVzA4Rnoya2Z6MzF6WjM4QnV6cHJuNjJPb0tjdDVwNjNud1M0OVRYSkhBNnRiUU5JV2h2d08zbVFETDB2RG4yNXcvZVR2M1BERUx6V3NoblVPYlVRVUZCVnh6elRYTW1qV0xUQ2FEeCtQaHpEUFBaTWFNR1N4YnR1d1lON3JBbDZzUUdkQzZiT29Ea0IrejhKUW9mR0ZCYnhwMlFkcE9VOU95bmM2dUppSldrdDN4RG9TbUgxTTZSQ3NwSm5EVHRXZ2xSY1QvOXpaU2p6K0ZQbUk0dm1zL2pEbDJOQ0kvRDZGcllCZ1lrMDhpY05PMTJPczNJWnRiK3V3Z3JUNzk5SGYxejk3THpIRGljVGdXOHBvVW9PdUVQbnNUM2xOUEJ0c2g4YzlIaWZ6MjF6aDdXck1KZmhvcWswSHVpQ0xNZG9UUDYvYTRLaXBBeFJMSVZNcnRGV0lZQ05NNEl0ZWxMQnU5SUIrNWZSZWJKNTdMbUdmdVkwUHRkczQ3YlM0TEZpM0VNRTBjMjhheUxBekRJR1ZibkRGck5uOTc0QUd1KytjZE5IM3RKM1QrNFQ3TW9nSjM3dmV4RnZlbVJ4ZGpsbzhoT2EyS3R2bzJMaHl2OEhpcmUvZ1U1MGZhZWUwVHJnTmpSOXE1OGpNVEVackF5T2IzYmV1bzQzdVBkTGoyenJUVFNjY1RhR29mQzZWQVlTa1RxVFJNelhJNUhkRFFoWVBNTGw2SmhsUWFvM0kyODcxeDMySkorMm5jc2UyV2c4YnAwbW1iTld0YXNlMUNYbjIxQWIvZmpUVWtFaFoxZFRFMmJHZ25uWFk0SG1SdmF2eG9NOFBsd1NqbisrTWtkeVg1OHpOSi9qTS93OWFkTmdmakhvMFphdkR4aXp4Y2RvNFhWVDZjdjBRdjROR3VNOWlTSHV4eW40dmpyZlB6Z1NYNnBEcGNOZXh5aWhrK0NyLzFkZFJwWjNMdjNUL2k5SE5tTXVHME9kamRwOUQ1cTl2QVRtVjVXZnRwTzlNRVhvOUJXMXMzZnI4SFVMUzFkWkdiRnlJYWNiR2ZuTEQvN1ovbmhyQTZPNmw5NEJIaTNtTTBvMUxBa0VJUDFma20yMXN6ZENmZEhEbS9DVjRqeTFPbUNZU0F4bTRMbjBlUXRDVHRNWWZoeFI2R0ZIcFlYWi9zMHg1M3ZOMWZJVnpRMC9RRnlLK2FUaXJXU1JrT3JkdGZKMmw1U0Nac3lzZWNqaEVhUnNud21SaStYQUJhT3pMODY3a2RKQ3pwenVVVHFWQURzRm03T3JLbDdnbWs4dEhkdVllT0xndXZHVWZvY2V4MGpHMWJsMUpSa2lMRnFlUVhWRkpRa045LzNONDlXTFRnaFVneHI4VUsrRW5GRnNwTUY5ZHRzVHo4cVhVd2MwTWRYRk5Rajk2UDVFZ1BMenpwY0NaemRrTzJRQ3BDUlNFdVBXY01yeXpaQ2NCWk00Znl4TXViaWJWRlhURFZhL1lCNUh6c2lPRTIrK3FYd1VncDFzZUNmR0RRTmlhVUZHRUdpc0FJSUdVS1E4Q2h3T3pwZElhRld4dlFOSmc5c3BLMlNJekZPOW81WlhBUnJiNnhpQ0tGVDE5Qk9ySVYyNG1qR3dLVEpreUtFSmdveCtVWE5qVFpZeE03VXFHaE1FUUVyRFlzU3hKUE9UZ2lSTEIwTEVWREx5U3Y4bFQ4b1dMWDNsQ0srcll1bHU5cTU5Umh4WlRtaC9zbFJpUjhDdUZSc0wrdmFpcjhNOUpvSWZkNSsyZWtTYTd4Z0xYZk1icENaUVFxM2JjeDdFMXYvdEhuL0Z6Ly9SaHJheHdDUHNIemIzVHp4dDl6dWZzL0tWWnRkdkI2b0tWRDh1a2Z4L2wvZHliNTJaY0NQSDEzbU8wYkhHNzZSWXhmTGE3alY0bTZBVmMxVXdkN2V5MGpyOGVnVUtRUjNSR1V0cmNQZ3N2NW9GVlZRRHJUNHdacHhZWEk5czUzM2hNTEM4QXdJQmJIbURrZGZYQ1ZxMWQyNzhGZXN4NFJEaUVDZm1SSDUwR1A5OG1XcDk1elgwdnVjY252L0Q3elhYV2lBRUl5ZzNPQUxtaEhUTlVyMkZrZnBYWlB0R2MvZFdudTk0MUlFekMycEkwTFJtMW5WMmN1R2FuVEZBM1JGQTFsUDk5M2JHdEhrcGFPSkpvNHZCcmFRNGxMSE5QK2pKU3NXYk9HU0NTQ3orZkRORTFTcVJReW04ZGtHRHJwdEVOdGJZcjZlZ2VsNGlTVExoK0cxNXRFMTBPazB3NnBsSU5oNkFnaGlFYWphSnBHYm00dVBwK1A3dTV1MXF4Wnc3UnAwdzZMSTltUnNMWGU0WjRYSlZ2cUhhNC94K0VEazIxR0RFdnhRRk1SLzJrdnBEWGpvU2Z6WDJoa2JJdlZEZHRwaVhheXViV09qMDArazVFVHhpRGs4ZWRYYVVCYWc5R3RPbDlhNUdkdktweGZ3TjJSTlAvTzZob0plSFg0eEprd1l3Z29leCtpZXNvQnpTZWIzR3MveXZidC8ySmo0Mk9rNjIyS3FrWlMrZm4vZFQrM2JURE5vM0xOUmlxdmlKUlMwTnlHRVRCd2xJYmRVeVFQOFhnbVcrVUh4TjNrUERjdnl6VzQ5ZUl3dGlOcDNWSUh1Z1paQUVrS0RXU0t6NHpjaXQrSTBsRy9DYXQ4UE4zSlNuNi8vVGJBNE1ZUm44RWdncVZpbEpYRXVDYThndSsyVmFDTS9zdUEyT3ZnTGw5eEVmV3hVUlNtdDFEKzBRVGVPYnRvL253SndlcnRlSW1oS3d0RFQ3Tzk3aHlTOFZLbW4vekNDVkxNZHhHZnowY3lIbWZscWxYTWprZlFjM0x3ako5SVlMUkxMbTlHbytqaFhMZDRxdDF0VHV1cHFFWXZyOFJadW9SWUtzYUsrczM0MFFoNmcvVFh6ZDVicDZFaHVOcVR3NlpSWi9IYWtKTVJWaHJIb3hISkZUVGxhRVJOV0YwakVOdmVlMFBVU2lDUnIraXVsampkQ2kwandmUXlkK2RTcmw3OUZFSzVEV3dPNWdvR2FyM3R3NE1WR0g2ZWVYa3RuLzNJWE94TGwwUFJDSWpzd0E1RjBDbm0rZm1id1BTakJpQjlmVzhnSXEzQVZ1NHZ0RG05UWNmdS9UWUhXeW5TcXZlNS8wM1NKL295QVRnQ0dkR0pyUGVUdXF1VTlHNFBtWWdPbWtPc3hrK20xU0RaN0RxQWFnQ0JmVWNxYWx1U0xOa2U0Y3h4ZVl5dkNqSzgxSS9YRkwwTXdzT0piMlJzdDhoZUtnNjVDWmM2M0IvTm5ta2xZM1RYcmFKdHczTVFXUTVBckcwNmp0SXdnZ1dZL3RDK2g5RVA4N2RPaHFoTDUvR2ZOSUJGVmF5YlVYZXVZdUtkTDNLUzZUQnFXQ0dWMDhhU04vc1VBak5QeGh3N0ZzM2ZtNEJGT1U1UDUxN3hEczEzbEZKc1dQcHZXbGY4SEROdkVtdm0vWXFTUWordDNScWRPK2Z4OGF1bWNPbDVvMmlyMzBSUjVkaDNiajU1bEF5WHc1V0lWdWtDV3EyTkdMcUJJMDNzL1ZqZ0UwbUh1SEx2cDBnNlBYdUFiYnVGckxydU5rVHQzTFlETU53TXcvM1dsWmJWM2ZzblRhcHN0ZWZHamUwOXBxWnpHTXp6Q2pBMHdaNHVLOXRBKzlpN3YwMS9yangwTmFaQmNtdkFYVUpDa2FvTjBIUlhGZjNQY2c1UTM0L0tXNUdadjVEQXpUZGhUSm1JdlhvOWFCclc2MHVKN3RpTmFtMUhwZExIaGgwcElKRzArUG92M2lBVU1EbDNUalZYWERDY0J4NHY1c3NQbVB6dTJyOXh4b1J0cUtQc3R5bkFzaFZEUjNpNThxd1FEenpiVFdlblEvVW9IOE9xM0xWVlBjcEhaNGZEYTZ1U1hIdFJMa05IZUZtMVRSMHg3RC9rUUtGMWVMK25nQ0pMRVhJZ1l2QytGK2R3ZFpRU29LbXNWKzRTWXhoVFhNQS84MklBYVF2d0t0Y2JWMktBZE1YN1I0eUNmTUxublVINDNOTko3OXBEZFA0aTJoLytENGxWNjQ2TlJKYTN6aHNsMFFTVStZb1lGUnJxWG9QUWU1dFplLzBJVFVQTEpqZnRYVklqUTBNcDh4VWhrVWdsVDB5QVkxUTh1VG1nRktHbVBlVDdEVGVwWXo5LzBZbW1VRmt3MDRoR0tOUTFkODFuSDJscGtSZkxUcFBjVklNdzlHd0NVM2JMRTY1cThOZ2FLWkVtOEtPZk1PeXM2NmxaOTJOeVM5TU1uWFFKQlRQbWtuNTVFZjdFd1RrWG43a3A2QmF0SmhTTkxRNWJ0enVzWG0reGZLM04ybzBXMjNjNkpKSVMyOTQzNTlMQU5xK2kwRlBNR0w5SmJXc25HeUpSVWdsNHZiNmVoK1kvelRBTnZuZnljTmJ0RUp3M1pnd3YvZnVmekI0K211R2pSeEVJQk5EZVVpam1PQTVLT1QyOU5kOEswdmRzKytieHBSZTE0OHlmZUN1QUxJVEN6cGlFL1dsdUcxL0RqZFZ1c21JbUk5RFFRRGtrQ3o3TkQzN3pRZko4M2FRYzhPdGU4clZjbWx2aVBQZkdKamFzN21UM2ppakp0aGplWW9OMFJ3Ny85L2gwZnZubEJUaHBnWk9CRWNFVUw4M1l3TDExSlh4MTYxQzZrMTUwaitzWDlMZTJDd2MxUG5KT0xsKzhxcEFKdzMxOWNLeVBwRmlnVWxoVTRlalZhTTRlRkY1OHpuSzBaSXFZNzdkb29oRE5YMFJtNVBuRUx4K01zK3BsWkRBTXd5ZWhqNTJCbFloaGpaK0ZaOTRENFBYdjIyL2V6VGI4N3JjT3poelB6VVBsNW1Mb2pmdFdyUUJkMTlBRGZqeWYrQmp5b2d2Ni8wWXZtTi9yNWZKbi9uWmNyVEhsT0dSYTJ2QjV2U2pISWQzWWZOenFDeUVFSW1NemFuQWhJeXNLMlZXblVUbG9NSUZFRkljV25IZ1huZHVha2Q0Z0h6ajVTbVNra1l6Y2lsVmswTG00bWFhV1JnTFN3dG00aVRrZnVweEVJRXB6YlJQRFNnc1pNYmlBeHRZdThKZ0RpdnR4K2VYUTBnSS8rUWwwSG1UZ1BEOGZ2dk1kOTl4KzlCc0JEQy9FTEhoemI2NkNDZnBiR3YwcDVScUtXN3FocGhOR0ZzT01JbGhTQjU0QTJHcGZQdkZlS0g3Ly9PSzk1RjBidS9ZcC9zTnBKR2pxRnFjVUxlZVBOVGZ5MHcyMzBKWXFZRkhycWZ4bzRzK1lVYkNLM2JHcUExN29pSEF0WHhqekZ6NVMraWpta2dpTkQzbEpibkx0ZzdmVjFFa1FQc2lkYTFQMDhReTdLNGZ6NDVwUDhmY2RWOUNkQ1hOME9qNGZhMG9GQWdaY1hhSHgrY0U2d3dMaW9MVnVhbjJDeUQvYlNLOVB1Sk9nUCs2bFlZREg4L2IzQTRFREV3Wm9tdnZaZ1NTVE9Xb2tHZ01wcWJ6Q2ZveWo2UWhUQjJ6bXZiR2RodVlJWFpFVUdCcnZodks0c1RhTjdraUtyLy95UlRiWHRoMzA4ODlZV1Z0Q2Q4ZVZUTnY5MnFqZzJOaXIzV2NSbXV6T3Y0N24zVWJ0UWgvNDlXeTNhajIxYmlvRGRzTitaTXNDekRLSlVTWkoxK2drVjVwdUUybnJSTUQvaEJ6bE5TTWxSazRZczdTWVBWLy9NY0Vaay9GUEdFTjYrODRlWFM4MGdkMFp3ZlI3V0ZBMWc5OEdwbE5qRkpDblVtN1IwUURva2JkYWR2bDU3OVJvS052OVdQTWdoSmUwREhMRm56NkhxU3Z5aTlqWFdFOEpXaFBWN21lR1JrR3BINlhTSURQUUQyVHZCMk9KU3FYUUF5YXJOalh5d3J6TkJISzhPRUtBeHpqNmtHalNZZkwwSWw1NllBNlgzclNZcDU2b1E4czFlK0tHamlYQnIvUDh2RWFlZjc0ZXZEckNvN2x4UjEzeTFJcVJmT0dLSlV6MVcyREE1VXQxUmdRa2FKSm5OZ3hHTjFzb0NGb00xVHlFZEFWQ2taQ3dJeW1ZMTJFUWR3VDVoa0lJTis1dTkvVitLQVZLa203ZGd1N1BKN0ZqRWMzUC9TL0s2c0pUTkFxcnN3Yk5zRUVYaVAwYWR5a0JPQXBwS1RKdExYUXMrUk1GcDM0ZW9adEh6SEFWd2kzVzZZd2tlZW5OcmRRMWRiRjFkeHVYblRHQjRaV0ZKNVRXQVdUNGpmK2liVXNUK0hYbVJkUGM5ZmZGZlByS2FjeWNYRTFiUjV5di92SUZFbzBSQ0hqNDU3L1dNR2JXY0s3LzBHVEdEUzlteWRvOS9QVDM4OEZSUFAva2FuNy9Jemp0b2dsODdNS1RxQ29MYytlL2x2UDBRMHVoS01nekR5M2xsMzk5a2U5LzVSeG1Wa2N4MGhwMy9leHg3djNiRzVBU1BIaDNpcy8vcElUUFhUMkQyWk9yaVNZeS9QS2VSUWMzWDRWQTZEckt0b2s4K1F5K2t5YmduekVOc1o4TnZqY21QNnpBcENTa016VGZaTm1lSk91YTB5UXNoYW1yQVRIcmxITUloWnhTSHBCTVJ1MTlYd3g4VVdqdDFuV0hmVzc5dFRmeisyVXZNSVpjZE9XUTZyaUw3aUVtdG1ZUVFMQllpL0dsTTg5bjNmMi83OU1hMzEvKzhQM3IrdkJkYmo3VTFOR0RlWFBGUnRvNjI4akZvcldrbkZGVFRtTFFiVDl4ZmJhK2JESWZPSHlDTjVmd0ZzYTF3cXdXc0FXc3k0Y25oMEpjRnhTbUplbE50WWhKazhqVU5SRjVhajZGTjMwWWNRU3dlWlc5ZjZra3REVXFnbjZMdE5EWjNhWGhVVW5hRUV3b3Q1QVpoOFk5VUZya1hzdEFpeU8xdzdyUnRtUFEzQmhpUXpMQmxtVVR5US9PSVRnOXhGYmQ1dWwxMVN4cWZKTUxodFF5cFRGRUlKUjJJV1oxT0tETThSN2pGSDJaTVRoV2d1N0cxd2dXVEhEeno2MEU2ZGdlNGgzcnlTMmZpMjRHNkhlU3lJUFEwZDdLQ3FxLzloVktQMzRWNGkyWVR0RWxGOUowLzk4cCtlaVZqUHYzZzJpbTU4amNhVU9oT3QxQXVoWldpQnhGNE1ZazFuSVQyYXFCejgyN01JWklsT1NRaTlDRVV1NGZDa2ZUaVFWQ05PZVhzTE5pQ0RYVkk5aFpQb1RtZ2hMaS9pQ09wcU1kZ2g1OE4vMWdIa1g5d0NGc29TcExmankwc0JsRE9KdzZZak1OWFFXczJ6T1l0bWlZYjEzOGI0TGVGSTh1bTBWWE1raDVmZ2NWZVIyOHNHWXFRd3ViczNOcjRGa2lsZFJ3cE1hV1BWVnMyVk9GTUMzVUllVFpLS0dJSnYyOHVIWmkxbmVWZXlmSSs5NytsWU9xU1NtRmtVaFFYWnFMbXc2Z2VtakpMVWVSeVhHTDJJVWpDWVQzN2EwbUVNNFBZOWtPSGZVdENGMTNHeVNvM2syYlRZK1h4Q2xqaUhyOG1MazV5SzVPVEROSXhjZW0wclp4S1lxeG1ENXZyMmJQNzR5bkRteGRncVlMa2ttYnBhK3Y1eWVYVkZLem81aGdzSnF3WDJQOXRpWitQbjRqOTcrcGtZcW0wRUsrWHZtejd3ZjV3cjlyRDBxM2RjWnRPbElLK3kxS3kwRWpsb0gvZTYySmY2dyswYVRpclRMRWt6aXV4dXNaVk5WbmMwblpOblpMZTQ4dktIUWRvN3dRWVJoOTN4czZOcjJqbFdZclFhay93NHlpZHY1emJpdmZXekdCLzEwK0d0MXI0ZXdsTThybW9laUdqVEJoNWE0Q2RyMFE0SXFmTnFLZjdlNERwZVBTUFByUGNsYWVWNGdSeUxqNnBMK0tnRzY1cFkvN3VRT3JWL2ZPK1pBU2xpMkRiMzNyNEpsckI4aEhVZ3J5UFE3bmw4WEVJTCtsUnZzeS9McytyTnE2ZERGN2gxdW91bWlZbDRUSDNYWWRYU0Q3MGZSTjN2MzM5NTZnZm9VSVNXU1R4dHQrM0xaUmFhZVhIYU1jZ1VvNlpGNWVRbWJCOHQ3SGF3cXRUS0ppR2lRUEhSOFdmWEJkaFlDOWZRTGpNY1c4Rlc0ZThtVVhlQWdHM1BGTHUzL1RhTlVoeG15VmxBaVBCMkhaN0ZZeDJvQ2RXSnlzNFhidmN5Q0Z3MDVwMFlaa056R21XdmErM3hvSUlucXBzQnBiaWEvWVFGOEtDMUpydDVMWlVZOVJrRWQvTVl6L3Y5KytlV0xUSEhBdDlSYnhnY29INFpNb0hlZ0dXbFIyNzNManhhR2dxMlluanRFb3lvY1JRelNLQ2x4MTNONHBhR3FGdFpzbDBUalVOeWwwdlZlNmNNOXZDMVIyUGZhaGVZYUF0TFQ0NitzdFRLbjBjT240UENUcUxmV01yaTRTd2tDWUpmZ0RRWjV1V0V2VVNqQ25jQXhsWGsrMnlXaGZNSTYzUzhhV2I5TzNsaTE3ZEpCU2lvd3R5ZGlxNXg0STNMeURqQzJ4YkhsRTh3M2k0UUpYUWI2RGZ4R0xaN0pLOWozOGk4MjczK1pmU0NrUVBzbWs2ZzZFRlNLM01KK3E4Q0NrbWtObHFJVmxPd3RZOXVaaXFpcktxSStWMG0zYkNHMEEzR2ZsNW9URUVsRmF1aHFaTXZaMEROTW1QeERqNUNGbHREamRlTHg1dEhZMkVFMUVLVFQ5eDBqcGhVQkt0NmxTWVVDUTBpM1NrWjBJajRsME1pakhacUJKdURNb0RPQjZYd0diblJRUnRaY0daOThOYXJVTjZ0UGVQcE45SGtudE44SHc4Wk53R1F2aU1mNThWenRQTFVqenZjOEUrZUNaM25kWWZsb1BZS1hzTnB6SUt4QjVCWStld3hqdlVNWUVaM0R0U1dmUVlsekIycTVXNWpXdTRvWDZsYXpoaFQ2TlZ2ajloRDU0TllIVHprSDQvYVNXTDhiZXN4T0VSbXJWVXBJTFh5Ym42ay9pR1QwQnUzRVAxbzV0QkMrOEhMTjZLQjIvK1FISkphKzU4WUhEbk5ESFcxMnVjd2h6VUNvd2RjR2FoaVFmZjJnWEwzeDZPSVB6UFRqS2JiajJ1VmxGUFppUUVDNkJVbDFYaHZQdjJzNURIeC9NdEtvQWxxTU91ZmE5dHp1akRsZWhnU0ZnMkhBMGZ3Q3hlaldVbDdzZnIxNk5HalFJV1o2dCtYVlVGdHZyKzc0U1ZvZlhBRWFUa0pBMlhoTTJ2RGFmUHo2OGlSOWZlekpTbUh6Lyt5OXg4elY3OE9hZGhFY21DRWpqc0ZWSjVJU0JkMExlUjNLb3BxQlNDcFJnUjJPU2VjdmJzV3hYZHoweXY0bG93Z1lFUC9qTE5xNDZxd3lsd0RRRVowOHZaSENaSDhUUmE4Q2xOTGZSWlRJRHhULy9QdVFGaWQyN2xjU0MxOWc2dXdhdHNBaTdwUjd2dHMwSW54OTFsR3RIOTI1aGtlNDB6ejVkUTBHQm4zRFlqUk5HSWhtZWZicUdEMTh4aW5DZTd4MHBPZzVIanJmOG5iN21KdGhLc3FsbEo0UHlTdkVaSHJhMDdXSjAwU0M4dW9FbEhWb1RYZGpTb1MzZVRVVk9JYVdoZ2o3dGNvZE44Wmc5VFNhVHBGNS9IZStFQ1doZWx6UlRkWFNRWHI4ZS81dzViaFBVZmx4algvemd4SU02THVnekdWeVdpNGczOXRqQUNqZVBhdkx3WW02K1pDTFdBRFMydXYzeC94WkZqWXZ2U3dsSzRadDdDcFZ2UEViMHZuL1QrYjNmSUh4ZWtzKzlCb0JlV0l3VzhKUC9oeCtUYy8yViszQnRJZHp2T0VLaWFUQjFETnh3T1Z4K3RodVRKd3RMQ0FHdGxydDJpMDNMcmNYeHdVMVh3Z2ZQZ1AvTWczc2VnNVdiRHFyODhxRHZvVXFsYWY3dG5RaXZCN3U5ODhCckpkdG9XQThGeVpsN0tvWFhmNFNjdWFlaStYM0gxSlNRNlF5ZDg5N0U2dW8rUk50YllIVjEwem52VFFvdm1JTnUrQTk3REpHTkd3L2JUMDRCendJemhHQ3NiUlBkdUJHVVF0ZzJtNEJsdGJYTUFDeU9ZcW1hRHNJdjBZb3Q3QjFlOUpGcFVvL21nYW53WGR6bExxMW1rOVNqZWVnajArNHhsUm1FWDdyNCt4RTBJeFJnT0pJV0VTQno2UmxVekpwS3RPeEp2RTNiMkhYNkxBcUxDbEZLc2Z1MGlaUSs4d3pSc3BGVW5ENkxqT21uWmVsbThoeUowOGQ3L2RYN1ZuRG1LU001NytmZkkrc3RrZ0tlV2RmRVMvZTZ6WmJPblQyYXMzLytYY3JlK3ZrZEsxQUt6cGsraHJPbS9wUmdhUllXdEdEK2ltWmVYcllDRkp4MytqdWMvdzdmbndhZVd0dklLL2V0T0tDZE5ieG9KQUFOM2ZWMEpqb3dkQk92NFdYKzFoZFJnTS8wOWFxbDNjc3JrdXZQdzNac2Z2L3lMM202NWxtK2VNWXRuQjZlaWkydG85cG9kbjhaSDBqdzhhSk9Mc25wSkY0YjQ0NW5renoxYW9idGRXOVBYSkpTMHR6Y1RITnpNeTB0TFl3Y09Zb25ubndHWVRkejJUaytQbjZKbjRtRkh1ekZYcHBlTmtsdTA5MnlqY09CQ0tWQ2VEM0l1ajA0bTdhZ2p4K0wzTFVIYkJ0enppeXNWeGVoT3J0ZEcyM3BDc2lrUVFzZGxYUkhJUVJTU3NMaE1PUEdqZU16bi9rTVE0WU03Zmw4eDZiZE5DOWVRZGpuYzRlWG5Tc0tnVWM1R0VoU0dCZzQrTDA2MFRmZUpMRmhNNkhwVXhFQ3pqL3ZQRWFOR3NXb1VhTjZma3ZUM3AvTkR3YzYzOGd0SVpLMHBUMDhzWGtqcjZ6NEdUTW4veGlsQkV2WGZaY3pwbjZUOXJRSGxEem9jcU5hcDV4YXA1dzZXUUk0NzNtS1JJQ3dXR3lONDY3a0pkam9KSldYTjZ6eDFEa2w1SWtvRVJXa1RlV3l4eW5HTDlJOG1wN0xLNW5KUjJXbkUwQmhYcERyTHB2SlNhTXFEOGpicVFuQlNhTXF1TzVETTFtK2ZpZXRIYkdqUmdXaWxFS2kyQnFwNXo5MVM5aVZhQ1BwWkdoTlJRaDcvSXpQcldaN3RJa1htbFp6ZWRWTXZMcUpjcjJSb3pidkxVZFJGallvN21yaDkzZjlpeGtUTkg3MVRiZDIrOVZsTVg1LzE3KzQrWWUvb0N4Y1FqeWwwTFQrR1d0WXBnNDBRZDNHVGoxV3czNE81aEcrUi8yT3B5b1F1a0xGRGJhdDBSbDNUcElydmhuSHlRaklaRjBoRzlBbEJBVjJYQ0VjRFYzUDlnUnpGTTIxT29ZdXNnM2ozLzNucHFUZit3cVV5T3FFWTBCVTN4Y2ZDa2dtMDlpT3drcWxTQ1JUN0szL1ZDZkkwNDhyaVRVMi9kZGQ4M1BQUGNmWHZ2WTFacytlemZyMTYybHBhZUVYdi9nRnJhMnRSS1BSWTJhY1NyaTlnVFFGQ1Yyd0ljZGRXek02QlFGSElRVVk2Z1FGNWlFWk9oSkNma2wxVVNGUnVaS1BWZGZSSmtvSUJReStNdVl2RkpwMWdPZHR1T3ZSVWRRQ2RpZXg1N2NqVHNrblZXVlM1bXRpV1NaQXNSWm5pTkZPSmc2eUtZWjhZRGRrSEREMTR5SlA0b1RzbTErT1ZEUzB4Vm04cnBFOUxWSEdEeTJrb1MzR3RqM2QxRFhIU2FTY3JJK3RVTkpBS1oyZ21XUnFUZzJ6ODlaeWVuZ3pZNEwxK01ORnlKSnowUWZQSUR4MEpyN3FHZWc1WlQwLzFkQVdaMnRkRjl2cXVsbXpwWlZOMjlyWXRLdVRobzRFcEIwM3g5TFUwZnptMjl6c2RBMDRFWEE2d1c0SHB3M3N2WC90N3Z0T056Z3hrQWxRYVZCV3RpZUhCL3pqSWZZYUJHZUN5TUtOS3VtK0ozUm91d2RrbGpKYm1DQzhvQVZBRDRHZUMzbytHSVdnRjRHeDk2L1FmVjhQL3pkTUZIZE4rM1FmcDVXZVJ0Z01rM1NTaU96L0hDVEYzaUpHaFVlZ1p3R1pVZUVSZkhUbzFiU20yOUJ4T1kwVUNyL3VKMkpGV05hMmpKU1Q2aGRGSnhNNlRyZUJaMUFLcTltRDVuYzRYZ25HWE5XcnFFLzVlYlc1Z0ZRbWcyWmJsT2VFbVRsb09LVWh0MzVyNXFEaFBMRnhCWnFkSkpVeGViVzVnUHFVSHlXT0hDZDVSRE41b2ZGQnByYVZjc200VWZ4cjlYWk1MWURqTi9GNE5FeWZuNHhsNHpFTlN2TERtS1lKZnRQTjZwTU81dzNQNC9HWGY4M09pSVpUTlFYYWt6Mjh1NGNpcDA2cDF0NTYwVks2dlVla2xPeXE3eUluNk1YUU5kSVpoNjVvaXFyU01OVmwreFp2Ym82UGNNamJNMnZDSVMvVEoxVFNIVTBkOEhzemxzT3UrazVDQVMrNnJwRk8yM1JHa2d5cHpHTm9aZDUrejFPSlJ4Y2UrcjNWZ01tK0RqYW04MmkwL0c5N3BuSEh4RUpqdE5mMUFTMDA0bzU1UUxPajNFd3l6dHZGYS9IU1l3NDNFeWlVMEFpbTQ1eXg0WG5DZGdzRlhkdlpVSjlpOU9nOG1sczJNckhsbndUOWdpMHlrQ1ZZVm9lK3FFNjRoc2VNNk1EVWl0SDh6L1FQc2FKeEM4OXNXVVI5dEcxZjQ3UitGazlmdnZNNG1UZENDSlNTTkRkdEpRY2ZrZTRPd3FsZDVBWjkySTRncWZ5TW1uMFJnZndTbXBvMlUxbzZHdEZQQ2VtM3lLZDdMellwMEhDYjRhWWlPblpFdzBTaUk3Tk5hZCsrSUFYZ0lBbTBlV2o5UWd2eGdBZkhrUU1TeTVLQW1kWlpMYUw4SVZsUGlWOXhWbDZjN2tLYmV6SXBSbVZ5bUVVUUZkQ0lZMUhVbHVRakdIaGtuRWZTclNTT0l1K0ZSTEc3SzRla2dFektRemdjQndYZDBTRGJPbk5waitTQ25rRkZrbFFQS3VUR2ErWnd4ZmdpeXVhOVFzYy9uaUsrdmhaaDZtaGVYNi9rQnFGcEtDbXhvaEY4ZzZzb3ZmRmpKQzZaenUvUzYzbGsyZk9zYWEwRlRVY3p2ZGtZNUR0UEhFZThkY3dDeDFRWVVTL2RuVkFhVm1DNzVZd3lEa3RYZ3NlRWhVdGc4QWpYTmhkWlJSRnA5SkNyRERLYVlxRDZlNW9WSXc5TE1UZ2REY1NYUFUzODlYOWh0KzRDd0NnZVRIRDJod21lZGpWNlFRVkhtN1JjS1VWbk1zTGs4cEVzcmR0QVhYY3oxWGxsbElZS1NOc1dzWFNDcEpVR1AvKzEwbGNWNDloUi9Ea2pXTjFRUnpxWlFST0tOWTExVENvZlJDcGUxeSsvMGNzMlBNNzZGUnh2L1BSQ2dVcWs4SXdjak9lQ09RVE9tSTZXbTRNd2RJenlZa0lYbjRGMzdERGl6eTNFMnJxajUrSG1PUmx4YnF4ZUg1L3FySndmcXZqa3M2SHEyUnU5K1E5TFlmNHJKYlRkekxyVEFSUnZmT2FBd3pqN054ZTh5enFHRVlNS0tDa01nb0tXampqYmRuY2NZZnJlbGIxZUJRYUhRRW04eVQza2xXWHJjSlRkczdkTG1ZSThGdzh3WkFSL2J1KzhndUlDUDlocDdLYXRhTHJ1Y2xBUG9McE01Ulc5YXoxZ1gvd1lsWDFJdXVFMnRYN0gvWHNBaXUrY1k4UkdmYmY2SkFHWXVvYWR2VG1tcnJrMjMxdlBVVzVQSEtrVTZCcEMxeEc2ZGt6Mml6cjJ3YVRzUkd4YmgycCtqZlk5dVJoNmdweUtCRTZrQzduSlJxYkxhTjJkUzA1K21tRGJHNGoyZFZBMHlYMWlBMFJpNWZvcWl2ejhmTDcrOWE4RDhQRGYvdzYxdGV5UWFhNk03T1FId1RLdThlWVRVdzZXVk9nQmlDNDMyUHpSTUVhK0lyVkxJLzg4aTZwdng3RmJOSVFCTWlsb3V0c0hHcGdGaW5TRGRsaVhJUEt1QUxzZGxWZ0pWaU00M1FqL2VEQ3JFZUZ6M1JJMTIwWVlCaUwzWExvZmdmb2ZuRWw4OHhhQ3VXRnlOSEVjOUtvQlU5TzU1TlJ6OFJnZTZsb2F5S1FTYUVMMDZDZzNCMEdqTzlyRmkvTWZaL3FvQ2F6ZXZvbmFobDE0L0VHc1JQeDl4eCsvdjR3ZlBaYmRkWHNJaG9LTW16aVJaQ0xCenJvNmhnMGJobTRZMU83YVJUQVlaT0tFQ2NyZnRGdDBKMTF1QzVHTW9PSmRMSy9MWiszdUtZUXliYnpKSUVia2R6RzZzQk9SclhGVVFOTFM2YmFDakt0b1FkZmRYZzZXbzdFbU9weWtwYk16T0lZL3RGVXlNdm82UWpyc0tSNzFqbE5yb0hBNnFRQ1B3K0syVGg2OE81ZVUwUTA1a2xPSHJzSHY5M1BkaU1WOHMzNDJRMHBnOWpuTnRDVUttVHgyQjU5ZWV6SmtUTVJCWU5LbUtYQWNoVXdxaWlvMFBqRGRZT051aDlYclhYNW1qK21HR0JGdVRDZmp3QnRiSEdxYTBpeGRGdWV5anRlNHVQRjU4aldISk9Lb2VlaktjZkJVbGxQMjljOVQrTEhMMzhhL2VNejRQRmtnWkZReGpDOEdMU1NZc0RpTzN6Y082MzkveE01MEdpVmg1R2xlcW4vNWJRb1gxSkhaTFVoTWhNUTR5RjJUcFN0V1IzTE1pckFud3FUQ05XamkwSjZ3SmlTVEN0Y1E5a1JJMnY1akpGZEk0RGdPdWFFd2paRU9vbzVKS0JCMHNaaWpQRExOMENtWk1JcFVaNFJZVXl1SjlxNFQ5dFQ3RGZkNGwwK0VBR1haK01lTkpXL09MTHp6WGlTeGFCMDVGMVJqanBsSXkrdlB3RmFMMEJVVHlSMDlBdjJsV3VpUTJaNlFBeU1aeXptdTdxOHVqdng0RlpCVVBpeW5pSFpSQUFoc3BXTmp2RzA4aHpNNlIwa2F1bHZwVHNhSnBaS0VmVUVhSSsyMHhqcko5WVZJV21uR2xRMWplRkVsQVkrUDRjWFY3T2xxSWVRTjRNZ2ttcWFoYXpvTjNXM2tCOEk0U3FGckdoeE8rdzBoY0tUaXJxZDNnUVF6YVBUME5zbytBS0lwbXo4K1dadHRWaG9HNlhENjZPVjhaKzRUbkR0eEJhQll0S0dRT3hhSFdiRGRpNk1FWWE5YnIrM0lBWVp2cGVDcUdSMWNOYU1UdVplclRoUFliUm5hLzlsQ1pINEhLdk11UFdLenRZSkNDTFJ3R08rb1VZUm16U0o0NnFsNFI0MXk2M0VIV3FSRFJYNDUzei8zczF3LzR6Szh4dEd6ZHo0MStwVkRPdDRRRHZwK2RvUXVKTk9LZGpDcGNQZUFqTy9tZDEyNENudjlKbEozM29mbi9MTXdaMHhHZUF5c1phdFJrU2c0RHM3MkhVZFZuNlh5Q2trQjdHbkc4Sms0eW5NQVBxMjMraGNLMjFZSVUwY3ZDWk5LMmFRT3dLZmxZbU9BcnRqZDVXRjdsMFpaU1FvcjBrMXJPa1FPM1hTempiWnUzQjVwQjdFdTlYZlZjQUpCQ3ZTY0xNRm9LbXNUSGpuUHdUbk9jZklEYmZRQ0VFb2dOSUd1RkZnMlduRVJzcU1ENStubjhGeDJLU0l2Rit2WjV4RkZSV2hscGREY2hLRWtldFo0RUVJd0VGbE1wbmI4OW5rK21IMWZJR2pyYU9QTmRXL1EydGxOeDZZbldQRFByMUJkVklwVk1BdUpSalV2TWYvdXl4R3gzN0lxSG1ieDZsZTQvcEtiQ09ibXUvZi9LSWxVWUVud0dDNmwwek03M2Zkdk9NbU5FMmNzTnhkZFA4cHVtNkVKUmhSNUtBcnBQZjFYeDFWNEtRbTdlV3RuamcxUm1wdmVhMzdRRm5QWTJaYlpweWY3WXEvM3BTNVRaWHNqQWtaSWtUdkYxWE90end1c0R2ZW1DcDErTmQ3ZHZnbUtqR053M3d1WHNydTltQ0ZGTFh6am45ZHo1cmkxRENscW9iazdENDlwdXprTWpvR2hISzVvZkltYjZ4NW5aTEtlVGlPRWN6UjlkVmVoWVhlYWxOKzhtOUl2TmtEWE85eW43UGF4WlJmODlBdnU2eTI3NEhUNWx1TVA5cmozTm4vN0pMWVRZLzdLTFd6YUlwazB1NTJVS3VLMUZRYVdiZkdCczZyUVJMaC83M3cyZDAvcEJuczZPdmxYYmh4NzJJV003TFNKQkVvSUZKUlNzbU1qSTFNWmxKUjRSbzhpNy9PZnhSZzBpSzQvM2tsbTJ6YndCMUNheVBhckdlQkg3em40L1dKTGF6MEFFNHFISE5adjlmWDhkellyTlpRSjVFaEV0WVBJVldnU0RDVlkwT3p3YUpjWHo5Z3hqTTZwb01DWHdVNUJTVmtwanovMmI0b0s4cm42NnF1emp5NGIwL1Y2R2Z5MVd4R0RGYzB2UG9qdTBSQ2hVc3ljNFFTbW5VVm1Wd1AydWczbzFudHpTZmR2UDEzTjdhZnJLSEJzV3UwY0FwNDB1dGNneHc4RlZqczVQc1hvWUJxTk5CdHNQeEVuU201QTRQWG9tQjVKYXlxSFBDTUM3NEJYRDNUOXVDTUJ2OFdqaXd1NCsyUFRXQkY3ZzNtRGZiVGpZVWtNWm12VGVYUnhDUHpOT05MZ2hCeGpObGpHb3ZPUjUwaXUzb2pzaXBMZXRodmZoSkdvdHlTdU5TWjhQRkNUUjdkUEcyQWN1bmYvTzh1eS9tdFFUV0dXZzR5alV0dFJ5VzJvK0JyMy9lQWtoSCtFYXkyYkZlK0poUGFYYUpwQXlkNTZ4ZEFsZHRvRVIrUEhuM21XNzM1OEVkaVE2ZFl3OWZmMlE0Vnc4eWh2T25jVjl6dy9ZeCtHZEFqUzN0N096MzcyTSs2OTkxNmVmUEpKWG4zMVZWYXRXa1YxZFRWcjFxd2hrOGxRVVdUdy9Sc0t1ZjdpTUY2dit4c3FEY2tOa3U1WEhKSWJKQ3JGUU5NMXYzMjkyZERjck5IczA2ak5GM1FIREVxaWttRzJqZEVDSWc4MzJieEh2MHFhNGwwMFJkdGRXeVNMVlIwem9YcGRZRTZaaERuN0ZOSlB2MGp5OFNmUmNuTUpmdU9MZU04K0hYdlZPclNpQWtSQkhpb1NSZWc2bnROblkwNmRSUHJGbC92Y01EZTlhOWY3WVBrTHNDMk1NYVB4Zi9BaTk3azNOaEg5L1owNGU1b1JubUEyVDIzdnZ1MEJ4MEVsVXlpWnhoZ3pDbVA0VU9KLytTdkdrS0hJWkJyVjJRV2FPRUp6MmtZTGh4RHhCSnZtWHNuUSszL0hLd3RmNC9wUGZJTDdIbmdBVGRjUlNtSGJOcnF1NHpnTzExOTdMVHUyYmVPSHYvb2h2cUhWTkh6OVo1amhFQmo2dXllanZaZC9VRkdHclJSYXRKUEtJaCtPY3BNVzlsb2VHYWxJKzEwZUVTRWwvdUErZTlud2FBek9LY0J5Sk8xMWpRaGQ2OVZQVEtCd2xFRzVyeDZ2bHFZOVUwemNEcUVKQjRYQVVUcUdzQW1iM1RRbUsybE5sL0JLeTNsc2pZMGw1Zmp4R3dmWGU4bTJGZkc0eGU3ZFVYYnRpbEplN282M3NUR09FSUo0M0VLcFl6K0h4UUdDUWpISGwrREtuQ2duMlFsV0xVcHkvOU1wRml5MWFPdDY3K2NjOEFuT1BObmsra3M4bkR3amwzV2VrM21nOVVMbVI2ZlQ2dVM3bWxCSTNpOXkyRmVpYWFEcDVGOTNEZUhQZm81V0o4TW1LNDlMcHB5RGI5eEplSVlNUTdhMjBmSFhlMEU2L1VZU2VkcmNTZVNFQTdTMGRKR2JHd1NndXp0R1NVaytYWjB4QVBMeVEyLzd2TFFrSDd1amcwRHpObkRTeCtTejBJV2dPRWRIMXdRdFVSdkhiZmRKWGtCbmZMbVh6b1JEeUt0UmttUFNITEZwN0xiSU9JcVdxTTJvVWk5Rk9UcTZFSzRPK2krNnZ3cndod3FRSmNNeHZUNjZHOHJRUEFWb3VvZGdYZ0ZLNUZJNGFDYW1MeDl2TUl3akZVSVRDRU5EbHdOcjNUajg5OHJlQ2padmFDb3IzM3lRcW9vU3FrYWRSdkxQVHlCZVc0Qis2eVVZVXliU1dQc0tJYy90NUkyNEMzQVFvbjk3dURYYlh2N2RXYzZxZUM0WGhsdTRJcy9sMUZrVXkrZUZyaEphTEMvbmh0dW9NRlA5YUdNZGNxQWVVQmlPNUp5elJpTWR5YkpOVFV5ZlVNSEtEUTBJWU5xRWNwNWRzSVh6emh5RnBtdTgvRm9OdHA3TkMrampIQjVvM0FiQTFoVFZLc1lwSXpxNVozY2xIOUZ6bURKNEpHTktCNU4ybXBFdThkbEJ1NXBLQ0RhMXhOamFGbWY2MERLMnRzWjRiSDBqSmI0RWEvZHNScE9LS2NYbmtoc29KdFB5TXBibFlEc2FKNDhwdzJneEVZYUI1akZ3VW1sUW9QdTl5SXlOc215bWppNGptVzVCT1E2NnB1RXJtVTNweUNzZ09JUzZMcHNSZ1N3SG5JTFdXSnAvcld0a2ZFVWVKZjNoS1F2UTh5V2hjeE40aGpvOW5QN0NVUGhQU1NNTTk3NEd6MG1pNVVpVUxiTGMvWkRaWVJCN0tZRGRyUGRwU2lnRlhvOGdrVlE4dThqaXN4LzI0ZlBDOS8rWVpNdFdtOW1UVFZadGRuQWMxK3pYTk5qVElybjJPekcrZGx1Q24zN1J6L3g3Y2xtMTJtWkhvNE5oaUg0dFQvalFsM3Z6UVAwLzcrcmVlNmttR1BuaWR0SXJleGZ0cWJZT041Q1c1VkFRZ0lyRVVOM3Z6Qk9uanhpS01XVWltWmRlSWYzb2svaHYvTGpyQy83N0taeWR1L0ZlOWdIc1ZldVFTenNQZXZ3Rk12V2V5clBRazhXVDdYZGZFd3B4ZE9NL1BiR1N0L0I4dm5VdkVBcVA3cERyVFRHMk5FTitJRWx0ZXdHUHJoOURhenpZZTkvTTZoNkpPcXdZenFIRUpZNXBuOFp4V0w5K1BXUEhqc1cyYlNLUkNMcXU0L1A1YUdob29MQXdqR1U1ZUwwNm1pYVllMW9PTzNZcU1ta1lPODVrNFdzU3BYUXNTeUtsb3FHaGdVQWdnR1ZaUkNJUlROUEVNQXpXcjEvUDVNbVQwZnZRUDdVOXFuaG1tY1hPRnNWSDZoeXVtbXZ4amVvMFk0TkpIbXd1WVVVczZQcVJZbDlEaklaSU8vOWF1NUJOTFhWVTVoWWRNN3pNaDJyb1NBRTVhWTN4elFZeVM3OFJFRkRZWVNIallHZlhnS0hEa0FSTWsyNSsvanZDZ1ZJaU5BTjdVeTNXZlk5UmQxTU9Jc2VMK25rTjF2RFgwQytZaTJHYWRFckpyMjY4a2RhLy9ZMnZBMGEyYm1pZ3hSQXlhOXFhK2dFRDkwTGZqNFJFNzYzOEZXQTdXY3BObndkd0NXTTBGTkl4R0ozYndtRFJUTEpnT004c3FhQW82VUUvNVQ4c2pQOFZsSTlUdFZFc1htcmhOY281ZDJZVkp4WFVVZFRkVFp2TVIyRDNUOEFnQ3h4M1JRZWpLUysrY1dXa29qa2s1NVZnREtsRHlsMDR5b08wZFpUVU1UeEJ1cUxEeUZqQ0JaMlAxTnpiMTFueTJGNGoyZkg1L1g0cXk4dFp0M2tMM2UyZGhLLytNTnJVVXlDVlJHVXlxSFNLOVBabU5IOEFzNklTWlRzb0pRbWZkeEdPeDAvbmhubElBU01MQnRHUml2WVV5dlZYV01SR1VhZ1VOelhWc0d2TWVld3VMY094TFJvUk5FYXpIcDA2aEMvVTNUK3RRQ0VNazBIZFRkelVWRU9oa3FRUUJ4MFBHSWoxMW51alVSQXllV1plQzcvOXp6eUd6cmlVN2xVS3hGQnk4Mkhudng3bXBkY1RFQXpoOUhlakdBVzJVcVNVdTNKMUlkNDExMWxrRlowQVVrcGhaMEhYUG5IWUhPTXNuVzhkWFU1Zm5HUkhZSWN0ckpSQUxzNG5PVTlIQkIzQ2VwYnNKcTZoeFhTS2gyZGdwVGJnbTNKSHpPYlJOMXN4ZGNFNUUvTHhlL29lSmRNRmpLbndjODVKK1N6ZEZxVWpaaDJ5TGpnc0JaSjlVSGFxbTFSSEhVN25Lb3FDV3dGbzY5UklkVTdFVG5YajhZZjY4RU1IK21tSlJqb0xPZ24ya004ZXJZVDVBb1NkcG1KTEoyTzI3R0RpdzhzNHlXc3hjbWdCbFZQSGtEZjdGQUl6VDhZY094Yk4veFpueVhHeXhlYlpPU0FFbXFZeGN0TEZCSXVtVVZpUVE4T09WWGc4R3VtZHY4WHJEWEQ2aDY0ZzJyeWFYSDlsZHQ0ZVhXTDNmc056WkhiK0NBUDdMYWllYVdwWVZwUnhZNnNCMkxpcER0UE13YkprejlhOHR5RXFlQStvZitVQmRMcVVDazB6V2Jhc0xvdTVldzU0M0VHRC9kbHpqMFVidStXQmlzUFgyeHFnUVhxWGo1WWQ1UU0wd3ZxM2dFOTlVVTRhbVlXTEVRVjVlSys1RW4zU09KeXQyN0UzYnNYZXVDVmJpQ09PR1dLMVZOb2hsYktKeEN3R1ZZUzQ2UFJCTEZ2YnpOT3ZGUE9adjF6RG5aOTZrRE1tYk9NbzkyUjA4eFVjeGZVZkNQUDNGeU9zM3BwaTdnVmg5R3cwMXB1bjgrYVNPSVlodVA0RFlReEh2WjlyODQ5cnlVMGQ3bVFTb0N1WWtrWU50NUdhUUIvbDZ1N0FSNk5vVWlHMkc3REt1eC9SM2dsNVA4cmVWTElNRHBzM3ZJN3A4VEo2NUNsb1djWVRDV3lwZVJNcmsyYk0rTmw0MEkrZCtXQUE1Z2xXMW5jeFp0ei9NejJrRHVRUDc1ZElvd3dENnkzMmx1VW9oS2FqK2ZXMzRTZFNLVHlHbDIyTjZ4anhzOStTWFBFYzlVdWU0S05mK0Q4MDA2UjcrOU84M3Z3S3NhdG1rUC9JSW9icnZ2ZkVJR0lkMGcweTZWQmFwRkZScVhQRzJWNVFDaXVtcUcrVWJLcXhXYm5PWXVWYW13MmJiYmJzc2tsMktiYVFvallZNDg4emlybGtTVDJWUmhERDFDaHgycmwvV2dVL3JXL0FiTlpZM2RIQk4xOTFpVWJMeThzWk4yNGMwNlpOWThhTUdVeWNPSkdoUTRlNkJOTUhBSm5mMCtFOElRTWlHaUNsQm83R1I2cWF1SDMwRGtxQ0ZrNUdvQUJUS01CQk9mRGpQM3BadjNzMTlRMk5JQVRCZ0lleTBpQ1R4MVl3WTJvRkgvM0lPTG82MHZ6bDNyVzgrVW9kT0VsZVhqME00Z3Q2a21WdHgvWEdiaGpjd2lYRm5keThlU2ovM0ZNR3VrVFQ1T0VsQkEwZERUdTI3UE9IRERoeldnNWYvV2doWjAwUFlacHVZdSt4djErQUZMbFkybWdTbnN2QU53bVYybzNRVEh6V1U2amQyOUc2TjZOR3pFSFRCSWJQaTExWVN2S3FXeEI3YXZEVWIwUDVBNWpwQkhwM0cyajZRZU95R3dlTk8yZ2pWKzVzWTBkOWV3OE9KNldpcnJHRDliVXQ2TUV5Q0pRTytMMzYzVzkrZVZ5dHM3eFpwOUM5YkNXZHJ5eWs5T3JMc2RvN2lHK3BPUzYzVnlGQWw1SlJWUVcweGV0b2piVnpTcmlJaWxNbVlGV0hxTjJ3a0VpOG5ZcmdVTHd0UWZRSjB5SGFpQlJwZG93dnhyanBNK1JWVkRKcTZoekt4azJpc1hVZGFUdERhMndubzZ1TGVPUE43UU52R2dlRGNNc3RNSHc0Zk8xcnNHM2J1eDgvWWdUODhwZHcyV1VETWh3N0c1UFVQTmtlMkFvYzlYYjlvQXR3TW5Eck1uamlZbmo4TEpqekhHeHJkVzAyMDNTTGRBK2s3cVFDellCbDJaNWVtbmw0dllBQ2VwS0hkMTdKb3RhWlpCd1BDRmpjT29OUHZYazdWZjZHM25OYVFhNG53a2VIUHNyblIvNkZRZlhiYWZ1Rmg4aHIvZ01YSkdUSDR4OG5LYjRtalhWS21MODJYOE1mWHZzVTJ5TERzc1dlQXp5L05RTkQwOSt4Z05UUWRJUjJsSXU3RlBoMXVMSk00NHREREVZRnhVRXZsL1NtSkpGL3RwRmFIVWZaLzUrOTg0NlRvemp6L3JlcXV5ZlA1cndLcXh5UkVBSWhFRG5uWkRBT09JRURQdHZuZUsvVDJZZnZmR2Q4UGllY0U5akdSSk56UmlBQlFqbG5hVmNyclRhSHlhRzdxOTQvZWhTUlVOcFZBRDJmejBvejB6MDkxZFZQUGZYRTM2UDdiejR2dVFRS1lKRzdLaGtTSms1ODUrY1RKOEpqaiswNU9mZC8veGVlZXVvOXAyOE5TQnpOa2p6Nzhocml5UnpYWERpT2U1OVlpbUR2QUEzZU1iam13bkhNV2J5Rk4rYzJGZ0E3OUY0TXdWMzVmNCt2dDhreERKUmhJY3hqczBHeERHbENZMXpNTWtYeGVaN2ZScnZnOUVqU2F3eFUrakJzMkhMUDh5c0VXSU5kZ2lmYk9CMEI3SlpDdk93d1RyVmh2cDlUaW8vVFhzbDFNWXFpdE43K0t6TExWbU9XbDJMVjF5S0NRWVJob0ZJcDNIU1dvb3ZPcHU0SDM2Qjh3bVN1emVjSjRYckpnd09rNzVXVmZINlg5eHNmdTNtdnZqb2hMRlJ1SGFyM1lZeUt6eUxNVXJSK1oycWpsMHhvb0oxZTNLNC9Ja3MvZ1BTUFFtdjdrR09OcGVIUDdaZWQ2Q0NZUFc4VG1WUU9wQ0FVOHFHTWdRSGxPU0FLR2l4ZTJjY0ZINXZOdkNXOUVESlF5b3R6Nkt6THozODRoYWRlYnVYbGwxb3hveGF1MGdWZFZ5QkRPVjZZTjRyL3UrOU12bkhEYkJEd0w2TnNUaTl4K1BYRE0zajRUeGNUSExtUnVTY3VZUEhRSmd5cFVEay90aFpJb1FnYlVHWnBUMi91dDJud211TGx1emNRVy9RZ3VmYWw1RHFXSWFURzdtc0dXUUJsVVR2OXBQQVNzMldnR0Y5RlBVNmlrK1RhWndrUFA0ZEE3ZVFkNXh5dVBVMEtIRmV4ZEVNYjdiMUoxbS9wNG9NWG5NaXBKelFROWhuSFpkZE9OTGdzeUVzdmY1WEpZMnQ0ZmY0bXZ2UExsL2kvbnp3UE9RZGN4VVVmbnNiZFA3cVdvckNmZjc2NGttLy8vQ1crOVc4UGVVV2NQcE52ZnVjeS92T0w1eEpMWlBuTmZYUDU0UjllWjlialM4QjJZWEFwRDl6L0dUNTQ4UVFXcit2bHBSZWVwdTFqSDZMbjhob3dCT0huRTZ5YWZ6K2p4MHhoNXRzYitQWXZYdUduLy9zOFA4MDVvQlRtOE1wOXNLckhnVzUzRDNackcwSUs0Zzg5Z3IybEJhT3NGSjNQNHhzeEhPSDNJN1JuY0dvZzRwT2NXQnVnSm1veXZNekgyMXZTdE1VbEVxdmY1WEowMnFUOVgzbEs0eDlVdldzeXRZRGd5S0ZFcDAxQ21BUEF1Ni90Q3NodzJ6Ti9QWEFkMzFVNDBSQkZRdzMrN1ZISlU4TTFBUnZHVzgzY2taSjA1OHQ0cFVMeWI0MlN2MzdBSUQ3emZzeEVHbTBjdWlKMzlia25IdkkxZWxOOVBEQnJNVTVQa3BQVG5jeXRMMmZ3TlIrbDlQSUxqcXp0VkFBWG05b2xDQmVheDg2dWdlNEFrTk1veXlDOVlEbWR6N3hOZHZOV25QWnV5ajU1SGVKd05PUFJvQ1VrTWdacjJnT2NXSnJEeUxvNDNacklzRlB3ajZxZ2VGUWZhYjJBMVMwMmxlVVpEZ2VFdEJGU0Izd2ZBQ1crRHFyRE9XS3hLcHJiWmpEeHZDc1lYd2xyWWc1ZHZiQmhwY1dXdWppWGxyVlFXaFJIYmdQRE9CNHUzUDlKUnFPY05GMGJIcVZ2ODh1RXkwOUFhMFc2WndWT1BrNjBjaXFHRmR4WjZ4elk5VlZZWStIVFQyWG9mM3lIb3VuVEN0dUszdVdrb2pObm9LV0IwOXVMcjc0ZUl4SStMRW4vT2l2SXo3ZnduVzRUdWlWRDZyY2hVcjhQNGovSEpuQjVEbnVaU2ZEYUhMNVRiTEl2K1hEV0dPODZaVUpyN3crTkt3MlNvUWp0cFZVMDFUV3didkJJbW1vYmFDK3JJaFVNNDBvRGdkNytIVU81L1NZZndrZFFQc2ppL2Y4TlV5dndDNjQ0YXo0L2V1a0c1cXdkUTNleWxJdXVlZ0RMY05qY1U0RkFNN3lxblVRbXlKUHpUcWM1Mm9zL2FuUEZXZk1nS0RDbFFnNXdyck1RbXFyaUdBSFRZVXVzR1BjZ2t1VTBZUGp5RENxT2tYVk1PcEtSOTBWSVd1VHplTmg5Z2x6ZTJkMlY3d0ZaT3g1d25CWUN0MUNBdTkyMzdMZ0lJYkFzY3creVF5Q1ZTeVpVUk85SHJtVFVpRUVrZlZHTUZldW9MaHZNYlJkYkRKK3dqRk1ydmtOcWhTS3FYTlErN0tTQnJrdVFRcUF5TmtXNUxHL0hvb3p1N0NZWnFxYTlMOGdwZmN0WjJWUkZJRllFamxlSTJwOHBpRGxIc2I0cmc2dWdKMjIvYS9PdTdXNFlwVm5Va21SVGI0N0duZ3haNTlCR3RHcm1rdjArZHpnd05OZTdYVzRKTklQeU1VYkZXdWhadUpXZTR4di9PMGdkWXdyVGlDZjJiZzl0eSs4MnRpTUFDNFFoMGE3eVlqeEtJU3lUL05aMm1tNzVHblpMdTdldjFKYlQ4SmVmNGF1dktlUnBhRkFGNEh3cHZmeC9RK0xrbmUzK2pMM1NrUHAzRWVvQ1lXaklDRnIrcTRSelA5N05EMzB1YW0vN2d3WXNUYjVWMHZXSW4vb1Blb0JHN1EvN3lXK1ZYbjVjZjI4S2p6NDZBRXltb0xuWit6c2FlRjZES1dCU0tDZUsrd1IxQzZUZTFHbHg4bVl2M3ZMcE9XbVNmc0dxYXBQNWd5MnlWdit0RVJWTDdGTUxsbUVYNjhJTXFzbEE1L1lRaEpFQ1k0aUxDQlMybmxOenlGb0hWUG9kK1RiQ3I1RU5Mdm5IZzZqWVFlUjNIaVIvYVEydFhZcGw2eHp5RHZUMEtkNWE1TTN2ZzgvbUtDdVIrRXc0WVpSSlRZWHNOM2VrTUE4c0xyN3RaNWM4OUFnbGcwYnlRQ1JNb21VclNpbiszM0NMaEZTbzlRRk9sNUtMNitzSUpWTXNlZWdSWmt5YWlCeW94bDFTWUxlMFkyOXVRK2ZzZ3phNzdQWXVjbzB0aEthZDBHOURXN1NrOWZpbWVWZ1ZZcndhMmlHZ0svQ0F4UWNESzBCa0FRc2lyc0R2d2ltblNLWk5scHg2b21UWVlFRWdDS2FFV0FLYVd6VHpseWxlZlZNUkRDZ2FtL1Uyck8zK1dPN3ZrSzlJd2VaNGp0dGZhbU5FUllDeFZWN2RseERiSWxRRkhVMmFoSXRHc2FCbkRiOWIvalMyNjlBN0JyNDQvaHFFdEFyeHBQNnJvWk43RURSUzdMaTZRSGlBTG1KWFoxSlRWNXFmUDcyV2dNODRyUFY4QTJWZkNEemc3NkNaSlp2cUlpeXlEQXFtNk52NE9vWjFBV1JqOUhaMUl3SzFYUC9oejNISDNmUHhBdjM5SEgvWGhRaVgxc1JUdmVUdEhKV2xWU2kzQjl1eENRb2JKN3NGYVJWakdoYlpYR283VHh4SmcxZ0R5akRZM0oxay9lS05qRDF6SkQyT1psWFRKbkoybUZITnE5alNuVVFacGVnQmJCamphczJ0d1FyR0czNWFsVU9mZGxHN1RjeHhsK2dBclUzRHhPMXNSK2V5bUVPR2tYbHJKcUVMcjZUdk56OG0rZlJENUpZdlF1Zno1RGV1QmFVd0txdVI0WWhua3lnWDM3aEpaQmU4ZFlqeTRkaXF5elVPQUNSM1czUnQ2cUFRejMxbUJFTkxQWDNMMnUwYTFrNGRYNGFXK25qdU15Tm9LUE85NDlqQmtIRlEzOS9wTzcvOURheGRnenRtTE1hNmRhQTE3dWpSR0d2V1lJd2VYWEJzOWw4QzFUUHh1dy9XYVltZHpuS1NmUzQvbWRmQjdEbXp1VDQvRHpQdk1IZnhLVHc5dG9Kdm5OUEo4N0cvWXRtQmc4WmJPZU1kZHNMeFFwdmo5UDVTNklYdzVPRHZIdGxNWmFtUGJFN1J1RFhONVRNcUFjSFRiM1J3LzR0dEJQeVN6dDQ4RjAycktNam9JN2VUYXlFd1Vqa3lrNGZSZDNLT0RiZC9sYUx2UGthSlQ5RDM3R3hRbW1KZkNDUGtReDN4NXZaZVRwZFNtb1dMMmtGcjZ1dENMRjNhQ2NDa1NaWDBkS2RadUtpZHM4NGFqSlNpMytiM21NN2ZPVUJ5bE12OGx0VjBwK01NTGE0bW5jOHlmOHNxaHBaVTR6Tk1CTEExMXNYU3RnMzBwR09jTy93a0tzTWxHT0lJNW1ZTGdWRldodHZUNHhXckFOZzJSbG5aZ09URS9iK3pCdSszWFZvc2JkeSsrSTZpR05kRjljYVlYQmRpK0l6NkFWbFNkeHdYeURzcnB4d05ocE9VY05KWXVQazZ1TzU4cUs3RUMrd1ZtcjkxMkJhUDlKWnpaMmNWR3JpNXNvUHJTcnVwOXRtZ29Lb2NidjJROTkxSFhvYS9QQW9MVi9VVEJyMFF1UEhFOXRlN1Q1ZFVHaDBPRWo1ek9oV2Z2SkhvV2FkaGhJS0ZtcktqU05mVEdpZVJJcmxpd3p1YUwrM1gxNVVpdVh3RFRpS0ZFUW9jdE95d0RxSmg0N1pNbkN5d0NhakdhMXlUMmJEQkV4dEswU3dFbTRRZ0J3UTRoT3lkZm1wY2dCS0lzQ0wzZERIbTJDd29RZkRqM1FBa2YxeUxzejZBc3pxQS8vS1loeVo2aE5hLzRhWm92L0lDOVBuVENXY2RObi83VTdSMjlaRWFXa1U0a1VBRGlhdk9ZdGxKRTdBclNpZ1drdmo1cDlMKzlqTEtuM2dKMXdnZlVrT1ZQejB5ajUvLzdrVUkrWmt5cmc0UUxGcmRBc2tjUmJVbEFQenk5eTlCZUtmanExb2dsYU9vemp0K3g1MHZRY1RQbERFZXB0U2l0VnNoa2FPb3BuRDhMN3Q5Znordkh5bDhmMzg0VkxBTmwxTHMxVitxSFJkaFNLenFTaktyMXJMdUY1K2lzcnNNMnpnSS9QaitWWGFKR0M3bkZjWDVlR1VQazFXTSthK2wrTWRUZVdZdHloTlA3bnR3dmIxOVBQelFnNHlxajNQRHBSR3VQTjFQVGN4UDN6OTl4TjQwc1R1OWRYOUlxcEJob09NSk1yLytJNUhmL1J4bitVcWlELzRkMzhVWGtQcjJiZGl2emNZOGFUTFpQLzhWRVlrY0VsOGUrcDYybzc1dnpKZ3hCZlZHNGJxYTJVdmJxRXZsS2ZZTGxDcjBQaFVDdjNicGt3RmVEVFN3MFN3bHFHMm1PNjFNN3R0SWNzRVNJbE1tZ1dIZzgvc1pNMllNV2hkd2RHWC82cGRxNTJaUVIzZ1BHOGg4SXluQXRSVkVJbnpDMzBqVkZqL1N1cHpoSVEvWWZaNXhCZFdiWTN6YzM4aHZJeFc0MlN6U0ZPOWV3eTFzZ2lKSFhwdEVSR2EvZGlLTlFKS24xYTNuK2Z3cFZNbytOdXNxd2pwTG8xdERqc0VVaXhSWjdTT1BTYVhvNCtuY2RON01uNFFRYWRSaDdqSW5CWXdjV3NWcEp3N2ZZM3hwWngzL3RDbkRHVG0waXU3ZTVEdnE2dytmZFF5R2tFVE5JSjI1R0MyWmJ0cXpNYkp1SGp2bllpQnh0T0lQNjE4Z2JQcTVwUFlrZk5MZ1NLRXhTUUh4dk10bFkwMmUvdU85b0ZPODhLZGF6eVlHWHZoVE5lV250ZkwwUGZkeTltZS93b05MWFVxQ0p2MEJ1ZkpFeDVOSHRjbHl6a0R4aUZRVUJ3MDJ2UlZreGljaHIxeGlHU2dPbWRqS1pkMXlXUDF5Z0o1ZXpRMy9saUZnU2tJVmtwN05zSFdwSDEvQTg4SHNTeTFlODYyZkhsdmV1ME5jQUVwcExOT2t0TFNFMWF0WGtjdG11ZWlpQ3pGTm83QjNIWS9XSFV2MDdDMy84cjY3NTdWcjEvSy8vL3UvVEowNkZhVVV5NWN2WjlteVpVZmRPRzBCUzRzRUc4SVNKV0J6d05NTG5xb0JxV0ZFU2pFcHJ2RWREMEVkZ0FDRWZGNVFVMlN6OFkwa1Y5MjZpUmRhenFhc3ZvZFR6RVU4Tkx1VWtnbVJuVXVNanB5U0kwQ25YVlN2alh2Ykt2UlZkWng1Z3lEY3JuR1VaRUt0d0w2L2pZNlZtdlJKdzZuZHRBcWhqalBEZnV0bEdzOVhmUlJNV1NibjBOeVdvTE1uVFM2dmFHNkwwOVdYSmVkNEdPNWFtNkFOSWxhV2lhRU5uRmE4blBOTFZ6Q3hkQXVoMHRHNHRkZGpEVCtEY01QcCtPdW5nRFN4WFUzejFqZ2JXbUtzMzl6SDBqVmRMRnZieVlybVBucDdNK0M0WHV6ZVp5QWp2dTNtb2RxRGpianhPbEJaMEZtdktmV2UwcGQycjNVeEFoQTVDMG8vQW00ZnRQOEUzQVFVWCs2ZEUzc2FFaTlEOWIrQlVRSzk5MEp5RnJnWkVEYW9KRGdkZS84ZFlZSHdnd3dlKzd4bzdBY1RhZ0R0RWpHRDNOQndQV1grVXBUMm5Pb2FUY0FJRUxXaTI4K1BXbEUrTmVxVFpOMHMyenB5U0NIcHlmWHlRT045b0Yzazl2blVoeVNyWk5pbCtQSXVWRTRTS2UzRDdUR1BPSjc0b1loZUJHenVFYlNrYXppaHRvclczaTc2c3BsZGZJRUNRVjhtUTNsUkdiV2xGY3pxNkVCbGt3ai93SXNVcFFGVHN6Wm1NY2czbm1kZmZKQnYvdHVmS1g1c05URlhRRDdIbDg0ZWo1dU84YWU3N2lVUURISEx6Ui9tMDlNSDhiMm5OcE9UQVVwTERNNFpLdm5MTEp2TFAzNHJmMyt1SFN6cm9PSWMzL3pNR2NidVh4TTd6YWVyOUE0TVVlSDVFbmEzRlN6VFlFaGQ4ZlorSlVQcWl2bmlUYWRpNzVZWXR1dDExUTQrRTE1dHl4NThHT0xoWHgwRUgyaEJSRHBjWDd5SnYvYU1JTzc2dGp0Mk5SQlhGbXR5UlR6WU45U3pCWE5GeEpXMTY3UFhncWlSNXdQRnpXek9oN1kzNGw3ODlWbWMrTk16andxLzJUWU1yRXl2eTMvUC9pVzU5bTUwamNWclRUWXZqeGpFOUo3VjNQYm1MTnBIaitFTHljOFVOczREMTd1T1pzcmI3eThjRjh1d3VIamtxZFJHS25oazVSOXBUWFlOS0thT2VwL01xOWFLVkx5RnVLNWhZYmRpbEE0VFB1bFNhdE12c2JWOUUvVmpwekRpaEJQbzdtNmtzbXBrdi9uanZ6eFc3MmtYOC9Zcm9SQzRhTDBONDNMdnhvMFFBcVh5OUQzekpKa0JqQldZVVJjeHZvL2Z2dGxKY0VxYWo4Mm80bytQeG5Fek5pZDlGS2Jua3RTSEhkSWIvYVNYUlJCbWdQR0VxTkZSYXMwQTkrYmEyZXptWVlBUXU5NXREOVJhZ00raEwrM25yZDdCRkVlOHVzWllLb1F2NktCVkdoek54ZWRONEZQWG5zVDVJa0grZDMrbDdZbFhjR0p4akVDZ1VPeXNkcExmRWplVFEybEY1VVZuVS9LcDYzajd4RkwrdXVWWm5sbzlrNzVNREt5QTkzejJRN0VxemI5ei9LYmhNcVl2Uk5NYkFSaWJ4VWtLUW1ITmxxMndaZ08wZDhIeVZVRE95K0ZBQzNKNVRlQzFZb1lMaVoyMUVRTVYyejZJUUtKS3gwaTgrQmNTei84QkZldllmbzE4dkF1bmF6TXFtNkxvcWk4alE4Vkgxclp6Y3JRbXVtaExkTk9kaVJQMmhlakxKS2dycXFBNzFVZHZOc0dhemszVUYxVnluQTVjc2RCYUU0eU9vS2V2Z3plWGZwbTYrampKdk1uTXhlVU1DZDVCYWNsZ3ROYkhablBhZnFKakRaOGVBVHB2azM1MUh2N0pZNUNsM2hyV2p0ZkEweHBXVC9xMWVlUldiUEJxVEhlS21VczBnNXlVK0ZCc1krQ2tUTmZFcDZORHZ2MUtxUDc4Tml0OHB5UGNGL0tJbUo3K2E1YzVYM3pIenlaemU4ZTZHalcwbk12T0hjKzE1NDhENEpHWFZ2SHdpeXRadDZtYkl4VmMxUGxDWHdqaGcveTJRZXhrb3dyVEEwY0hyOGJHMlcxZmNEUUlZd2NXM0FEbkJ3dzAzZ2k4RS9kOTI3SWZxRnNUUUhGT0hoVW16djdWSjRuOU9pNzlGanFaeEUzRVBUNDYzbFRtNEx4SjJvV3VKWURHVFJvWVBoL0J3WU1JWFhZQitjNE9aTFFjOGdvN0UvT2NudDNMb1B5RVEweXUyai85ZHUzYXRmemdCei9BNS9PeFpvM1hBOFlzZE9HK0xkWEdRanZOOThNMVJJUkJBaGZkSXRGS2JKZDNuUTlLSWlmYkZKL3BBUW9LQ3hKekxaSUxUR28rbmNVSWFkeTB3SXpxQS9BSGVoZFhIWGNnd3FjaXlqNk1qajJMclB3OGFzdlhRZFlqSXVNUnBrbHE3aUphL3YxL2lMLzBHaklVSmxCWmlldTRYcFh2VWJ6ZEMwQXBoVDljeklrakoySjRDamQ3U2pyUVFEeWRZdjZHbGZ6MnNiOHpkOVVpN0h3T1d4MTRMWFAyclNYSDFPb0pCSU5zMnRSRWJXMHQ5WFYxOUhSM3MzNzllc2FPSFl0cG1teHFhcUttdG9aUTNSZ3REVU1nRk5nWlpMd1QyeXJpcmJZaERMTGFLWGF6dUxxYm9kVXB3bjY5VTcwOE9GcGlwSHVvTXJzUmFKSXBTR1FFSGJxYXV2eGFSbVU3TWFRbWxHM203YUpyY2MzZ1lkL2Z0UEFXMTFOUG5zUFZsNzNJM0ZYaklCcml6SXE3Q0JWOUhWLzh6NXc1NWhXZWZQZ1VmS05mNG9PWE5mSDhLNmVRN2dsaUZPVnhYZkh1MGw1RFdSUnVQTU5QVFZSUVZpeW9MNWZjZEs3RjRGS0JNZ1JQTDNDWXY4WkJDYy8vTEF6dmZqb1Rpc2VXV0t4SVRXRk9hd3MzYm4yY0UxSkxEdnZ5MjRhL0dEajlGT3IrNHh0RXBrL2RweTEvUkdXQUFLbGdjaTJzMmdyQ0VWVDZJVjlmU2NWRjU1TlowT3U1Q0thV0V2OTdPYW5jWm9weUFuOGZwQ1pDMFhJUTd1R2VZMDNFU2xJUjZFSWNvRDRnMEZRRXVvaFlTZHJwSHh2Q09ZUWtSSzAxbGltSmxwZHpTaWlBaUJiVDFkWEZCWk5IRVkyV1lCb0dqcU9PV01ObFpUdTBMVjdGaGhkbTA3ZXA1YmdxOVI2a2Q4TW9GUVdiUlZSWGtaWlFlc1ZWWk8vTjBOdlpTM1JrR2ZHdGFZcE91eHhyNG5neTJzVXNLVVowOVNITkFheGZQY2J5KzF6bnlQaitGT0FNMEI1WEZBaFRGUzFqVUlsWGI1MnhzMnpzYm1Gd1NUWEZ3VEFaTzQ4bERXS1pKQXMzcjZFejBVTjNLc2Fna2lvc3c2U2hySmFnTDBCUE9zYW1ubGFxbzJXNFNoMGN6d2l3SFkwTWVQV3k5bTc5c0F4RGViZ2VvaGlFNHV5UjgvanUyWTl6NFFrTEFNM3NGZVg4NXEwaVptN3c0MnBCa1Y4aGhQWktQUVk4aUM0WVhadmwyNWUyRWZLcDdUaTNtUlZKdXY3ZVJtWmxhcy9tc2k1Z0t3cUJMQ3JDUDNvMGtkTlBKM3phYWZoSGowWkdJb2RWaVRoOStNbmNmdm5YT0hQNDFJSUpjZVQwbllCaEg3aDV2TnRIcGxDWThqQkZEUE83alRlZng1NzlOdTZHSm93UkRXQklkQ3FOenVmQmRuWnlJaDBaT2JqZHZ2Q1pCMjVmYUkzamF1OGNZKy8rTTBOcTNLekpRL056L09TTDlYeDQydVhFdTd1b3JBanlINzlhZ0VxM1lZU3QvY1BUcFdnL2hQVFJzMThjYTM3eXZmbjdoTllJS1RIUWFOdkdHRHNFLzAwZlFqVTFJOGVQUlFRQytLNjRERGx5T0NxYlEyOXBSZ29QTDBpS0FwNkVPSjdMcnc5SWpua3hwcnYrK1VzNjJ6c1lPbXdVcld2dVEwLzRNdW1Ld1hUN3BpQ0FzdG9wT08xTkxIcjFMeFRQK0JwdnpudUxEVTFyK1BuMzd0cGhyeDZCdVhjMVBMZEpNNzlESXdYTWFmZnUvai9lVkNnTnAxUUtMaDBpT0JveVpVSit3Wmxqd295czh2SldpNElHQWN2emwxNXlRcFRUUjRZQTJOQ1I1N25saVNNK1htRkNhTGhMWUpCQ2FMQXFGS0dSbnVDcnZEaVAzU1hSQXJKYkpPbU5ocGRqMjg5Nm83KzRGMU82L012ZlBzOXo4MmJ3Mk1McFJBTnBUTk1objRPY05qazMwc05YTmovQ2pQZ0tNcVUrRXVWakNlZ0JGTkNKem4wT1hBbHcraXpxdnRSTTlSZTM0dmFLSFU2cmR4cFVxQ1JjY3g1VWVlWGpkR3oxUGtQdXROWHM3M2tES1ZzMEtDVm9iTjFLUE5mSDhwNCtFaXBGZTByVDNGR00wbjR2M2JDL1JZRVFDTXRQYWZVUVlrWDFOSlFQNTRTZ253N0hZcTBxSnRQYlRxaXF3b3Y1S0JlanFwS2lqMzhVbzdxSzN0LzlFYkZnSHBiZXByZ2RXZCthMXByMlpDOGJlMXQ0YXJXSFJYakYyTk1ZWGxwSGRhUnNuekgvUS8zK3ZtME1qYVd5RUZhb3dRSTNhS0NVQjlYeVZrenhRS3RESWxUT1I4OC9EeEE0S2t0WFN4L0RLME0wcnZkeDU1MTNVbEpTZ3QvdjM1N0RrTS9sdVBiR0R6TDJsbjhqbit1bDlkVm5LUm8raWNHblhrYm5LMjlnTEY5T09OT0hxeVJLR3UrNmxmUzN2OXB6V0dqNjhnSFNya2tpM2tNZ3IxbmJiakptVEpRMWptVFMwR0o2c3BwNXJUNUdsWnFzYVpTTXFkVms0eWxTZGhoVTBIUGs2b0VmNys3NnI5WmcrazBTVzdyNS9OM1g4TGxidWlocjYwWUtnMERGR1A3bEw5ZVEyTktOV2Z4T3ZNcmpkT1RKNmV6QmJ1MEUxd1hEd09ub0lUVjd3VHVFcU5LQ25KSmszY09yelJ4cjliR3VPbGdtZHhIQmthakVBbFRuWDlGMko4SS8yRnR6WFk4aXJBcGsrYlhJOEVpVXlzTkFhNVZhb3pLT1YrOWtlTGthcHFHd0UwRWlaUW4rK1kySHVPVHNEYmd4ejNkcUdmdm5mekNreGtrTFRwM1V3aFducmVTcDF5WmhGcVZ4WEhrQVE5TTRqa05uWnlkUFBQRUVkOTU1SjVzM2I5NStmTWFrSUQvK1FnVXpUZ3g2ZVZFWnlLeFF4RjUxeWF4UXFHd2hWZUJ3d2taczY1dWRodFY5QnUxMWdxcThuK0cxWmJTMWRMTGNVaFIzZ0J3bXdMZVRtaUFFd3JRUStBcVlXdXFveWlvUmhvRjE4b2tJMHlUMzdJdm9SQUwvZFZmaFArOHNVSnJzVXk5NHZacUhEY0dhTVExWlVvSW9MY1k2ZVRMNWwxOUZPdzd2ZTVJQ3JXMThKMDFHbHBlRFV1UVhMY0Zldmd4aGhUelp2UHVtdXkxL1Q0RlJYMGYwaTUvRHFLOUZCa0lrLzNBbmJvLzJtUHd3K1RhMTQwTEFqK200YlB6ZzU2bjk4YmY1NjkvL3pyQVJJN2p0dHRzS3ZtMEQxM1U5dkI0aCtNRVBma0RUaG8zODllNi9FeHcyaEkwZit3cW00eUNDZ1VMZTRrSDRkN2IxQ3BQR2R0enIzVlI1WkVGR2F3UnF0M2hvM25WQmdPVXo5K0FiMXRqYTVLcTZoemkzNWdXK3MrU1h4T3hpQWpLUDBnWittZVdEZys5bVl2RVNmclArRzJ6TkRPSzM2NytPejhnUk5OTW92U2VCWSs3VjFtbHR5NFBXZFBWNTQzV3lUcUhYOHp0ekxoVmdZNkNQZ2lTZWJlMndoNW8yVjRSU1hCRk80Ry9MY1A5TFdlNS9Qc3VTTlE3N3Mrd2I2ZzJ1djhESEJ5LzJVVHg4S0E5bHp1UCsxZ3RZbkJtTnJTd1ErN0hudU5ZeEpRb09PUHEyRTQ2dExpK2wrSE9mUVplWHNPQ1pwNGxXMVZNM1lpelNOSkcxMVpSODdqTTRUenlHNk93cytNc092WmI3d3grWXNSMkR5NnVEOW1wbWxWTGI2d3JWWG82YkFxTHVHVjZmeDRGaTJ6LzkvS0MvYWtrSSt5VEpuQ0xuYUVLV0pCcVFqS2p3TWEwaHhNcldMQ0dmNUxUaElSWTJaMW5UbnNOdkNuS09KcGxUaEgwU3l6ZzBHTFpqYlg1MW9SaFlhNDBWQ0ZGUk1vVjhPc0d3YVNlUVNYUlJPMkl5blp2WFU5VXdHZVhtdmQ0Q1F0QlFHK2FIWDVqc3hVZ0djTXY2eGtkMyt5Q1ZmUjhwR2g0VE5HMU9zcldyQ2lGNkdCcmNSUERLejVBLy9TYk1oaEhFMnhkQjZpNmN6SEl5c1M4UUxwNk03c2ZDZEZjTFppYkttWmNxcHMveDhYQnZMV2RGdkU2TkQvZlcwdVg0bUpjcVptYWluQnRMdDJMMEZ6Q2sxQWM4VTlyVktCUU5EYVVBekpyZnlQMFB6NmV0clErQSt4K2VUemFaWWZpSWNtOGR2cTVBYTYvZnh5RXk4VUQ2YlFTZ2xVc2lWWXhVdGNTeXE1R2lCRU5ESk96bjNCRlRlWFAxcTRTdEtucnNhbkMySW56R1BsVkowelFaVlZQQ3MrdjdhSTJsV2RhZW9pZ1V3RkVwTnJadEpKdktFZzFNNSt3aEY1Rngyc25IVjZQemVTWU9DVk5lYjJHR2doamhBSFpmQWhCWUpSSGNkQTRubGFaMlNCNDdieU1NSDhIeXNTU0t6Mlp0c29JbGpWM1VoUVVqNnlwMitDeWtRVS9PNnpYVlh3cU5TZ3ZjSGdQcnZDekJrM0xielc5aDdjamY4QTIzc1FZNzI4eDVNZ3Y5WkJiNFVlbER6eTh5RE1qbE5TczN1dnprcXlHKytuOXBhaXNrTjEvanA2eFlra2pwL1dMcWJXYjJRT090bnRYeHpyeHB0MFdUMjcxZm9mRDZiZTY4UDJtbDJidUNLQkRGUmZpdnZRd3NnL3pUTDVJcDJFZk93cVg0THI4US94VVg0MjdjdEkzVDkydTg5cjZjQVdKWG0zei9KTzBSbHZaN2F6T3FCVUpvVHFqcFlISnRPMEpBeUxRWldkNURWVGpGMW5pRXA5ZU13bEU3YW5TT2g3YTMrU01sZnIrZlFDQkFJQkFnSG8vajkvdngrWHhrTWhsY04rekZRTFJBdVFJaC9keHljeTFTR3J3OXR3WEhTVzh6K1hGZGwwd21ReUFRUUVxSmxKTFMwbEt5MlN4K3Y3OWZjRzBkRjVac2RHanZWYXplNHZMeDgxeHVISjFuaEQvTFBaMlZ2TmhiUXJkajdueURaT3c4ODVyWE1FK3M0Vmp0SmlZQVYyZ3lwa2JKSFdVaWprVUJUNldBc1NBaEx5RVBwTVc3dUFRTGNpdTlhakdqdnZsYlRyMzE0NENnYi9BVEpEWXVwNXl6ZUd2VkN2NTJ3dzFjdFdJVnAvaE04cTViaUVFTi9QMmFldWZkZisvamYvZHpkanZSc3hFbDFiNHMwY0dEK2RQR2NUUVg5YkkyOHpnTE55L2twOU9ld084eitQYWltM0d6WXdoWkpuOXBITUlOd1MzVXExNjZxQ2lVUnZYREhxd2tCR0RZNE5kWXV2WUtxRSt5ZGVObVZINERibzBnWGprVVNZcHdjUm9uV0lMZGwyWFV5RmZ4aFRWS0hSNVBiMWRYRi8vMTFhL1NHUTRqam9GR1YwSUlRc0VnVlZWVm5CZ0k0Tzl0bytpaUszQ3Fxc25NZlF1bnR4dXRGRzQ4VG1iWllxTG5YSUJ2K0NpY3puYUNFeVlqZkVIOG0rWXpwWFkwbGI0d1dXVWpoRUYvWm1OSUlJZGcwcFlsM0RUL0FYNTYyc2ZKU21PSDM4UGNmeEcxUGY1ZUdKNC9uK1NtK1E4d2Fjc1Njb2J2Z09JQkE3SGUzdmw4RkZwSCtjRi92c3ozYjNPcEdITXRHbWhhK2dqLytUOXpRSmNqaFV1L1l4Z0tRVkFJaXFSRUFpRWg2TjNIVjRKQ1VDb2xFU2tKQ25ISUdzT2ZMdi9qVWIxMlBqMS8xL2Z6VlBLZ05pa2hQT1Z6NnRseElscnkrc01ScE5TWVNkQm1GaFQ0L1pxS1VKNjF0YjFzSUloUWVrRDkrdG04WWxObmpzNjQzVys4SmFWZy9LQXdrYUJKUE9QdzFscjdpR0hyN3dIdmJFQ2M0TzVPMTVVNENPVVViRU5CaTZpZ1JkVHdzZ0NSejFHM3VwZXhxeHVaZE84OFR2RGJqQnBXUnYxSll5bVpjU3FoNmRPd3hvMURCbmN0cE5TdWkxWXUva0NRd1RVbWovenNURTQ0KzNNMG5Qb1JpZ09mSmxSNUlzSGlZYnNJSlhFa20zSDE4L3p1TGx1OUJ0ZUtpb293MTEwM21UUFBIQVJvWG45OUM0OCt1bzdXMWdSQ3lOMTZPK2dENG1Fdjl1WWxVYXBEWEJ6aXVGWFZiL1RMU3c4MXU4aUZ6T09JaFRNUjRUQjZVQXhkbG43M0RmeEFhR1gvQ3pHdEZLL08yY3FxOVMvU0U4c3k0NlJLdEs3aGkzZEpmblB6M1p3OVlkMFJBeFVWQmY2V3RxYWh3YytFWVQ1bUxjNXcyZ1hSN1lsZ3RxT1p0VGpEaEdFK0docjhTRHUvVThQNGdhZWtBZDJXWU9SQjNsK1hKVWkrVDNBUVp3MEpITGlNM3BhWEx6UzZUQktlbG1MaW9CU0c0YTBuNTVvMHkxdkNwSHFEaUhyUE1qL29YUDUxNzQvbjRQVDBrcDYvaEw2blh5SXg4dzN5bTdlaVhZVXdqczU5M1JBU2dhUXQyOFdheEVhbWxwN0F4czYxYkRudnc2aXlLTkZGcnpFbzRCWCtiTTIycytHcVR5Sjc0dmlXdjhUWXluR3NTV3lrTGR0RlEyZ1FRb0I3QkFTYXpncWNsUmEyNVR0bUhXS0hiN0wya29LeWEyWGR2cy9aeGZlajhJWENkTStadzlmK2ZCNGZ1VDlEcUhNOWEzL2VTZEJmenRvZmZCT3gyYytQdjNBZlgzektaSksvbExoVzc1b2lhZTUwTUcrRHloY0FsNFYzYkVpOVFjTndnMHN2RDRDcnljUTFUVnRjakdWUTEyU3c0REZKUUVybVhEMllUWXMxaGhCOFlFd2RtVGprV2sxVytuUDBHUUpMbURpMlEydHJLNjJ0cmJ6ODhzdmJkYitHaGdZbVRwekl5U2Vmek1rbm44eUVDUk1ZT25Rb2htRWM1Nk1qcExNb0xXZ0laYmh6d25yT3JZeUJDM1plWUc0RHN0WWdUZWlMKzNscVpveDRmQk9RQnlIcEZtbWExM1F5OTZVTklBeXFSNVJ6OXZsMWZPYUxFN2pwWTJPNS9ZZExXTEd1bDFqU1QzRTBoM0xZSHVDMjg0SktuODM5VTlaeTY2QTJQclZ5RkUzcEFFSWNSQ2k1Y2MyTzE1VzFoS1pQd3plamhudDlCbmN2MW9mSjdsNSs2SjQvYlpPVDQwaEhic1UxeDZITWNrUm9HbExaWk96UjZPQml0QTZEY2hEU2g5aTZrZEJ6ZDVJLzkwTUVYcmtYMytvNVVEc2N3ODRpRzVlQlllNTNRdVEzZi9yb0FSbWpyVjF4Y29YaWFNZFJQUFQ4SXVZc2FUcHNnYk10VzQ0dHdKT1dPLytCRVE1ajkvYlI5Y1J6ek5HYldINVZHVWVORnJQd0FHMGRCR1hGUVFKR21JQVZ3REJOckdneGN0U1psSWVINGJvMlRpcEJ5Nkk1REtreU1ZT0tWSmRMdzlqQmpMM3dlbnlXU1ZWVlBSck40TkloTERKOVdJYWdvaVNFT0p4cG5kZGNBeFVWY1AzMTBONis1M09xcStHdXUrQ01Nd2JjeDdNdnZDSlhlN1g1VDJ5RXE1K0MzNTRHSzYrQng1dGhWanM4MWd6TnlZSnZhSGNKVS9oTUZuSkVEOWFkRTdlTGVLWHRyRjJ4UkFVMEp3ZlJuQnEwL1dZTTZYSk96UnQ4YmZ4dm1DSGVJUFdnWnRPalFld084YzZDQkExYWdWV3RLYjhtVC9ncXdSdjZMSDQyL3d2TWJEOERWOGtEVWtYbnQ4NC9CTmVJd3V6ZGdMRUgzVnRweFliZURUaXRjOS9aVVAwd09nUDlFcTZxa1h4bG1NbjR5UDVQVEg1ZGh2Zy91OGd1U0tKM0EyTTVaS3F0aFRQM3Yya0Z4Y1V3WThhZWo5MTk5M3ZUWE9EZFhXd0hFMGVUaGtUbDh0ejJyK2N5ZmtRVlQ3Nnloa1JYQW9JK0RDbTJOMnlTUXVBcWpVcm5pWlNIK2Q5dlhzU3FEWjFjZU9NR3BNL2NvMy8zWkhmOUFkMWJJRzlRdE40a1U5cXluMkN6Ujk4RE1rczFKUmZZUkNZNTJ6L3JlOUYzeFBGdHRRYW53eUM3RWxSSzdJN2xmRmpvOWRVTlIva0Q3RDV1MkIwSmtoS1Z6ZUkySjdGcXF0Q09RMjdMVnE4Z3ZhMkQ0SVF4MUg3dnE1Ui84RW9Bd21nSStnNzdNRXYwM2hMZ2xZZFk2clJqSjEvQ0t2OHc2RERvL0I0V21RWjhvQlBldWRFWjRCL2hWVjRlSm8xZWFVMG01eUNERmtwQk91dUFjUlRJV3lsSXB4MWVmbUVyQkEyRTNDbFoyNVQ4L1pGbXRyWm53R2Q0VGIvMHp2Y2t3Ry96YjNkZXlFdkxHcmp5cFBWRURMaGgva2llbVRzS0Fua3lqY1BJTkEwajJOQkk5S1FGaEJvYVBVQzRuQit0d1IwQUlTMkV4Q29lUkdMVjQ2aGNBaU5nZXNxcUtCVE02VjFqbTFvcDNLeWdaTW8xUk1kZmhadnB3UWlXSVgwUkNpY2ZmbCtQRUJnQzJuc1NQUHphQ2phMjlmR1owNFp4VVgwSVM0cmpidDV0WnZCRHQ5SzRwWmRIWGxyRnVhYzBNUHZ1VzJqdFRQTFdrczNVVlVhWlBua1FDMVpzcGFNbnhjZXVuTXpIcnB6TWl2VWRMRi9Yd1drbkRtWkliVEhQelY1UGNUVEFiVjg0bDl1K2NDNnpGemJUMnBuZzJndkdJWUJIWGx6SmxBbUQrY1lYYnFCeDZlZnA4OFhBTlBqcUIvTWtuQUJQdmJhUmM2Ylc4L1o5bjJGelc1ejVLMW9JK2kzT09hV0JZT0EvOXEwblpMTWtubmlLN09MRjVGYXV3bWx2eDI1cUluTEJlVmpER3J4Y3ZRSVA3cHpuWFJXV1ZBMFBNNlRFeDh4Tm5jeHNXWWxXL2R0Q2Fmd1R2ei9nZmNVSTc4Z0RFVkl5Nk51Zm8vNGJ0d3dNQXhUZnM4dmJIL3p6am9NVTBBb2lJWHFtbFRKcVU1YWFaSWpsT29LdlUzRmFUNEttU0o2ZlRTdmo5dDYzNGE2WnV6UW82UmY3NGlDVVM2MDFHczNxM2taNjlHWkd4SVBFbFo4RnVkV2MyTDJPS1hVbklpZzBVRHhDdVJ4U1ExM2E0MXRiUW1OVTcrS0VDSTRaUWZ6UHZ5UzVkQ1crUWJWMC92eXZGRjk5UG9IeEkvcHRqdmZxRk5NQzRTdEJGazJpYStWY21ocURrTWxSVzN3NnZzZzRVazR2ZnFjYkVTa0czbVJnSUdCM3BWbnJ4aHpVcmRpT3BEN1lUalJWUmxVdkpKTnI4ZWtpQXNvbUp4eW05UGtvaWxlU2JPaGk5ZnFSV01iQkFqV3NlUi91TWp1a3J0WTJUcTZQZE04Sy9OSEJLRGRQck8wdC9PRTY5QzU1eFdMQTExWE9GTHd3dm9SMWw5YmpiM2tKL2VEemU3OERRM3BnRmsvUEc5QkdKTHRQbTczU0pQTlFnTkFuTXdTdnk1SCtoeCtqU3BGN3pjS29kd2wrSkl1enppQnpYd0NkMnJYQ1FXanQvYUZ4cFVFeUZLRzl0SXFtdWdiV0RSNUpVMjBEN1dWVnBJSmhYR2w0ZnVqQ2R3emxEcGg4cUR1QzhxSDFTd2NHUnF5SU1FeHY1dkwwMnp6b081OFJGWnVwS2U3bG4zUFBvQ05lak5LU0llV2RYRFAxTFlhVXRkSHMxUERCOUNzTXUzMExXMFFsOG9CYmZSNTR3YkpQS200K1l6WU5GVjE4OCtFUDBKY09IWGdGb0JaRWd4bStjL25UTkhXWDg3TVhMaUtuNVB0QU5JbWQ2djdFTzFqWW14cXhpMTJ4eDNQMk5xMUtZUVpEUEwyNmorcE1JNE5HMWlHRlNhWnJDeTF6dzFqT0YxaS9OWVUvV281VzdqN2wza0RXSlFnQlR0N0JYMWZPUjA0Vk5HMlp5OXZCeVZ5ZmVBcWxZY0h3YXhreGZoSTEzWGZ6Y0hrSU8rY2dkaXRPUGxSSzVsMld0NlhJdTNxL3pQdU1yV2pxemJFMW51OFh2ZjIyamM4ZGtJeXJ0cFA0QzNuZmxuYTVxbXM1VStPYkJ3d0w4a1BIVGRiRFNyZmNNZWNkaTJkYmZHSEVrREkrZFBsRUpnejFHcFhxWEo3RWEyOFJlK1psRE1za2ROWjA1Smt6Q05RSmhMbWpZWnd3VGF5NkdySmxsVVFEeHZidnhwNTdsY1JyYjRGU0ZGOXhJWnRxaHZIUDF6YXl2ckVUTkFVN1pILzlaUkMxSEdhMTFQQ25tZ2JhcWdQODZaVkJpQ0s5aTR0UENvMEVITWNFVzNMUzZDNkdYWnRHTFJVMGZTdnNuV1BCc090U1RCM2N3NEsxRldBcFROTkJiZk5oSGFmOXNsT1ZnSnBpaHl0VlNuU3Y5dUdQZThldVhKN2x6V0UrRnRkYnVQMjk1ZTVIcnBrSUtYem4yWWhJZnM5SXZ4cndhMFRZNDEvL2pXbkk3WVVYRGRCSmdmMWk2TERIaTEwRlM5YzZQRE1yVDBlM29ySEYwNzMrOTg0MFZXV1NTOC8wTVc1RS8rYmVkWHp1WHcvRzljQ2duaDZHbkRFRGxDWWVDdU5QSytMbDNTaERNVHBYeWRDUXBHamtTSkFDdFhJdDdaLzkxMzV4UWFUZVhMUkhIU1czY1F1aHFSUFFlZnZnVEM4Tm1BWjJXeWZKMStmdmFLQjZpR1JaUjNldVpPNjlhcTY3Z0I4b3g2dWtIdzBrUVFUQjU4QkpRY25sNTByT21tRXdicWpBTkhlWXhZT0I0VU1Fb3hvRXhSRjQ1bFhJMjRvdHJacTlxSjZIVEVxRHRDUnptMUw4OXMxT2ZuWmxQVDV6NXlhME96TzFpOWFLeTh2R1UycEZxUzJyTC9nZS9QUjNkWXJhL1dZTCtvUGUvbGFqZEtIV2JLZWYzdHlWNXM1WG16amNnWXFCc2k4MElLUkxPaDlodytvRlZFVXlsQkNqTFBzWTgzMFhvV3ZxZU9RbjU3SnA3bElhVjg2aktBSjk4YnkzZi9Vbncyd3ZMQmRZcHBmdjM1dm9JZWpteURuVjVKdzg3VjI5bEZvSlhPVmdtanZWQkJ4QlZVY1gzTDdyMHBLNnAyWVNDbTVoVWFxWTVqNGZrKzNYNlpqZnpmcTBEKzBidVB4ZkRWUktrMnBNRkZBalRXb3dqK2syeU5zZTZYSW55MTNwWHRhWHBmbll4d044N3ZvZ2c2cmx1NEQ3cVVKTTFFU1lGY2pnQkFpZlRqWXdoU2E3akxkN08zbDE0M0xlN25pTXhtUWJPU2QzNkF4Z21qZ2RiU1NmK2lmRkg3c1Y0UStnc3hrQ1U2ZVRmT1lSM0xZV0VJTHNtek94TjZ6RlAra2t6T3A2RW8vZVIrSyt2NkxTTVM5SDJySDdWVDRjelhXNU45N2RkTUQzSndVRVRVbmFWdS9heDM3YnNaQWx5VGhlVTVoREZSR2YvZXdMQjgzSHRwWlU2QVEvSHI0YTQrVm4wTGZmN3Fua0x6MkRmdmdSdnJsaExGMGlnaVg2RDJTNlRHY09rbzhFUXRxMGJXMm1aTVF5UG5IWjYzUzBGR0VnK1BpVnN3a1BIMC9ubGpEVk1vL1dxdDhBelc3L3g4K09HNk1EU1dlZGRYU1A3L1hYMzFlUFF3Z3ZORjlUN3VQQ2FlWE1YTmlEN1dxKzhxRUdMajJ0QW9CUmcwUGM4L3hXc25uQmhkUEtxU24zN1lKQmZrVEdyVFFxNkNleXBwbjA5NStsNFgrK1I4d2FRZmJiUHlGWVZJWHlLYlR5L280R0xVSnJqVkthRFJ2NkdEdTJqTFZyZTNuNGtiVmU3cnJmWk15WU10YXM2ZUdNTXdZVllnajlvMHkrRi9KMzN0Mm40MkpJZzFnMnllck9adDdldklvcHRTT1ozN0tHUkQ1TkxKdENJRkJhc2JGbks0dGIxN0dtc3huVE1GRDlVVXQ4S01xMDFzaFFpT0Q1NTVOZnRZcDBvVFkwZFA3NStNYU5RNFpDL1c0TWgvN3l0LzArTjYwMGRtczdPdXZGSE4yZVBtSi92aGVqcE1qRGVEcE9oMlFzYWRjcCtQMGgrL3JiZEgvcmRuSnZMVVNFUTZoVWt0QjVYbjFWK3BYWjZHeUV6azkrbmZqdjc2SDg5bThST1B0VTd6S09nekRNQWJFOXBZU1R4c0xOMThGMTUwTjFaY0hYVXdoRGR0Z1dqL1NXOFpmT2FoYW1JdHQ5L1F0VEVlN3NyT0xteWc2dUsrMm0ybWVEQzFYbGNPdUh2R3M5OGpMODVWRll1TXJiZnc1NUU5dE4xNVVLVWo3QjNIb2ZiNXhhaDNGYU9VWjZEano5Qmtjck5KK2J6R0QzeGc0dUxxakI3bzNoSmpOd0NIMVVEMmEvM0ttM0RRa2daaGk0cGtsSm9mWXA5dHByeEd5YmhPdVNCb0lGTmpveWt3dzZJMUdkSnVhNExLbjFmb3doZWN5UldZeEJudDFyanN6aXR2aHcxdnNKRDgvaHJBcWdNM0k3M3g5T0dhR1FGTFYwa2Mva1FFdk1pYU93UWtFRzUyeENCVHl3d0JnL3ppUUxNbGxRQ3BuSlVkVFNoVUllY293NThkelg2VTFrdWVlbEZUejVwbGY3OUt1dlg4cEh6aDlQV1pIMyt6MkpMUGU5dElJbnRoMy94ajZPZjJVZngvZHgvVHUrZmlrM1hUaUIwbWdBSWI3eERsR3dvY3NEZzZrcnJxYzBWRVlzMjBmV3lYRCttSXNCK00zclA2Y29VTHdkRkYxNFBmaEloUVRodE9icXA1TmMrb1ltbERaSkd0MUhOaFZjQzBZRXNueWdySS9yUzNyd3RTYTQ1OFVNRDcyWVo4VUdaNzlsV1ZIWTRhUlJXL2pvbFFGT2J3Z2dsMW0wUGU4anRjSkFaUVJpZjhNbzd6WVpyb3NvS1NiMzBHT2dGWkZmL1FSWlZ3dEErRWUzWWIveUdyRUxya1MxZHlJaVlhK3gwUkdjM0cyNU9xclFuQjRoY0xYbTdXNFlZVlV4V2pXUjFCWmFRRUE1cEtTUFAwZW44SHh3REoweWdJVmludHZIcHpONXJ0emE0Z1VaREs4R1lsdlRqdjRtQ3pndFlaUDQ3by9aRklrYzBlYjFlL1AzN1ZVOVBvQjRnQlJlczllaEljMW5QeExsYXQ5Y1p2VnF2djNKSC9IY0M3Y0FtdTk4OGs1YUh2ZzJYN3Fpa1pwTUEzKzVQOHVtckVCSy9hNjEzTU9OVmdZWm5ReVI3WUJFc08rdXNRcUpFQm5lc0U5a3NybUdIaDNGVVFiRGpWYkNaR2xUWmJTcFVpeGNRa2FPaDNMbmdyQ1BTRU1tQ1F5cUthVzBLUFN1R0lOQ0NFcUxRZ3lxS1dYdUVkWjkrdklwWm5ldXhGWXUzYmtFS1RkSGhTK0tJU1JyNGx1bzhrVlk2MlJaM052SWpJcXhsUHVqUjQ3bk5RUjhKdU1sL00vZGQvSENuL3lVMUFoeUJaRGNraHJCQzMveTg2MWYzOFUvYnYwS0FaL1pienBubVhvL05hd0JMVFJDQ1d5dEdEek9aYzNyQWY3ME5UL1JhZ2RIS3o3OXd6d3YvZDNIdkhzamhDMlRYRjZ6OWkyWHVuRTJUYk0xazZlQkVWRG8vWncyblg5L05TUlVTaUdseExadGxpOWZ2cjBwZ1JCaSs3SGpkT3hRb21YcisvSysxNjFieDdwMVJ6Y0lwTlRnVTlBU0VHd0tDVVlsUFN0NFRxbGthRm96TG5IQWZhcjJaNEcvNTUrOTdVbytkMjBqbWRQaDJXVVZkRGNMV25RWU1hV0lEM3l3RDM5Rkx5b25rR0Y5Wk90NlRRa3BHNlRBZDAwZHVpNkEvVWdYcDUxZkR0b2wrWEFQeHVBQVRLMUNCNE9JNXlTa1hhK09YWE9jM3MzMEZMQStKR2d2bFVmTlhPVWRoWjF6YWUxTzBSM1BrTXM1YUdFQkJtRXp5OWhBSTlPTFYzSlIrUkpPckV3UXFScUxIbnc1NXJCemlJdzRFNk9vbm5ST3NiWWx6cWJXQkt1YmVsaTZ1b09GYTdwWXRibVBUQ3pyS2FNK0Evd0dNbWdXOUZPOXp4d0lwM1AvVEhzTkdFRUlud0hsbndEL0tPaTlGN3J2QWpjTzNYOEh1d0E5RjMvWnUwYnI5Nkg4azFEN1g1QmJCejEvZytSc2NEUHZEdEdpYmUvdklGb3BISDE2NjM2ZWwxTjVaclhQUmlDNWVzalZuRnh4eXJ1NFhnUlZnYXBkUHB2Zk5aL0hteDlqVnZ0c2NpcVBRUFFQK3d1TjAra0RVK052eUpEcGpSeXp6MElBRXMyd3ltcW1Ob3ptOUtHamFFL0dhRXZFU05tNTdmT1Z0SE9NcnF6aHJPRmpxSWtVOCthbWRjeHZXa3RqdkJmRndJc1ZRMGpjVEpMd3FPczV0WHdkUFpzVzg3Y1BUK0NhUDYwa1dCSWkxN2FCTzE1N21LenRFT3Z0NVk1Zi9KN1FvRW5lK3M4bXVQOXprMmxlTVllYnI3NkZiODNKZ1EybUQ1eURHUGpKRSt2N2ZhZU1odjJjT0s3bXlPMFJDTmJtbzN5MHRCRmJTKzd2YmFEWDlXK3ZoZFJBVXk3Q3o3ckdGZVRvYm10SkMwcU5IQjhxM2NTWjRRNXVTNTZ3dmNmSGlUODk4K0Rrd3dEVTZTa053b0sxV3pXdm5mRlJadVIrVGFiYlpkUUpFVXd6UUtYbEp6ODR4VlBSRytsWmtrYWFzdjk3Q0IxaE9tUHlscU42ZkkvMU0xeXJ6L1F4b1dvWVBkazRHM3Rham9wRzhNZjhIcTRVSUFpRVN1bk54RkhSV2w3dkswTkUrdkNmZkJJNjdaS0xsQklLNUhCbEdTYWkzNW9sRDE2MW9WL3ZaVWkvYjZxN3hkd2RnUnQyR1hWNmtxdXVIODNXemNWc1dGdlBpQkdET08rcVFZd29lWmowaW01U2pmVmVhclJRcExSTEJNbEhyU3JxOEhGN3BwbFdsVHNnL2FrL0ZUWmJHUWlmVFN6alIwaUJzR3p5ZlRaVjFVWGNlTjAwUG5yYUVNWXNYVVRmM1kvUjk5WXlwQ0V4UXlHMHEzYUF4MG9CU3VNa2sxalZWVlRlZUJYNnhuUDVSN2lGZnl5NWl6ZWFsNEdVU0Y4SXBkVit4Mjl1T0RPMHgwRnJMRktOSTNpZ2VRVmxWWkJLZVhrYVg3MFZ2dlBmM3YrcEZHQUl3cVdhSjEreStPK3lZUXk1eENMdit2cFBTc3p1QjN0cDNUeXlDNTlEOWJaNWVlamJtVXVpZXR2SUxucU93TGdaQkNhZmYyUjlUVjNOTlBhMjBoeHJweXZWUjhRZklwM1AwaHhyWTFocFBhNVNyT3R1NXZTaEp4QXcvZTlQMlhrb2FYR0ZLcXRFZkRPanlqK0ZaVWVJYUl2eTRneXgyR1pLUzhxOC9lMTk3Qk01MXZEcHQvc2ROcmZTKzVNN3lTMWFUV0Q2SkdSeEJIdHJKNmxYNTVHWnN3VFZHd2U1NTJRRVF5dkc1ZnJrSUR0ZFBEWFRkZTdqMGFFbnZCV3FmaVl2ZlhjQ0M1aitxenh6dnJSZkc3QWhCY1BxUy9qRTFaTVowK0RsT1JkRi9DeGExY3JHelQyNFIwb2gzbDVLdGpkZjVjNmY3NjI1OE9FYisrSG9nN296U1NGUWhRWmkwalRlV1Q5NWlQZGlha2o0Tk44OHI1dWtUMk9vd3l4bS9ySHIyMW1ydHZiTGpXa0J2bVNLc2lrVGlRNnJSeVA3Wis5L1pkWDdUUElLMEFvUjJ3QjJEMEdybk41OERhWTVDbjN0Q0ZUclZ0cFZsSnhXbElvMlJMWURrV2dxMUFJT1RLMjZsQkpWaVBOb3JibnR0dHNBQ0lVOG5kSFo1Z01UZ2lmeWNaYTVXZjR2WE1lSlpwQWVuNE1zcUswSVVGbG8rbmFFMEhpSDRDaVh3ZDlKVS92NURPcytGNlg3Y1I5MS81ckJxbEM0eVFQSUdTdHdtcXo1ZnlERDZPUXMwSGsweGNpaHZ3TXM3TllPdHY3Z0ozVDkvWi9nT0pnVkZXaWx2ZnptWTRJdEJOcDFDWVhEVkpTVUlhVkJkV2tscGo5QUp2L081QU5wR0dCR2VIWFJHK1RzWENGM1RCNXdmOWFlLy9uak1iVjYwdWswMWRYVmxKU1VrTWxrQ0FhRDFOZlg0emdPanVOUVUxTkRhWEVKRzVNSlhOZkJ6UFNnNDkyNC9qQmFhK0ptRlpNanN5bjNaM0E2ZlBqZFlxK2ZvUFRhanFleWtFNDUrTktkbU5vaGs0YkZhd1h0NlFCdU1zWkpxcEh6OVh5a3ExbkpZQkwrNm5lVjd3T1czNFpYcHpxcVF2S0RTMXgrSDh6UVZQUThibm9OSzViOUMrdjZzcHpab0ZrMjJPTHR2bDVtM2wxTDkrTGhpTENENjRyOVduRzVIR1R6bWl1bit4aFZLekVrbkRiR1pPd2dnd2RtMnlRVDZoMzNvdkY4aDFnVzYwTVQyVmd4anFWRHp1Smo2LzdNOVZzZVJoNXFiL2Y5M2VjMVpFMTRkbnlVbFplVzQydDVIdjNnTTBjOWYwdWdQdUwxcFhsdXNlYVUwVkJkYnpQenhVWVN0cWQvLy9PRkhvYVBzbkdpNFBkQjhrUXcxbmtQN2YzdXRUTVBDYlBkKys3RUNlUG83V3pCemVjWk9YUVFHSktTaW5ydit1YVJ5MmVTbGtuVkNhUEo5UFNSNnVnaDJ4cy83bVI5ci9rOTlzV2ZBclNVMkU0ZU9XNDB1U0gxZEs5Y2pSYUNubzRPeXFkTlJSVkZVWjJkYU1Nb1lGRExmc1VjUDVicGpPaGJSKzdCaW4xL2RqQnVVSjloRWJJQ3RDZDZxQWlYc0xobEhlMkpIZ0ttRDlNd1dORzZrYmViVmpDb3RKSkZtOWVTYy9JTUtxbWl1YmNkcFJYRndRaWJlOXZ4bXo1Q1B1ODY2WHoyNERsRzdJU2hJYmI1U3hSYUM5eE1HS1RpN0ZIeitPNVpqM1BocEFXQVp2YUtjbjd6VmhFek4vaHh0YURJcjd3K0ZJY2pjRjRndjAveDdVdmJHRmVieGRVQ25kZkVYK21oKzRFT25LNTh3Y2pab1lmb1F0MkhMQ3JDUDNvMGtkTlBKM3phYWZoSGowWkdEaXpmSWUvYXhMSXBPcEs5Tk1mYVdkL2R3c2FlclFjMDV6Z2FhMDBTMzVvTy9qejNsL3poQU9JRHg2bWdQMHlmdXVlMTY3cGVIYk5wSW11cmtOV1ZISkZDMEEzeis5KysyQWRlanF0QStPR0Y1VDdHenZQenVadExxYW9wNHkvM0x1TGxXUjJJa0xuZi9zNmY4ZitPNnVmL3RkM2VIMnQrOHIyeXBDN2s5ZUZoemJ1OU1mSnZ6MGUzdHhPc3FVUkdvMlNXTDBkMmRlTjJkQ0lOdzdQbmRzS1NPNjVDSEloOXBSQkNzbWpsZk5vNmU3QkVHYUY4TjBWRlliTFZIeUxqYUNJQjc0b3g4elQwaU5NWnRHVVJhNXNYa05OaEJnWEt5V1lTaEVMUmQ2M0JHa2d5QkJUN1lYazN2THhGa3lsZ3QvNThzZWI4UVlMekI0TXBkdGo5UjRvY3BXbnN0Sm5mbUtFaWFqSjVVQUNmdVdQT3FvdE1Ta01HUzdka21kZVlvYkhUeGprS0VwYWtCY1VuT2tRbk9oZ1JqVlhxK1ZOcWI4amhKZ1dKRlNiNTlvSHA2YWEwSUdEWnZMMWhESTR5S0svb1FHbU42L3BRdGtWNVJaWnZmV29FSDVzNkNaay9qWVFWeHRTSzRvRiswclZEMzNYeGFRSGh1S1R1eTAyRXZ0Z0dNVHovM1Q2V1NGVWxrTnJwdFh0bzV4MmllMnFQS29iV0FrT0dPSEZrS1UvMGJPYU41cUhZU21ENHQzREN5QkZJRVFZdFVQMmFuYVZ3YzFzUTJXNkVZekhNR2NVTU1oaXBIdXEwSWsrYXBBMWsrM0NkZVJqV2lkNURNQzBpVjE2T1ZWWEJxdi83UFkyekZ5TXRZd0Iwb3ZZRG5zZFVQc3VMNitkei8xSVBEOGR2V054MDRrWDdVYVY3Nk45LzEyc2JHdDlraDNaZFJkWUlVbFhUUlpGSUlvVmt4V2E0ZDcxRGN3eUszRFJMbHk1REt4ZFh1YVNTV1FLdGZyTFpITEZZSEtVVUo1NTRJclp0STZYRWRWM0Nwa1ZaOVJnbWZQTGZTVzV1SWlDYjBSMHY0OHU4Um12WVQyWkNBNE9LV21DMVFuZkx2YlpWN0c5LzliYXVhSTZTYURkUExwUGg0UVZoSGxwWnkrOCtIT0gyQ3dULytXcWVFci9nMGN2aDNvZkRmUDJQdFNSelc3bnNwQXphemVNSXVkZVpQeHp4WThjRm8wang1OGZTWkxtVlZ6NytLQkxOdC81eUhYYy9Gc2NvVWpqdThUckhvOUdCcG5NRkxGSlJxT3VSRW0yNzdPSXMxNExqWnZKKzZvVHlZR1BRM3Zka2RDcUlic2lzQVY4aGx6OWZETUhSRUNuWTNuTGcrOWdhcHNHa0NYV3MzOVJES3AxR2FRTzdMOEtNVTlady85Y2ZadERnQlBsZWlXV29BeGI2QWs5ditPa25YK1RwQmFOd0hBTlI4SDhkQ05tMnpXOSs4eHU2dTcwZXpINUw4TW5MaS9qK0xlWFUxVnJvbENhelFoRjcxU1d6UXFHeUhwdUxJeVdLdHZYOHdPc041Z3BKWGl0Y05FS0x2ZVlrYmV1VGVGU1NOSkdENnRDSkpLcXhHV0dZbUpNbW9oTkpjcysvUXY2bG1UaWJOdUk3N1hSOEY1MVRLRkFUeUVGMUlFME9SOCt4WThKcWxtQU1IbFJJZjFFNGE5ZWozVHpDc3ZhaWxpcGthUW1CU3o1QTZDUFhZNDBmUjNUb0VCSS8rU1Z1Vnl0WXh1RTNPbDBGaHNSWFdremJOMzVJdG1rei8vR1QvMkRZeUpGODRxYWJjRjBYMHpSeEhBY2hCS1psOGJkLzNNMm1waWFlbi9VNjQyWTl6T3JMUDQ3c2pTT0xvbDYvdjBQWjNzVGV6aEg3UGtmdnlSSXdDQm9aMWlUR1kwbWJyQnZBa2phT3NsQkkwbTRZQWZoa2pyUWJKcTk4aE13VXJqWlFlczlDNTh4MzYwZTViUXhadlpPQnQzZlJNb2hld3VTUGFJemJCWUpDTTlXWDVicG9rdWtrMmJnb3d6MVA1M2htVm82dG5mdE9IL1ZaZ3RNbW1YenNjaC9ublJsbGMzUXlmKzY5bUtmN1p0RGlWSGtUSS9hdkR1U3NvWXVQNnBXL094cnluSU5oZU9IaC9aVlgxekJqMUdpMGhxYVdyU3hiczVLRmI4K21JWnVuL3RUcEdDTkdzTGE2bXU3T1RzKzg2UWY1WUx5eEl5SzNNNGZ2NmZYdW4ya2dkalRqbkFyd0ZmSWxoSUFoWlJiamF2emtITTJ5clZsNlVpNmpxMHdjVjlPUnNFbmxGYTVpdSsvTWI0ajMzZnh1L3praDhBV2pnS2EwYmdLK1VKUnNzb2RRYVEwMS9sSU15OExZYVc4YlZCWGt5eDhjdld1RDhBR2diM3gwMS9lLyt2T1gzazlhQmdBalI5VFQxVFdDa3ZMcHRHeVpUYmg2S3FNbWhkbTYrUFBreFcxVTFReEhXUjhsWER5NThDajdqNGNTeXVUcHZpcjZIQXNYZUNOWnlvcXNoelgyUnJJVUYraHpMSjd1cStLeTRnNUtETHQvZnZnQWJBc2h3SktDRDF4K0FsdmI0cnoyeWxxVUpjazdpcm1MVzhEdjJXcHpGN2RnK0UxZW5iVWU2U2pPbkQ2Y3Vwb2lIbjUyT2JZNjFCcWRnZkhiQ0FvOWtRSVIvdnNETHpPc3JwU0gxbDFNbnFYODVybGY4Znk4UjNocTNVd21sbDdFVHlZTkp6N3lXVDcxMjlPeGN4bUVmSGMvZ0NGZ1ltMHhmbFB5MXNaT0ZyZkVPWHRFR1VNcUpCRXpSRis2bC9WYjFqTmx5RGhxeHQ1TXNuTWhkcXFOVkVzUVM4Y0orU3hNbjQ5Y1FTNzRmVDRjUjVGSnVoaStNb0sxRitJTDFTSkxKdkhZMmdoZGZZMHM2N0g1NkpSNjFyWjBNS3F1RWlFa1FnZ00yYzk5cEdLUzVFdEIzRjZKK3dGSjZPd3NScEY2eHdJVFBvMGJsNlJmQ3hCL0pFeG12aCtkUGZURXcyMHdRLy82NHpULy9jVWd0LzlyaURXYlhNNDl4YVN5WFBEQ1c5NDZrZEx6eHlrWEJsVkpmdlRsRURkOTBNK2ExWXFMUDlISEMzUGR3eUpyN0t5OW4zenU3bU1qMmJNOUxDcks4ZDl3TmJxcmw5eVRYczlZLzVVWDQ3L2hha1E0Zk1CNUhlK0h2RkJIZVRVcEFkT2hMSlRoOUtHYkdWL1Z1U1AzU0F2Q1Bwc3poelVUei91WnY2V1dSTTUvdk5KOUo3N3I3ZTFsOE9EQnhHSXhpb3FLcUtpb29MT3prNTZlSHVyckIyTVlCcTR3eVNpTmFjTHN1UmxDeFhIOEFZTlgza2lURndMSGRYR0VpWlFHeGNVbE5EZHZJaHFOVWxIaDFjbTF0N2N6ZVBCZyt2cjZLQzh2NzVmOXQ2MVhjZC9NUEd0YkZOKzREcTZjM3Myd1lJWnFLOCtkN2RVa1hHUFh0ZmNlNkQ4Z3R1bkV1dENmY09lOVV1OTZuc0RMaWQvcnRsSG80eHE5NnFydFBRVWNCMHF1OFRwQy8vYVhkN0x1SzUvaFgxQ0VzTmljdDdmcjRJZUR6SUc0cUFJUW1vMnV4ZHpxQzVneGRpd1RXTWZmMWp4RTdlcXZVRGE0bkd6U1pmeXFtNWw4NVFwT2lrNGh0aVhIU3lKSHJNbUV1QWZZM0MreklEVFlNR0w0U2xxNlRzREtkbFB0dm9hTFNkWlhoMis0UTNKaGpuS3ptM2o1WUlyRDZ4ZzFaalU0OUJkazB6NHBsVXJ4OEdPUDBYSU1MWkxXdGpaU3FSU21QMENrc2d4WlA1ak0vRG5vZkk3YzJsVzRmWDNJY0JqLzhGSFk3VzFZZFlOeGt3a3lTeGRTTkg0eVJXV1Y5S1ZpZFBWMUVzK2xCMFp3Q0lGaitMaHl3NXNzcnhySlkyUFBSeWo3Z0QzNTIzdFBvdERTNHVKMUwzUGxoamR4RE4rMkxucEgyWVlEMHFlSTlaWHgvZSsrd2xlK21rQWFKci80MlZzazRoWElnRHRBK0pPZWl6UWtCSGtobUdENUtKVUdjZVhTNXJya0N2UGtGNElhdzZCSUd0UVpCajRoQ0lsdExWd1BMUjNnSXhQZU9xclh6YWQzZS8vemZPdUJtM2pDWTJFbEJKK3R5ZkdoYTJCTmR4L1B2T1lCMGVONmZzNnh0WnJoV1p2L2ZOR2wzV254WmxVUG5Pb3FCRVNEQnFOcmcvM2FROXcwQlBXbFBxSUI0eUE0OGxDc2FEQUR4UVRLQnBNc20wSlAzRE02akxLVENKUU54Z3dVN1dwd0Q0QUlVN3RkVkdvYm9UMGp5VVhRSWlwb0VUVzhMRURrYzlTdDdtWHM2a1ltM1R1UEUvdzJvNGFWVVgvU1dFcG1uRXBvK2pTc2NlT1F3U0Npb0ppa2Mza0NsbVRCYzcvZ2xRZC95dENHVXJJNWw3SVI1M1B5NVQrbUtCcDZUeWgxKzVTWDBxQzF0WmR6emhuTTlkZVBMdWh1a3QvK2RpNVMrZytvZWVrN2pYQ244RHNHNzNXcSt0aUJBeU1JQ1ptMUlSSnppMEdCdnlGTDBZdysrcTE3Nk03MDIxM2Z2anFobjM1RDl3RjlVSG9NdUFXRVlQNnlEbkFVMDZiVzh1dnZlUTNOUHY5OWg1dC85eEh1L1B3OW5EMWhQZnBJWWxScmdmUUpUcDhjWk9HYUxFWlFiazgrTm9LU3Radnp6SmdjUlBxRWh6SjhHQ2x1Q2haRUpkTmpCKzRVRThEQ3FFSGNmSCs0Ujc1N1FjbkI3YitGNmRHdW9LUW56dzlyTjNHUzVTRVFyODVIdUsxN0VIMjFQa1M5M2hIOE9aZ3BmWG4vSFlqSDdQNW0yL1E5K1NJZHYvNEwyVFhyUVd1RWFTS01veSs1VWlBd2hDVHVwQkRBdjQ3OEpPZFh6UUNnSkZTR3ZQNENyR2lFc0xVRGVDOXNoZkJmZlI1dUlrbEpxQXlBQzZwbThPV1JuK1FmelkraDBSU1pFVnl0RG10Q2xPNlRaRjROa1U2YUhLZkRUMUpEeHRLYzNPcm5jNzlQOGZ5TU1ocUhuMEIreFIxWUd1eXJCakdpcFp3dlBkbkREY3ROVWdHRmNRQjduaEJlOEdybkNIb3VyMUhaUXJCQmdHbkMyT0VtNG1TWElTK0Z1ZkNmRVhvU05sZ3dacFFna1ZWc1dPSlNXMmJ3ODBnZE4vWTI4eHJKbmZ5SEV0TVVDQ0ZScmladk96UTJOdExZMk1pVFR6NEpnTS9uWThTSUVVeWFOT240UXo4R3lPODN2U2JEQVJNcEpVWGhBRDE5S1FKbElWeWxhVytQOGVDZmUvam4vZXY0MUtmSDg4cy9uc1VMRDRYSjV4UVViZE1pQmtpT1JZcGcwalNZZkNxeDRqS2U2Z0Y2anFuZERvR0xiWjJJNHpzTkxWSklleTFtVE9NR3lsQkY0OUVuakFjN2hYRHl1SWFKM0xxQjRQeG5zVHFiQ2F5WmczQmRhRy8wTHVjTDdCWDRjRS8wek10TER0eHBVdGlIWGFWWXRub3p5MVkySDE4a2U1c3V3MEE3RG1VWG5rUFBVeS9RZFZVdGl5TU94akZjYUNDRkFVSmdhd2ZidFQwUUJDZFB1S2dZcFRXOW1TeURKMDZqVTRFbHE2anlQMHNzRlNCY1ZJbFVlZkw1UElabEVNOGxDQmgrd3I0d1lsdTEzZUdrd1lOaDJ4NDBiSmlIZEtVMUJBTFFXRmhQUTRZY05mUHVhakI4OE1SR2VLSVpKcFpCa1FWclk5Q1ZaYTk1c3dWM0RvZnF6dEY3Y3hXSUhTZU1MTnJJRjhmK21SdXJIOGFhRTZmMUhqK1pWYkt3RnQ3aExFUUVvUGdzaDRxUDVtbXVIOEYvcmZzMDl6VitnRmkrNk4yN3ZPeUZmakgzRjRma1dKdTRNYzVGeW1iM2RIUmIyYnl3OFRtV3ozL3p5TmhjR253U0xxdVNmRzJZd2FUb2p1akR2aWpmbUNYK1VEZVp0eE5vZXdDYVYvVm5QT2w0QmRaK2szSVZSdGpQcmQ5N2tzcXlFQk5HVlJLWVdNZk10eHR4MC9udHhSR3U0MExBNHB4elJwUE4yVnoveFFmbzdFbGhoUDNlc1Qzdzg1ZXp6eDNZbnBBWERIcjJkYnJtQkk3SlJCcVZFYVNXR2tST0VjaWd4NE5Pbi9lWnloemhPOUtRYjViWVd5VGFQVEpEK1BkSHp6L0tuK0NDWTN3eEg4TU5Gb1ZBK0h5NGpvdVFFak9kd2lndFlmQTN2MFBGMXo0THByV1RCbkZrMXRLU2FXZTlxeGZQRzVZSlhGdElvdGJ2Y3E3R2kxeC9aY0QySy9FdXNTUmhlUTFpaE5qMit2RHZtWHJQaGdGRzFFS3BIVjVMS1FYU0VDeWEzdzJXTEl4M0wzdElJTS96YjQvbStUZkhGbERVRlRLVVEya0J2andBbVkzRHlUUU93OS9RU05IVUJRUWFHcEZDbzNLRkJobjlGWU1yNU1uNHlrZFNkTUkxOUx6MUQ0UndRQXEwS2dEbWExQzIzbjQvUnNCUGVQaHBsRXo3REtHaHB4OWRhOVF3MFBrODZUbHo2WjczREozRkN1czRWc0YydXVWN2ozUG5uMmRCTWdmRklhNy80RlMrOWVrenVlcmNNU1JTT2E3NTBuMDgvcmUzQ2hXSXBYejdNMmZ4MlJ1bWN1T2xFMW0ycnAxaEY5OUYwK3oxNERPcG1UeUkvL3JTZVZ4Ny9sak9PR2tJRHo2L2dodS84Z0JzN29GUWdEUE9HODRkSDc2RjdtQTFZQkx2V3M4NWwvd2Vlb0h5SUIvOThEVCs3Vk16dU9xY01lVHlMai8reSt6OTRsVlpWb3AvL0ZnU1R6eUowOVdPMDlsSllNcUorTWVPUWU2eHdMWUF6aUVrU3J1MHE0VXNjWjlubnJ1NFVLVGVmM0xGS0RyMHhvOHlHSURnNGVFSE0xcDZjR0tqWU5qZVBsNXd4L2dNcHpTbDZGcHBBWUxUTHJpWUZRMEd0OGZleGpKQ1VCdzY2QmwyOW1LQ0g1d3NMNHdpblVPMU5qSXlQb2psL2lDYlc1cXdrNm50NXh4dkJyZm5KNjYxSU5NV1J2WU5vV2Y5QXJwMWlIeFJtQzJaUEExT0JNY0prR2dwd2NnTkp0MDdoMmpWZnRmMUhyeSsvcytQSEpUT29iSUJQbnoyY3dSeW1sR3BKcGFrV2tnMTF4TXBic1VYempDaDI2UW9iL0RTNWtuYzk5ckZ5RUQyZ0FFdFBQcVA5elhYYU9XaTNSeUI0aEg0UWpWbzdSSXNIb0diaTZIVjRUSHlEQTN0RVlPL1RpM2w2YkZSN0xZbDBMcjQ2Snd3QjdMUCtYQ2JKYjR6YkVJM1p6Rkh1N2hiSktwVGt2NVRrUHhDRTlVbkVFSWpsRWFnY2FWQk1oU2h2YlNLcHJvRzFnMGVTVk50QSsxbFZhU0NZVnhwSU5BSTdmMFovVDczUjZkOFNEeDZZQTNsTklLc052aHUwVDJzbVRDSTFlRWgvT1NwRDdDMXU1eFRSNjRHWU9heVNXeG9xNkhEVjhMazJGcSt1K0llT3VKUkhHRU1lRzJDRUY1M0l0RnYrci9lNVpvSEt1UE1BOGhWY1pYYW8wMDBFQVdlZTlNZkRvZTlhR3BGcnF5ZU81cmFPRG0zbFdueEdObEVuUE5LL3BYRjhURHBjQlNybjJFTkQwclBGQUkzQjUrL3FKVGhvMnR4WDNnRVdYVWhJMjc1SmRyT3MvYlZaWWhYZm9OYTh4WTNuMzQxZjNqUlFCcnU5aWJPL2VVTzBtaU1QUUlsN1ZEN2Q1SG53Z05sNkk5UlhOcTcrb0NmcjF1b1U1RmFNekhaeGdtMGNwemVHM1RQUXd0M1lrNHZoalI0U0JrZnZXb1NINzVpSW1OSFZLSXlXWkt2ejZIcnJ2dkpMbGxKY01wRTJzODhsMzh1U0dPc244UDNQekJ1VjVOU2V6R01ILzF1SnRwVjNIejlTWXhxS0tma2dqTVJsa24zMy81Sjh4ZStRK0RFQ1Z4MnpnVThWaExndnBmWDA5ellXUUR4RS92Rmw5dnFvVDQ3YXhLaVJxRlRFbXdQMEUwS2tHZ2N4MEM1QnVNcmUvbjM4UnY0Y0VNTG5LdHAvMmVJcm52OW9LSGlvem5PdTZHRCtmbE83cSt2NDRjclI3S2lzeFFNRjlOMFVYaUF1c2RwSDF1ckQ2eEpEaVVDMUhwSnB0dEVhK2lMQ0I2YjdHZEJyWVV5ampjeE9saTNaVTI1NElMcFBsbzZYTzUrd2lGdmU0dXVyVXR4NFdrV0Y1em1vNlpjOW1zWXUrZVB2em9vWDhtMjRtRU5CUEhSVnduNVlkNjZUTFp1cGlnRzZZVnZiazhGeVBhVFY2cjFCNzk1aDZBUUF2empSMUw5alpzUnZvUFBnZFcyUS95Rk4ybjc3ejk0bS9WeFJqNDJTUUZOZUVEZ293QS9NTndyblFtRW9LRU16aGtsT0crU1pPeElnWFlLZXB1N2c4RURBUmd4VkhEdHhRYmR2WnJldUtDbkYxS1pJNXZuNERnMnVYeU9LWldqR2RWZzREZjhGRGVNSko2STRUZ09wdG0vT2VCQnk5aHRUeGI0TFdPN0RCSkNFTEFrUWYrdWdJNmFJOTlZb045dElRMFlrdmJzTU1aVUxXVnpZakJMTnhlUmNSdEppQVY4L2o5OWxMZ05UQ3phaEw5NEVzUmRCbUlHUFB3TFFXbTBuS0ZWdzNubHVmdVpQdlVzSWlXbllMc3U4WTB2MEQ1L05xV1ZWWlJFU3hGQ0hMRW1GRHZ6QXloNnpCQnRHemJCNGc0cXAwM2x4RHFYTXhiUDVSY2I2K2cycTBDN0EyNUhxbDNHZEl6cUM0QkUwSzVzSHN6RWVFN0dPUFVDZ3djK1VjUXBFeTBFSHQ3cExrOUFGN3B4eVFEU3FrZUVwMEQ0ZFByTWNhek9XTXp1Mk1UTXRsa3M2bDVIVzZZYjVUb0ZadXNuVkdLdkl3M3hlLytNV1ZOUCtQekwwZms4dmpFVE1CZlB3MTY5REMwRXdkUE93Um8yRXFkeFBZbjc3aVMzWWhGT2N6T1lBaEVJRE1pNlBscnJjaCtjMDMzd0MwNE13TG43b0x2dlhubncvaHNweU9ZVkd5ZUZ1UDNURnpOeS9lMGdCT3NuWGN5M3ZybU9SNWMwRXZESlEzb1d1NU9OUEtqVnA3WEdzb0o4ODVGdjB6cXNoSXJ3ZE9iVTlubjE3b0VJUGN0bU1YUGpFM3pIQ21KckY5RlB0UlF2ekgzbHVINDNrUFRESHg3ZDR6dnJyUGVsYld3WWdzOWZONWluMyt5a290akhUWmZVVWhMMWNpTnV1cVNXSjJkMTBCbkw4L25yQm1NWTRxZ29yOVZvL05KRTN2MGM2YllFMFI5OW00N1ByTVJwZkJML25CS2tlWFJySUFPTWRRc2M0L2s3K3lCWEtSYTFybWRUWHh2TmZlMnM2V3FtTTlWSGM2eWREZDB0RkFYQ2xBZUxhZXB0cFRnUTRWZHpIbUY5OXhZQ3BvK2hKVFdzNm14bVlzMXdncWIvMEJiUElYN1hQM2t5Wm4wOTlycDFBSVF1dUFDakFBYlkzOVR6ajBjT21rbFZQRUh5NlplUDcyR0hTcTRMaG9Fd1RkeldEbnErOTFPUzl6NVdRQjYya01WUnluNzBUWXEvOUVrQVlyLzZLMzIzL3hZM2I1TmZ1b3JXU3o5TzVDTlhVL1pmMzhDb3JkcmxtdjFCVXNKSlkrSG02K0M2ODZHNnNtRFVGZm9DZGRnV2ovU1c4WmZPYWhhbUlwNXZYK2p0T2FZS21KK01zakFWNGM3T0ttNnU3T0M2MG02cWZUYTRVRlVPdDM3SXUvWWpMOE5mSG9XRnF3NDkxVnNBVWtIS0o1aFg3K1BoQ1VIbTF2dklXaWxZL2RweHZudS9rd0JjZ2VveWNUZjVzRTVNRTd5aGw5VHZLb2wrdnhXS0M2ZEZGWmtIU3dsL3ZoUGhWN2liZktndUU1UUE4M0E2M1RRR0J2bDFUU1Q2WWtSS3k0aTFkQkFKaDdIOGZ2dytIMXByc3VrTVRsK01kQ1pOcUxhV1JGOFBSZXMzWVdEZ0hPSmdMLzEvRDNMcHFjTzU2YUtKZlBGYXJ3RlZUeUxMdlMrdDRNazMxd053NVdraitjZ0Y0L25DWVRyZW04aHk5d3ZMZWZidGplOFliOWdYNGZWMXIvRDVNLytWa21BcDU0dytuNy9PK1RNMVJiWDg4WTNmQUpxb3Z3aFZBRVV5RkdSOTRCcUNVNWJhWFB0Q2pxRmJYZElCUVRJSVVsdEhTTGtWQkF5WDA4SXBicXJzWVlib1ljT0NOUDk0T3NmemI5cjB4UFpQV0FvQjQwZVlmT0FpUDllZjUyZVk5cE40MmtmUHF4YTVGaS9XSlE1ZzIzQWN0UytsREh3K1V2YzlUSGJlSXF4VFQwWlVsT091MzRqejFseDBYd3dSRHFGeithTVNvMGNEYVdIeGNHUVNEWGFlWWZrZVRLMW9OeUk4RVJ6RFAwTW5rSlUrdEhiSkNaTUYvanA4NFVtY0szemIvZmNEUlVNTkg3Y0V5cmhJaDdHZmZKSHU5M3JIYVExbFBzVW55MWFRdmVZRXBqU0dlZURwVjJqTFhJM1M4TXJUci9DaEs2c3doNGE1K2ZGVlBPb3JaMU5tMy82bXpXNFZyYktDcmFvY0RpQ3ZTaU1RMkN5eHgyR0lMSEhDWE9wN200MXVIUTRHM3c3ZFM2T3E1WmVwRDRGd0VFZEJ6dGJSLzRnOUh1N014WGk3ZXgyYjAxMlUrNkswWjNwSkNJTWlLMGpBOEZIcWorQXpBM1JtNC9UbFU1VDVvb1djeHNQYzRBWkkyeTRuRFRKWTljb3JmT0xTRlp4L1NUWFpEZ2VyRUJyTTlqaWNmMGs1bjlpd2dsV3Z2TUxrS2VleGNJdEx5RElPZWNVZW5ELzEyRnYzQ0ErdVJTcUpRdU0zSlN1ZUMrRjBXOWhiZzZUWEM5TGFvYXUxQnkwVkFWTVNMSGJSM1NhTG53MHc1bFNiRi84WVl2VEVGRFZqYkRiUDh1TzNRR2p4cmpBd28zN3g3YU43YnFiZDEyK1hVa29oaEtDN3U1djc3NytmMXRaV2hCRGNjODg5bkhIR0dkVFUxS0NVUWtyWnZ3dm9PQTJjZkpMSGxud3d5d05IOWZpYzdteS9YY3ZTTUNHaE1iVExmWU4yN0FWUlIzTnhoOHZZcE81Mzg5STNkTkRST2JGTDEvZmJYaEh3YXdZTkFvWkJuOUhEY3oxYkNmdXpUQm1mWU9RRURWblErYU5oWHl0c2JERWJMcXZDK2ZmVm1CZFZraXNyMkpocGg5enZXeWsvb1kreUxSbFUydlVTL281RHYreGJMeEx3VUpYa3BSRVc3bEdDbGJQTnR1N3NUWk8zSlZyNENSczVSdmlhbUZheWhzdXJGM0p5bmFDNGJpek9rTk1Kakw2SVlNTjArbEthTlowSldsWnZadG02RGhhdDdHRCttaTdXdHNSUXFZTGQ3RE1RWVI5U2VGYUdWcnBmNC9ZYU1JSVFQZ1BLUCtiOW4xa0NXNzRNcVoyNmxFb1R5ai91dlU2K0J0b0JOdzRkZDBCcUxsUi9Fd2IvQVZKdlFQZmZJVFViM014eE5XQ0hPaVNJNVdNODF2d1lHNU1iK2Npd2ozQiszZm40cEJlVGtydmxCVzN6VytWVm5wZTN2c1M5amZleHRHY0poakN3cE5WZmcwS2xET0l2bEJNNk9VNXVReENWTkNpNjhCaWRZeUdRanNQMEVlUDQ2aG1YVUJXT0lvU2dKZFpMc1QrNDNXZFQ3QS95dVZQUHBiNm9GSzAxTXhwRzgzUERZTlA4V1dqVEhIQThFVmVEOUVzZVc1bmp3cXRQcFdMRDI1eCswbGw4NytKQi9OZHptL2pSRXh2NXdoZ0gxK2ZIa0lKc09zVy9QN1VCL09YY2UvTVV4c2pOOUFVbHIvYVc4c0RjVlJoRkVaeGpHVCtubjBrQlRia29TektsZkxaOEhTVkdua2RqUTFpYmk2SzBnVUt6UGgvZFh0TzRvNzVSSUlYTDZFQ2NhNHViK1dCSk13LzNEYVlwRitXb25WMXBRRDdCcnhZTlFwNzBaVTd0Zlp5NnpzMzhPZGROOWZBemVhRHFSdTZaSHdTUlFBdmpQYWRqZk90VFIzZi9vTWVlT2I0ZWo0VzlXUWhKVWNsZ1ZHNFpVNnBLZUY1WWxLeDZsVDRscVpoeUhsVlJrNnlUb3JwMllzSDI3aC9OWnMwWlp4NVRjK1drSk5hYjVYejFSTTJ6cTMwOHMyb1FvNGZVTUdIQ0ZPYjBoTEZiMWxCNnp3YlNTeU5lemZ2UktHOEs4dDR3d2MzYjRDcG1uREtNajE1ekV0ZldXTWhISHFQbEgwOWl0M2RoQklNZTV0Vk9TZURDa0toc0hxVmNTazQ5aVpLUFg4UGFjMGR5VDg5YzdwLzlOQjNKVHZBRkVVSnMxK1AyVzE0TTgrMzVnS0VoUFlpUFBwemdxUnViQ2RkQlBpR1l0eFJLU21IbGVqajNJaUN2V1RvWFByN2dCUHFtUkhsYk9VZWRNODV1MjREVDI3ckhkR2tOT0QydDJHM3JDVXcrY3BpTG0zcGIrZjNjUjVpNWNRRnBPMHZldFNrSmVCaE9hVHRMMXNtUmQyMmErOXJZR3U5aWVGbjkrMU4ySGtwYVhPSC9vVlZsREIweUdvZ1dQa2xEdnJ0Z0Y3Mi85NlpqRlo5ZWEzQmF1MGpjK3pUSlIxNEV3MkNGaUxCQUZoR24zalZLNnh5eHIrWXV3dXVaVis3bWlzdWQ3SFV4bjI4cWNBL3dLTEJmamtYVGxCUkYvSVFDTzJ6bWNNQ2lLT0xITkEzY3ZNTnhPc3BNR2lGUW1UeVZ3N3ljeDg3R0RtVFFoK292dTF5QVVJSzhvWGgwVEJvVlludk80NUdpZjc5cmRyK3R1MmpZNHJkZi9SUVZ4ZzRwZThpM2R2cmYzNWVXQWI0SWpyK1daQmFTWmgwdEszc29pNGJKVnhTeHRzMmtXRWVKWnlVMTRjRW9JeklnVVhzaEJGSktYTmZGTUF5VVVtUXltZTN4Mm5RNnZmM2hDeWx4bGNJQUd0MDgxOGViK0k5d0RUZjVTMGxxRjF0ckRBVEM1OFZLRW5Nc1lxOVpaTllhRk0yd2taYkc3cEg0NmhUUjZRNDlUL293aS9SKzloWlUzcHpKc1BjMmVDb2lNQmxoZ0hZTTJuLzVlOXAvK2x2c3RnNk1zaEtFa0dqSFBYYTVRd2lrRkF5dEdjeVEyaUdzWEw4Q1lmbDMwZm0xMXJqYXhWRUthWmhnY0ZEK3hmVHJ4eGErZDNOek15TkhqZ1JndzRZTjFOZlhNM0hpUkxxNnVzamxjb3dlTlFwWEtWNlp2MXJZK1R5aGVET2h2ZzBrYXlhUlRqcWt5a2N6dEZ4d2FuV01yTkhEK253OW03cUR4QktLVE1yQjBEWUNoNkJQMDIxSFdib3h6cFBMS3BqSERQSlpoN01DcXhoVWtxWXI2V2U5Tlptc1ZYcEU1a0ZwZ2JRYzFqVldjUGNybytqcnRDaldqL05haDhtTjR3UTliVVdrdHk2aUlUbUtwbXdOUHJzQzRkcy9UT3R0L1VoaUtjMWZYOGlUeWNQdmJnM2l0N3owekdmbTIvemZ2Vm1hWXdwdGlLUE9GRGMwdEVVa2Y1b2E0Zkd4QWV5MnhkQzY2QmpTVThCeG9Ua0ZsNjdSMU9aZ3hUVGhPZmdCMnhEVWJ4RGtPelgyR0pBMkhLbTBMbzBnYVVmb3lsWWNjSzZpUnRDVnJTQnBSL3B0UEErK3ZMbGZiRThwRGRKcEY0MURPQlJHcVMxb3JZNm9NcWNjbDk0TnpiUXVYRUdxbzV2ajlQNGtiZHNZUXVBNkxtWlJFU0hMSk9JTEVBZ0dJQmhBTzQ3bjMzQUsrQkRIRTBDMjB3K0gvUGRobDVEYi85dVRVMUxzNnJVNjV5Q3VIczhtV2RLeWhvMWRtd243Z3JRbmV0Qm8zaGJMcVFnWDA5alRTaXFYb1RKU1RDcWZSV2xOTXBmR2NWMnlUZzZmNFdOelh6dFYwVElHbDFiVEZ1c2lhK2Y2WnkrV0NxMEZiaVlNVW5IMm1QbDg5NnpIdVhEU0FrQXplMFU1djNtcmlKa2IvTGhhVU9SWENLRTliSlREeWJaSzhNRlRldmpnS2Iwb0lYQzZiTG9mNkNEK1NnODZyd3Q1VkJwZHlIbVZSVVg0UjQ4bWN2cnBoRTg3RGYvbzBjakl2dmV4dkdzVHk2Ym9TUGJTSEd0bmZYY0w2N3Ezc0tHN2hlWllPKzNKWG1MWkZIa256MzQzWGhjQ0VqYk02Y0plMGNkTWQvTlJzOTZ5N29IbGxKakN4ZGdOcE5uUkVrY1pBelJDZTVkM29hL2N1dThGZHlSOXgvZjg0Y2pzT1ZxRDMrU09QeXpsOWZudE9LN0w4b1h0RUEwY1VLdWU2NWw1Vk84UFg5dnQvWHVsajZzUTREb09jZWxIaElJWW16YkJMKzVBeGZySVJxTlFXWW4rNDUvUWtTSk12eDhaREJJM0ErVHlMbEtJNHhwRWdWSzIydS8xNHJNZ0hLMGlFaTVtWTFNbnRRR0JVeEpGWlZPRWRaSjhJa2N3SE1aSXBmQlZOU0I4UVlLbVNiQ2loUG1OUzNobXpreXVQKzlLRWptbmYyc29Ec0FPUFcrUUlCU0FqUy9BaW5hUEM0WlZDNzQ5WFRDOXdzTm1GT0xJUjRKakdaZVphNUsweGh4dU9xMkVVNGNIdDJPOHUwb3p2eW5EUFcvMXNib3RpNnVPZlB4UE81RGFJSkd6TE13aVJlbnB6dlk2V3F0RWsxeGwwUDI2UldxRFJEc0RLUmMwUGl1UG95VENEb0tWeGhuMUt1a3hpN2lqMWVRL0h3SWxCSVkrc3BscVduaC9SWEhCblRkbFdYR2RpWC8xVUsrbDNINzBKdEI2UjB4NTU5Y0hlOTVPSHNsM3lObURlZzdiZXVYSklHZE9PWlcwbmFldHF3eUJ5NHh4Ulp3NjhVUk0wN2VMcmRBLys3cE5QdjRFWm0rTzFsd3R2b2pHNThad2hRK2xISXFNREp0TEt1bHQyVXB4OTNQNGk2TllvZEhiZGZPM3pYcitHSnJCNm5BeDBoeUlQTUNGQnlpekJKV1JZb29EWVpMNURBREZnVENWa1JMa2ZqeWNRLzMrdXo1aDdiSytiQlRMU21hUXlVY1puM3FMYWZFNWFNdEVkNEpPU3J5QVlRRTJSMGdzeTZTMFBJQnBtdVR6Tm9aaFlMd0xUb3RPYW53eFVNM3I2RjIrZ21SRkZXOU12cDQrdDVMeDhtMU9XUE1hSm9mUEo2QzlvQ2h4TzBRK2wrZjVkUlZNSDlsT1o5Y2FkTThtRnNaT1kzd29nY0pnU2J5R1RQc216cW5keUNrai9MeTR2b0prMWlEdjk0RTRzclhRcnBJWUVadC9QTnpMV3l0dlFBTWJWM1ZpRkN0Y2RiemgzOUZDd3FmZjNRK3p4L2NhdzZmd0c0cUF3WUR5V2U0WW45L0xmMzM1SVFvRUJkb0dzd1Foek1JZTVJRHpCSWhmOUErTzdidnFPd0tkZDZpcEx1SzVPei9HcmQ5N2xFZnZXd2VWQmovODNOTjg5ME5ldmtRK0xyR01nOU41cE5UWUdjbm9VVDM4OXJQUDh2bWZYSTlSbXNSVkhGQy9JNjAxWFYxZEFOUlZtSHovbG5JK2RXVVJQaTFJejNXSnZlcVNXYUZRMmY2REFENkU3UTBVaUJDTUtYVXAzaXBvQ21ScGMvS1VKeHdtdWdxakhwUjVwQjBveCtrNEhRSXBqUlpnVlpVVCsvWGZ5RGUzOFBFSGZzdlFFY081NU15enlUbzJsbVZoMnphTzdiMmVPWHNXRTRjUForYWloWXhkOGlMcnp2c2c3dW9OR09XbGFQdkk1d21LUWc5U2djWlJKaSsyWDhicm5SZVFWeFkrbWFmVTEwUFFTSk4yd3p5NDVXTTh1T1ZqQ0RTbWRIRDNnWm45UTU3b3QzR0dzS2treVpHSVoyM3JwVkpyT0p3ZlRITnRPRUZWWDRvWFhzL3hqMmV5ekZuaWtMUDNQYTY2U3NtbFovaTQ2WElmUXlmV01UTi9CbmUzWHNTYnFVbmtWQURFZ2VVdC9mQzh2eHpWeStXc0grLzYva2NIdSt5QW9VSndzaENFRElQVFRwM08yMis5eFIvKzhFYysxTkpLOElZYkNIM2lFOXloRk0zMFh6cEU0NE5QdkpkRkdZN1NXRklRdENSMUpTWlRod1JaMVpiajFiVXBSbFQ2cUMwMlNlWVVXMk1PcVp3aTcycUtBaWFXRk5oS2M2Z2w0OGZhL0w0ajFpRUVvWklLTkJBcHEvWDh2cUdpdmNkRURyUG8rdC9oeTk1SHhwOFhwd2lIaXpqdjNMUEk1N0lvYXdJTEgzcUExMzd6WlU3NXhtOXBHSElPMmprRnZ6Kzgwd01aUUgxVWdMUHQra2VKMnF0ZGpadDFxSzhwd25ZVXMxNWJoN0lrK0V4a3lMY2RVMDJFREZ3MGF6WjBJbTNGaE1tRHFLOHB3azNiYU12d2dINlBzc2lRbE9DbURjNmFsdUtxS1F1eGs4MmNYWGtGZWZNbW5teDZuY3lxVlZ3MTdDek9MWTh6S1A5bnFzZFdjdVVwNDNqa3hRZ3k0dUMraTMwbWhLQThFbUJzWlpoSGw3ZGlhOGxKOWFYVWw0Y1lVeithenA1dVdudmFXTld5a1JIVEx5TmNQb0YwZkN1eDdzY2drTUNsQktFcHlFeU5xelVLMFA0RXZrQVpaYU0rUnFpb2x1NnNaTjZXaGJpcFBpS214YXpHYnNxREppTnFLL2ZZdDdTLytGUm5CZWszQWpqdEJrNm5RZkVOS1dSMFZ4dFlKU1R4aDhMRS94a212OTRxOUl2c0g3a3FoTmUvNnlzL1NUTitoTUd6djQ0eVpJVEJyZDlKMHRwVndLMndvYXBNOHNNdkJQbk1Sd0pzYkZKY2MwdWN4MSszQVJQNWdWSElFeXBBOVM5Zk92ODU1eDJ5NXZCcG5zZHBYMlFaTGcybGZSaFNNNzZxazZFbGZVeW83c1NVNmgwek9MZ2t4cVdqMTdNMUZtVmR6bytqSkZLcTk3VlhRbXVOVW9xT2pnNzhmais1WEk2bXBpYnE2dXFJUnFPa1VpbTZ1enNKUmdiVFlIVnlWZUJWTE12RXppcFNqK1ZKQWFkSkMzL1F3TFlkaHVoemNMU2d1N3NUS1NYUmFKUjhQcy9XclZ1eExJdEFJRUI3ZXp1bHBhVklLWTk0LzdQalZCQnJwb2wyWFJ6bFlsayt1cnB0ZnZaL24yT3F1SXQvK1Eya3BJbmoybFFmNXNkbERnalRJd0NIRmtwNGNIR0dzNGYwc2JuVHhOODBtUmZXcitQRldXbDBKa3ZVeUhOR3pSazB0eGxzWExPUnhiMStObEVCdVAzWG1GZ0xNR0hWMGhQb2pRMmhLcklWWEFPVUNhNUUyOTRwb0xDc0hIMkpFMWl6YWh4alRseDFXQU5qNWpIRzBQRjRuRXc2alRKTWhNOGl1MlFoeVprdjRSODZISlhOb1RKcFpMU0kwTW1uNHJTMzRpWVQySzB0SkdhK2hPVnFoR0d5T2RHRnNHMXM3WHBGQVB1WEdiRC9pMDVyWENFSU9IbHVXZklrRzh1SHNxUnNPT1R5Qis3VjF4NkErdVRPOWR5eTVFa0NUcDY4WVNMMTBhbElLQVhTNzVKS1YvRGZQeXdZcTZJQ0dYQVpTT3dwVjBPSDYySUFKL2g4akFPYUhZZFhNMm1jd2x5RmhHQ3FQOEFRMDhRRWJLM3BjRjJHbTRjT2xPWWNZN2hhaTFUeW9EMTNRc0JkcjhQWXMrR2FMOXEwRmNPakwwTWk3UjM3d0NYZ0Q4R2M5UzR4TnpYd214eFFYK3BqYUVVQTJjK1pZRXFEejVSSUlRNElTRkljN0kwVXZ1a0xSaWdlUEFVRFJiSjlGQUNSNnBGRUJrL0JGNHdjOW1ZSnU2dlRVdHNJN1NWYnV3aGFSQVV0b29hWEJZaDhqcnJWdll4ZDNjaWtlK2R4Z3Q5bTFMQXk2azhhUzhtTVV3bWVlZ3BGSjV6RVZkOWFTVzlpSlV2bXpFV25PckhpV3lncGE4RE81U0FhUW12OW5sWWtwUlFvNVhEUlJhTXAzd240dUx3OHdNVVhqK2I1NXpjZ3BYbVFRSjZhY2VNcTBScFdyKzQrWUk0ODFsS0VhMjV0T1hBNzNJQ2V4eXBJdkYyTTFvTEE4RFExbjkzaU9VRDZtKzErdSt0YlEvV245RHZHL0FxR1pQMm1HSXRXZEFHYXh1WmVRc0dSZlBvUEgrVlBuNzJIY3lhdTUwam1weHBhTTNHNGovdGZqUFBvMDNHMnRIdEIzVWVmanJPMk9jL0hMeTNDMFByd1Q3bUF4eW90UHR6dVVPenMvKzhMb01jU1BGWnB3dnVrZnZDdHdZY0NKSzlCQzZxVWdlbG9sbVdEbnEza2FCYUtJQjFEelVLU2N2OEppYnBZOHFpZXo2MEh3NjZXUmZsSHJpVnkrc25FWDVwRjdPa1hTUzllamtxbWp5ckVMbE1ZNUZTZUhqdkY2ZVVuY2R2NHJ6QzliQXBvcngxUVRiaWFHYi81RXlZK2d1eG9VbE5xUkRuajl0L2drQ2VLRDRXbXlsZkJ6eVovanhzSFg4bHRLMy9CbTkwTGlKcGgvTktIb3c4UGlJbk9DWndWRm5ZM0hIYzRIeUhIbTRhc0g2NVlGK2JrTFhFV05TaVdqaXdqYThIRVJwY1ROM1l3dk5kUEp0Zy80SmRlMCtaZDdaWk1UaU5hQlhhMWcvKzdDU3FXbWVBSHUwUGdUd2ltWGFnUnJvczdOTWRQVWlFZWYxdXdaS1hOMmcwT2ZYR0Y2M3JhL2ZaMVlrb01ReUlRdUVxUnorZFp0V29WcTFhdE92N0Fqd0JwUUFwTlV6ckllWE1tYytPZ051NFkwMGhWMk1iTmV4cThJVFRhaFpLaUhEVWxDZEw1V2dLK0xOMjlHWHI2VWdncENRWXNEQ21KQWE3UEE0NjY4NmZ6bWZsNk4zZmRYazlsaVl0cmU3L2xhZzhlM2ZKcE90TVdYMW85akFlMjFJQ2hrRklkT0FDMjVZUFJFK0hrTTZGbWtNZklXaDF6T2FWYWd5MUg0UVJPUStzTXNtOCswU1gzSTlka3NFc2IwQTNqVUZXRGNjSmxxTklhZEhjcndiZWZ4TXJFc1ZiTVFnZkM0RE05Qjh1MkMrcjNydXdlTk9qb0JrTGRzbVZYZTdMa2pPa0lLZkJWVjFGK3lmbjRTbHVSMldia01SaG0xQVVkcGplV0llK2tDVW8vdXVDY0ZVSWlsZWQzQ1FTajJKVkRhVzJKZ1RPRjByS2xsTWdhcEFhVTJxNEg1ZXdNc1Z5Y3ZPdlNGVXR2VDY0OGZNWi9EZHgzSDBRaTRQZkR2SG5lNTZlY0Fya2NKSlBlc2FPSVhBMkd6L3QvZWVjT2Y0U1FlNWs3RGVQS3ZHT3IreGdZK2FpaDJCZm53OE1lNWd1ai9zeVFsZzEwL2RoSC9QVWdPc3M3RTBNS0F3Mk9WMVRlbE1NK3RZaTcybS9pMTY5L212WHg0ZDRZRDNLY2I3VWNQR0MvMElKQWo0OExkT2dkQTFCYXNiNW5BM05hOG1paEQvdkNzeVJjV0NuNStuQ0RxVVZ5djEwMzlxWWM4WWU2U2IrUjhBQk1qc2ZYMzBQR2dzQjFGUnZXZGJEQmxDeDcvbDl4WGNXTUcvL01tQWwxYkdycEJRUkQ2MHRZczdHVFgvejdwWmlHWk9MRmQzaUJKNys1MTNqQWRQZkFHcXRwRjl4MW1yUTZkblVQSnk1d3VpU3gyVjVjeittVU9QR2pKVnZUQXdzNFV1dDMxdXFHNCt0dEFPbW9iYkM0amQ2bDBhSkdvTFFnU2g0N3I4aGVjaW5WdDMwZDN3a2o2RTNtMGZrVXdqQ09VaC95dGtHWlNKK0J5aWwyb0hYclBaK3JEYVRmUU9YQkE0N3EveHZUanZHdWV2aWVYaDhWK3VsTzhsOElVQ2tINVNwa2tRK3Q5YnVhcGtvTGpIQ3UwSkRiSzVKMTFiWTRWZUYvdjFjNm5Xc2NUbWZUTVB3TmpSUk5YVUNnb1JFaE5Dcm4zK0ZJTzBTKzBHaWtMMHo1NmY5S3JyMkZYTWQ4VkRZT3N1QnFNQ1MraXBFSU00Z1pxU1EwZkJxUlVSY1NySis2UFRkSWF4Y2hqQ1AyUEhRaElsdHVaNWllMk1JbDNldVlHTitLYmVkMmd6enJYekpyajNLQjI3cnIyenZ2bnNQLys3ZUxPZjNFd1R6MTJscisvSSszZWVpdU42QXlDb2tzbEVmNHhXOC9RbVZabUxzZVhjU1AvdWNaZnZRL3owQlpHRHJpakRoMUdQYzlkQ3RkZldudStNZmJmT2Jtdi9HWmFBQkNGblFtdWVLajAvak1CNll5ZDFrTFAvL2JHNXo3MDVGODd1UTBxWnppeWFaVCtPWlhCM1BxNUtFODl2SXEvbjd2WE83NXcrdFFHWUdzNC8zK2ZwQU1Cb2xlY2pIeEJ4OUNPVGwwTEVWbytqUUNKMDdlc1NBTE5yeVhyKys5WDV2WXlNdHRzM21nK1VtV3hwYmg2UHo3M2s1dzFNSEhYQ3lwSVdQU2VxRk42RHM5L05jcG5SQ2N5QWZ1K3hWdE0rK0h1MlpDU1FqYlBRckE2WVZBRnVUVHVLSUdOdG9sQktNdVEyU0tTNXloakNrYmdTR05JejVNSldCcnFMQlRLeGlXRUx0SXVjeWFEVlJmZVM2K0U4Zmd0SGRUK2RWUElrT0J3eUZnd1lCa2h5YlptcUswMUtXeUkwK1RYY1VyTGQxY1cvd21sUkxzUkp4NFI1cHNoU1phNDlsTEE1bWk5UHE2OFFmcS9BQ2hNVEloenB5MGdFRytMc0t0R1RMcEVwYm5oaFBvQ3pEUmJpVFMxVWZXSjJqcHJlRE5kUk53ZytrZHFGekg2ZDFaUld1MlpadTdUaHFsTmFVMTA4a210d0JRVkhNNlBadWV4WFhTSHNqczlpWGF2M01yQ255N3VEYkE3MDRyWTJsdFlBZmEvMUgrR08zbEp2WXlFM09pZ3o5dFl5OHhzV2ViQ0tVOXZkR0FaQ2hDZTJrVlRYVU5yQnM4a3FiYUJ0ckxxa2dGdzdqU1FLQVIydnN6bFB1K2xBK3lSQjhnejJoY0pNVk9tcnRYLzVqYk1oL2ptWXBUb1V5ek1qbkVPNmxNMDVFcjRmS3RiM1BicHI5VHBOTmtTeTFNMUlIYktaMEhPczhDRzdocjlobjRESmQ0TnVBMTNqM2c3VkFUendiNG42ZXVJTzhhMkFjcDF4Nys4UWYzNDdjRWlYU09mLy9kS3pSdTZkMDF0MFZwSm8ycDVudTNuSTNQa3YwZTBydjY3TzhmQ1JjV3BuWXdLMnVZbDlVc3V1eURDR21RYzJzSVJUU1dWa2VGUGF1MUJsTXdmMjBmRjc3OUdxMUY0NkZ2TmZQL3VacSt6bmE2TjIybTFkWk1tWEE2SytiNmdlU0ExTjdzNllxV0lmQVpFZzNZcnNKMjlUNi9jNXlPMDZFYjlISjdNZld3WWVWODlLcEpmUHphS1l3YVdnYTVIUEhuWjlKMTEvMWtsNndrT0dVaW1hOTloWHU3QTl6M3lIbzJybXZud3g4NGFZLzdtUkRRdEtXUCt4NWV5QVBQTE45eDNjdk9wL2o4TTRqUGZJdXV1KzZuNkk0NytOeVVpZHp3a1F0NHRIczA5NzI4bm8yTlhaNmZaUjg1Z2JxZzMxcW1pNTBVU0tuUXdzdHhjUndENVJpTUtJdnhuZkViK05Ud0ZvUmw0K1FzZEVaUS9hRXNsZGQ1UGlmcDA5aEpFNEhtUXlNM2MrUFFWdjY2Y1JEL3ZYSUVHM3FLd1hReFRSZFhpL2R5Q2tZL2JRUmcxQ2kwRDZ6aG5nN21sNUxoSS9LNlNSaWlQV01nKzFNZDNhZXRMZEJwVGY0VkM5VmtvSFBpbll3cUJjWVFsOERIdllaNHVRZEN1TTJHdHk1MmUrRENyNUVOTGpxdE9keGRMQ3hUTUhXQ0NRUjU5dlU4MjFLRUswb0VuN2c2eU5RSkpzcnQzeEdaWnNsQjc3WGJ3djBPaXVKT0dMUlZZZWFnS0NaeERKQUV0NTl2SEt4UzdQVHQ4alk1Yzk0ZW1GSWdBbjVDSjA5QVJrSUg3NnZJNWVuNSsrT0YzK2lmWmxHMjdSNlhHNGRiUm1VS2Z3NFFCSWFEOElNb2gySy9ZTndneWJTSmtyRWpKVzZ1Z0lQRHJuYWI2M2lmMTlZSUxqbkhZUGs2emFZdG1sUm1nT3c2QWRpS2FRMFIvdVgwU2l4alc4eHFSNHhLQTVsMGhsaGZqUHI2T3BvN20zR0VTV1JJQTMyOWZhQWhXbFMwVTAraVErZmZXeThjc2V0K2pLYXVMRWcwWUNFRlZCY0grTmhaUTRtbjdWM1h5MkZTYUg5NDEySG1MNmxwalEvbXRJNlh1ZkdHTnVadXFxRXVsQ0tURWNSVGY2TzRNa1BEdWs1eXkyNkVtckVJSjRNZWdPNStBZ2o0Z2t3ZU5vMi92ZklmV09FTVo1N3hhWHJUcmJTMUxpWFpuT0xEWjN5WGtEL00wWkxhb1RWb29YakxMcVZtVnBLdmpIdU5TamZKSDJhVzhYUnZHYTVmSWRSeFMyaWZMQWhrdGVhVmZJSi81SG9Kam5HNC9STWhyam5YVHpna2NOMmRKRWFoc0U0WVVhUi9CRVNtNFFhbjA4b1FGaWN5ek55NGxsbnQvMlJWM3laaXVVUmgzNU1GdmNub2R3WVFwb1d6dVltZW4vMkEzTkw1K0VhTlI0UWo0TmdFejd3QWxmR0t5c01YWFkyOXVaSDBySmV3bXpjaWkwczlzSUVCQUJVNG11dHl6ZkRSamRpeE8veHRXZG1oeFc2RUVEelhxSmcxOHVlTUhmWmhRTEI2eEM5SW1VRnFxLzBIMVNSNVo5cTZkZCsrbXYxNXBnSndoY3ZOVHdvTWZ4YkgyWVJsK2tHQWJYY2pEUXVWRnpqQ1pmK3pQdmRONzlZODRqajFBNTE1NXZFNU9FNzlSa3Byek9veTlDdHZFci8yWnJqemgyUit2SlNnMndtbWo2TWhFOHpEM2RCSUtSZ3hvb1RWcTN1WWVFSUYxMTAzR29EUlkwcFp2cXlMRVNOS2tGSjQ4Um5kUC9ITjkwTCt6dDZmdldKbFJ5TXZiMWhJM3JXM055RGEwTjNpZ1pFR2l3aWFQamJIT2dEb1N2WGhOeTFLZzFIcWl5cG9TM1NUYzJ3Q3B2K2d6U2w3L1hwa1NRbTRydGY4ZE52K3NhMFpxbW51MEt0a1FlL2IvVmdoSjY3b1U1L3lqdGsyYm1mbjltTWF2T3NxdGV0dktPWHhWdUU2MjQ4VnJxZGlzZU1DNHFnU1ZzcnppWnJlODR2OStxLzAzZjViM0k0ZWhHV0Mxa1EvZmgxbC8vVU5qTnFxN1Y4ci90SW5pVngvR1QzZit5bkpleDhESVVqOC9SSFN6ODZrNUZ2L1F2R1hQdWtWS3p1dTUrZzR5R2FJVXNKSlkrSG02K0M2ODZHNnNtQ3VGTkorTzJ5TFIzckwrRXRuTlF0VEVRL2JyNUFmODA1RjB3UHZuWitNc2pBVjRjN09LbTZ1N09DNjBtNnFmVGE0VUZVT3QzN0krNjFIWG9hL1BBb0xWeDI0Q1NJQXFTRGxFOHlyOS9Id2hDQno2MzFrZmNJYnY2Yi9iYTBCSUNNU3hDb3RQamlsV1lCVldvd1JDUjZhZlhDUXZLT0JFQkFGaXJYR2NCejZaczN5N3N0eEtOYWFxSlNFMkFFcExnNTJEUjJLNzFKcTNEWUxaNU9mL053d2dTdGk2THdnL2FjSzhyTzlta1o3VllEUUxWMEVyb2lSbXhuQjJlVEhiYk5BNnNPcVRramxSZEFEUC9vYVpXVmxkSGQyTVdyTWFIdytINDdqc0hYclZvUVExTmJXRmhyZzVXbHVhcUtzcW9MQWo3NUs4bC8rRTc4NnRDRnY3VTd5NVYrOHdKZi82d21pdFNVZ0lMRzFEeUlCcG96emtwbS85TFBuK2RKL1BuNTRqMGNEVEJwZDg0N3gra3dmSGNrT2JuL2hQN245NnAvempmTy93OUtXeGJ5Ky9sVytkUGJYa0VKeXo3eS9FYlVpT0ZJVGl3aUdiblc1OXZrc0p5KzNjU1hFSXhLcFFLZ2pwRDFxR09UTGMxbHBqQStYOVZEVEYyZldQTWtmSGt5ellLV0QxdUQzKzhubjgrOXFyeGVGQlRPbSt2am9GWDR1UENGQVlLT1BqdWNzRXZOTjNKVGdZTkx2SzByMk0vNVRGb1pZRi9yeFJ6MTl4REFRNFREVVY0QnlCODZCM1hwZ2VybTM3eFU4Q0VwaFNCaFpIZVFoM3lEK0x4UmtTbVl6UVcyenlTemwxVUFEV1dFaWxZMFNBcUUxV3VkWjVxdW1kM0FOdW5BZEtZVFhTSzF3L1VQVjQzMElMdkpGdVNWUXhqREQ1OVdEbSsvdG5CYWxRVWpGb3JpUHI2MFlTZEZhelNrbjVyaDgyaHo2c3FXRS9BWSswY1dTdFJadlAxQkV5aTFtVVR5RmtQdkFITllXdlRxQ0VKcHVWY3lPR2lXeG4wdFRJRVVPRHhsVmMyLzJBcVpiS3hsdXRISm45aktXT2NNUXdvWkMwNmdqTW5mQWxyWmVldU5wd2tIZlh2bFBhMDF2UE0yV3R0NGpaeVVYZnJncmwwQnB4ZVowRjUyNU9MV0JVdkxhb1QzVGk5YWFpQzlLMFBDUmRuTnNTblV5TkZ5SmVRVHFoNlFBRjhYRWtFR04vejZ1dU5IRTdRRnJKemV5WllMYkE3ZmVhTEs2NDE0aW9mT1loMElLQS9jUUovbzlINzBwTEVXVkZ5UVRBb3B5V0hrTDA0TE1paUlNU3lOOW12Q0VCRE11elJCUGFEYThGc1h2RjlnWmdUazB5ZGpMMG16Wm9wbDRhWnBFMXFWMWxZWFA1MkdQNWFSTktoVkFxejBuMGNpQS8zMWhpbTdibXpLWkRILzg0eDk1N0xISGNBdTVRRTg5OVJUang0L25tOS84SnNYRnhmMktHMXVkT2Jyek5kcDNlNzhwNVhDY0JvN3F2elh0cUI3ZnBuOTd2VjlGbTZtaE11KzliZ3VJN1o5WDVyMWovYjBQajNycW5xTnpZb2YwSDE2VjFsN1BaSjJIVTZZclJneFpROEFQb1ZKdzR3ZnREaHVZdmMyUTZCVUo3UC9kNEZWU3AxeDBWOTQ3bkhLOUpxUEw0Z2dFQTlmTjZqMW9Md2hZR1phOFZpb1BPWWJkSHlRS3VXVWFnMlFhUWlMSEVIODcwMHBYY2MyZ0ZadzJ4RWZSMEpQUnd5L0ZHbjBaT1ZIRnh1NGtMZk5hV2JSaUsyOHZhMlArMm00MnR5WWdaNE1od1c5aVJBT2VmcVEwV3VzRHd0RGZieFlOUXZnTUtMOEpJbWQ3YTZ2cmo5RDlKN0M3ZDFXYmpITHdqOXp4MnRscEEwM09nZHd0VVA1WnFMZ0ZJbWRDOGpYby9nZWtab09iZWUvcXN3Y0NzK0NYbmsyL3RIc0pYWmt1V3RPdFhEWDBhaXI4RmR0YkQ4TU9uTnl1WEJkUE5EL09QeHYveWRaMEMwRXo1Rm14L2NnTE1xUUlUa2xnbHR2SW9JdUtITnQ1RVJwSTUzTlVoYU1NS2k3emRJK2lVdkt1ZzFQUWU0ZVhWZUl6ZHMwSFN1ZHpoOVUyMWtwRDJNOFhubW5qcmtzbm90OTRuRStNTzUxTHZuc0JMenoyQUlsa0c3NlFIelRrc2hsdU9hbWNqMXgyTm9QakMraHNXc2ZxeU9uYy9JK1ZFSTJpRHNGWFBuOTV5N1lVOUhmS1dxVzM1MnA1T0xsNzNtQXQwMkRFa0ZJaUljK21TcVp6YkdqdXhYYjJiQVBzY2wwcE1BWUEwenFqRFI2TURlWFVVQmRmcmxqTkJIK001eEoxTE0yVzBtS0hTQ2dUdTNEYmx0QkVEWWQ2SzgwSmdWNHVqVzdsL0dnYjg5TmxQQmdiU2tZZnZXdENhNDJ3VExLOWZmejQ5VW9tanZ3U1o5UnRSYm1TRnhaVzBOU2NCUklJd3p3cTlzditwbE1udC9CK29yeVRaMFZISTZmVWpXTjRXVDJiK3JZZU1mL2plMmNUOS9CYlM0cXJzWE5wTWwzck9UMXFFYTZJa3NrTHNnR2JZV0dCTDl4QVdXa2RLT1dWQkx3UHAxMUlTQ1pnd1p0K1htM3pjZjROazZodnFLVzZ2Smp1N2g2ZSsxdVE4OThzd1IraWtQNHNDUWxKcjdKNUxOL0Z2YmwyV3JXOXZhYWl2NmR3ZjJUY3RwaU5tODVUVWh6aThvdE80Rk1YanVIVTFrMzAzZjR3blMrOGhSUUNNeEpHdTJwSEUxMHBRR21jZEJxenVJaUt5OC9IOS9ITGVINXducit1dXBmbjFyOEZDQXgvR0tYVlFjbGJJNi8zcXRoSTArRzUwRmhPdmpmQUwwL2R3SDkvMytXRnVkN2g4NjZHdTM4S3VpSE1weGVPSnorb0RDdHJGL3BQOVovY2Y3OVVZVlZIeTVsYU41Yk9aQzhhVFhjNlJsTnZLNVpoY3VISWFad3pmQ3Jsb1dJQW92N1ErMVowOXFZUDFXOHEwSG9JdWM3TkNCbEhLdy9rTXhBZVhHZ09lTHlRK0ppMngxd1huY29ndGFiWVVtd3NyZU9sOEtDbW1CRjR4dFJxM1g3SkhBRzVIWjNWMGtBdHNGOEF2Ym04UzNOcmpGZmVidVRLYzhZQThOTGJHMmxxNlNPWFArN3pQK3IwQ3lGUWVZZUdjZlg4ZDFrTEF2aE9vSjZtdGEwSVh6L1pNTnI3UjJnb3lVcDZoTUpVZ3NQWm1XejNmZlQxNVZ2NlI1RlZpdExxWW93cGx4RU8rNDh6MUVHemlFQ0wvOC9lZWNmblVWMTUvM3Z2bEtlcmQ4dTlkK09DQWROQzc3MkZFRkpJTm0wM2diUk4yV1N6Sk8vdUpodElRaW9wUUNDMDBBa1FlcmVOY2U5TnRtVExzbnA3K3ZOTXVlOGY4N2hpZzIxSnRnUTZmSVNmTmpOMzdweDcyajNuZDNTMis4OWtTZGRJM013Nmh0VnV4R3JZUk0za1V5RGVSVW5USmxScmtuZkhuY0Q2N2pGTXE1ckFjS0VqZGtmeWVtYzlLS1Z3SElmampqdU81Y3VYNzFrbmU4VjlkRjNIdG0yKzlLVXZjYzg5OTVCTUp0R1V3Z0YrbEdoaW1aWGtoNkVLd2tJanBoeDBKVUNDRENtMENNVGVNVWh0MGdpTWN5aTZLRXYwTFFPanlFWDYxV0ZnZWVUaVE2NkRjaFZDTndHVHJxZWVwK0ZILzBkeXhXcjAvSHowa21LVWJhTUdvaldwRkVKS1Vza0VIZEZPaHBjTm9TaFN3Qldubk0rR2phdkE5SjcrL25KS2F0cWV6NFJBS2Zld3VFU1l4b0NhcHExYnR6SnUzRGl5MlN5Yk4yK210TFNVd3NKQ1dscGFpRWFqakI0OW1uUTZUZTNXclNLVEtSV3Vyd0F0RkdGYTF6OEo2QTQ3QXRNSWxSUXdhVndUU2FPYnVqVngvckIwS29tNHhjNWtBVVcrQkJOOXRRUjBtL21Ody9HMzI3eWJtY0ZhZlNwbjU3L0JpWlh0VkpVSWxxVEhzeng4SHJZZVBLYXlCTTNsOTA5UDU2enBPM2pqelhJK2U5MWFhdG9qbEJXbVdMdTVqSVpHbDlualE3ejh4amlFM3o1a3UxY0J1ZzVPVWxIWDdQbWNpemE3akNxWHhGT3dzOVZGaE1RKzZkUWlseExqV29Cak1UYXhrYk1hbitIYW5VOHhOYkd5ejhNYXUvQVhsMVlhM0hGaWhCV1Z4b0RCWDl4TEROQ2NoSzRNMUtVZGl0cDg1TWQyY3RXZGhieTB6dXRQYzk0a2hmMmRGcHdTZzlpVUpPWVc4TFdyWStMU0tBVFJiQjRyMjZjenIySSttamgwMmVzcXljcjI2VVN6ZWIwV2E3ejI1amQ2NzBIczJwZHczS1BlMy91QVdsRFhLQnhaVGRuVThiUnRxQ1hlM0Rab1VIMEkvWlNEZitjdGNUZWRSaW1GWVpvVWpCMURVWEV4d1lveVNxZFBnOUlTZEUwam04bWdiQnNoUEx0QkRJYnlBVGd0L082SDdwNVNWb2FHenVZOVdHbDdQZXo2OW9aY0FwTmdaMWNMdXpZWVl1bDQ3dmU1MzBwSlM3U2RsbTZ2QjNoUDY5MDA2WHA5SmxJaGtDNm5qVi9DOTA5OWlyT25MUVVVYjY4dDVyY0w4M2g5aXc5SENmSjhMa0tvb3czcGxsTkVnbkdWYWI1N2ZqTkJueUsrSmtIYnZVMmsxaVdBWEsydEVNaThQSHpqeGhFKzZTUkNKNTZJYjl3NDVFSDYyR1VkaSs1MGdwWjRKOXU3bTZscGIyQnordzYydERld3ZidVo1bmduM2VrRVdUdTdHd05tOSthUDJQVjNDTTlBQUExSmVLdkYrN2VmMFo4M2Z1eVFyVGVCeSt5U3Jjd3FxVVVUM3B3NFNySzBiU1JMMmtibGNKcDZtemxlM09lZFBudkdvSkI4djNVZE1WbXh3cXVIbC9tQnc4YmM2YUsvNXdFTjdKMG9jWkQxSVlUQVRWdHNVSVdJc2xKaUhVbWNjQkhTRFBOd1k1QjB0K1M2MGhINE5IQXRpL0tpUERZWlJXU1QzUmpTdzhrWUpQaldHODJINkQrNG9BZEliM2tYMWJ5RlJpRllrNmxpR2c2R0ZTY2JiOE9TSmtwQnBxdVpjSEU1bWk1NWEydUsycFptZ2dFL3o3VVU4dnJySGJoV3l0c2dQK3ErbmJkRlBUSlBvS09ZV3BTVEFYaWY3VnI2L2NHMHpHMmhzN2s1UTJPWGhkb0wyMVFCalYwV201b3p1QjhNYTN6MHpJNlVvSHVSanRRVWtla09acEUzb1ZaQzBQcThTZmNpdlVjOVd3L3BDUXVGc3Z5QXdxNWFoajM2SlZSZUkxMVpnN2JHSE9USVVkM0JPTUFvYzIxUUNtS0NPejZSNVpmWE9XZzdpenpvVGRHLzVOS1NEWjI5c09xR01MVDhST0pXRWhCVWx1YXpka2M1ME4zcnpLQ1VTN1I3SStIRWFHanRRQzhOa1EyWURCay9tZTYyTmpvYW05SGJPM0JjbTg3T2J2SzFlc3pRV0RLV3l6OWVxK0czZHkvaTlkV2RFQmpXYjdiVVE0YWZDYVhEK1pjNUZ3TXdvV3c0SWNOLzFJNC9HQTlydHFLbVpoajFveWRnR1FFcWFsYVRydFBJNmdZamNibmVsTnliVGhNUEJwazJiWnEzRDVQYmovSDVmR3pmdHAwNWMrWVFDQVJZdG15WjU5c0xRVGFUWWVUWXNXanJON0xteHo4aDllb21oQlpBZHczcThzdllaRTVDK2ZKSk42ZVoyUEVXK2xGWEpZcXNxNEVSNUo2M2cyd2NKYm5zZ2dLV3Y3eWNXV05HY01LcGM3RWRsNDB2djB6TjRrMmNmZjUwSG5xbGl3VjFoV0JBMWozcUhjd1BiQm02RXIwQXRtejFRQUwwQWgzYmtReFMvNkdpQzF1UDZMZ0plVHFmR2hrallZZyt0V2QrTThEbjk3bDNuK3RkQS9Nb0c1QXFGOWR2NjRoenpxZi94c3FOS1diUHJlZnVmM3VPS1pOYWNLTmV2MVJEYy9jWjRwNFg0b0MzOEI1N1ZDcXlYUnBmdkhRcEd4cUsrZFc5WjBGQjNNTUFPa3lhTnozQVQvKzFoSG5qQXlSWHU3Uy9hcE5hNitLbVBiZEE5Q2NSWkVCSm1hSndoNks4TzB0WFFGQWFoNkpTbDdZeWllcUxFRTZmR3VrMjdvNmRpRWdZT1hJWWF0Tkc3SlZyRUorOEJ2K1ZsMkJ2cU1GMFRrRWJPUXlWU0hyM3BoVHVqcDNnRHVhQjdWNGxMamoxT3p5WFE1UG80OFlnTkpPREpvRklpZHNkSlhIdmZTamJRaXNySmZuRTA4aElCSzJrRXFlaGNUY08zdEcvSFlXeUhmVHlFdExQdkVyTktWZHkybXVQc0daN0hhZlBuTTJPcGtZTXc4Q3lMQ3pMd2pBTU50ZldNbkZJTmErOHM0RFppNStoOXVMUGtIbDVQbnBaQ2NvK2Rud2ljSEdVamlac0ZCSWhGRU1DOVVpaFNEa0JXdElWbkZYNFR6NDc5bmY4ZXNPM2VLM2xYSUphSWxkVitNRUwrZFJEUzZjOElyVnhOQ09DcGxCTU5qSmNHbzV6aGhhbmZWT0szNzJRNGRHWE05UTFmSERNVU5kZytuaWQ2ODQxdWZqc01QR1NDZnkrNjB3ZTZ6eURyWm5xSEE3aTRjY2VUeG0rZWtCSmdpV0h6NkM3YVhOVEU1dHFOak5qK2d6eUloRXVQUDhDbm43aGViVENBbWpjeWVidDIzaTV1Wm40M3NmMmtGbkdmdkZUL1h0Q1gzcWtCLzRNdE1Wc3Fnc015aUk2clRHSERjMFpYS1ZJV3k1aG44U3ZDL0tER3NWaERiOGhrRkpRWFdpZ1NXaUwyOTUrM1Vkb2ZuL3gwTWIzOHFmYTM1QTlNQjdZc1FpaHk0OFlIdjJ1V1JkQzRQTUhTWFgvRVgvN0Y5ankralQwUzhvNHJUS0wzeCtpaHlpaUI2V0l0TG13b0lWWFlzVjAyU2J6UWwwNE9UeTVlYUV1bnNoV1VLQmJYRmpRUWtUYVIzMWVVSXBRd0dEc21GSWVmMzR0OFZnR0VUS1JVcUJjdGM4K3p5NEVPdUUzRUtiaXpZVmJXUmJ4TVcxaUJac2J1a2lrN2QwbjdpOG12ZU1DUHBkM04yak0rdjYvY2VWSmpYeDY5bjNNS1Y3SVRjT0tLWXlrS2RidXB5MlI1ZGR2MzhRL2xvMG5sZW9DdjROekNMMXRERjFqN3JBQzdsL1Z6R25EOHhoYUhNSXdESWFXRHNVZlhNSE85cDJzYTFqUDFLWkpqQjA2aWxqelRnSnlCU1VUQkYxYml6RUk3UE5VSENkQjZjUk8vS0lESnpVWFg5bFlTTVVwRUJtMG9FN0FaN0ExbG1Wb1daRlhKNjg4SDlicGk2WkJ1ZHZQYkRaSXZCWWdjbEVTR2Q1WHJMa3BRZUsxQUpuTmh1ZDM5dUx5MlpWeTU3Z1FqU3RlWDJMeHgrL0dtYi9DV3ljRkVjRi9mU25BVno4Vm9LSFI1YnF2Um5uNEpRdlFrQmVQUXB3NURLZkFqMnYxSVQ3bzBWaXJRcURhMnNrODh3TFdvcVdZNTUwQkNLeEZTeEVsUmZndU9yZlhlNWNQZEFxWkZxZVBxcU1xTDg2b29nN3kvWm1EbW4rNmRCbVNIK1dNMGJWVVJPTFVkK2ZSR0F1VHRveVA5QndLSWZENy9kVFYxVkZkWGMzT25UdXBxNnNqTHkrUGlvb0tPdHJha0Q0L00vTGJtSlQzRXRJd1VNSkJjelZQTm1ndVFrbFVOZ3ZCc2V4c2FxR2pyWTJLaWdxNnVycUlScU1BbEpTVXNHUEhEb3FMaTN1Tmp5c0tKZWZNMUxueERKUEo0L3k4R0MzZy90WlNYdW9zSU9abzd4VTBTdVZFeE9BNjJpZmM1Ym9vb1RBTWs3Y1hydWZKZTY3a0t4ZXRaK1JzSGRJT0lZNU5yS0p2dW16bEFOMVZaNEFGOHhVTDNxNzFHRUlmaWZBN3FNNFdrSUtZa056MmwvVmU4TmJRd1IwT21nS3RONXVkZVl4b1U0WmphM1FtUzRuNFMzRnR5R2dSZENPSk9Wd1JEMVRTMFZhRTZ4cFlUc2tneDc2dlFhR29xS2hnYVBVUU9tSUpncHBOOStNUGtXN1lnVmxWalY1Y2dsNWNBbEtpTWhrQzAyZmlKcFBndUtUWHJxYXJzWkhncE9HTUtLcWlVUFBSRUd0alZlUEdQaWtHa0VxUjFReEdkalh5MldWUDhQZkwvZzA3djhCcnNIeW8xOHNCcGV2ZFhWeno4aE9NN0dva1pmaVF5dTNuUWdlRTRRQ2huRnZtOUVVZndiMVdtaUFnSlg0aG1PSHpZU25ZYkdWSnVpNG4rZjJzelhxQWlwTk5rNlRyRWhTQ3NZYUpJV0JGSmtOQVNzUkhUSEhJSTdoZmtlc2xZem13ZUpYaUovOExYL2k0NER1ZmdPSEZjTSt6TUdFNG5Ec2RYbnRYNVJxVDU0b1ZEdE8vY1EvekFDa0UyOXZTRklWMXpGN01pTkNsb0tMQVJKZmlzSnkwYUxybmlhY2lQQlJ6bUorOGtrbmVXSUtGT0tGU29wbGp2LzdkL2ZoSEtndWhMTTlwUjlBZ1NtZ1FGYndpUUdRelZHM29aTUtHV3FZOXNKaXBQb3V4SXd1b21qbUZzalBPNFBTVFQ0WHhvdzRvU0pSUy9RaXh0YmZscEVMVGRGNThjVE1kSFdsdXUrMTBBTDc5N1RkWnNxUWVUVE54RGhNaDN1c25wdEIxalgvODR3cUVnUEhqNzhLMm5WeVIrQ0dPVFEyc09aOWZOKzdRYlVRQjQ0c2JLWW5FUEtUWTNkOTVEYUl5dHNIcWxxR2tiUVBSYXdtSm13WU51TDFNNDJUSzR0cy9YVUE0YUhEMnlVTzU4cnpSM1Bka0tUZmZaL0RMVDk3RDZWTnFqdEhZRk5LQm9hVUd5WlRpdm5zNzJOYm95Ylg3N3UwZ21WSU1MVFdRRGpqeUtJZEpGU3pNMTNpdzNPQkxPN0lvY2NpM3hBUGxCZ3Z6dFk4TVRwS1dQbklkS1lWQ3VaSnBCWEdhSFlNLzd5d0g0S2J5WnFZRjQ3emVsWStRN3ZzM2x2a0EydDg2dVBmUkYvdjFmSjUxcE12Sk1QQ1BIWVYvN0NoS1BuMHRpVVZMYWZuZFBVUmZlZXZZN0tEdHpTTkNvb0QyYkNlVi9uSnVuZngxUGp2aUdzOXZ0N0xvaG9uSTJ0aVpESkZJR0N3YlYreHBFT1c2RGdFRkdDWjJMSTdtODRGcFlGdFo1aGJONEo4bjM4TmRkWS93ODAxMzBwQnFwc2dzOEJwWjk3WC9KdkM2QnhpRFJUN0hWTTBwaVBsZENteVRDOWJCdVdzVVNvQ09JR05DUEtpUWJ0K3h3SzVFUXQ4UWhYK1VCWmRiNElJYno0SDZCTlZ1TEkwTHBjR0ZONXFvcEtLeHhXSFRGb2NWYXl5V3JMSlp0YzVpUzUxRE11VmkyKzQrVnpFTWdTWWw2WXk5bnd3ZGZQNUh4dzhES1YyRTV2RHdqZ3IrMlY3STdlTnF1V2xvQ3lqSU9nTGhDb3l3eStXbk5IRHJYOGVqZ21sS2l5TzB0a1pSUW1IYkxobkh4c282SGpOWURrTW1GRkpYYS9QTUE3L24xRys2T0owU1J5cE16ZU9adTdhVjhmVk5JK2xPK2RCTUM2VUVoOFhLUXNEUVVURG5WQmc1SG5UREs3SWJNSVdKWXA5b2lzSW1LNFpoeXpHNHlpV3c2RG4welRXd29aNUk5Qjg0aFJYWVJaWEU1bDFGNXF3Yk1lcFg0cTlaaHBJU1o4Z2tyT0lxZkJzV0hYRnM3NEl6cHgrV0hkbllGbVgxeGgzWWpvc21KWlBHRGFHNm9yRFBnQ1dlMjgrY3Yva2IzKzdYVC9lYnQzeHRYM3N0bmtENlRMTE5yU0FFZGpTSzhERWc3V21sd0pHU3RkdGJxQzQ0a2NMZ2NscTZtaGhmT2dHbElPV20wWlJpUzdxVmpkc0VvcVVlSlV0cEwvMHl4eFh2WkpUcmdHRjZUV2FkTEdRZEpwYU9welEwbFBYYmwrRkllWFNYc2Mvbi9lMmllSHhQekdqLzcvb1JPYms5UzJIc2VTN3FBRkpHS2RBbC9PTXM3LzM0eHozTTIxMEFNcjNoVjJyUzRmU0srWHg5MG0rWkorYVQrTHRpMnhNQnJCYmgyUkZ5Mzk4ckY0eHlSZkZsV1VLWENPYXJVN2w5eVZkNHZmbGtIRmYyZUIvV2xHYVA3QzVkYWh4NEVBSmRhcGpTUUIxbEcwV1hjSHF4NUp1ak5PWVd5TjNocUE5U005YU9ETkVuMmttK0VVVmwzTDdiNCs1TjRUK1kwSEw0Y1llQWdldTRmTzNIejVGTVdjeWFYTWtiRDl6RXRWLzdPd0FQLytvYVR2L0VYWHpwaC84ZzROTkJDdStZOTltWHlCN0pWdnNBYnlZc1RVaHZrM1M5N2dsVy8wZ0hhWUtUN1llbTQ5RW0zUmxjYUgxSS9iYkI0aTQ2U0tORkc0a2ZtNUN5V0dSVWNYdkJYRFozVDBILzJwczRzWDk2RlMrN0RJNWp5TC9UMzMzejRFYU1ERUJpQVhici82QlgvUmJNcWh4NnFUakFidzNJN3NUZStSWDAwdTlDYUI2NHlaN2ZYRGl5ejl1QTJiK0xCbE9Ib01aVjJ1WE1NeXVvS2c5dzMyUGJEaW00NHlWZnYxL2o5ZHgzdmd3QW1kcFJ0TmFOeERlaWxyeFpTL0dQcUVVSWhadng3VEhxanRnVThXd3RvK280cWk3N0NmR2FWMGx1WDRLUlYwWjY1d29VVUh6aVY1RCtmSXlDYXZ5VngrMVZoYXR5RFkrMTNIMDVhUExvRm1HNFFxQzdMcVBTblp6UlZjdFpuVnNZbHVuMmdGUk1zMCt2WGZYbmZpNXdMOXozYmZ2S0gxS1VBeks3OUl3Si9PYjdGL0M3aHhieit1STZLa3JDL09xNzUrTTNQWnZvK2d1bXN2VS9PL25qSTB0WnViR0owMmFQNER1Zk8zbjN1ZjcxNDhmenhwSTY3bjltTlR1YW8zemhtbGxjK3JFSktLVzQ1R1BqK2NsWHorQ1hqNnluOVlWZjRjZmt3ZHUreEVrVDhuQ1Y0dkl6Si9EYi83aVEzejIwbUlVcjZqRk5qVTlkTW9NTFQvdlZJVG5vVGxzYldra0o1ZGYrRUd2blRweTJOdHhNRnVIM2VRV3JLR1FPRExROTA4bkM5cVg4ZmZzL2VMSHhUYnFzYm9KYUVMTVBBaFJPTkg2WXhwaEVDd1gyOFFmY1ZCcGw5ZjlpNmwxWTAwWkNRRnJRSWZhSUJTT1c5UElNZXpuTzBmM2NLejN6dVZ5WDROU0puSHZhbFdRTW16R0FvWUxFSEQ5dnZMb2NLY1V4aTFrcDRjVThscFlvRW9ZZ2FNSEpUZkRFYUdneEJOSnlDTTZhUXVuMDZXVHJtNGorNDFXRWNYUmxiYkJBVUdUbVV4QzBLVzZMNG1Za1Zub3RxcjZaVEV1VzZwUHlTT3NGbVA2ak00OW1NSEhZeDJqQ1JRa1hUZG1VRCsxaVRXbzBVOTUwcUsyT29oTmlUSjNKcG1neEp3N2RSdFAyUW94Z0hOT2Z3am1DbkovOVhhcnE2dXArdmFaMzdPaDVBNVhkZVZRQ05NMmtjTWc4UWtVVDZLeC9CU0VFK1dXelVIWU1UVE4zMjh5OVhlQWpGV1Iwd1hQakk5dzl1NEMyc0Q2d1l0RVNoRks0YXlYcDFTYU9wcEVJaFdndUxLT3VhZ1NiaDQ2aHJuSUV6VVZsSkFJaEhLa2hVQWpsL1dudXNmRmorNXQ4T0Z4OFU0VzNXNVdXQmlFN3phODMvNWJQTkwvSW13VlRxVE1yQUJpUmJlTFVydFhNakc0bUxVM1Mwa0E2UndjMGNOYzFHanNMd2RIQThIS3ZoRHowakdBQktOZkw3ZGpXWEE2YWc5RHRJeHIvSmFlT1A2VGZ4UklaL3UrK0JiekhRVmFLc3FJUWw1MDIvcUNOa1FjaUtRUTROaUVoVUtPOE9US3pIdGhBZjJrMDZ5ckFnTGZYSlBoT0twL3RMZDBVUkh4VTVidllWaW5OOFVvU2pvOGg3UzZyYXFKZzdnRkI3ZXY0WDhTbk1hWENxNDlZMjVTZ0kyWDNpYno0WitHRXd4cFh1UlZuVXFJSlhibTRRckErVkU2RG1iK3JGMW9mMEtMQm9PRlJYYmlLa2NPSytNU2wwN2p4OHVNWU83d0lNaG1pTDd4TzI5MFBrVjY1anNCeFUwaDkvV1llYVBmejROOXIyRnJibGl1dzlBQkREdTdxZVVEM3RkczYrTW12WCtmK3AxZnhpVXR5MXpuM2RQSk9QNUhvNnd0cHUvc2hBcmYva3B1T204TGwxNXpGRSsxamVQQ1YzSFVPZ1VuZFhEOERLUlMycldIYkd0VUZNZjU5NGxiK1pYUTlwaStMa3pXd015YTZVQWdVZGt6czl0M3NqRURtY25jenVkOThabndkTjR6WXlSKzNET1YvMTQ5aVIxY0VkQWRkUHpRZ2dkMTArZVU5MU9jT3JGZ0JPM2F3dTJoS1NxaXVoaGt6b0tjQUlFODgwY3RDRnV3ZEVuMklTOTdWRmdxWXVORGhXM2xKSnBRRjFSTU5FZFoxKzRUbDlrNU9tTXlQZkxBUWN4WFdTeEhjSnJsdmZqK0FiYU15V2R5cEZyNXJ2QVlMMWlJZnptb0Q0VE85TGxuN0dkcHlzd3V1Uk9ZZlFpRlRkTC9EUlUvWlFkSFk2aUFGbkRmUGkvVnRxWGRvYkhOd0hDMFhBK3BGOGRBYjRHWFNBeFhQUyt3SyszaUFjU2puUFhaZWoxWHBRUnJlV1EwdFdQVk4rTWFQT0xMNklhV3dXenZJMURVZ3pCNlVLKy9uSU0rY1h0R3YxY1BDL3AyR2ZzUXlDZ2xZUUpQM3J5b0JXUTU1T2xUcmdwa2xFbVVkbkZXa0YxcEQwMkZFdFdER1JNbjZUWXFPTHEvSlRXL0dBYVVBNlNncThueDg1NndLSnBYN1BkOTNkd3doMXpoU0NJU1V0SGQyb2dSa2hBSENaR2RUSTUxZFhSUVVGZVdhU0twZWl6OTg5NG9KNzNIWXBBUy9yb0dBNmlJLy8zcmVtSDE2RVIxTitzbFJ2cDVRQ2lVRnE0Y000OXJTQmJ4Wk00cXZQbkk1U0pnOG9vSG5UN2lUcDJQVnRGZFdRVGFMNnNPOEdBV1VsVlp6eGtXZm9MNXRBNjZieHJGVGxKWldNMzNNQktyTFIvYUpDYTk2T0grdXB2RlVXNGpoZDdXZ0MvaDFReVZPVUVPNGJyL3hKZnNqN1pxWk5YYWF1NU9kMUJRbHVlRkdQMSs4S2t4MWhjUjF3WEZjTDFsUDZBaTlCQm1ZQktHVFNQdG5VbWNWc3FpempkZTJyR1ZSeTNQVXhodkoyR24yYVZyVjF3MStsSXZ3K2JHM2J5WDZ3Si9KLyt4WDhjK2Npemx1RXI3cGMwZ3ZYNFFiaStMR3VwRjUrUlI4K2R1a2x5MUVaVEo5cHk3NmNWMnU3UTZzaE9QRG5hY0RTWmQ4UHpncXhJb2RYdU9BUUNoSWZxNXVvYjlSV1ZhSHRKVjdwaGt2M2lva1Nqa0lxV09Kd1pxc1FScWtIb2F3Y0J6Rjd4K3ZKK1RYaUNadC92WjhJK2VmNk9Fbi9YTmhHOUdrVGNpdjhmdkg2N24xODJNUVd2OXBtdXJhTm5vb1RMYklSK3ZmL3NTRVYxdHdpM3pRVDJUN0xsOUIxd1F6WjFhd2RXdVVwcDFKUm8veU9vWTE3VXdpaEdUbXpBcDBUWHJBb3IwMHVSK0svSjJEeGtjbG80dXJDUmcrOHYxaEFycVp5MDN6bm51ZVA0UlNpckFacERpWXh5MG5YMFBXdHZIcE9nWCtDUEZNQ3I5dTlzZ2k3dnpsTC9GTm5ZcXlyQnhRazBCb0drb3BWRGFMOVB0UnJ1dDk1N29Jdy9DK3N5eWthWHArcDJkWUlzSmhENk1sa1lCZGVXaTdmcnZyUEpibHhkU2s5TDdiK3hwT0xoNmthUWdweWE1Zi81N3hGdDF3eGFIYkdxN0NhbXdtdFdBSktwTkY1a1VJbm5JOFdrRWVXbDh0L3Y5ZS9DRVVzS0FjRzZIcklDSDl4aUxhdi9kVE1vdFdJQUkrY0YzTTZSTXAvcDkveDMvYUNidmpoaUlYTzFXMmpWWlpSdW1mZjBya2sxZnNQdGFOeG1pLzVWYmlEejcxM21PMVF5ODZrQkptVG9EUFhnRlhuQW5scGJrWVR3NG50c1V5ZUx5emlMKzBsck1zRWZad0dvUTZ0QnhTb1hDQkpmRUl5eEpoN21vdDQ3T2xMVnhSMkU2NWFZRURaY1h3eGV1OGF6LytDdnpsQ1ZpMm5nL0VPQk9BZENGaENoWVBNWGxzY29CM2g1aWtUUTkzQm5jQThZZ1E2SkVRNFNtajZYNW5PZW93a2VPRmxJU25qRWFQaEhwVUsyUWRJYkNjQW56QWNHQ1k4R3JZQTZOSEE1QjY3VFdHT1E3TlN1SExoWENQbWVrZ2dZekVYaE5BUmh4UTRMK2dHOS9IWXRqci9hQWcrTmsyaE44bDgzb1llMTBBZTAwQXNzSnozWStXU2FGcktMdVQ1TFZYTWV4ejErRmJ2Wjcyck0zUXlrcGNWNkhyT3BsRUVpRUV3NnFxc0N5dm1YMnNzNHVTWUlTeW02Nmo4WTJsbUE4L0Nub2gyRWVXMzdQeUw1OEY0STJWMjNsbXdSWUFManB4TktmTkdMYlA3OTVZV2M4ekMycU95dmNYbmppYTAzUGZpN3R1Mms5bk9VUjhFVjdhOER4cEs4MzN6djBSZi8za3cvelBpLzlGVjZxVFJDYUpMblRTZm9kQTB1WGE1N0tjKzFhR1VGS1JDSG81UnFaMXJQU0V3SlF1MDBNcHJpdnU0SHgvSjIwYjQvejZCWnVkOFJuSThDank4dFl6YXRSSUFGYXRXb1hqSFBpNWpocXFjZEZwSnArNElNRGtzRW5pRFpNZEx4aGthclZjazZFakcrSWozN3ZqTU5hYTJMTUJzTXZPNmV2MTg4blREakVtNVNLbFJDbkZ4bzBiR1RGaUpMcWhvMnVTVTZaVThJdmdHcGFvS3Bib0ZRamxvSVFPdUFqbDRPeVNyd0p3RmI1d2tMeFoweEdhRjdQUFpMTFUxZFV5YnR3NHI3RjA3bHBIUXNNMWs1djhSWnhqUnZBakJwUks2N25aSkVEWVBQeFlGQnk0NjFrZnA4d0tNbkZFSEo4dVdWa1Q1TTJsTms1M3pKUHJJUTRwdmoxS2EyUzRiR2FZMXNKU1N6dHNYZVR1QlowZVZXRmV6SnlTVXl3T2lBekh1cWpMVlZDenJZV0Z5N2R5NWJuSEhkUldkNVZpNGZLdDFHeHJPU2F1OHE1THRtV2lMR3JmVEdjMlFjTE9ZTGsyaGY0Q1VrNkd0SjBocFBsb1RYZWpDY25JY0JuMXlUWnM1V0wwRWV6MSs5bWJsbXRUR0RRNGpyY3BybjRLeXk3S05RS1IrOTJiQWxuRWxPcW5xZVJ0bmd5ZVRDWnJvd21kajFiRU1wZFBJVUdYQ3BFVFlQWXVIRnV4Mi94Rjdhb0hzUVdCOGl6bmZUTkY0M2JCMXVkTmZDRVhJK1RrZkNsQnR0Vmt6Wk02aTZNU0ZUZVFodksyWmJJNmE1K0trRW1CTDZCNDdoMkJabXRJVTVGT0NXWmNuMEIzTW1oQmNjQmMzNDFmdVhXZ3VaWkhGUEJUU3BGSUp2bmJmZmZ4MTN2L1NpQVl4TFlzbEZJWXBzSEREejlNZFhVMU45eHdBM2w1ZVhzZVVnL3AxMHM3Ky9WOFhyUGYrOU9lYnh3TUVQZWxtMU1TK0VqZHJ3czArZ1dGV1pqZDVRbkRwUVdTUnIrZ05OUDd1L1BtMEtxUGhwYkpiYTg3VVNncTlQdzRONjUycDNmMmljNFYrLzE3eUV3dkVERUxEQTFuZmh2dVJxOEdWTFdsRVlhZU81MDZ2RUVmNlZnK1RMSkVnZTZDZFF3TkxFRXVqMHhwdUFyOFpCbGl0bk5DeVVhdUdMYVJlV05NaWthZmhUUCthcm9MVDZDdE84TzJqVWtXTDEvSy9KVTdXTGE1Zy9hMnBCZXZNWFR3YVdpK0FDcFhOKy8wVWVNSEJXZ0JDSjBNeFRkQTZCU1FFVWd0aHViL2c5anIzby9FL2pHL0VhQjdjTDc0Um9EVnZDOHIyaDNRL0ZOSUxvTHliMEhrQWdpZkF2RzNvUDF2a0hnYm5OU0hqMjFkY1ppekx5QmdobWpNTlBHbm1qOHpvL2c0aW4zRis4eTV5djIzUGI2ZFAyMytNeWtuUmNBTTRTcTM5MXhPVjJDM21XUWJmQ1FXNXBOM1hodXBOV0dVSmJGYXVsRnAyUnQ5WTQrdWphd1VycEFzYTlqR2srdVdjZmFZeVZSRTh2SHJKZ2tydzdaT3IwNWllR0VKSVFQU2RwYW1XRGN2MWF4bFdjTTJYT0hGaVk2V1BTK1VRdWttbjNreHhmZG16ZVhLcmZNcExheWhURXZRZ1lhcEZFSkMyaFZjTVRSQlZkM0R0TWJTdk1KSmZQZUpSZ2lGa2JnOWloWDk5RTl2TzZoOUhleGRMQllPbXVSSC9FZ3BpS2V5ZEVmVEI4VE15by80dWVYVEp6SnhkQ2tBMjNkMjg1dS9MYUk3bHQ3ZkhVRUl5QXY3eUF0NytDVHhaSmJ1V1BxQWVWeXFCOW5CQ3RpY3llUDJ0a244cUh3VjF4WnM0K1J3Qzh1U1Jhekw1Tk5nQlltNVhnNThSRm9NTVpKTThuVXpNOWpCRUQzRmdtUUp0N2ROWW5NbXI5K3ZBYVVVd3REQlRiQm1kWncxUnA0M0EwNG4waFFvb1IwMXZqN3FaUEdSSXN1eGVLRm1FZWVPT1o0ckpwM0docFphR21KdGZkYkU3Nk9RZHFkeS8zY1ZsSmVQcGlCU1FLUjVNeDFqenFUY2NjR2ZvbkxJZFB5QmZGemI3dFU1R2YvMlcvM2Y0ZHJiejBTd1NvL3hhS3FOejF4V3h0eExOaU5xSlVKZmh1L0VGaDY0ZHlQYlRNa2tJNGhsT1dCbDJFaWF4NXdvajJSYlNTajNtTm9WVWdxdk1hN2pNbjE4SlZkZk5JTWJwNVlTZXYwdDZ2L3dkOUxiNnRHRElZU1UrKzdOUzRteUxKVHRFSjQ0bG9LUFgwVFRaWE41TExPV3U5NTRsTzJkOWVBTElZWG9VWjhDUnh6YzczTWMwQUlPSy93ak9XMStPUXhwUlQ4bGlzbzRPRUdUVDY0dUJLY1VobXBJeDhMcXAxaWlSc1VZOUtKS25OYnRCM1J2OWFKS2pJb3h4M1NNZnQza3NzbW5jOEt3cVlUTklBV0JNUGN1ZTViTjdmWDg4c0t2SDNVc3MvNUtvLzlqZWUrSUdXbnNxWE1VRXVVMk1kaVVkdURoMHgvYzNSUlUyMGsrMTdrQm4rdFV2aGdlR3R4bTVyK0pFT3Y1UUhtWkE4N2U2M1NITThhbGEzZnlwMGVYTVg5NVBRRHJ0clN5Yk4zT3djWGJQNTBaa0lMRzlnUytjay9HTnJZbnZCeVRQdkJobkJ4R3U0TTZwbjZlRnZMM2lySHVPb3E4Z0lGS1pGQUJZMDkvN3dQSzNGd0UyaDJzclhtdnhQRnErRHA5azNpaXhtQm8yS1E2dlpWRXU4V2lZVVdFYkQvemF1YVR5Q3Rndmo2SFpFMGxZMmFOQmJSZUM5R0pYQTF5U1VrSjExeHpEVGZlZUNOMzNIRUh6enp6RE5Gb2RIZnRnRklLMHpUNTJjOSt4aTIzM01JcHA1ekMxNzcyTlpxYm16MmNBd1ZQWjZPc2R0TDhQRlRGREQxQWg3S1J5dnRPdVNBRENpMmlDSXh6YUh2Y2h4TVRsRnlaUVdVRndqeUVQUW8zaFlxOUJyN2pFZjRTaElUVXFuVTAvT0IvNlhybVpZVFB4Q2d0UlRsTzcyQWxIRU5mVVpPU2REektpcHExVEJzMUNTSGcrak12NThXRkw3Tm83VktFejc4NzUyenZ1SXVVMG1zc2IyV1J1bm1NSlU3ZlVuRnBLWmJqZ0pTVVYxVGc4L3ZKWkxNVUZCVmgrbnhrTFF1a29LaWtXTW1FSWVJRkk3RUMrWXhvV3M5a1l6Mnp0Qm9xZlcxb3VzdU1vVkhPYmwvUFF4c25ZNHNJQzkyVHNWdmpMUGVQWllqUlJHdGJBV09jTnFyTExXYUhYK0dxVVN1WVdLblkwbEhBVy9yNXRKb1RVZUxZWVlncEJiclBKdG1TejBuVEZvQ281b1ZYWnZPMWp5OWt5NDRDbHIvMU1lNyt4bHM4K3NaNHNEUmtNT1AxQWpsRWNoVVlodURNYVRyUExiSDU4N01aVHB5bWMrSUVuWkpLU1dQbm5uNWxRb0RyZ0xJVnBma2E4NFpiWE42eG5JdnlWMU00YVRncFJ2Uk83dUZUVHgzWS84N2hMejQ5M3M4Zlo0ZHBEY3NCMXd2STZ3TUVLNXZob3JHd05abGg4UWw1akdtdFpkeVR2NlZFL3hqS1ZWaWJYbVBEaUhxcXppd2ljbm9IWFVzZytFc1E5ckhKSE13NkppL3NPSmNyUmo3TzBIRDlJUi9YbEt6Z2hSM25rblY2RHpOYnl6ZDdWeWozY3ZqVGVhOHVIblJHQjJrUGZ4eXNia2Q0bVpCQ0tkeFlIRVBUeURoWlVpMHRwS1RFWDF4RW9xVVZJeGpBTUEzc1RCWTNsZkpraXV2MllYN3V3R0xmdEszMzh4SGFSL1lNRGlWdXVFL1Jobmp2bzl1Tk1kSUQrU3RkbEJJNHFSQklsOVBHTCtIN3B6N0YyZE9XQW9xMzF4YnoyNFY1dkw3Rmg2TUVlVDRYSVR6TXBtT2lyeFg0VEpmdlh0ak1oSklrSGM5MTB2NVFNMVpMQnFFSlpGNGUvbkhqQ0oxMEV1R1RUc0kvZmp3RWczdnBQb3Z1ZElLV2VDZmJ1NXVwYVc5Z2Mvc090clEzc0wyN21lWjRKOTNwQkZrN3V5Zld0Q3R4ZWRkOEgwa3hqUUJzQld1NzRKMDJpUGRQMytkN1N6NSt5TDgxaE1zM3BqM05qT0p0YUxsRWIwZEpYbW1jd20yckxzRlNmV0ZyZnhnQjF2cFFQN2tLR2ZUeUc5d2pVQ29hQTZ2ZjFVQ0xrenNIdUpEd3NncHhsTXZycllLUHp6eVpCenNxYWMwdnBjQks4dnZHUWpKQ3AzWElhUWdwRVBFNFg1aFZ4S3RSSDdibElIMWU3RWt4R00rTFpnL1JpMVV1d25YSUJxdm95Z1RRTEpPNnhtNmlrUVIrdTVaT3B3eERVMmlhSU9PRzBMbzJFazhuU2VqbE9PMGJVV05ua3cxWGswMm1jd2xPUjc5eVR5bFFFbFkzS2NyOThOa1R2Tnk5djZ4UXJHNVNmR3k0OE15VmZzSVdBaWdNYVl3dDkySFppZzB0SGliWjZES1RzZVUrQ2tNYWJiRitwQ2NGWGwxVHZrSUlSWHlEWndmNHlsMzBQTlczOWVMQ0JkZEFXQ1pPMFZic01TL2hscTRIVjRkc0NFMG9kUFBvVDBsNmZ4N00xWFVWeEFSM1hHOXh4OGN0aW1JQ3FUc29vWTQ1NzdYdTkvNGJ2MW5aNDBXbkVPaWFRVENYdDUzTXhIQ2NUcTk2dDljVmljUlM0K2xRTFV3cUxVUnUyNDRaTDJCNzB4cDBLME5sTmtOMVZ3T0JpUVcwcFRXSy9kWHNiRW53NklzYitmWGRpNm1wYlVmNk5ZUnI5WWszZUNTclZVckoyT0pxNWd5WkNFQlhPblpZOWRNOVBmNkF5MDBwbE5BWTFiR0JqdUpocFAzNWpPeXFBYWtoYzdVYUowbEp4akI0UEJianBWZGUyV2RmVWtwSk5CcGw3dHk1bkhycXFTaWxkby9KZFYyTWFKVDF0OTFHMXorZnh6UU1sSEpSU2xHYzZXQmN3enUwRjQxa1dNdEsvSzV6YUw1aW40ZzdoZEpnWVYwUlB4ZytoU3RQaTVDTWJlR0xYMXVCTGhYZnZDQ1BiMy8xSEZadTZHVEJsblVJMDkwbkROY3Z2SE1IcEUvZi9YcVEraGRWZkg3SEVYRm1xWUFwbXVoelh2dk5mdS9kQWJaSHJvWDZkMzZhY3dqK3BkUWdreEtzWExHTi83N3BkYjU3NVRzZ0lkRm1ZT2lPVndmbzdrbDk5dmEzVkM1MG8vYTEzOTdudFdZNFlNRXZ2L29pVllWeGZ2alFhV1N5QmxLNkhnYldCNURQRkh6bTRqeSsvL0ZpU3RzbFRiKzJTSzUxY2ROZW5idm9oKzJMbEFOdUZ6VG5DVm9qR21GVHNpM3NJQXlGMndXcWNHREpFK1U0V0V0V29Hd2IzL2xuazEzd0RwbFgzOEI4NVUxOFo1MkcvNkp6ME1hTlJoUVZvS0l4RUtBNnU3R1dyRVE1Z3dyQ0UzSUtJUXl5eTFiaXRyZWpWVlpnSGpjZFk4cFVzaXVXSXN4UXp0bk1yUzJSUzBvV3dzdWhhdGhKN0RkM2t2anozZWdqUnVLbU1yc0FuSTh0YjFnMldta1J6dXFOYkp4eUp1TmZ1Si8xalEyY01XczJpNWN0d3pBTUxNdkNzaXgwWFNlYVNEQm42blFlZmVwSnJ2ekgzVFI4K2Z0RTcvbzdSbG14bHl0MURPNG40d1lvOVRYVG1pbkhyNlZJMmtFdXFYcU1zOHFmNHp1cmZrMW50b2kyVEJuTFdvK25LMXRFVUV0d09GcHlJRWVNVk82dlJEck1DNlM0TWhSamJDTEJvc1ZwN3ZsSG10ZmV0VWltUC9nT1N3b2twOC9SdWZGaUg5Tm5sN05FemVhZXB2TjRKVGFIcEJNQzBRTTVNY0JFakhZa0R5R0haNXR1NytBUHY3K1RILzNvdjRqRjQrVGxGL0R4ajkvQTlQd0lWc2JpajMvOE01bXViblE0NHJxMC9hY3pQSHJFaDFZc082Nmlyc05pNmhBL2xYazZLeHZTdkxnK2prOFRKTE11ZGUxWklqN0p1SElmblVrWFhST1VSVFNHRmhvNFNyR3R3OExwb2YwNjBPYjMyNzlhL3I2c09wak1jU3dGdGhjdmFLcC9HeWQySHhsN0ZGbG5EV2JldHhsM1VwSTgxY25xRmIvRDlKMkdJc3JZTVNNSVJZYjNhZzJySmhTblI5cVpFK3BtZVNLUHMvTmFlYTZyRElDejgxcDVLMWJJY2FFb3AwZmEwWHExQ0ZKOG9CZ1ZBbkFVcGVWNVhIL3RISDcyeDdkb2JZa2gvRVp1NnNTQmRhRHI1UXkzdE1SUXVzYVhQbmtpdjd0L0VZbmFkdEFsL2E0RVdFQTZBK2xrSjM5NXNwRG5WM3lYVThkdlpIUmhMYWJ1c0tsMUNHOXRuc0syT2d0RW05ZkQ3eEI5S1NrRUUwcERqQzRNTUtzeVROQm5JSVdnTEsrRWNDQ0VKV3dhT2h0NWQvTlNpc05CdXJmOUF6ZGJTM0Q0U0pyckd6RzB2TjJON0IxcGtUWWFDUTUzY2JOMWRHOTdtdnpLbVdRZGhlWmtLWWtFS0MzTTQ4eUtZc2FWNXlPRndGVUtYSWRDRTVUYk4zc1pRbGVZSTJ4a3lIT0MzWlRIRnpLZ2tDRVhjNFJOYXJGNXVDQVZoNmlUdkpLTW5hMHVuL3FCMTJzOUx5VDQzazBCL3YxemZsbzc0VFBmaVhIUFA3S0FSSnc3QXUyY1lkakZRVWpaRU0wZThyUHNyMWFuNm82U2VlSlpzaSs5amo1bkpvR2JyZ2NFcWIvY1QvYTVsOEd5VVYzZEE5eTY3bDJ5SElubGFreXZiRUxQeFZjT05qdEtDWHlhdzJtanRqR2xvb1hON2NYOGZlVWtHaTNqSXoySFFnZ3FLaXFvcjYrbm82T0RRQ0JBWjJjbjZYUWF4M0h3KzMwMHQ3UVFzVjNDMGlWV0xVaUdEY3EyZTNzL0xjTU1RakZGL2phWG1PUFMwdEpDME9lbnZiMmQ5dloyQUFvTEMrbm82Q0FVQ2xGUlVkSGpQaFc2QnBPSDYxeDdpc0UxcDVySW9oQVBkeFR4dCtZeWxzWkRxRjFZODNzQ3JnUk1IMU1xUmxDZFg0enNwZjIweDNobTRQc0R0b09tYTREazNydnVvV25OVGZ6OEt5NkVESndtaTJQWkxyMXZzeloxaFRRQXpKeUFzRkZLSVBRYzJLcFNhQkhUTTRhVXdpdnJFNzB2ZndWb21vUGZINmJOSGsxYjBURDhRUTJVRGF1QlBFVXlCaUpxNGcrSHZHRDBvTWR4VUdHbWxDSVdpNUdYWDRBL0dDSy9JSVJhdlFTN293TVpER0czdHlGRFlZUVVPTkZ1a0JvcWswRUdnNlMzYm9haVV2SkdqbUZJTUl3cE5OYTNia081TGtMMkRmQ05WQzRadytTVXVtV01qaTRrZE5PWFVWazdGKzMvZ09zcDRTVWRtVHFKWC95T3FycGxaQXdUcVFZRzVMYzNuVWRudzlkVkNrY3BDcVNrVkdva2xLTFJ0ckdCQ3dOQjZuT0ZoT2NGZ2p5VlROSm8yOHoyK1FrSlFZR1VPRXJoS3RWcnltTWdrSHVZVDBWSXorR2NPd1VLOG1EMVpuaGpPU3pmcExqbGV2ajRlVkJhRE1NcjRQbDM0UC9kQlJuTGUvcDl2U2VxZ00xTktSNWMwRW80b0RHaEt0aHJ6ekp0dVhURzdjTytoMWMzZFBXRzBFTUlQMHA1aUlxaVU2SlVGL1JEa0M1M1A4VWxsWVZRbmlIcElHZ1FKVFNJQ2w0UklMSVpobXpvWlB5R0dxWTlzSUFwUnBheEk0c1lPbnNTQmZQbUVqamhCTXhKa3hEKzl5bDJ0ejRjaUY1dUxsQVRpMlc1OU5JbkFDZ3ZEd0dDSThIMlZMbGdoRzA3M0hiYkVnQnMyK3ZjZERoczR6S3dnR3ZPZmVBN2g2NlhoY3RmTDdtVHk2Y2N1TGxZU3lLUEc1LytFblZkSmNoZUMrcDlkdENJMjF1dVpoelNhWnRvM0dKWVZaZ0xUaHZHNGxYTlBQTmFLVi80OHczYytibS9jZnIwbW1OakRydUtZUlU2WDcydUVGK2VSdndSRDZUK3Frdnl5VVFkaGxYb1hqWDFNWENnYkFFL0hXNVNuWEc1dU5YMnpNU0R1eDhJQmY4bzFmblpjQlA3SStSYk9EMTROa3A0N1RzU3JzWi83cWptblhnWWdPMlc0Y2tEQ1k0VXZXclhWSGZIUDl6UEl4WW51WFFWM2MrOVFucnoxbU5xd3dnRW1wQkU3UVFDK015SWEvamVoSzlRNml0QzJUWksxOUVOay9nN1M2aS8rWWNveTJiRVhiOGdPSDN5UGt0K1Y4SnVjdVZhNm02NkJhRnJEUDNGandtZk9Cc1hFTGJOWjBkY3pTVlZaL0hmNjMvRDM3WS9pVUtScDRkeGxEdFlnUE1SSU9tQ0xSVGRnWDJCdTZYcmZYZFVmUEVzcUl6WURheE1yaWV1R3hPNyt3cGtjNER5bWdibEpaS3FJUnFubitrREJWYmNwYUhSWmYxbW0yV3JMWmF1dEZtOXdhSnV1NE5sS2F3RFFJRmtuUDZ1YlBaZGU5WUF6djUyYy9FaTNiU0lXanFmV3ptQkI1dEsrZjJFTFl6TlQrTmtnVFI4L3R5Ri9QY0RVMGdtZmZqTkxNWEZFZHBibzduaUE0R3VTNFFRK0lJYWx1MmpyTENiZjcxOEVTUkJrd3JOVk5SRS9YeHAvV2hlYmk0RzNVRTNMV3gxbU0rNnFCUm16WU5KTXlFWXlqVUNIR2l0N0p3Y0QybWdzbDR4aEt6RXhVQUtCNWZoWk02NUJIZnFCdVNyOTZIWHJrRkUyekZHenNEYXRCVEhkWWgrN0JQNFdyY2pqeitQZENBUDBkR012N0VtVjlCeGVMcmhwOSs0L0pCakNxN2o4dXFpamZ6SEw1dXhVeGwwWFhMVnVjZHg2Um5UdlEyRFB0RE56OTM1ci91OG4zM2hwL3YzNDczbGEvdE9tNmFoWEJkZlZRWFJkNWFpVDh4SHBRWm1pcEJTQ25TTlRkdmFxRzN1SnE0bHlPN2N3dmFLVWRUdFdFRmJZanU2bHVYVm1pV3NieGpOa0hRU3BZZG9iUzlsUTNBRHM3dHFVRzZJRTBlZlRhU29oRGZYdnNMTUlWUFoyWjVtVTEwclNqL0dRUEx4T0JnRFkvTlg4ZjdMTFJmT3dYYmh0clU1SDlEMVBsTzlOSUF4ZVZ2NTF3bC81dHJ5eHpEZWlkSjR2NC9VZXBuaisvY3FHK0dIL0ZOdFNqNlJaZnVRMGZ4NDgrZDRzUFpLdXJONU9hZHowTzdibjNSZ1hxSGtXNk0wVGk0OHhLWXBBdXpHTExFbk8waTgybzNLdUgwN3Q0Mk44TllCZ09hbGhDbFRJRDkvMzgrN3UySE5tZ04zWm04Y2JKUjMySGFjNnhXQnZ2cmFSbkJjS29ZWDgvM2JYMmJOcGhhRWdPL2YvakliYTl0b3Ftc0hUU0lENW9Bck9Ec3E4NWlHNk5zR2JzSmJMTmtHaWJJSDUyV1ErcDRHV29ORkY0R0dTNG1icEU0djRMOUNzM2swTUFtRUR0dGE5c2ovZmtKZHduOFFNMFloaEk2clYrSDRUc0hRaWxENGM3a2RjbmVocDFJQ0lWd1VCa0lyd3ZLZGdxWlhJWVdHRXY1ZDdZbDdqYjV5OWZKKy9meC92dW9ENGxkQzRHUWRicnAyQkNmUEx1RytKN1o3VGVoa0w3bUp1MklIUGcvY0pWTTdpdGE2a2ZoRzFKSTNhd24rRVhVSW9YQXp2aDc3UE1sa25FYW5rS29Udms3K3pIYjBjRG1KcmEvaHBEckpuM2JOUG9hclVqbHdqbHpNTEphSTB0QlF5NUNxNFlSRCtSd05uRSt2WUUyUVo2ZVpFVy9tL0k3Tm5CQ3RKK3hZQndTRzZoTzdkY2pBa3I4ck56YnhtZjk0a20wMXJVeVpYczEvZiswc2JybnhSRzY1OFVRQS92NzhXbTc4M2hOa2tsa3VQR004UC8zNk9menZMV2Z0UHY3YnQ3M0UvLzNoRFh3UlAxKzRlaGEzL3V2SE9HMzJDQURTR1p1elAzOHZMNys4bnNvUkpYejNwaE81K1lhVGFLMDhoVkJlSGp1TGdndzk0Ly9Zc2EyTG1UT0g4VCszbk1XM1B6dHY5N2xYYjI0NTlCdlJOSXErOGtWODQ4ZDUxMTZ4RXFISjNZQXhVa2l5cnNXS3pqVTh1L01WL2w3L0RGdmoyL0JyZnZLTUNJNXlVSDFRVGJqdWtpOGVPdis2Q2w5MU9hUHUrQUZHU1dIdU01Y2QvM01uWGErK2c5QUhTSTZCOVBJeTliMGtoT3FqN05uNlczNTRaQWNLUUFxVVl6SDA5cDlRY3NIWnV3ZnJLSGo1MWFYYzhsLzNvdm9vdm5mSThzeUZkVVd3b0F6TzJ3RlRPK0dTV25od3RDTGprL2dtamtJQjV0QUtDcSs3RUpXMVVWa0xHUXhBWDhzOEJSU0FWYXpRa2hJbkFNV0JLSlZSQzgzT29ESXBSSDRFSzZTUWdSeVNWUjkzdmpzY2dQYzlLdFVMd214c0djYW5UbnFMamVlY3dMamxLOUhTNnhEQWtMaGl5Um5qbURsc0d3OHRQaFVIQWE1MlNDQVdIMFRmK3RhMyt2VlMvdHJYdnRZcjU5bVZqK3dMVjFFOC9Ed3lpVVlpSmROQTZpZ25UZEd3Yy9HRnEzSjdicjNMdDVxQzVyREdQYk1LZVhaQ0JFc1hBNkoyU0NqbC9hRndwRVk4R0thNXNJeTZxaEZzSGpxR3Vzb1JOQmVWa1FpRWNLU0dRTzArUm5QN3dmNWNQNVFQUjY3U0ZMYlFpT2xCWnNTMmNIejNCdHhkdG9WU1pLVkJUQThpbEVJZVpYMmhBTTJ3R0ZYWnlLalNWaFp0R1UwMFovOS8wRWgyaFovei9Tbm1qdG5DMXRaU3RyYVY0S2krMVIzMmJxRDNBeFRkS3JBY0YwMGIwSldNQjV4dEZ5Q1Qza2Z2OUs4aGVwSDIxZXU3UVlmdXpoVGJYSkZMYUUrRGlOSGVBUGkwb3pockVEWTFaZ3p4OHNxMmRhVHBUTmw5SXNKL05PcThROWNyd0NsZE5YeHYyOHZvVGhaTGFEeGRNb1huaWlkaDk5VnpYZmpYd2FEaFVhVC85NDJ6dWVyOHlZd2JVUXlaRE5FWFhxZnQ3b2RJcjF4SDRMZ3BwTDUrTXcrMCszbnc3elZzclczYjNXalA2d2gwaUJ5YWF4aFh1NjJEbi96NmRlNS9laFdmdUdRYU4xNStIR1BQUFoyODAwOGsrdnBDMnU1K2lNRHR2K1NtNDZadzJkVm44WHg4UEQvNHhnZHJCMTBxTXE3RXRReEtJd20rTmJHV3I0elpSakNRd2MwYVpESW11bERvZStuZXZjSFY5bjY5NnplWmpJa2hGRitadElYUGpOckI3ellQNC8vV2o2SWxGZ0xEUnBjdXpxR3MwTnR1NjBtUUN0SnArT0VQWWVmT1BmdHFVc0tjT1hEcnJlRDM5OHdQZXVLSjNwZG5FVVgrOVdsOEV6MGJ6VGZTb1VRaVJvek1xQWw1R2U3ZmxxL210d1pFUjFieitpUDA0RnFCeng5Q0F3S0ZseFFsOTFOSEN1ejFOV1JmblkvUXNydS9FNXBDQkRUTU0wNUFuemptUGNjYzhGd0hveDh1MnVkdFQvUGdNalpzMmFrNCt4UWZuN2dvQU1BRHo2YlkwcUNJWndVK3ZiL3BXdytMT2hxRzJCaklxem1ZVmRTM2xOM1pRbUxwV3N5eHc0OElXRkc1aXZTcVRXUnJkL1RxdVA3alczUDd0WDY0OE1QYVA4TUY0b0FGcEVGRVFjdEEva2pCbURLQjMvL0JIQ3FGQjRoWlhDZ29LZkxTSVlUYzA0KzZ0MnhEQU4zUStjd3BwVnc4T2Qvemc4Vyszcyt1OThGUWtIQWtRbGQzbEdEWktKUlNkSFZIeVM4c0pCUUtJWFozZHUwZDY5TFFEanhQMmIwYVhlbmFSeWNCU0NpRk1reldkUTdoeVR0TFdCd1o1akdGbG1GSFBJKy9QVENhSlIzRFNHdW1Cd2JmUnpGTWhSZHFNQU1CVHB4eklUT3laK00zREVvTHF4ZzlkRHFSUU1oYkJxN3FDNWlESG94YklKV0w3ZE81dlhtczkyRVFwT3UrcDZiMGFJMnAvM3ZkSUJFMHV4Wi9UM1h6dk94bTdsa2FEMzhxanptVGRhOEJsMjJEOUNQTktrVG9PQWlkUkpjK2lRMHBuYmRidHZONjAxc3NiOTlNVTZvZDE3RnpqYXZra1RXdjZoVUcxdkVmZnpMNW4vb0tUbnNMK3B5VEVhYUorK1pMK0djY2o5UFZnZDNhakcvTUJMU2lVdXdkMjBEWCsyd3ZvNy9XNVg0VXlWTXRpbEN1Z1ltSDk5QS94Mm9KQmJ0dGN2RWVKaGhNalIya1FlcFppRVFJYUdyUDh0Szc3WlFXbXFRekxyOThxSTdOOVI3QTRMUHpXeGxaRmNUdms3ejBianRmdm1JWVE4djllK3JmanJuK0ZpZ2M5Q1JVejIrR1NGODJ0ejZ5RSsveUwvTHlUQzY5ZUN5dnY3R2R0clpVTGh3bHVQVGlzZVRsbVNCMnliVGV1WUdCbHIrVHpXWVA2MGxNS2g3R25JcHg2QWRvMnJQTE1sZktlejI3Zk54ZWZPLzVjYTdySHRZMTk2ZjR3dytUWHJqUWl5bEtpVXFsRUQ2Zjk5NnlQTVBITUVEVFVNa2t3alE5UUZYSEFkdmU4MTBxaGRBMDd6dEFaYk43ZnB0T2UrZlRQWmczbFU1NzE5QTB5T1RBL25VZGhQRE9ZNW9JdzhCdWFIalBlSk0zZmVxUTdrc0tRWDdJeEYyOG5QU3lOYWhNRnEyb2dQelBYWTlWVlVrc2FmWE5FdnZ2NzM3SWpDMEhOQTJoNnppTkxYVDg0RGJpRHp5WmE5NGdrWGtSQ3Y3NzM4bi90MDk3djdjZGtCNjIzbTdab2VzZUg3a0svMmx6R1RML2NicC9jdzlkLy9zN25JeEZkdVY2R3MvL0ZPSHJMNlhveDk5RXF5emI1OXJ2UnlkT2h4c3VnaXZQZ3ZMU1hGekhNNk5wc1F3ZTd5emlMNjNsTEV1RXZYd1dvWTVzRDE0b1hHQkpQTUt5UkppN1dzdjRiR2tMVnhTMlUyNWE0RUJaTVh6eE9yamlUSGpzWmZqYnM3Qmd4VUg4TlJjU3BtRHhFSlBISmdkNGQ0aEoyaFRlK04yQnlTclNaMUo0NWx4YUhuMkpiR3ZIWVhqZENxTWduOEl6NXlKOVBldEttRGRoMGhGcFJBWDRoT0NDZElxU3VscVVyaE9aNUoyclhkZVphRm1Vamh4RnZqOUFKbWUzSDVIcHNHRmR6OVczcG5EYmRMSUx3N2d4RGJmSlFCdWVSVlo0R0ZqMkJqL09OaE43bXc5N1RRQzNUUWU5ZDVvcDJvY1NQQmNDYWR2RVM0Y1R2djE3K013QTJaSkMwcmhRVWU3bDhHZzYyWTQyaEJSUVhvNXdiQS9ZdTZtQmJFa1JQak5BK1BidkVYMTFNZUhXRGx4NWlMNzlmaitaOWZtN21UZTFtaHZPbnN4UHYzZzZBSXMzTkhMenIxL21qWlgxQUp3NmZTalhuem5wcUgyL1pFTVRYNzNqSmVhdlB2QmVncXRjSXI0ODN0N3lCbGYrNlFMbURKL0wyTElKcksxWnk4YVdaUVNDZVl6YTVPZUtGOU1NYnpCSkJuekVBa2NKUDZMNzRGK1ZHUmFuNThYNFpIRTdFOUxkekg4dHhUMVBwMW13VW5IT09jVjg2NXMzOE82Nzd6SjU4bVFlZnZoaFZxOWUvWjV6QkFPQ21STjFQbjZSbjB0UDhKUGZiTkw2bEVsMGdZN2RMYnh3VkE5czl1c2VydjhRK0R4ZXc1Um9ORXA5ZlQxLytjdGZPT09NTTdqZ2dndFFTakY3ZkFtbnphcmltYmZxd0c4aWhFUW9hM2Y5d0M3N3lMUEZiRTQ5ZFJqREpnemZqWVg3MGtzdjh1cXJyM0xUVFRjeGRPaFFJcEhJN21zZUtwa0l6akVqM09RdllxUm03dDQyL2VpUlFJdDQ1cEp0WjNqOWpReXZ2NWJ6N3pRWEFxQVhlREUveHoyMDgvbXd5SmR4ZE94ZUdKMkxGSW1jNkJROWlySDNwb2ZhM3BYZ3IwKyt3N2dSWlV3Ylg0MlVZajhacVZpOXNZRy9QdmtPN1YySlk1UHVxaFJLUU1ySjBwR0pNU0d2bXBIaGNseWwrUHYydDlrZWE4UVFrcytPT1llaHdSSzJ4cHNZRWlnaTdWaHNpVGN4S2E4YUlVU3YxNWk5MzdOT0s1M1QvSnNvYnJrS3NwMFkwdjgrSzFOQ05rMXh5MVdjNEgrVEZ6TGpDQXNYaGZ3SUxWL2w1V3lrTkRMc1BWVVNLK3VpcExlSEpnUzRXVHcvSnlzSVYxbE0vNWpOeGg5RVNNZmtleUJ0Vk5SSGZMc0g3U0swdmJnMzZpUHBlTzV5eXQzVENGTG9pbFJNa21rek9mRlRTV29XR3h3SXdNOU5wZ2VZZER3eStTQ0ZwS3Vqa3dmK2RqL0ZoVVZFZ2hFdllxSVVtcVlSQ0FSNDZva25PZS9jODhqUDRSVDB4aXFyVEEwc1hLaHQ4Y0ZDOXo0UFFIL0VLR3dyTG1sMkdCdjM3cjBxbzlBRzl5eDdoVFFKeXZZbXMwL0w3QlZnSzY5Ty9raWhzeTBYSVRSb3krVGNmZzBzdHdkRFVnaGJEZlk5T29aNldDQlJyc0xFb3RMczV2aVNUVncxcW9hUFRjNGpPT2xHdXFzdnBzWXVZK1BPREF1ZVhjRmJ5N2F4YW1zN3lhNnNKd3Q5T2pKZ0lLU0pVZ3JYVlRpdTI2ZHNyQVVnZERJVTMrRDlLL1BCN1liMlAwRHI3eURiZUhEZDc1OE1NclRuZFh6UmdTOFNmUTNTRzZEMHkxQjRQVVF1OUs2VmVCdmEvK2I5NjZRK1JIbEdSM0Fqcm5JeE5KTUNJNTlDczREZG5rMHViaUNVaDQ5WGFCWlFZT1JqNCtEdU1vcEY3NHpaNmRScHZIVVVLaXR3b2pxWm1nQnVSa01ZTHFtMUlkeW83aFZNRHJBbnBRUllyc1BDN1RWWWpzM0VzaUZFZkg2YTQ5MHMzbEVMd0p6cWtaU0g4NGxsMHF4cmJtRHB6am9zMTBFZDVWdFZPZDNsT3BML1h1YlFmdHhabkdXdnBhTnhHNzdDb2J0N2V4ZUdnaXhjdEpBZHg1M0NRNjNEZWJHbUM2U0hxZDFUR0t1RnkrdmQvWG5EYitvRS9BWXpKMVZTV1JvR0FlR2tTZjNPYnRadWJ2R2FMKzVGSllWQm92SE1iblVValdkWXNxYUJ0czdrbnRNSzhQc01RZ0dEdWRPcXFTeUw0THFLWUNMRDVycDJ0bXp2T0pBNlV6MmQzemNUWmR6YVBKVXZGMi9pbEhBemx4ZlVjN21xSitvYXBGeHZ6eXdnSGZLa0JRSmFiUi8vaUZiejIvWnh2SmtvR3pBcTF0dm5sc2dBQ004RFIrbTY5NndHN1lRUERUbkFzcDBiK2NPU0o3bGsvTWxjT1A1a1h0eXlpSVpvSzFZZjFIcmIra2RyZnBWUytJTEZEQnRaekRDbFVLN3k4R1BZczUvUW03N3N5ckx5QWFkZmZiYms2ckk4cnBtN2lzVEtaZXo4YlNYK29Va0svcTJEeTA0SXMyNUJKYTZsRUFTb0w5RDRxOVBNR3dRSWkrR0UrM2g4elUyMUJ6WjVjcnBkcFMzQ0FaUFRUaHJIVFJkUDQxeTNpK2l2L3NUMlIxOUd1QzVHSkEvbHVxaGR0bmp1UURlVFJnWUNGSncxbC9CTmw3RjRSajUzYlh5Q3Y2OTVHWERSL0htNHluMlBidXh0VzlOeFFXTEJVQitNR2VGaDJpcUYwTHc2VTVteGNSMjdYK3hQSEl6TXNiUHhIM2NlZHNzMm5PNldQWVdseWtVcnJNQi8zSG1ZWTJjZjgzR1dCQXNvQ1Jic2llZVlRYUxwQkpyVUdDU1BPbU85MVU4c20vTTExSkU3Vm9jU2lobGcvUW9HR2o3OVB0YTNKaEZTSWtJQlpGNFl0Nk9MNm5TR1Q4ZHFnajdsWFA5Y1pKaTUxU3k4blN1K3RJTEhmdy9TaEhlLy9zRld2WHQ0UE9lNGluZFcxck44dllldG5NbmFPSVA0di8zVHZnQ3ZZRFNWNWwrMkZua2ZwbUllUnR1SDJhN3ZoZGlmRUlDcmNGeUZrTjZHcUJBSHlkMVhDcWM3Qm9DV0gra2ZDZjc5TGF3bkZPT3FkRTRZb1hoOWRZVFhqcnVFMXM0TTdTSkN0eS9DZ2lrWG8wSkJtaHlOQzhjSVJsZm92VHFOdS95TnRyWTI1czZkeTl5NWN4azNiaHpSYUJRcEpXNk9aM1JkSjVsTXNuaXgxNWR4M2JwMU5EYzNvK3M2ZHE2SHI0Nmcxc2x5VmJTTy93eFZjSU92a0xoeXNGQm9DQytGWWFla284SEVySElwdVRKRDk1dUdCMjV6S09tRTJUWlU2KzNJTVgvRjdzclFlT3RQYVAzVEE3anBOSHBSQVVvcGxQM2gyV08xWEp1bjVyL0lWYWRkUk1EblovU1E0WHozMDEvbng3Ly9DVXUyYlVLZ1FPcTdONmVVNDZBY0Q2dG9STVZRV2hOUmtxbmtoM2JkVFo4NGtjWnQyd2dFZzh5ZVBwMWtLc1gyTFZzWU9uUW9zcXlNbmR1MkVRZ0dPRzdxVkJWcTNhRmlLVnRZZW9URnhkZlFtbDNMcGM2akJGS3RkSFlvUWlFNGVXUXJaTjZsV3hVd3hOSnBhODNTNFJ0R29XdFRIZGpDMUhBamhZSHRuRGd1UVhXcG9ybGI0Nm5hU1N5VkorTWVRVitnWHBmdmpvUndtanNlbjBraTdhTzdiU0wvMlpWUGUyczVWbWNwUC9uYkhKbzZ3eERNNGg0bWRxVlNnQW1ydGpuYzgxS0d1dTB1TDYxenVPSUVGOE1RQ0ZjaERBOXZ3YlhBTkdIMmFJMkxUdlp4L1N3WXpxa2d6OEdTUHZ6SzdaMjVldXFwOTN5a0tXZ0tTLzQwSzh4VEUvd0RCbi94UURhSzBtQnRNM3hpS3Z6YmJJZlhaSXBBdTU4eHQvK2NrL1BmeGhIUUdIK0h6UGtoVWpNU09FTnRqR1VRM09pZDRGaXNla2Rwdk5OeUFrL1VYYzVueHQ5TnhJaDk0REV4SzhMamRWZndUc3NKT0VycnhmVXdhSDhQMGdDMkQ4VUgyWTRDMWRtRlJDUFYwa1lpSGtldFc0OWgrbWpmdXBYQzRpS3NlQXFaeWVJbVUwZ1oyQXV2cHZmSm9IL0hQZmIzNkRYaGZQaVo2TERpTWJtOWVORTdzVEVuR1FicGN2cjRwWHovdENjNWE5cFNRUEgyMm1KK3V5Q1AxN2Y0Y0pRZ3orZDZ1Q2k5WkJZYytWd0pyam0ra3l0R05OUDBoNTEwdjlLSkRFU0luRENEeUx4NWhFNDZDWDNNYUt4Z2dHZ213WlpvQzl0M05GSFQzc0RtOWgxc2FXOWdlM2N6emZGT3V0TUpzbloyVDZMeEx2elZYYzV5YjJHNUNBRXhDOTVwZzdWZDBJOTFYaXdiT0dUUDJKUU9HY2ZZanc4RkdjY2diZ1hJdXNmZTNoNGtQbEk5emdaZW5Gd2MySzhBZEVOamVXMFhUNXg2S3MvTW04SHkraVFSemNZU0dnSzR1L3g0WXJaa3hJUWdWZFB6bUwrZ0U2bkx2WEtCZXQrSXlBNHdlLzJRNFQyRkJHeU1ZRG1SaWpHa3QyMm11N09WWmZZa3hzUWZZR3ZlT1JoV0o2YUFUQ2lma3M1M1dacXFKQnF0b1h4VUVjbklVQXhmQkdVbk9TTEF6RjRLVmlvRlFSMStORTl3NGhEdjVvZUd3SFhvTi9ndGU5T0lZb093WC9MVzVnVC9YT1g1b2VkUGl6Q216TWVJWW9PMldPL0dDbFVQNCt0YVFCRVlidEc5Vk5MNm9vZXBYM3BPaHNCd0MybHFPS2xlbm1DaFFFbEVOb3diYk1PYThDcE85V0xRTExDQ3VTQ0NlL2htWkI5U1lWVHdxMDlZM1BIeExBVXhnUko0bFplcS84VTQzMTdWMWt1UklQYkZtKzRqK1N1RVRtSHBhZXlJL3B6aTAxMU8zdXFRU0R1MHRqUVNESm5rRjZXUjFRbFNveHNvTEtobWEzTVI5ejZ4bU44OXRJeGtOSU1lTW5INkFNUHlvUHJpRUxGMmhrZjI1RmptR3dHczdPSHQ3ZmIwK0FPN0dwSXhzUjNZZFc5aDZUNnFZazI3KzZxNEFySks4VEhEd0dkWlBMNStQZXRkZDUvSzBLTENRcm83dXhnOWVqUit2MzgzcDdRdFhjckczL3lHNWdmdXh6UjlIcWFwVXJoU1VwenVZdTdXVjluV09ZcHhyZXVRUXVCeTdQcE5DUUZvTGpmLzlFMEN3NnE1NFZOek9lMTBDMWRJbnV1Uy9PMFhDOGcyTm9NL0g5eithZTBQYnZIM1g1TEJJOVBIRWpnV0hlb053eGhROCt1NEF6dCtKb1JYRnhFS3BibjEramVaTTNvbmp5NmNnRklDVGZidXd0NDc2MnpXNkozODl5ZGVZMjE5S1MrdUdNV09sZ0tFZnZBT0ZrUEtkYjcvOFNLdUd4bkJlc1NsWWJXRm05NVRqOTd2U0htTFNDUmhmVXJ5eGhRZnBtNlFiMm0wbXc3TGtobG03YkNSVm02aERSUVo2aWlzWlN1eDVpL0NkLzZaMkV0WGtuN3lIeVIrZGdkdWF4dkd4UEc0YlIySXppNUVZUUhLY2NpK01SOXIyY3ArSFpjN3VyeWhRRGV3TjlXUWV1bzV3bC84TEZwbEJaRi8rd0pkLy9rRG5CMnR1ZDVzdTVvWTJ3Z2pnUEQ3SU9GaWI5aUV0V1FGR0g3c3VuclFkWVNoOXdzSFJWazJXbjRFdDYyVDlTZGN6TmkvLzRGM2x5N2xxc3V2NExFbm4wRFRORnpYeGJadE5FM0RjUnl1dXZReWZuN2JiWHpqZC84UDMvQnFXdjdybHhpRitibWlyYU9IMHVNcXlieVMxN2gyNkwwOHV1TVRMR2c3blpDZW9ENDVuS1dkYzNHVWhpNXNGbmVld1ByWUZHSldCTCtXNXFPQW11emk5WmNkYldRNVA1amdJbDhVZTBlS3Y3NmM0ZjUvWnRpdzlZUGpDSnFFY1NNMHJqakQ1Tm9MUStqVm83Zy9laHAvYXorUGRabVJPU1hoZktSRXdSSGZyZXNpbE9MZWUrK25yTHlDeXkrN21FUXFSY0Fmb05IUWVmS0ZsN2pyajMvQnRpMnZacTJYYU5WLy9PK0grbm0weEd3Mk5HZVlOc1RQaEFvZkd4b3oxTFpuY1JYVXRtVnBqZG1zMkpHbW9jdWlMS0l6cnR4SHdCQ3Nha2pUSExVL2N2UHIydXBRSWplRGRFeU1lODh3dG1PUDRab1hvK2xyMEZ2bTRTK2RRK1VKUzZrcUttVnoxQ1cvTko5NE56UzN3YWhJN3cralhNOXdkV0VqWlhxR2lHYnpmTFFVQlp3UzZlRGMvRlpPaTNSUXJtZjZ3QUQvb0Y4SWhJQmt5bUpqYlJzSWdURDFuQm4xQVh5dHZOOGlCQnRyMjBpbXZMcG0xVis1WG9Bd05LU1pwcUUreFlPMTFhQ055dldQczBIclJ2b0F0TU9LNXdpZ0lpL0F2eDVmeVppU0VKb1FDQ0dvS3E2a3VyQ0tEVTJiYUk2MXNtekxjc2FFTkh6dE5TaVZqNjJWbzFWc0laVVdTTE1RRkZobVBWcGVFeGx0Rkk3VmdkMnhoV2piVm1yYVFteHM2cUtxS0k4ekpnOWoyckN5UFU2ZmdOS3dqNnVuVnBMbk4vckVFcE5CUldCT0d1bFhXQTBheWJlOFBmemdLU21NQ29mQW5EU3had080OGQ2OXVoQWUzTFJ0ZXl3VkNnaSsvV2svLy9INUFMRTBmT25XQkg5NE5MZHV6aGlHZnQ1dzdMSVFkdHFHYU5hcjcvZ1E5THB5YW1weDZyYWpUNW1JNzZxTEVUbjhOTjlWRjZQYTJzazg4YXlIOHoxSXV5bWVOVm15bzRyanF4dW96SXNkMHJvd05KZkt2RGp0eVNDVzA3UGNuSjcwQU9nZmNUR0JVb3BRS01UczJiUFp0R2tUU2ltS2lvcncrLzFzM0xnUkp4VEVGOGxIQ1VGS2FqUU04OUZkNXNkczdjS1ZVRGNwbjhLR0pHWjlCaVUxVE5NazN0MUZQSmxrOHVUSnBOTnBMTXRDQ01HNGNlTUloVUtIald1N054VkhCQ2RQMXZuMFdUNU9udUZub3h2aHZ2b1NIbTh2cGpWcjdvczFuL01KcXZLS09YdmNjZHd3NHpSRzVGZjJXZ2poTWI0M29KKy9iZHZvdWc0WnhhZHZ1WW0vcnIrYkU4NkUreC9Tc1N5TFkxMmEzTGR3RVdyWHBzNitSY0o3TzVMN0ZuYjJoWkp4d1liUkl4Ymd1aENMbDVQTjZtU3NRc0JBSUxDamFmTE1UdndGaXFEL1hVYVBXSlR6cUFmZGpnTWJyWXJhMmxxcWgxUlJXVldOY216MDhncDhvOGZncGxLNHNXNmM3aTVrcnVGSzh0MEZLTXRDTHkzRmgwS3ZyQUxIUVVwSmZWY3pXOXJyY3cwaiszaStwV0RTODQ5UmNmWEpCT2FkZEZpSHB1WXZvT241eCtpU2c0V1g3eGVFaXJvdU1WZXgxc3BpS1VXVnJsT202OVRaTnR0eUJZVjF0czBzbnc4ZDJHeGxNWVFnNWlxaXJvdlQ1MEpwZ1B2aWVMYjRoQkh3L1p2Z3NWZGh5dzVvNllDNlJvaWxZTjQweUZxd28yVlBqclFTUjBlY3hkSU95MnBqTE53VVpGeEZzRmNVbk9zcU51eE1zbmhyRE1zNXZFRCtLeHU2ZTAzbTdUS29lbUpjSGZYQTJuNDZWU2dMcWF6Y2VoWHNFQ1hzRU9XOElnVEN6bEMxcVpQeG03WXg5WUZsVFBIZHdkaVJSVlROR0UvQnlYTUp6SGt2eUV2bTJaYytORHBOQ0lPTkc5dDIyeUZkWFNtRU1Ib1krQmI4L3ZlTGQ3bEdoMzMwaFZVUDlldDVlM08vOXduTGQ4anpJb1dML1Q3RnM2NFNKQ3dmS2N1L08zbHlrUHJFUzBXNUxxKzlzNU4xTlMvUzJaM2g1Rm1sS0ZYQlYrNlczUG01dnlMRVViYUZoYmRuVzFha2NjdW5DckdDR2krLzRTVWVmLzRUaFJoSkI5TEtBOVE2UnFLNHhTZjR0M0YrNm4xWnJtKzJLTExVN3FLQVhicGFBQjJHNE1GeWc1OE9OMm54aVVHMzRsQjFsd0lsRkFzVElYQWxVdk9DYzR2aVhqR2NFS3JYY3hYY0R5UEFnNnRJMTJ5bCsvblg2SDcrVlZJcjErSEU0bDZUTW5sc3NwNTBvWkZ4czNSWUNVNHFuc21QSnQzTUNVWEhnUUxiOVlJbVRtczc5VC84R1czM1BNaXVncjhOcDE1SzRXWG5rMy9CbWZoR0RQTnNrTHJ0ZEQvM0NwMVAvaE5sZVZIdWpSKzdncExQWE1lUS8vbzJlbGtKdG10VG9oZHkrL1FmY08zUWkvblJ1bCt5b0gwcEVUMkVUNXJZYWpEdys1SHduZHhqUEFCeEFIVWw5eHJmWGg5bkxYQ3pIcWdwQW5RTmhnM1JHREZLNC93TC9lQW9VbEZGZllQRG1vMDJ5OWZZL09RWDhYMU8vZERtb243K1ZOcjNlZmYwYXhzR1BKL1pTaUNGUXBvV3I3UVVNYkV6ajUrTTNzNTNSamFBQTlYRDR2ejFXeS93aWU5ZlNRY1dvV0FXYVVyaXlReTRMZ1VGUVlKK0NRVFl1U1BMdmQ5L2xHRWprcEFFVFNwK3Vua0kzOTh5RE1mUzBVMExWd25zd3luYUNZVmg4bXc0N2dRb0xObmxaQTlNMVViUWE4N3RwbEhDUjlvZFN5ejRjWlRyK2JQV3ZFdnhsWldqVGp5VFREcU90bjBESWhBaHRPd0YvSnNXazVweEJxbnkwVGpIWDBoa3loeU1SSXpzcVZmamUvaC9qZ2c4ZU5MMlEydUVLdklMVUZPblVydWpEUzBIV0N5bFlHaGxFVk5HbGFHdFg0dmIxdEhuUVp0L3Jtb2RVTTg3MjlhR0hnNlRXTDhKYVJwa0dyWWlpdVdBQlNhU21xU2pMYzd6NzlUeTVZdXY0L2wzbnViZHVvVkVPOVpoV1oxMDJGM1k2WjI0a1hYSXFpU082OGVPUjlqUmxxWERXWWtSQzFMa0s2Y3NPNElpTFE4bjdPT1pCWnZwYUlzalRMMXZBWTQvaUlxS3ZFYnFIeklqNHZkcmRobXh2Y01FK1dhVWo0OThqSytNL1RQREdyYlE5bE9UNkpzQlZIcVBiYkFQMHdDQlNTNmxOMlN3NXVaeGQvTU4vT2JOejFFVEhjV1JkM0R1T3g0L2t1LzZnalFCY3dvRTN4NmxjWHF4NUpCQzRnTHNab3ZZMHgzRVgreENwZHkrbjkvbm40ZFhYMzN2NThFZ1BQa2t6SnUzNytkcjFzQmxsMEV5ZVFDQm1XV1Fqc1JsVnNpZzE3UzlxVG5LZi8vaWxkMVYrV3RYTjRDaElTUCtuT2swR05BNTRQcTJCY3JhNDlTNEtRR0QyNmVETkVqdmRjbVVSVndZM0JHZXd4OURNMGxvWVlTYlFhb01yazhIanRJRzdpSHE2bEdYM2ZYK1B4WWFRaHVEYlQyR3dFVXBnYjVmOE1WMnBCZkRSYUlibzFIT202QmU3Uk1aOGJNdnplL1h6Ly9uUC9oZ2ZVUlE1OHMvV0VIQXIzbkJjU2w2djFadlZ4ekI1eVVFWjJwSDBicHRKTDdoZFVTT1cwcGdSTjJlNUwvRFBYVnVzTFp0TVgvK3M4eVlkaExEaG95bVNETUlqejBIMThsNndDOWk3OENZMk0zN2JSMHQxRGRzWmNXYVJWeFdkc1B1Yy9ibFhyd1NBdW02RE1sR09hVjdHeGQwYkdKTXFoTlFPRWR6cjJDQWhXZk91UGkzakpzem5Lc3ZQNDQzbDJ6amtxdi9RTUdZTXVaTXFhS3hMYzZhUmJXYzhMSHhsQllHZWZiTnpUejcrSEpHVEs5bTBxaFNGcTlwb0xXaGk0dk9uMEozUE1NZGQ3N0pIWDk4a3htemhsTmVIT2FGdHpZVENCaGNmY1ZNMW14dTRhdmZlSVN2L213Qlg1K3hrYXd5K00wYnl4azdPWStyTHAzT2ErL1djZTZsdjZWNGZBWEhUYXdnbHNpeTZPMmFRL0R6dkdlclYxYWdWMWFnWEJjaEpiNFowM2NqTkFsZ1Mzd2JiN2UreTcyMWovSk8reklBOG8wOFhGeWNQdHhUaUwyNzZqQjR4OFZ1SDQ3YUcyeEZRYXBtRzdGM1Z5SDBnZFVnNTJob3dlejJIVWNjSDFCU2dzcml4dUlvMi9KcVl4QW9JVWdtTXJRMnRKRTI5R09HZUpMREZDQmx3Ri9ISzBiR0JPTzY0VjgyQ05KS3NENm9VQjNkVU9qRFNhYXdXenR3RWtuTTZncGtNTkE3Q0dVZmNPc0puOHY2YmR1b0tEWXByMGpUNFF3bFd6YU13cFpOVkZRNnRHWnN0blJ2WTFaNVRoZjI4VlNLSTdoQnBRQWp5N3ZieHZQRytxa1VqTzVncDVabWRQTU9ETk5oL2V6eFRKelF5cHZycC9EdXRna29QWnNERys5NUk5ZXZmdldyL1hvTmYrMXJYOXZuL1FNUFBOQXpaaEk2ZHJxTlRLTFJBNG9WQXBTTEx6d0UzYjhPbE4zcmdiSGxWWDUrZjBJUnF5djk3SlA0MFE5SjVHd3ZWMHJpd1RETmhXWFVWWTJncG5vMGRWVWphQzRzSXhFSTdRYk9Fc3I3MDQ0Vk1NMEFrdzg5a3kzZVhDZWtqN2ptZjg5emsrcllHSDhTMEZ6SjJaUFdjZjNjUlh6K3ZrOFNiUmlDMEJ4UUIyL3dKTURMRjNNMEtvczYrTUZGei9EQW9ybjgrZlhUVVVJeG1NblhWNHpVLzROcjBpLzM1TWZ0YXZLcHZFME9ZUnhkazJnWGpuaHRSM28zNC9aeXY5amROUEgwNlljazhqb1ROdS9XZERFczFiNDdkMXNoMkdIbXN6bC9DTE5HRjFDZTEvdDdhaHZ1SDlpc0w4WEFpc0YvNzB1blFpcE45d3V2MFg3UEk2UldyaUV3WXlxSlcyN20vblkvRC8yOWhxMjFiUjR6U3RHenRaMnJXYXJkMXNGUGZ2MDY5eisxaXVzdm1jWW5MNXZCK0hOUEozTGFpY1RlWEVqYjNYOG5kTWNkZkdMaVdIN3dQdHBLVXdwc1NTYmhJeStTNHBaSm0vbmErRG9LUXluY3JFRTZhYUlMaGNiaEE1aHFlUG9obXpUeFM1ZHZUdDdNNTBiczRGZWJodk9MalNQcGpnWkF3eHZEKzlsekkwZjI3QUZsTWhEWnI5R2VFTjVubzBlRHo5ZS9HRXFBYjZ6amxSamtURFp6c2dNV2hDWGlzdW80WXlPVytsdGRubnBtWjVqYWhDbHNkemRySERhRnYvdVZJN2QyWElmMEk4K1JmV3ZSZTc4MmRId1huWW4vNmdzUVBXa0U5c09iOTNuN1lFMWV6K0lCV1Znbmc0dzZSYVBHNSttcjZsTmMxdTF3ZUdpVGdXbjI5QUUyOTRuOTFqREJKVDRiOHJkNDlwb1NSeHkrUGJLd1pUeEo5N052RURsakxrWlYyV0VmNzNSRjZYN21kWnlPN2w0ZGw3OTgwNkM5ZUN3cEE1aWc0cUR0QlA5dzhMa0NRK09Rb2g4S0wzVTlMeXl3N2Q3Zk1oS0FVaG9ucFd2NFV0dDYwcy82Y0IxMVVEdERDRUcxa0ZqWkxOM2QzU2lsS00vUHgrL3prVjI1Ykw5OWpaN1RJKy9zR09TaHZlVU1BaUd5TEt5ZnprSXhDZHBjaEM4RENybzdBM3kzL1pPZWd5RXpJUHM2V0NoMjcwc0Zjb3JCTkV4TXd3U1ZzNG42eXRIWWkzOFBQK1Fpa01wRitieWpoYXM4Y0t0ZWlHOTgyRWdDYWFWNE5SdmpiNWxPQXVOdC92ZFRBUzc3bUVFb0lIRUpJWHlqMEVKemNZSnphV1E0SzJJcFh0KzZpYmVhSDJGOTF6YTZNekc4alQzcDhjTXhSZ01SUWlEeVNnaWZmd1V5SENhMTZBMWtLSXl5c2lSZitBZGFVUW1CNDA5Qnk4dEhPYzVSaVRmMDE3cmNqN1NzSFFETFdjQmduZVVnRFZMZlNXYVVFaml1NGt0WERNV3l2V2Fvajd6YXhGc3JPd0VZUFRUSU5XZFVvQlFZdXZkYmIrdTQ1L3VidmFSY2NBMmRjRXNIQW5CMW84OXNza2ZYUGR6VG9lTDM2ZWpUWFhidTlHcjhxcXJDdkJOYlJick43blZWUE5EeWR4NTY2UEJ3TW1UT1JqOVdLc0pwYThOdWErdVhLL3RBclBTek4rc1A2ZGlRMytCVHA0OWhXRUhlbnVDaXBpRUw4MW5aclhqeTNZYkR4dkQ1YUJsWHJtZGc1WEt5dW45ekQxMy8renVjbG83ZHpSa2lOMTVCMFkrL2lWYVppNmM1enU3ZnY1ZlJwZWVzT0E1b0d2bi8rbW5DVjE1QXh3OXVJLzdBa3lBRXNYc2ZKL25QMXluNHpwZkovN2RQNTlCaUhlLzVIUVFmNEpuZlFGR0JaMk1weCtPWkpzdmdpYzVpN21vdFkxa2lqTHNyMk5nYkFjZmN2dkdTZUlSbGlUQi9hUzNqczZVdFhGN1lUcVZob1J3b0s0WXZYUWZYblFkRnArdzNEUW9TcHVEZElTYVBUd3F3ZUloSjJoU2UrelhBMlZGb2t2eDV4MUYwOW9rMFAvb0NLbnNvdVM0S1llb1VuWDBpK2ZPT1EyZzl3NEVZL2VQL09tSTdRZ2pKZGUwZDFOOTZLM1ozRjFyQUEwYTJwV1I4MVJETytzNTNDQlVYb1ZRUHdGNnV2cnAzSmx0WHVPMGEyWVVobkZvVFdXSWpBcm5HamltSjI2YmpOQm1Ra2FEMVh0NUppVW9jd2xRS0JGbEN2a0wwWC8wSm1iRXBqVVVKSkJLWUZaV0FRa3BKWlVzTFFnaU0wbEswWE4zM3NLWkd3cUV3TXBKSG9VOG40bFA0aWFGYzg0Z2NxV1dyZDdCc2FSMi92bThCdnNJUUFraDNKc0J4d2ZRS0oxY3NxK09PZStjZnMrOFA3TnM2aEgwUlhPWHd4dVkzZUhuajg0VDlHbUY5UEZicnBiUm14L0RIMDIxU1BvRjJOSE8rN2pqM1BjOWFseTVqL1JtdUt1cmtxbkE3OW80RWYzNGh6WVAvVExPOTBTVVFDS0RyZ3ROT080M3p6eitmbHBZV2Z2ZTczK0h1VitzL3BFeHkxb2ttbjdyRXo1d3FQK21sQmp1ZU5VbHQxTURwbmY3cWh0Ni9oZXdIdGFGVVN1RTREblYxZFd6ZHVwVkhIbm1FN3U1dWZ2YXpuekYxNmxRcUs2c0kralMrZWVWa2R0UkhXVjdmN1lWNGMzSjFWenhDT1E1S3dYRWpDdmphbFZQeCtYUWMxNkdsdVptZi92U25WRlZWOGN0Zi9wS3JyNzZhVWFOR01XTEVDRFJOTzZRYWg1R2F5V2Y4Ulp4alJ2QWpQdko1VnJ2TVRDRUVNc3hlb05VQ3h6MWNySGVIdGZZSUlwbmoyZVpXQUhhUEdqWXB3RUgyd3psVHZQTE9CZ3J1Q3ZEWkswNWkvS2dLOHNKZVRtSTBubWJqMWlidWVud0JyN3l6WVQvczVwNzc0b2NiMnhzYUxPYlM2cmxzVDdSeVhPRkkvSnJPRzgycjJhYnF3YzB5SmErYXo0MDVKeWZYRlM4MXJhUTlIY09OS0k1bXBGMGg4RW5ZRW9jNytDdU9DSDB3OHdrTkxabWdFL0JKUGhMTndmYWhyT1RVcWhUM1gxbVBUOXZqcHlzRTB3UEYrR1VFWFVtUEdWeUZEQmlBeTdEaGt1MnJEZVpkWmlFdmpiNVhQWXM5TTZuMnhzekpmYjQzZHQ4KzMyc3VPemNZREI4bER1Z3ZUUGp6ai92M2ZCNzMyTDdUNng1Wmt5bmx1cGgrSDFkZmV3MzE5ZlZFbzFHRWtMc3hiQ0tSQ0VPSERTT2NGeUhqV0VqWk85Z3M3a0JqLzhFNjkwSHFaWFlhbVZRWUxqZzUzcG9ZVTFoeWtOVjZiWTZQeGtSS2dTZzBQTXRQN3lFVzdKNEUraDR4bHJBVm90QTQ4bVRRUWVwSldOT3pEM0VwTTZMTUx0dkNEUk4yY3VyTUlXVEhmWlBtd0ltczJLSHo5b08xdkxWME1ldHEyM0dUbGhlWDlXbklzSW5BMjh0d2xUb3F6WkZsRU1JblE5RU5FSm9ITWdJNGtGNEpMYitBNkQvM3hJUVB4cmFCNmV6R2hRbE16N0d5T3JEY3N4cWg4VWVRZUFmS3ZnNytTUkE1SDBJblEySStkUHdONG0rRG14ejQvSERHY25sRWNzQ3kwa3lZT1oxaHdhRUl2T1o1YnFPWFV5d3J5MEVwaGdXSGNrVnFPaHVXdlloaCtJOUliaXc5bUYzb0NPeFdZL2REYzVPYVZ3dWRsdGhwYzhEYVJBS0ZYOWNSQ0xaMnROSVE3VUlwUldjNndmcm1uUUEweDdzcDlJY1FRcEN4TFFRaWQ0dzY2bjZicTd4NG5WS1NPeGQyY25mK1dFN0p4RGczMjAxUyt2QkpSV3ZTNG9Ia1NleFlYQTJwYnZEcENORTdlVDJtb2UzSG1vTDhpSi84c0krOHNBL1QxQ2tyRGpLcXVnaWZxYkZsZXdmMmZ2dUJoaTQ5Yk9wZDU1QUNRNWY3bkZzS1FXR2VuN3l3ajBqWXhPL1RLU3NNTVdwWUlhbTB4WTZtYUo5Z0h6cEs4RXE4Z2tZcndKWDUyems5M013SVg1d0NMVXRFODN5cXRKSnN0Y0xVWmNLOEhpL25zZTVock12a0QwaDU1UEdFMkN0cU5VZ0RnUTduU2FYdERBK3Vlb21HYUN1VFNrY3dvcUNLdG1RM1ZqYlY2OWRhZEp6WnZ5ZXVsOXZaN0dvQXVldTEwSGJsaHVlKzYrWGhGMXgrZWYrZTN6L2V1VzhjQ3BjcGhJbFVhWFFzU05MeFlBWDJkaC94NWNXb2pqeUtqbzh4d2VjbjR6amtuemtTN2FTSlRIRml6QllTN1Noa2xuLzdtLy85WHZ0WENwVHRvaHlIc1ZXRlhIenVWTDU4K21oS1Z5eW4vdmEva2xpL0dTTVVSa2pwNVVudk9SQmwyeWpId1Y5ZFNmNFY1NUs4OFJ3ZU5CcTQ0L1Zmc0tsNU0vaERhTUxzVSt5Zzk4aDRCR1FWWkxMdldkT09QTHFBc2tla3M0TjVoTSsrQ2VrUGtaai9LRTdyTmdDMDBtR0U1bDFOOEpUcklKaDNiTEdRRDBCamlvZlNuWTdqdUM2YWxBd1NDTDIzZUUzUUYwN0gvaHcwMFBvVkREUjgrcjJmcGxaY1FQRE11V2hGQmVpVnBkZzdtOGx1ckdQSXNuWGMwTGtwWU9KZS9ZK3c4bTkrL1BjL3AyenV1N1M4QThmZkJ2TS8zL3QrZ0t0SXBxM0JCVHNnaElvZ2szWElOT1I2amVqYWdNQktHUmlPeHA3MUgzL0RxNmZLditTTVBaOS9XT2Y1TUcySjNEWTFBWi9CNVI4YlMzdlVadEYyQTErSlJLUlR1RUt3S2p3Y0sydHp6dFJpTGo1OURLYWhvNVR5d3ZLcXQ1YUM1Mzg4L1BERExGNjhtSFhyMXUzK2ZMY05sc3NQVzdwMEtZV0ZoUXdkT2hUd21wbnZJaHVGaHNCQjhhTkVFOHVzSkQ4TVZSQVdHakhsb0N1QjBFR0dGRWE1Uy92VFByS05FdWsvdEp4STRSOEt3NSttNVRjUDBQUi92eWU3dmNHVCszN2Z2amIxaDRCYzVZSmg4c2F5dDNsdCtRSXVuWGNPcmxKY2VNSlpTQ0g1N2VOL1llMm0xVFRIbzJSenowQ1Rrb3I4SXFaT21rbHBZU2xQdi9XY1orbnM1VzkrbUNqKzJPTTAxZFFRQ29Vd3E0ZlEzdDVCVStOT0l1UEdZbWc2elRWYkNJYUNwS3ZHb2pKRHZTQ29wcE9KVkxQUnJlQytqbnpTVy83TStjblZEQy8zQUFQR2xDU3BLazF5ZW1vbm5aV1NMVTA2STZzRWhZRU1BUjlzYS9EV1hjME8yTm9BalIyU1VDUkJZaGUyb3poMjhzMkQyRmJzYkM0RTZTSkRXWm8yVHdIZFFZYlNyTnRVQmJxTDBOM0REdk1yQmJZTGo4KzN3RkhvK1FMYmdzZmZ0dEFEQXFVQmxqZUdzV1dTMDJmcmZPb01rM2tUTk1ERVpRS0N2cStxWFZKbDhPc1RJcXlvTlBvOS91SUhQVXNKWkIyNGU2bmk2eWRENVlndXRvaGlFb1ZCeGphK3pZUU9nVm1ZeC9BVUpEdmFpZjhUcW04RGMxZXF2M3NzeGkzb3p1VHpoM1ZmcER6UXpOblZMMUhrNnpqbzd6c3lSYnkwNDJ6dVhQY0Z1alA1SDcyY3RrRWFwSVBRSjg2Yi9ZSDJZNVhiUkhUekpycTJyaVZ2U0NXWnJkdEk0QklJUjVBQlFkdVN0d2pMSUNmUEdrZHBwQUxEdFh0dGpmM3hqWDNmWDJDdDZOZnorZFFIeEcwK2JLUkppU0gxWEUycjJ1ZkcxUUZtd2RCMEhPV1N0YTNjNzN2R0orZE5lWWV2bi9Rc1owOVpBc0FicTR2NC9jSTgzdGpxdzFHQ1BKK0xRSG5wS2YzZ1lVd2JtdURtWVZ0SjNOTkpKak9LOEwvTXhwNDVuWTZxRWxhN0tiWjBibUhUYTYreHBiMkI3ZDNOdE1RNzZVNG55TnBaRDE5NnQyK2J3MllVb25jS1pkNlBkaVRnclJiWW1lci9ESG5JTlo4S0lkd0RjcDluWHJ1RHNacEJPdW8wME9Ma1Y3U3ZQcWpoSUlDTTVXQy9XOHEvekp6TUw5Sis2dG9TR0hpNVNsa2xHRjdnNHl1VFRGaTVpbE8zTk9BMzlWNk5JK3dQTC96ZzhyWUJ4UStITlJPT2pSRXVKRjB3QTcxN0syWEJBdDdlMkVIQnNDREY2WVZvNDJkaVd5NVYwUTFzMzluQy9LNFJtSjIxV01OSFVUTHJTcFNUT2FhK2tRU2tDeWRXQ0tRT3R0Y0tpaE1yQmE2ZGE2L1FqNTZORklLSVgvTDZoZ1N2ckl2UjBHV2pnT2FvelZtVElrVDhFaWxFcis3L2FzRkFEM1FqR0JGRnRsV240MDJONUZhdkh0bnV0Z2xQZEREeWM3bllQUmx1ZXIvM3RnLzBOTmJvbDdGSHZJa0tkQ0dzQUZnQkVQMnZValNjRlB6cUV4YS91ajVMWVZTZ3hKN1daUDJSQ2lMOUcwT3U0d0NyUEp3L21ZcnFUOUFkZllIaWtmV1VhMmtDemZuNEl3bWtmenN0Y1FPcHhsRFRlVGEvK2VzNy9QMmZxMERYMEVJR2puTjBqZmdISDN4d1lCa1FZbC90NGVvK0puYlVJSlNMby90MmgrdDIvU3lMNG1UVG9NelFlZHF5V0cvYk5DdUZwUlNHMzA4MGs2S21ybzd4bzBhU2JHaWdiY1VLdHZ6aEQ4UmVldzFmd08vbDhDaTFWOXFEcENMVlJsbXFGWUdHbzJsOWlqZDZTUHJUVld4S0ZjSEtMbForL1ZtR2pDakFjYUZwV3lkSUEzeUZJSnpCTE5OQjZtTUQ3ZGpUdWVlZDBxL0h0MkwxMHg5Q0hoSDRUWnZHamlDUHRreEUxMXcwNlNLRlFrb1AyL3ZBcjlubnZSQnF2L2ZlOTN0LzdvV0VGSjF4UDhOS3VobGEwczBMeTBjZjNJZ1JNRzk4Z0IrZVZzVDBuU1pkTDlrNEtSRFMrK3Z2dWs2em9DNGlhU2czbUprMHNGeEJZVWl5UE45aFdLdU5kTVN4Ym1GODJQTEViVzBsK2FmN2lJd2FRZWpyWDBhVUZwTjk3VzNTOXoyQ1BYVVMrcGlSYUdOSFlSdzNGWHZGYXBKL3VnKzN0WFd3VEdKL084aHhpUC8rVHhqVHArQ2Jkd0xCajErRjI5Vk40bS8zWVcvWmprcGxFWWFHTE10SEZwVGh0TFNoa2lrdmJpSUVRdGZCeUdGejlxUGNCbVU3aUdBQVBXdXg2Y0pQTS9RM3QvTG9FNC96elc5OGs5dHV2ODNEblpFU3gzR1EwdXQ3OWMxdmZJUGFtaHArODd2ZkVSZzFqTzMvOHUvb3BnOThwb2ZSMStlK3NrdktDV0FyZ3p3amlxME1zcTZKRkE3UE4xM01tMjFuRXJNaUJMUVVtbkRJdWlaQlBZbXJQdHo1eWJ1MkpmS2t5eXhmbXF0Q01XWmFjZFl0U1hQUDB4bWVlVE5ETFBIQnZKY2ZFUncvUmVmVGwvZzQrZVJpTnVsVHVhZjVmSjZKbmtLM25RZkMrVWlLZ1k5ZmN1VE91eEFDeTBxeFplV1BXVnl3Z1B6OEVMNXdoQ1hyZHJKMXlXdGNkcmJBTUhyV0MvM0JwL2M5T0cvUzJQNDlvYy8wN1BDTXJWalZrS0U0cERHc3lHVHFFQitHRHAxSkYwMTZZcll0YmxPVnJ6T3h3a2RlUUdON1I1WlZEUmt5ZHM5bDhFQ2IzK3N2R3Rtdmgzdi8wa0huejFaRGtNNFNXcFpzSkdUTW9YaG1NVzBiaytTTm4wenk3amRwRXlHTS9BQit3OThuVHFNbUZPZmt0VExVVFBGVVZ6bjFXUzlHUEQ5ZXlBM0ZEVXoweDlGNnVmblcrZG42US82dFc2L1lkT2RLWnZwMDVHRmlmYmc3dkdObjdEcjJFT0dqL25rc3VFR0JveVRDQk9uTG9GUjZ0eDVSU2g1Um5ic1Fnb0pJaUN2bmpHSHZEbFVCZjRBSlE4YXhlc2NhMnR2V2taZU9FbTFNVWFRTlFRWUxNSnd1aWtyYjZXcHZScXNZNmgxcDFwTmZiR0RJYWxSa0ZuYTJpKzRkcnhGcjlUSEV0RGhwM0FsTUdWcSt6NzYzRklLaHBRVU1MUzBFK2dZL1g2OXlNTWRhWkRhYVJKOElFbnNtNk1VbXQramtYWmJFSEd1aFZ6bGtOL1dlTGFqbm9LWnQyNE0wK2VhTmZtNzljaEJYQ0w1NWU0SmYvQzIza1hGS05mb0ZJN0FydzlocEI2SlpiNDlFKy9Ea0JyanRIWWhBQU1JaDdJVkxzQmU4bTJNK0NlRVFLaHBIcFZLRCtSRDd1WmVOMFRDTHRnL2hva21iTUxVUHpuZFdDaEpaZ3dWMVErbE1CWHAwL1FHM0wzRVEyYWFVSWh3T00yN2NPTHE2dWpCTms5TFNValJOc25IREJpSWxaUWdoMEMyWHdvWWt2bmdHZnpTRGtvTFNMVjJFT2h4azFnVXA4Zm45ZERTbG1EUnhJcU5HajZhMXRaVnNOa3RCUVFIaGNIaDNiN1REMXE4U1JsZHFYSGFDd1kxbitpZ2NFdURacmtMdWFpeGpmaXlDNDhwOTg0NlVpNm1iVEM0YnhyWFRUK2JheWFlaUVnRldMZXNna1JxczNRUFFkWjAxeTlkdzFYZXVZcU81RVRGRjU1M05EZ2k3WDJ6eTZ4OTZBWllMaXBwbWxpbVRYOGUxdlQ1d3ExYWZUdTMyRTlBTW5lcnlSY3lZTWQvN3pzTTVCWGRYSTUxQjJsZTRlM1BTMk5qSW1qVnJNSU1oT3JZMVkyZmltTU5IWW5lMGV1RExuZTI0L2dCQ2FyanhLRnBoRVhwNUpUSy9BS3Uyam82UVRmdVFxYXh1cW1GbmQ0c0gzcUQ2ZE9DZzY3UnVheWIxL1o4ejhzKzNZWXdZNXJWZmxPSzlpMUVCcnBmc2E5VnRwL2I3UHllK3JSa2pGUENhaUF6U0FSdzBRYm11NFFvWXJ1bDB1eTc1VXJJb2srYkZkSXBFN2dFdnlxUTVKeEJrcnMrLyt6ZGhhVk91YVdpRHh0Y0hzckhsd0QvZWh0Tm5RMkVFdm5vdFpDeW8zZW14N1hkK0EzTW13Y2t6b0xrREZxMkdwbzZqRTl1WEFteEhzYTQrU1V2VW9xTEE3REh1WmRaUkxLdU5VZCtlUHV4amcrWWc4TWUrWWsyd2Q0aGNLZ3VoUEdQTlFkQWdTbWdRRmJ3cUJDS2JwbnBEQjVNMjFERHJvUVZNOTc4M0twSDhuMTkrcUhTYjJLL0lvRGVTZEtYMFFMbmNJNGlNZkhiMDdmMTZ6djY5aDBIRkQzWkFCM0RsNlFBemxKZXNiZ0hiNVpRVHE3bnR1eWNCY1BQL2d5Ly81UnBPR2xlSEVNZWdvWjhDTys2U1RTdlNXZS9xMlE0YllTdjBZeDJjVXRCaUNyNHp4c2RUcFRxWHRkck1qRG1VV040NDJ3ekJzb2preVZLRGhma2F0aGhrNVNPVkVsSnp2SVozZTcwZW5NcERuRVBYSWJWbUE5M1B2VXh5eFJyY1pBb2g1VUdiRC9hdGorQWxhclJsTzZueWwzUHI1Sy96MlJIWEFHQmJXWFREUkJjNnJYZmV5ODZmL0FLcm9SR3RxSERQQ1Z5WDlyODlSdnQ5anlMOFB1LyswaGtRQWkwL2dqRDJKSXEzM25rdlhjKzhSTlgzYjZiMGk1L2FmWTI1UlRQNDU4bjNjRmZkSS94ODA1MDBwSm9wTWdzR3krVUhxZC9GcmpRQmUvZXhTbWNWS3MxdWtGTmRoM0dqZGNaTjBybmlLc0ZQZmhIZjV4emZlR3RZUDcvTDluM2UzZnI3Vno4VXo4NEZYQ1hRRFJ0YkNiNjdmalIvYnk3aER4TzNjTHlNYy8xRjYzQVVmUDcyODBnMGg4RnZnK2xwdks1V2x5NUxvN0N5aTN1Ky94U2Z2SFFEcEdCeGQ1Z3ZyQi9OOG81OE1PemQ1ejRzR2prZTVwNE93MGQ3RzE4REdNeElLVVdXTWx4Ump0QU5NbkkwVVhFQ3hIMEVhbDhoT1dJYSt2WjFzTG9iT1hJaVdyVGRpL2RaYWZSMERMMnpFVi85V2lKSTBoLy9IdmJJaWVpUmZPenhzOEF3NFFpYU9NVi84aitIWU5FSTVQangrRzc5RWJiajdyRmpGRGlPaTVOTWtiNzNBWnhseStpcnplaGQxS3RONW80QzZaRUlDRUZnekVpaTg5L0ZON0lNbFduYVYwZ09LUHRXWWFONDlLV05YSGJ5R0Zwb283eXRsSk9uWGtkUTViTjZYU3NqaTdaeGFtRVRRZjgyd3Y0aTR0M0Q2R3dXQ0RQTXVCUHpLQ29vNHVIWDcrUHFHVmNTQ0k3ajZ5ODhnaTFBSFdzTCtjUVRQNVI2V2VaTXpCNHRIUVdhZERpOVlqNWZuL1JiNW9uNUpQNnUyUFpFQUt0RmVFVUpjdC9mS3hlTWNrWHhaVmxDbHdqbXExTzVmY2xYZUwzNTVOem1iTi81WDBkeW5NaEZjTjR2dXVQMnVZVGI1WGZBY1htQ2I0L1NPYXRFSWcvbDNnUTRiUmJ4Wnp1SlA5ZUpTaDZseW16Yjl2NE9hRmk0Qi80c21mVCtCcW4zYkxoZEMxeVR5UDBhcjdpdU9xSjQ3a2ZQaVRuSTY4R0pHWnlDUHFSdE83c0gxSGpmOGczbDUrRVQyR2dPQVRlTDdxYXdrVGpzQXFyb1g3S21zK3VEOW1JVldBbUdWSFR4NTg4OHhkY2ZPby8xVzRmczArdG93c2dHZnZIeDUvbmMzWmZTMEZRQVJ0OVpBbXFBNXhVbzVUVnY2T3JJMHVVcWhLK3Y4MlZ5OCtYejBHa3l0U1BKMUkzRVAzb3plWE1XSDJFOHl6dG5YcVNRTWFPblVydHRJeTJ0RFJ3LzYyUDRmUUVDL3VCN3JFR2xGT2wwa25RbXhkS1Y4MGtrWW93Wk9ZbThTTUVSSlRrZW50MHJDRHBaSmlUYk9MOWpNNmQzMVpGdlozREUwVzNhTWhEcDl2KzdpbHR1UEdGM2pPR2VKNWJ6czd2bTg5TEw2NUVSUDMvOS9RM2NlT2wwQU5xN2t0eDJ6MEx1ZkdRSnp6MnppdUVUSzFuNnpMOHhjMUlsQU91MnRITHJIOTdnc1JmWHNlS2RyWngzMFRRZS9MK3JLSWg0aFNZdnpxL2h1NzkrazMvVWxaSEl1Tnp5MVhuYy9zMHpBYkJzaHo4OXVveWYzNzJBbDEvZUFMcms0a3VtODQvZkh0N2lFMUtpbEFzS2hKUzBaenBaMDcyQmUrc2U1UjhOTDlGdHhZa1lJUVRpcURRWEVwcDJPQXNQb2IwM1BpS2tSR2p5OE03MUVTRVpDaDY1V1Nja0txdDdoZFdJWExORkQwQkcweVV5Nk1NdzlCN0YzbnFhZ2VqaTFjb3VMNEZmVEZOOGZyMWdjaGY4KzJySm11NDQyVHNmbzN2WVVHemJRcVd5QkthUFJ5c3U3TDNpQ09OZzArZUI3QVI5V2NhV3QxRmU3akNrM0tJcERUR1ZwRGpqVUZHVW9zRktNOVpzUjJnZ2pMNDNqK3dqQkIvVnBHSjd2SUIvZi81R2lvd29aODhVeExkV29PczJhME5EV2ZMaUROcXpZVHBTUG9UbTRxaVBwbDc1OUtjLzNVTmZLcGU3SmNYdUdJbVFHc3AxVWNxaHQ5RXgvamsrd2wvbUZOS1VyeDhUY1BqRHBZNzhJcllNR2NXNmtST3BHVHFHblNXVnhJSVJIT20xK1JQSys5UGNmbEpBUDhEa1E2L29IUG9YQUFkQzRUb2FXMXBMZVhQVE9McVNRUzhIeDlHOFFxQ0QxRWNvSlZDdUJDWG9TZ1Y1YzlNNGFscExjVjBKdXQyL2tRWUhxVTlwYjVObmYxWS8ycHp2dXJDOU0wTTA3Y204cnBUZFo5ZjZ6VldqRHNuSFg5VVE1L003dXRIVnZrcEZ3eVZzd3RkT3JlQ2tNZm05dnR2NXhPY0hObDgxeHN2NitRaGI5M21YV0xTTXRyODhTUGVMYitBZk00TFFkNy9CWTdFSWYzcHlQUnMzTlh2TUlFWHZGaVBuQ2pGcXQzZncvMzd6T284OHQ0WXZYaitIejF3MWs0SnpUaWQ4OGx5Nm4zK050ai9kZjFBelM2S0lHVHFVV1B6Z3VCcHVubGhIVVNRSmxvN3RHT2dCaFgrL0Jnbjc5RGMvVUozVkFiN1hkNEZPdUFZRndTei9XYldlZjV1MWpWK3RIOEd0OVdPSUdicW5MNC9Fckd0cGdWV3JZUFJvR0RIaXdIUHNPQWZmYXpzWWtKUlNVRmNIVzdiQXRHbFFkcFI1VXNJK3hSMk85NW1ibTl1cCtXbng3eE50TlNrdncvM2I4dFhTVHIrSVdkSUQwenZjYStsSFhqb3FiUFcrTVFlaGFWNStxdDU3Y1lsYkZwVDNPQ0FvcEVCdUJtZWp5dmwyQWxmQnc0dFZMNFFETi9lK2ZnTXF0d2xhWGxmWW5ia2hIbTBscXhTSnQ1ZlIvZlNyRkgzaVltUWtkT2pqVDJXSXZiU0EyRXNMY2swSmUwOFcvdlN4SHc4YVk4ZWE0a0FNckNURWFoWFo1cHdLT0lSdElJRUhiSksxSU9qendBdDZ5OE1YU29HbU15cmV5RGVYL2hiam54dG9WeDhnSjVWQ0NZRVVFajJudHhPdVM4eDFjdmZUdXo3UHQrNWJQY2cvN3hIUkFtbW1kbm5TZTNya1NvWFFiQVFXemxFQVdsUW9aQTU0UUtrY0FFaXVVNVFRSXRlc1Z2WHlOY0h0aFgwcGhkZ2R6K3A1a3d5Qks4U0hxaEhocmp0Wlk2ZTVPOWxCVFZHU0cyNDArT0pWK1ZSWGw0RTVDVUlua3ZYUHBNNHFZbEZuRzY5dFhjdWlsbjlTRzI4a1k2ZlpwNmtWL1dUdlJRaVVjZ25PblkxL3pqeVVaUkdZZHdaMnczWmlmLzhycVVWdm8rd01Xa2taZ2JtbmtscjBGazU3SzJoOUR5SFNIK3R5QjJtUUJtbVFQalMyMDJHTFFNOFlIbGtWNEhPWFZPOCt4K1JSWWY3OXQ1c0ErSy9QamVIa2FZWDdtTDZlcUJYOVo1dERLWlNlaXpiMTRhQys4dXpuZXU3UHV3cE5FL2g4bnM3TkxMVnhISFhZWUtPSFFnTXRmK2ZtbTI4ZVlJYWs2TlA4dFI0TGcvM1d3aDFQclRva0o2UW96OGZwRTBvWjZqcDdlaVdoVUk3RGlpMnQvUG9mcThoYWcvaFpCNVJEanVQbERFbEl2N0dJOXUvOWxNeWlGWWlBRDF3WGMvcEVpdi9uMy9HZjVxMUxaZHNJVFlkRHlkL1NOSytHeUxIUktzc28vZk5QaVh6eWl0M1hjS014Mm0rNWxmaURUeDNnR3U4OWYxSCtuajY5V1NWNHBxdUlYelJWc2pBVzhab1p2TS8rY0ErRE03akEwbmlFNVlrd0Q3U1ZjblBGVGk0dTdNRE0rZGlGK2U4OWJGbVZ3Y05UZ3J3NTNFZktKM1pqL0gwNG5GS0JXVmJFa0M5Y1RhcHVKOUhGcTNFdHIvbm9nVFpjRkFwcEdPVE5uc3FRTDF5TldWYlU0L2pVOHhPUDlIaUI2eWlHelp4Q3c3UFZWTC9haGV2WXUyTWFkYk9xc2M2ZXd2WllBMUxyQnpXZUt1ZXlXd0pubXcrbjN0emp3anVBSzBBcTBGV3Z4dHB2TFQvMzBJWW5CQ0pwNGQ2K0duSU5VcVNVMlBhR3ZVU0JOMkRIYWQzTkg3cXU0N3B4WEhjbktJWE1tNFNxbU83RlFnK0Ztdit5cjdnSm1vaVFENlVVbVZUVyt5emkzdzJHQ3h6VDc5OHZ5OGxWTGlDSkJDWENMY2VKblkwVk94dmNFTzM1R1VBZzFiRk5LU3JSYldhRkUzeTZwSjI1YmljcjMwM3o1eWZTdlB4T2xreFdZUmdHa3laTjR0eHp6MFhYZFlMQklMcXVNMi9lUE9ycjYybHNiTUpud3NSUkd0ZWU3K082TXdLVUpVM2FIekhwZXMzQTZqaEFEV29QeUJuZ0lSYWxGSTdqOE5oamoxRmJXOHZxMWF1Wk4yOGVPM2Z1NUo1Nzd1RjczL3NlQXBnM3RZSWZmRzRXdHoyNGlyVjFYWFJsbkQyMmxCUVUrSFFtRHkvZ0c5ZFA0K1FwNWJpdUMwcnh6anZ2a0orZlQxVlZGZlBuejBmVE5FYU9ITW5OTjkrTWxQSURiY1d6ekFpZjl4Y3hRZk45cUZSYmI0bHNwNmNUSXJJOG16MkpaN01uZUl0Q1pMMm1vUDNYS0RqaUl6TVptd2VmVzhxNnJjMmNObWNzSTRZVUExRFgwTTRiaXplemNzTU9sT1AyN3A3V1laN0xzMndFczRwR01hdG9GTzBxelV1Tks2Z3VxR1JZWGdXTG0xZXlMRjVQZ3gyalNvOGdoZURjeWhuSGlQOEVPb282Tlk0YXhoMmFXWnpUTHpyZ1EzMm85bEFPYWM1Y1FYV2V4ZlVsbVZ5KzZGNlQ1b2FBOEw0N0o2NUNaVjJHVExNOVhwSk9MMjRJczJ1RERSeFFtUU80VndIL2dKcmYremErZE1SNjBEQU1paStlUnF3dWoxaDlQVjNkWFdoU2twK2ZUMTUxTlFYRGgvTmliRFhaOW16L2pYRU0waUFOTUpJS25MMldrNU56TlFkcEFJVnFnaHJobjB6d05rTDZpMmhVbm04aWdvTjFvRWViL0FyeWpTZ25WdTdna3pQanpENXVOUEdpRzNpeVpTaXZQTlhHd3VXdlViKzlEVGZ0b0F3TlplcG9rUUNnY05VdURKcWpKd1JDeDBQUnB5SHZISkI1dVppWERiR1hvUEhIa0s3NVlMYldJdUFmdDJmWS9uSGVaMDcwZlZqVWdhNW5JYjBSS240QWVXZUJERUxrUEFpZEJOR1hvT051NE4yQnpROWZmL2h3MTZEd2VxZGtYQXJHenNISVdjWDJ1azJrSG40Q2dNQzFsNk5QSEl1QnhvMnhPWFE5OURyQ1orVHkydytQZC83dlVGMU8wV00zdEgrSVJpSFpHZTJpdHFNRnZhU0NyR1BqS0VVaWs2RXNrZ2RBSXBOQkNva21CQm5icHJhamhaM1JMdFF4Nml5dmNxcEZDK2xrTXhsZWNTZXhwcVdOTERwK0xGcUpZT3RoaEp0QytuV2NQaXc3VkVvUmkyZUlKVExzYklseDZod0gweWhuUTIwYkcydmJzSTh3TU9NcVJWY3NUV2MwVFZOcm5ETlBHbzJoYWF6WjNFcnRqaTRjMWJjZTg3cDBBVFhaQ0U5SGgzSmNzSVBSWm94Q3pZc3pkemttTmRrSXk1TkZyTS9ra1hXMXZ0a0xHNlJCZWgrVFRoMXFPckFRWk53c0w5Vzh3K3ZiVmhBd2ZLUmQ2NUNPVmVMd05NakRsL2Z6T01sTHZYL0svV01nZlJrVEdYN25IL3IzL1A3eHpuM25RZ215MHFXelJZUGZWK1BFTldUWTB3bnhOL05KYlFnZzh5eUtQdFpONmMwZERCL1R5cm05WFJmNVB2VHRiNzVucVVEV3htZG96Sm8ra3M5Zk9ZdHJTaVdKdS83RzFydWZRbVN6bUhuNUh1N0VydnJCM0ZoZEs0dlFkY0l6cDFMNCthdlpkTlpvN3FwNWdiOHNmUXJYemFJRjhuR1ZpNk9Pd2U2Tm9GODB2cTJKMXgzWmdUNVFwMXlBTTNFcWR0dDJBUFNTb1VSTGhpRjhXWWpWOWJ1bGNPckk0emhseEl6QkdPbCt0dXRBb29IV3IyQ2c0ZFB2RWs3NjZHRUVwbzBsNzRaTE1NWU9SWmdtT0E2SjU5NGk0VE9wWExLVzY5cTMrSDJ1YytrVGVTTjlHMXJlK1JuaDZnWEU2aFh6L2dqei8yVndjWDJVU1lBd3RRRXBZL28xT1M3cG1tM1lUYTEwUGZJOEFGcGVHTDJ5RlArWTRiMWF3OSsvK09ud1paN01wWjFXbDRYNDB0VlRXYjYraFNmZjNrNjRwSkNzNVZKcTIxdzhieFRIVDZtZ01HemdaYUgxTHJtdWk1U1M1NTU3em50V21vWVFBaWVIYVNHRThIS1NnRTJidkRxT3JxNnVBei82WEZhQ1JQQjBOc3BxSjgzUFExWE0wQU4wS0JzcEJHNWNFRjlpSUF5RkRLaERUa3lLdjcySUhkLy9LYkUzMzBLTDVLR1hGcU5zTzRjRDhPR3plVFNwa1l4SCtkOTdmOG5Rc2twbWpadUc0N3BjZE9KWlRCOHptYWZudjhqU1RhdG82bWdGRkdVRnBSdzNiZ3JqaG96a3RnZC9ReUllUlJpK1hPN2loNDkyZlBQckdJWGVudWVPQUdCQkpLVm9ML1ZxaWZ4dENqY0Z6YVZqaFhQTjl5RlNoTi9KNGdwQjFnalFtRGVEcDVxdXdGK2Y0QXh0SytWNU5sSWF4Rk0yWWIveWFsODFRYjVwRS9KRElpM296aGJRc1NXRGNKUGtSUlNYRHR0Q2ErT0xQT3RlaDJsbjBUUkpRZ3ZnYU9ZeDR4dGhlSGhxcmlzUVBxKzIySFVGMG0raGpyVE9TdVR5NVNSSVhXQTdlRGg2MHNYT2VDWmZTVkF3ZmJ6T3A4OHl1WGFlanFFTGxLdFFTdVdxNy91Vy9qRSt3SjF6UXV6TTF6NFV5WTR1SURWWTJ3SjNMWU16UjhNNm81MjFwd2M1dlRLUGI2NENZMmtjdlNWSllBVVV2Z1lGYS9jNitKaU5XN0toYXdML3RmUS9hVTZWYzNiMVMxUUVtZ2pvS1RUaDRDaU5sQjJnS1ZYQnl6dk80Zy9ydnNpR3Jna2Z1WHkyUVJxazk2UGZmZnZxOXhYMFFwTTB2Znd5dGMvOGlhemRpSytqbk9ESHprZU5Hb0gvelhlSXYvSXd5aC9IS2oyQnIzemg4d1NxaCtUaWo3Mnp6djc0M1d2M2VmL2Q5TlA5ZWo2ZjJ1KzkvaUZPYlJGQTBBd3dzV0lFWVRPQXF6dzlyUEQrOWQ1N0FSeVY2NmRlR2k1RUFaM0pHRFd0OVRSSDIzdWt0Zi81bVorQWJyTmlheUczdlZuQVM1dDlPSzRnMys4aWhPcDUvbjB2MDJkSHROTFZXc2l5T2RQWVdoNW1zOVhOMXJVUHMzTitDNTJwS0JrcjZ5V2RlSjdiSHJ3V0lUeGo2R2pUMm01WTJBcFJhMUJZRHRJZzlURU50RGo1TCt1ZU92aEloUmZYc2JabWlXUk9Rai8rU3Y1UUUyRkRheExYVll3ckR2RHA4VG8zclhtRzlQTXY4U25UOEd5T1huVGo5a2VVdmZtSnVnK3hRcGE0VnBMUTBPa2tkWlBZa3ZzSkNaMTMwdWN5T3I2SXpMcjFGQllFYUtqSnN0bTlFSzE5SmJKME5PSEoxNE9UUm1sQmpuWGkzSzd0WU52YURSdU1iWGs0aS8wT1MxOG9OamRuZVdkcmlrVEczVDNlblYwMmp5M3RwamlVeTcvcXhYRlhmK0tTSGgwdmRRVWFtUG1Db25tNUR4MlFRVVhsNWVEYVBYeit2MTZ5cjU5ZXNnbHI3QXU0UlZzUVZnQ1JEWUZ3dmI5K1NMKzl6dUszMTJZcGlBa3Z4NmlmaHd1Y0FWYmdMSVNYdUZWUWZnNlJ3dVBKdEQrQWxWNVB0eGJIeWxwRVpER1I0QVc4dVg0VVAvbk5teXhiVm9zTStVQjRlQTFIbXdZYXZvOXJpZmRZQ3pZKzc0MmxEZ2lESGdmR0tNRy9DSlBGYUN4MWJScVVTN3F4aFVkLy9pdms1bHB1T1BOc1doZThUZnV6ejZGYVc5RURRZXdzQjdRdk1wZ2U5ZzRDNFJ5TmZmcERrSHZTUVlSMFhIUWE2aE5lK25vNDZJMVRPUXhDTVE3U2taRFY3M3ZLN012WXQzenpzLzE2dEQvOXYyOTlxUGpENjUvcTB0NFY0dWYzbnJWZjRhUjZyL0c3OTNmdnFXdFIrNzRXZSt6UTNmL3UvZDB1MGFzNW9EdW9BL0RxdGFNajNGSmRRT1ZDalhqTTlVSk9jZ0JNckFCY3NBTXdyODdCWEpPaTFiQW9WeG9OSFJaWHBCeXFMQmZIVkFPdjc1UGprbjFqQVluLy9SWEJmL3M4d1M5K0d2K0ZaK05zMjRGeUhMU2hWV2hEcTdFM2JTSDV1NytRZldOQmJ1TjBjRzlyanlHa3dEU3hObTJpKzN2L1NkNlB2bzg1ZFRMaHIzd2U4L2hacEY5OUU3ZTUyZnVkMzQrOWFUUDJ4aHJ2MkYwOVJwVHF2MGxienY5djc3N2o0NnJPeFA5L3ppM1QxQ1ZMN3QwWTI1aGVROTBrUUVJTE9CQTJvY09TQmtsK3U5bjBUU2ZaRkFqN1pRTXNJUVVTQWlHaGhoSjZNMkFjZ3dzMjd0MldMY25xbWo1ejd6bS9QKzY0Z2NHeW1qWHk4K1lsTE0yTVpxN09QZmZjVTUvamcrdmdscGRTLy9sdlU3TitFemY5NmlZbVRabk05ZGRkaHpFRzI3YnhmUitsRkk3amNOdi8vUjhiMXEvbmlhZWU0dUFKNDFnNTY5K3dreW1zMGhLTTUvWHo2YkFJVzFsV2RoM0NseGJjamFNOFFsWVdoU0ZrNWNqcEVERW5GY1R3QXl6MGp1K0hNaHNZNWVRNVBacml3a2duSmExcEhwMmQ1UStQWmxpNGZPL254TEpnM0FpYmMwNXh1V0pXQ2JWVFJ2TmsvQ1IrMzNRZTg5TUhFeFRvL2dGYkROeDFZOC9IVElMOUZHeDhYOU1WZjRGSU9DaG04MVBncWsvWU9MYUZOaHJWaTlseWYzbHM5M004N1QrL09MZ1Q5SmMvNlBWYnRDUThYbHVUNHJpSk1LN0s1WkJSRVRyVG1pMGR3UmpUNkVxWGlxaUZheW5XTk9lWXR6NUZTNkp2eXFkaVM5OC9mUGU0UVgyNDkvNUlxaHExRXo2TFRyOUk3TlNQWWVYRzBieGdEdTFMMTlHNWZqMUhmK0owa200MTRiQkxUWFhwemo2d1BqYlN6WkxRRHJNVDFUdjJjcDZkcU9aTGRSc1o2V2I3dk92OGh0VDhmYXV1S3pDWkhsYjFlL0M3VCszbk5wKy82eUxZUGt2OG5mbkdzUjJPbUh3WThXUUgyNVkzTWlheWlWRTFGWXljY2lGdDI5WVJYLzFyeWlJK2JxMUJtMkJkbXFVZ0d2YlE2WldVVC8wSzFiVVQyTERzSVVJdEMvalU1S000Y2VySTk0bnAzbzlCRlJTNFl6MXk2MXdTVDhSSXpvNWdzc0huZE41WGlyZlpvZlM4Rk80WWo5eHF0OC9TMGl0VWliNzhtUWovL2VVb2tZakZEMjVQOGN2ZnBmRUFUaGlKYys1RS9ESGxlRmtmdW5KQkF0cERzSTJsRkNhYkpmZmtjK1IyaSt1aWR1NXJMbXNGMzZNekUyYk9wckVjUGFhQnNSVmRXSmJlWXg5TGtNUUdYMXVzYkI3R29vYmhPOHJvbmlxNmZRYytRQzZYWTlXcVZmaStqMjNiVkZkWE0ySENSTmF0WFl2dmVkaVdCU1UxVkhXR0tHOU40MFlxVVVZemNrME9LMUtPTGtzRmEwazhqNURyTW1IaVJIemZwNzYrSHQvMzJiWnRHek5uenNSMTNYMCt0dktZNHFncERsZWZIdUxqeDBkb2RFcTRaY3N3N3R0V1MzMDJ2SHU4K1VKZndiQllCU2RQbk1FMXg1ekJpU05uc21KbEYzYzkvQlpQdjdLSlpGcm1VUUhjOStmN3VQclhWNU9ibXNPdGRNbW44bGpod1hOOERtdHVPQ0JLUEcwVXlsTW9GUlQ4VTZmTVlWajFXbENLNnNxR29QQ3lWR0ZpZ01GU2ZkT2hxb1p3YjJWall4UHZMRm5DS1NVMnNlT1BKVjlaRGZrOHBtNGtYdFUyY3BzMm9EMlA4RUhUY0lhUFJOa1doRUs0c1RJNk90ZXlwSEVOalluV1FncjFWVFRaRDhvRW1sQnBqUFM4K2JUY2ZoZWp2dmRWckxLeW9LR2k5cnlSZzQ3SGFibjlMdEx6NWhNcUxlbjlBcmtoZkwwNXdEUTN4QXdYWWtyaEE1MWFzenh2TWRKMnFMT0N6bzJSdGtPNVpUSEdjVGpFc3JDQktTWllrTm5iN1E3TFB6MjBSd2UyOTlNM3RjSlZQd0xQZzFuL0Fwa2N2UFkyekpnSTg1YkM4L1BndkZQaHJCTmg2amg0NUNWWXUzbmdOZ3BZMVpqaWtYa3RuRGkxbkRFMVlhSWhDMk1nNTJ0c3BZaUVMTUtPaFRZRyt3TTIyRElHTnJaa1dkT1VlVytnNm02Vis4VjJodThjMFB6N251bHB1N1NMRExDNThQVU13QjQ2SjB4blY1R2w3OWRWZDY2dlByN3Q5Tmh0cTc0N3lOUHpTMFZkbnI1eTdadkZkYjlZZTMyL0grK3JHK0c0KzNkL2JNbExBSC9aTDMreVpTbHNTM0gwd1VITHliWVUxaUFhTS9VVXZGcGw4MnFsVGJsbktDMVVFUk0yZERscVFLcTJCMEw3YlUvZmkyNjBRUjJIcWsrZVEvbnBwNUo4YXhFZGp6OUwvS1U1NUxjMERIakFqN2lYUktHNFpzTEZmR2ZhOWRTR3E0UEFJNDZENDRaSXpIbVQrbS8vbFBqc043REx5M0NHMWJ4bjBvWlRYUm5jcXdzM1ZsVVNDMzcyL2QxdXRzNndHdnl1T0J1KytBMWE3M3VZTVQvN0wwcFBPZzROS00vam1nbWY0aE9qVHVlL2w5L0d2WnNlUmN1MlRnUHV5SmFsUlhVeFJ5YzBGZFh4ZG1hTGEyVjJaeUl6cFBLM1o0SnRRcDFRbm9VZDVSdy85M0MrT25FTFA1bTRtY3N2V01hcGgyN20xcjhmelhQeko3Q2x0UlNGWW1SMW5ET08zc0QxNTg5bjRrRngwaTAyMzFzL2xsK3RIdzNHd2czbDhZekM2OGw5Y1AxS3hmcVZRNlF2eE9CYnBXVENwNUIxUDR4SEhTYWJwdXI1WCtNc24wdmkwaCtqMXkwbTh2U2QrTlVqY2RzYkNwdjVLbkJDNEFiQmt1MWNtdERyRDVPdUdZMlpjREQyc2pkUXZsL29FOXpIL29hR3hyMGRkYkE1OWJDYVlITGpIdC9FeDdTMW9Sc2JDdzNTL2l0eWlxMG1OZTRybng5U2xUOXR3SElkbHF4dTRIZFBMT1o3VjMrZVZhc1c4TkxiejNMcXdlY1FqVlZSRTdWSWRJNGpvajlFWFVrZG0xTmJpWlhuY0N2R2t2VFhFV3Z1WW16Vk9Mb2k4S2ZIRi9MT3FrWk15RVgzb0RPalcrTVZHemZDaEFtREl3Ri9PUEJadU5lMVJBTlR5dGZ4cFdtLzQxK0hQNFE3dDR1R2U4T2tsd2VOMnZmRXY5Q2dJbEJ4cXNld1MzTnNHajJaRzFaZnkxL1dYMGhucmh4VS8xM0loNVQwL0g2c0RJd09nMFhvUFFkb1lSZ2R6ak96Sk5PclliYnUzTWxzQlRQTEZGK2Y1SEJXcllYZHphRDZmcHRIL0tsMjRvKzNvWk5hMWgwTUpnTThqaVl0UTlHWHBtZTJEZXJqVzE3azZYdmFWWDhvcXVQOTdOYm5GVHkvczkwNHlJOVhPZFplMnhWYTJXUzhLSFBYVFNLWkt3RVY0ajh2ZUFtQVh6MzZZVkw1RXVhdW0wVEdpMExJeGJMOVB1c21mL2Y3TEY1WE04aFR0TzFkN2ZRTDFRZjlUZnRyT0NGVEQ1bFhldmNldG0xejNKR244c3lMRDVISlpsbnc5dXRVVjlVeWNmekJPTFpEU2F3TWdHUXFqdWQ3ck4rNGtyYjJaaktaRkk3dGNOeVJwMkxiVHIvOWpRYUZoV1pZUHNrSlhmVjhvblVGTTVMTjJCaDhtU0RjTFYrOThrUHFxMWUrZjEzcXlndCt5Slh2MTd5c2g2TVArWS8zZmUrbmZ3TlZ2N244ZlovL24zay81MzgrWUgzOTQydjJNVCtvbmYwMldaMWxkY2NHSHQvNkxIOWEveERyRWhzcGNXSlV1R1g0eGk4RWdCVHZjZHNyUGI1d3R0OExmL3g3K1BHT1I5L1piWUZSWDk4dlRTOG1iU2dMak43em9tcGpBTitnYlYzWVhIYi9NUXJ3NGNYUnNLbkVjTTRtT0x4Vk1iNDlTK2JCNTJrYk00TElZVk9wdk9BTVlzY2ZIaXlTTUtaUEZra2tONFRlLzg1dG9NNXVaN2pkam1rRUxKdVJhaDJqekZxTW84ZzEyOVRSeW5DbkZkTUVTUjBxVEU3dnk3STV0OXRQTTlNOXI2OHJESFpXNFdWYzN1ZzZsSE0zdjAwaUZPYWR1b053T3l6R1JOc1o2ZE9yb04zdkZIbnhrTS8zeFlLQmdWdDA4Tk81S3hSeml5ZDlEMjU3V3RFR0xDbU80eTIyOG1GcTI5WWhWekhVUnFGdG4yZVd6ZUNaeFlkaHUzbWlicDdhc2ppdGlWSlN2aDNVZHJaMzRLcWdCSXM1SGpXbENacmpaV3pyS3VjN0QxNEVqaGNFNkRsQTV1N2M4ZUhSeGZXSEhpRHJnUGFrSTkzL3ZTMmpLdmUrNnNzWWFJcm5zTzA5amNJRmN5QnJ5MXhHVllTeHBCbTZteTg5KzVOQmZvU3pkdnVwOUlTamQ1N0JqVy9DQ3cvczA3dmRlMVB3dFhzWDBuSVlON3JiNzdGcUhYejFlZmhxTjJQbFdjYVFVallYdERieDA4d3FUdGpTUWNkR2h5MStPYll5UVFBRGo1MkRKUllvaDkzV1dmZmsrZTJCQnFLMnp3K2N0WHc4MDhLYnJaV2tsSTIxTDJQY1drTTZEVXVXd0xlK0JkZGZEeGRkQkxGWVlWNUlML2crcEZMdzhzdHcyMjN3aTEvQUNTZEFOTXBnbWF6c0cwVlZ5RmVYanU5aWVubk8vR0Y5cFhtMnNZU0dqS08wR2NEaFRkTkhyOWtIeFRZUGJpb0oxU2RwM0Z6NDZxZDA3VmErYSsraTliY1A0ZzRmUnVsSFQ4QXVMOTM3cFpwTWs1eXprSmJiN3lmZjJFSmY1ODZ1ZEtmY05QZTM3ZkU4ODJESEZZMHRobVFLeXN2QTdDMFdoNEcwQjl1VW9kazI1S0xCL1FKL2w2OGU5dFZZU2xIbVpmbnN5cjl5N05iNUpLMHdkamQ2ZHMzMmo5NStUK3JIc1lKRTJpdXVjejFBN1F2OVB1ZGwvL1MwcWgxWlFQVnpKQUFYeldpZEpxUjBvVTZrOXZ2RnJaV2kxbVJ4OTNCV2ptcGZ0ZThIZU91cS9mYlhiTitJdDBubitWdTZqYWV0VGs0NEk4WURuejJVWTQ4OURrcFBwTU9lem9xMHkydmJOdkZ5NDJzc2JGMU5ZN29WN1h1RmphMnMvYk81VlhjTFkyM3d0dGJUZGY5ZE9NTkhvSk1KMHErOVFHYitHNmh3aE14YmMyais5aGNaZnNzOUpQNStQenJlaVFwSGc4SzYxNHByWFM2L09yS29XdUJOVGRkSmowRS9ldUdXeHlWOXhRN2JQdnVIZmM0UEYvSDcvWGZBcW1lL29nM0JPb1BDY1BjSmgxUnl4RUhCL0owVERxbkU4NE4rb1NER251cXpLbkd4clJ2TSt0aytlWjk4SGxLNVlFNitwUXAxeW41WXdsdHM4M2ZhMjl1THJPMDdpSVB1NzRIVmpRRUhBMWp2MDlkcENtMmhJSFpEMzErNlJUOC9YeW1VNCtBM2JLUHRlNzhpY2QralFadkJzckRLeTZqODcyOVM4ZVdyZ3RkNlBsakI2L2Uxd0ZhT0UxUjh0U0Z5MnZHTWZ2MWhPbSs5bTQ2ZjM0NmZ6Wk43ZXprTloxMUo2U1huVTMzRDE3QkgxdTM1clE3YjlZNWhnTmJDMThEUndPdUZyNzI1WnRsU3hiS2hXOTlRbGtYRlNVY3k0VHZYc3VubWU0Z3ZYSXJYa2NBWXphNERMRXBadUpWbGxCMTVDT08rZWprVkp4Mko2b1B4aWF0dXVxakh6YzZ5V0JrblRqK0YrcXJsZkxYRVk4cVdZQTN0aGhLUG02dVdNK2FKbnpCbithdkVVL0hCc1FacmUvZUtVOWowVXU5U0lkcitXQjhYN1RlUCt0ZytsU1U3ZG1RM1p2Y0tudHJsTWJYclFyaDM5Vmw2L3I3ZG41cDJyN3Y2TDMzclBXZHFiOVdVL2YxOHdBYVZBWHo4NURIb3JsbVFIdzlXQ3F3a3JqODRxcDJmRzk3TSthVnRsTGNsdVArRkRIYy9tbVhWeHAxOXdvN2pNSExrU0pxYm01azdkeTdISG5zc2MrZk9aZFNvMFl3ZlB3R1RiK0g0d3l6KzdaTlJUcHNheGwvcVV2OVlpTlJpQitQMS9lWlkrdTlYRkgzN1dDbEZkWFUxOTk1N0wrZWVleTdyMXEzanNzc3U0MWUvK2hWbm4zMDJ4eHh6REZvYlpwMDBuaW1qeTdqbitYVzh1YktGcnM2Z3ZsNWVHZUhZcWNPNC9LT1RPSFJpTmI2dnNTM0ZtL01YOHZycnIvTzFyMzJOWC8vNjE1eDU1cGs4OXRoakhIMzAwZDNlUk9INVhGdzluNHNYVDJJVzIzeWpXY2NWMWZGT3ovY2lMbU5oSGtaaVFUdFBMWHFIU0Npb1oyWnlIbG9iRHJhdG5vVEcyTTI3MXhmNnkzcSs0akNsZmRha0dqREpSdjdmOEZPcFZHSHVTNVNoMmhScjNwcE5UZGw0WEdXamdiNHExdTQ4UmhZQzlXdDc4eVBMaXlwOWwxNzJqYUpLMzJ0ZnVMSEhaY1AyalRMY1NJUndLSVNxVWtGM2hqYmsxcnhPL3AxTVVIZTBMSWw3V0NTdVdmUkdVVjF2YTY5NVZzcGZBYzkrc3R2NVlIdjc3MTludzcvdTZFSHFUbU1mb0FOWUVPd2kzd3VIWHZpNjVGdXh3em5UR2pocmhtSGMrSmtzUzAvbTl5ODd6RnZXU01lV3hmaDVIeDF5d0hXeHlndWJnaG1Eci9kZmIvZmtlU2ptOWZKTnVvQ3pldHB1aFBjZGVCb0MzUHcrRmc4SzBENVdlVFdobzQ3QVpMTGtseXdqZGZ0ZDVGNTlJeWozMW0wa2R0M1Z1SWZPSUhUVUVVVEtxdEZkWFlYMXZMMHJqcVp1V0xEdmI3QmgvajcveXVPRnI0RVVkUE1xMHJrc2IyeGFnNjk5UGpUK0lPcEtLeWdOaFhFS2F3WTgzeWVSeTdJdDBjbWlyUnQ1czM0OVJtdVVaZmMrSHNEL25LNTZldXk3emhCdGVwL1hERVQwWjg4UHhpQ3F5cU9jOStHcHhLSWhubmwxTlEzTkNVcGpJWkxwWEkrR1FqMVBZNERoTmFWY2NQbzBVcWs4ejd5K2hvNTRocEtJU3lyVGpmWEF2UmlMekJtYnR6UFZ2SjJ0QVh4Y0t5aVg4OW9DN01KYWVSUHNmdDFYQXhjSDhEcTlnYkFnWFRuSWo3Q2pXN2VFcWd4TTMyYklPZnRTWmxnWWs4V1F4U3JNVjk1YlpndDV3V2QxTjFNbW81SjkrNU5TeGRjdnFXelFMUzVZWU1mOFlITlJBMWJVeDQ0WXFpOXBvdWFxSnF6b2Vyd3RUKzNYTGlXVDl4bFZFZVAwRDAvbmE3TU9aOEtHTmRSLzVVN2k4NWZneGtwUUpiSGQ5MVJRd2NheTJ2ZHhxeXNvTytzMDdPcyt4VE5WY1g3NThzMHNxbDhNNFJKc0o0WnYrdUZ1ZlAwTFJaVWZMbm56SzcycnI1bGQydXoxQ3JPbGo2Y00vT3l0YnI5ZEVqajVSMGZzM3dUOTlpTnFYOVB3MG04OXpLVlNsSFpMc2UxWFVHeng2WGZVVEVvaWxGMTVQdUhEcDZMQ08yUERsRjd3RVV3MlIyNzVlb1kxTkhOUjEvcFF5T2l6SGl5ZkZGb0t2eVJVK2dyNXBPYkUzOENjejNmL0k1ZitxS2pLVGVmd2JSSnZwQnRsVzA4ZHRHMUw5NDczWjczL3JHSmlqQ0d6WkNWdGYzaVkxSUtsUVg5VGF6dlZWMTlJZVBLNElSc3lQZjNPaWw3bHczTGcxRktJSG1UVDJwbkU5elVqaDhVNHFpU0oyckNXVkQrV3FscHJsRkxZdG8yM3k5NWFsbVdodGVhU1N5Nmh0cmFXVzI2NUJkdTJNY2FnMzZmUE9laERNamdvMXZzNUx1cmF3QTlLUm5CWnVJcUU4Y2xiQnFla2NKdlloMjdyc2xOTzJQbm54MXNnUHJTdkkxOXI3SENFdDViTjV6dS8rU2svL0xkdk1IUEN3WlJFU3hoYk81THJMd2c2dlR1VFhTaGxFWEpjbHF4ZndVL3Z2cG1YNTcwQzBSSzBHYnBSNnIydUR0UlVSV2lzSVZjTllRK3NyUkNlRm5SaHA5OEFmNFBDZExSUm5XakVzVDBxVElhc2hqYTNETEN3b3VPWmt6cVA0VjNQWXNVNjJaZzVtR0g1SnFiYkcybE5PNnh6am1WYlM0b1plZ09wck0xcitUUFFxVllPTFZ1TWNWeGVqMytVYUM1TmJXWVR0VXBqM0RCdGhNZzRVVnIyMC8zdC9XSkM5em9uRkk0K2lBdGoyQjZNSnhxRmcwZkErUjl5K093WklVWVBDMlpVK1Q3WUZvWDVpdjMvcC85Zzd0dEZGWCt4VytXeUFjdUZWOWZEbGppY01VbnhMeU5Uakt4SWtSME5qZzkyWGxIOWdDRzJ0cERNZytDU055aVd0MC9uKzIvOW1HZnJ6K1RVa2JPWlhMNldtSk1pNWNWWTJ6V1oyUTJuOGxyanlYUm1LMlFmRlNIZXhmN0FjU2lGMFpyeUNSUHdPamNUc2paamVackthZE1KMTlYUk5tRTAzcHdIeU1RMDdwZ1RpQTZ2RFdLQTlHUGNzUXFUTHFyMFhkRWNHK1JIbU96VmIxdEtNYko4R09PcWh1KzRseGlqTVpqQ1VsTVRmQlZHcE1kV0RXZGtlUTNhYUI1YytBSXRYYTI5aXFHdVpuUVVNbkFDMkx6ajhaWkJtdHIvL3Q5M0ZOZGQ2Sm10Y3RjVUE5Nis2Q3VIRkZtdHI5ajZ5VU1mTkhaWWFCaUdRaGJlaTY5d1JTYkpsRk5uY1dkTkZSa2ZycWxMY3NhOFI4aTgrQXFSVUFpbDg0WGY2Yi9qN1NpMitIVTlhSmdySjR4VE9vTFF6SXNaUG1JTW41dW9XZkwyV0ZLdHl5alJKYVNuREdmVzBVZnp1eFZuMHREYWhsTXpMVmd5b1QwR3crVml6TzdUbzdadi96SG9ybFVObTlyeVFZeTJkeDF2S3F0SlpuV2Z4OHVlK2N0djlyN2ZaZzlicVd3dkpucDl1TC8rL200L3h1Ly9qNklxZjIvKzR5TEZIeUdMNkRkS1lZekdEbFVTRzNrZEJwaFVlR3BUWTVxSG4xdkhUMjUvbExhbVR1eXlLRnByekg0cUFEbzZPb29xYVN1bTlHd3VqOFpRaStLVHdGazR0QmhERjVBemFTSnYzOGVteFE5aW1SeVZ0UTdXcUFqRzcrRjk5SjM5VTUvVTNYeHNxTlYvUmY5NmNjdXdRWDZFemJ2OVZONk5HT2lEeXAwVS9meVN3VHduNDY5cjR1cXZhNHA0a0RzQzFiV0dqeTdOMDZyelpFdHRqdXcwMU1YeWJEdk1McXlCS0xvS0V1UnpaQjUrQW4vakppS3p6c1U1OWtpY2FWTUI4RnRheU56L01KbEhuaVMvNE8xQ1FPRyt1VXhPRzBxalpGcWpRbEd5YytiUzl0a3ZVM0xweFlSUFBoRzdiaGpSY3orR1NhWEp2N09NOU9OUGtubm1KZkIxRUwrcVdPSWpibytIVUZ0RDY4OXVKN3RoQzlmZGRSTVRwa3ptdkRNL2h1LzdPSTZENTNsNG5vZnJ1ano1OU5NY2ZzaE1YbG8wbituem4yTFY2Wi9HMzdnVnU3b0NrMzl2bmU3ZUw1NHY5WjErZEVJa3pibXhCS2NTcDM1Rmh0c2V6L0xRY3hsYU8vYWVCMHVpaWtNUHNybml2QWhubjFGQlkreGdidHoyY1I3b1BKMldmRFVvbnlFUW9iSlhRbTR2eTJFTXJtc1JqVG5CM3J4S29WUXdMdG9mZmFzcmJyejlnRGd2V3pzOVpxOU9NcmsyUkVYVXhoaFkzaERNYVhjc3hiWTRkS1o5MWpibmFFdjZmUmEvdWRqUzE3V3RvanJlVGVmTU9ZRHVGOEdmV2xKU0FTV3pLTnRlSmEzN01PbXliZFFkY1JnQVZlOXBEZlI5RWdVejVReGxsci9qN2Nzc0g2dWZkb1lQN2VzS2J0UExQNjRmMm1WRm5mT1VvcUtzZ284ZmV5WnJRM0grdWZZbEV0WlVKZzA3bUFyZko3bDVOQ3F6aHZKU0M3dFFlUHJHNEhsZ1JVWlRVVDJXZG1jU0QyMDVETk9hNHZLWmh4QjIzZjN3ZDRCdXQyaS92WnpzcXNMbkY0bzhrMU1rWG9pUzMreGdsZW9nYkd3ZlplYlBYeFRtaHV0ajFBNnorTWx2MHZ6M3JTblNBRWNOeHpsL0V2NzRDcnljRC9GY2NKRDJFQy9XakFsaTc3NzdZdE05R3hUcTBUNUxSWGNOUWxPaWhCZldUT1RJVVkwY1hOZEMxUEYyZWQ0VXdoNHJQTitpTVZIS1B6ZVBwalhWK3psaHhUWXU4VUVTaVFUSlpKSVBmZWhETkRVRkVVTjgzeWVYenhNTGgzR1BPb0dFMFRpVk5SRHZ3aW9wd1RLYWNDYUhWVE1NcjZXSm1wbEhrbzJFMlpiUDQvcytsbVV4ZlBod2hnOGZ6aHR2dkVFeW1hU3lzckxieDJSYk1Lckc0cXlqWGE3OWVKZ0pFeU84SHEvZ3prMGplS0dqZ3B5MnRpLzYzWEg5dUxiTnhPb1JmUEtRRDNIbGtSK2x6Sy9pc1djM2NlZjlTNW4zZGhQYU16SUh1ZURTeXk4TlVtSWU1QW5pcFF5bWxxcHpvSndJQlNnVkpMM1JFSW5tR0RXMk1KRlNnL1lMQlpuYUpjQzhaT0lQbE12bnNTeUw2cG1IWTlYV1lYSjU4UEtZYkFhN3ZBSjN4Q2hRQ3J1eUNwTkpReWdFam9zMXJJNnFFUkZzMVVIV3o5UHJhTWY3Y3YvWEdpc2FwZVZQZjZQa21DT28rdFFuTU5xZ3JGMHFBSVZncXhoRDUxTXYwdktudjJGRm8wRm5pUGhBc2UyVmNMWTN6aXltaDBKMGFNMld3bUxJUTBJaHBvZENsQlVtMFB0QXBQQjdFcysyKzd6Q3ZwZVB2THp6c1grK1U5Z0xFM2o4RlZpMEVyNTJPVngxTHZ6a0Q1RE9Ea3kvZjJ2QzQ2OXZiT09mYTdvNGNrSXBJNnRDYUFOdGlUd1IxMkpzVFppUlZXRXNCZE5HeFhEZXArR1J5dms4czZpTmVXdTZnbzNReE9CaVdaSUcvYWdoUFU0U1FSellSWXlDc0cvNDlwWFZRUEQ5b0F2RFZyZzFkVG1LTG1mUHp3bXhQOW5sWlpSLzVCVEtQM0lLNlNYTGFmelYvOUh4eExQQmFzWUJjbHpWNFh4bit2V2NWSE5NVUljMXdlUU52NldOemQvL0JTMTMzUTlHNDlZT3cvZyt4bnZ2WkEzenJnVkI1bjBXQ0JuUFF6a09idTB3a3ZNV3N2TDBpeGgyMWFjWi9lTnY0dFRXNEJtZllhRXFiajc4dTF3MDVpeCt1dUkyL3NGQ3lTaGk2Q2l5UGl4ckNPNzdaSUM4VWRpT2h6YUttOWVNNCtGdE5mejZvUFdjTzc2Tkc3LzZNcm9MdWhKaEFNcExzMWpsUUI2ZVdGWE5WMVpQWUgxWEtjcjFzSlJIM2tqSHBNWWw1MHpDajMwU2s1MkIyYmlKMHVoV1NwYThUUGlaMzVHdkdVMXM4WXZramorWFhId2I3dExYVVg0ZWJLZXdPVFN3ZlZHbkc4YXRYNFgxMjY5akttcXdPMXVDRG1HN0I3TnFuZTc5anZyQTkxYkJ5SXh0Uy9sMUFEQ0FaOXZjL3NoQ1BqUnRDcFhqRmFGNmk1YW1sYlNHT3FndVA1eG16MlZZamNFTHhjbVh4NGhXSkhHZEZTeFlNWmNTSWx4ODJ2WDg0NDNOL0w4SFg4WnpIRW5VUWFvNjFNR25KanpLbHc3NkxlTzJyS1hsRnlHNlprY3hHZDY3ZTJLaFdoNmRvYW05TEV2KytITHVhcnFNVzJkZnk1cXVTWVZCcmY0OTNoOU9iT3hGeGxhd3ZoSlU3RDBINmlyRHJHR2R6SnJZc2ZzQTh6NTZ1QnQ5QndlWEtMNCswZUVUZFJhTzZsNXozTy8wU0Q3VFFlTFJkblRjbDdGQUlVU2YrYSttRndmMThWMVc1T203c2I1RE1sbC8xbG5OM3V1MFdENnQ4UmcvK3N2SElKWUI1ZThNY0tCOE5yV1dCODlGczJENS9kb05lZVdQUGpiSVUzVDFBWlYvUXFFd0p4NzNVZEtaRksvLzh6bFNxUVJ0N2MzWWxzMnhSNTBLd0ZzTFg4WFhQcWxVZ21RcXprbkhuMEUwRWlNVUN2ZGpXMHdSTmg0VE0rMTh2RzBOWjdhdG9TYWZSaXVGbGtyZ0FkWXVOeWhVOEs5UjFLY2JtTlB5RnI5ZGN5OXpXdDdDdG13cVF4Vm9vL3RuY3lGUnZJcWtxREFLTEEvV1ZNSXRWVkNXOHBrV3JlSEJML3lZTVJNbVlWVlg3SDdENzZQKytUVTMxSHpnODlvRW02Y3FLNWlIYWJZbnFBbm02UnAyUHEvNlpZQzlZYmVmN2xqL1FLK3lnVEVHV3huU0cwS004RHZJWTNOZTR3WWlkaDdmS0ZRdjV6K2VYT3lYeXlBZjl6RXk5M0JBRlZ2NU1MUXJRZ3JsZUJodE1XVk1QVi8reUV2ODhZMFRtTHRtQ2hxSXVjSENscFRuWUFGSFRGelBsUitheTYwdi9RdnZiQjRiL0s1UnZlcm5GV0xvOTZrWVBuQ0ppVEhvUXFCNWxMUkZkeXVORTNXU0NQMWRSek9RQ3lrK1ByZVYzR3lMZi9wVjJJQlZLTmROWVlPZHFyTnpBTFQvSTRUTzc4eXF2WDFlby9BTmxObytId3Uxa2d6WjNiK2xHQVB4T0x6d0FyenpEbXplREFzV1FEUUtwNTBHSTBiMC9Kb3lCcHFhWVBiczREMDNiNGJYWDRldUx2am9SNkdzYk5CY3I3cFFkQnhYazFialMvTG1rSXFzdVc5ak9jdTd3aXJ0cWYxem1BTlJMWkRpY3IvMmhXUldiYUR4WjcrbE5wNms5Q1BINDlaVzc3YlI3STZza012anRYYVFuTE9RNWx2dkk3Vm9lYjhja3FWazNkTGdhUGNINnhpM05CazJielZzMkt3NTlCQnJSN0c2cC9MSUZINnZ2a096MUdnU1UwQTVZRHFCZE9FclF4RGRQTFZ2NVlzRktHVno1dWJudUdUOTA2VGRhQ0d2bUwwV0lRTlp4Sng1K1BCQmZWNGZsS3c5b0dwTW5oL2tsK0doQnMydHpnQU9obXFUTC9yMFRSdkRLOWxPN3NsMVVuckVGRzYrL21yT09mdFU0ckVKL0tNanpjdHJWL0ZxMDRNczc5aElaelpPRU9iRENnb3Fxd2ptOFJZSzFjdzdDOGdzbklkeW5TRDR2V1ZqeFlKZzJpb2F3Mjlwb3UyV0c4ak9md1BsaG9KZ0drSUlJWXBXVjdMbkc0YXBkL1V2Zk9PeWlRQWtNLzV1RzBNZHlMMy9qalhZMTJSNGNoR0kzclhsZWY4bEtXcDdZMSs4ZnhuOGYvZlFmc1AvNGplM29Wd0h0S2JzOGs5Uy9aT3ZZWThzakcvNGZyZlhHTDUvSjRjVmRIVDR3UnJIaWk5ZFJlbUZaOVAydlp0STNQc29LRVg4ancrUitzZExWSDMzSzVSZmQ3bWNuR0s0L215TFlXZWZRbWpFTUpydSt3Y2RyeTBrMjlTTXpnUUI1NjFJaFBEd1dpcFBQcExobDV4TitWSFQrKzZhN0VGTVphVVV0bTl6K0lURGFXamR4S3BRbkh0bTJFeGNNUitBUDgvd1dSV0tZN2R1NHZBSmh6TjMxVng4Mng4OGMzRk1OeC9yQTJGdkh6Y3dIK0F1bCtMZlNOSUNmTEE2SVQ4ZTNmVkpUUHFZd21OZEJEc3NXWU9tRG50OXlSWldMTS95UHc5bmVmeVZMTW5VN2tlV3lXUjQ4c2tuZWZMSkp6bjc3TE81NXBwcitPWTN2MGxiNnpZbWpyYTVlbGFZSzgrT01NNXlhWC9DcGUzcEVMa21DMlh4M25Xb0FzdXljRjJYSzY2NGd0ZGZmNTNseTVkejBVVVhzV3paTW80ODhraCs5S01mY2VlZGQxSlhWNGV2RllkT3FPYVgxMWJUMnBtaHNUME53SWlxS0RVVmtlQTJyZzNHYUpxYXR2SGpILytZU0NUQzg4OC96eVdYWE1LeVpjczQ0WVFUdU9LS0szQmRkOURQalJTRHozL0ZWL2JSUFc3bnhocDlXWWQvOS9yQ3hGZSsxcU1ic0VLUjB4NWp0Y2ZSNFFyeTVrRnl4dWR5TzRSUkZ2WEpaaEp1bEpDeUMxdUV5TFVrK2w1eWFaR3QzK3ZOZFZ3WXo4cG5NdVRUYVhZcklKUUNaZTI4ek9SeUUwSUlJZDdqNk1NbThVUkRKUysvbWlQVnNBclB5K0tISEt5d2c0cTRLRUJyZ3kvVExBNEkvcjUyN1NzTGs4OFFPbXdxVkpTUmZmSjVrcmY5RG45RFBhcThCSURjN0Rmd04yNm01UHByY1U4K0RnNmJpdmZLR3lnM0l2TjM5dHJDTkNncmFEdk8yN1NHbG1TY0kwYU41N0NSNDZrdENiYkNiRThuV2R5d2lVVmJON0t1dFFsajJUdCtSK3pJcUtReUhxOHYyTXl4TTBmeG9TUEg4YUVqeHpIMzdjMDgvdUpLTWxtdnB5ZUl6a1NHMStadllzYVVXajU4L0VST08yWThMODViei9PdnJ5WHZmWEQrcms3ayt6Q3ZiUDlMTlgwMW50NG1HV2RBZldIemtZUDhDRi9xMXFzT2F6QjgrMlVQM2M5OStaYUdrZkY5S0FXa1NCUjdLRGlWdTMwTm9kcXhRMko0U3BxNjZ4c29QN3NkUElQT1dLaVFHdUE4dEh0Y255T21qdURLV1VmenVVTnJ5UDMxVWRiZWVoOGtVb1RLS3pCYTc5d2pibnM4RDk4SHBZaE9uVWpOdFJmVDhLbmorZU9tbC9qMTQvZVR6U2R4b3VYNHh1QkxQUXlBVmZIMWtnaWlhQlRkZmdYRkZwL2VnRlZXUXZqSWFUakRhMUR2aW0ydXdpSGN5V01KVFIxUHVxR1pxbFNhQytJYjNKRHhULzhyazhPTElZUWRlUTR2cVRueE56RG44NUpwaGVpVGE5T2dISnVLQzg0Z3Myd2R5VGx2WVlEWUNVZFFNZXNNbEdPLy95TGVJcmZ4ODEvcjFlLzdHbXhMTVRubU1wbGdQenRqWUdNeWo4WmdxZjVkeDJtTXdYdlgzbHJiNXhrbEVna2lrY2lPMStsdTdIdnNZYkJSK0JoK21HeGtRVDdGOTB0R1VLcHM0dHJIa1lIZ2J1UUpqUldPOHZ3Ykw3QzV1WkhyWjEzRnlZY2RUMVZaSlpGUUNBeGs4ams2NGgyOHZtUWV0eno0TzFhdFhZWVZLME1QOGZhRE11QzBLeUpuS0xMbEZtRkhRNDBpUE1ySDc0QmNyVUszSzZ4OFdJMHNDYW5oWlE3Smt2R0VjbGtxMmhzSkdaL0k4Skdrdk5ONXJHVVU4M1NlZFJYSEVXdmZ5cW54RjFBYW5uWXZ3ZGVhZ3hxV1VLN1N2Rlo2T3Rsd25oWDU1WlRGTTd3UlBnNm5Kc0hZMURieTViVzBXS1hVWlZ1SjVaTzhOaFRUZkhzRVhHVmhVSXdKWlRqMUtQalMyWXBqUjJSUUJyem1ZTHBvRUNGQjlKWTJZSVZnYlF1c2JUYlVWTUEwWC9HcFY2Q3V3ZUMyRkZMWllrYy95U0RKTEhSbUszaHk0ems4dmZuamxMbHh3bmFXckI4bW5pL0QxL2FPMXdraDNsc2YyNXVTQ1JPWS9PRXZzdUhsWCtJY05aMXdYUjBxN3hFOWJBWWRHNm9wMTVPWWZPNDFLTnZwOXpVeXhSWUwvOThmUDNpUUgrR0MzblNSMEptTzgvZkZMMk1wdTlEY1VoLzRHelVsbFl5dkdrRnBPTUttOWlhazkxa0lJUXFLckovYzYyNDh3NUlZOGRmbmNkTEdqUngyNXRuNDRUQ1ZmMzJLK09xTlVGcXl2VExTLzMxMlE3MGRvQlRLYUR6bDhxOVRxem50NENyKy91d0xkSGEwczFWUElLSkxxTXUxTW4vUlFuNTQ5bG04dW1JekQyMXJwcXltdGh1UkJzVzdXZXA5VDBPL3BHYUhuNUpFRjBPZ21BcDY3b3pSR0tNd1NyRmlYU3UzL1drZWQ5eS9BSTNDTFkzZ3lRVDBmWExzTHpPOWFzOFp3RlpCV0EyN1VJNXBaWlAxUGJBZGpORmdVajN2ZEQxYnpwRVlPcTU2NWFoQmZvVFB2T3NhbHpxZUdFTDFDQU01eTVDb2RuQ0h1VVJHVHlYZlpOSFp0aHFmZERCbnR5Z0hDSU9KR2ZtM0Z1QXRXb28xb2hZMXJEcTRobHZhMEkzTkdDKzcvUzR0R2VIOWFJMktsdUJ2MkVUbkRUL0hycTNGcnF0Rk9TNStSeWQrZlQzR3oySkZ5NEsrbDJMYmI4OFlqTy9qRHE4bCtkZkhXYmVsZ2JPZnZaZEZhMWJ6NFdPT3BiV2pBOGR4OER5UGZENlA2N29zWHJhVTZTTkc4L0w4TjVtKzVEblduWDRKdVRuemNXcXJKYjhNc08rVk4xUGVsZVdsdVZsKzgyQ2F1Vy9uOTdybTFsSlFWMlB4MGVOZFBudFJqTWt6NjNnbGZSeS9xYitBT2FuRDhJMERTdllGQnZCTjMxeGphSCtYVmxMLzJmendFd2RJK3gvYVVqNXRHOUlvQlk2bHlCZE8xdXpWU1h4dDBJV3dTWDNaSlZ4czZmdkNXMDF5RVEvNmU3QUdETWJYS01jbE8vOU51TzFPek1ldlIya2ZVeGdqMmZ2NGVPK01EYVU1djdLSnQxUGxBSnhmMmNUWVVMcGZQc3VUT3VlZzRJVENURHo4UWpyS0ovUGl5dGM1THRISmlOR0hrMDU4aHE0MWY4QTFEVVFLMjUxbGNncnRqS1JzOHFkSlJhZHd5eXZyK09NU2kvTW5mWVRSMHorTTQ0YjN5NldUWGhRQ1Q3MDMvbWNoaTJWWHV1Q1lQcDEzZU1mM1M3bmx6Mm0rZDJPS3VBRU9yY1c1WUJMK3BFcTh2SUY0THZoODZ3REs1LzFjUGcxRjZiekwwNnVtOEU1VEhaODUvQjJPSHQyQVpXa3dpblRlSlo0TlV4SEpzTDZ0a3RjMmpLTytzeUxZUTF6c21DdW9sTUsyYmRMcE5LTkdqY0wzZlpxYW1nREZ1REdqaVpRY1RPcW80N0dzb0RJWTcrckNzbXdxSzhzeHZzRW9pRnFLUkdjSEc5YXVwYW1waVpFalJ6SnExQ2dTaVFTMmJlLzRMR05NdCtMYW5qRE40ZUpUUTN6cTFBakphSlRmTmc3akQwMTFyRTFIZzA2blhSZURHNmdJeHpocXpCU3VQZVpNenB4ME5GdnFzOXo1OENMdWUyd1ZUYzJwb0J5eDVid1h6WDMxUUs3TEdsOFZMa3dqZTJmMG9FQ0x4K01zWGZvT3JXVXVtYTVtekpScG9IMnlhMWNGZzZpNUxNcDEwZWtreHZNSVQ1NEt2a2RtNlJMYUtqd1dqMHlRU1NlRERUTUc3dUJSbG9YTzVXajQyZjhTUFd3RzBVTU8zbjFTbGpFb1M1RmV2b2FHbi8wdkpwZkhDb1YyQnA4UTc1Kzg3L3JaQXFZNExpWU1MMldDUnRvSjRRaFRISGUzZXJBc2J1cFo1NUl4T3k4Zlk0TDdyNjhMbTRQYXNMa1J2dkcvOE9remd1Y0dxdDlmRVFUaFg5V1FZazFqT3BpamFjRFR3WE5sVVp2cVVwZEp3eU44NDd5eFZNVGVleXZ5dGVHZHpVa1diSWpqK1pKRHhJSG5sMGRlTWFpUDd6ZHlpc1FBM1U5aTBjSkVmeTMzQWlIMnVXN3UrV1RYYnlMK3dtdzZubnFCOU52TEJ2eGFldkxrdXdwMU93L2JjbkNVemJiYjc2YmhaN2VRMzlLQVhWMFYxR3U5UHRvdzFSaU01MkdYbFdBTU5QL21UM1E4OFJ3anYvMFY2cjU0RlFDZTlqaXg1bWllUE9rUEtPNlNqQ0tFNkhOK1lVREVEZVhaa0l4eTNzSkR1SFJiRXpkUDJVQmRhWTdLc3V5T1RwTnQyMEw4NStyeC9IbkxDRkFHTjVRbmI5U085emd3YjJCQnA0ZFJQbGx2T0xudzViaU5GVVNmL3kyNU5XOWhLNXR3MDNxd0xKeTJyWlRZRUoxNktObksveVFYS2FYOHhUK2o5dFFCWWd5NElXeWRoK2JONExqQm9sSWo5VXd4QU5uYUdDd0xzcGs4MTk3MENEZDg3a1ErZWZJMXJOLzJGcXVXdk00Umg4OWdRL1pGcXN5UjFMYzFVR09Yc3I2aGdXUlhKeGNkY3pGdHl1ZUJWMWJ3OWR0ZUlwdkpveHdMTFhsM1VIcm9YNjdnQ0c4aHFiOXBOajRTSmI5TnZYZFRXQk9NVDduRERUVVg1Q2o1aE9KMWN5bzN2M1U5THplZGpLK3RBWnUvY0docHBoY1pXOUVaeVZHdjNqdW54Vkl3SnBLam9qVFRiMUhyTFFWVFlvcXZUWEtZTmNMQ3RibzN6cURqUHNubk8rbDZ1QlcvMDVPNUlrS0l2aTFYMDQyU0NQM0pra0o3VUZBR3V6U0ZyeTFVSk1mTlQ1d0tScUVpT1l4Uk81N3JiNHVYajVCek1jZ01xeG1CTVlZUG4zSXUyV3lHeFV2bmtVaDJzWGJEQ2dBYXQ5VlRXbExPNFRPUEp4eU9VRGRzRkVxcGZnbSt1SDNyOGtvdnpkR0pCbWExTE9lSVJBT3UwV2laSEhiZ3Rja3hPeWJSZHViaXJJNnY0ODYxOS9Gby9kTWt2Q1JsYmlrQXZwRUZpS0s0YVFXV0Z4U0E4WkJoWTdXRE5YMFNLbHFCMWtFb1d0WEhjelFUSzhKRmxVWkhKK3Q3VncwcTNHTXNJS2RzRkRETmEwWHY4dHdCWGQ1S2Y2VW80dkpocUxmaGxESW8zNllpbW1ibXVDM1VMa21nUElkUUpNTzVSeXdDWlhoMDRaSDRtUWpEU2hQTUhMZUY4a2dHcFMxd1BKbmZMZnJValorWVBQUWFaZExNN0RGTGRqNGVzQ3lhY0IxVXlCQlYrdDJOWnJCZytPVVpVTkQxcW92dDc1S3ZlL3Q4NFM2U040cWNjYkQydGM3WTNnNTMzZ21yVmtGWEZ6ejZLUHp6bnpCeEl0VFY5VHlRdU5hd2VUUGNmRE0wTkFUdmZmZmRNSFVxSEhVVWxKVU51dlBvRzBWZHhGZWZtOXl1WmxaazlXL1hWdkxLdHBocXpkazcrc0lHaEF2SzN2bTlHTHJTUzlmUThNUGJLSDl6Q2VVZk81bklRZU94eWtwUXRvM1JHcDFJa1Z0ZlQvejVOK2g0N0NYeTlZM0l3dHloM3U0UFRuRTZBMjh0MWh4enFHTHNTRVYxbFhyUDFIU3p5MDJvTFdGNGJwNm1hUTEwdFJoOFFGV0QyVDZYeGdLMkFVdDU5eDd6SDlETU1XakxZWHJIR3Y1ejJUMjR4aU5uT1ZpRGNQUEgyejk3NUtBK3J3LytwK1R0Z1hUcSt0ZWxvT3hIMzBwc1pldUlhbVpkL1ZVKy9wbHoyUnBPY3QzcXBjemQ5alFiRWcxa3ZRdzdvdmdwUlJDd3RnamJVU1dsaFdqNFFRd0VERHVEUWhwQVdhUmZmUjVsT3pKSFdnZ2hob0EvL0wyK1Q5N0hHRVBJRGNhS2MzbmRyU0JrQjBZN1IrNlRRb2c5MjNMaUxMSnpGNkpLWWlqSEpuek1vVlQvNU90RVRqMCtLRDg4YjJlZHU2L1lkckRXeVBld1I5WlIrN3RmVW5iRlJiUjk5MGF5Yjc2TmppZHArZEwzaU4venNKeWdZcUVVNVVmUG9QU1F5YVJXYkNDNWRDM1piUzFnSUR4OEdDV0hUQ1kyYlFKV0pOekhIOXVEKzd3QzR4amFrKzJzM0xZU1gybGVQY2p3Zy9hWEFKaHprSWZHc0t4cEJRZlhIWXh4Q29GVWV6QTZZWXA4QmtLM042QVZQY3pBYWRBbDZNNkxNWWt6UUplQWxRd3k2U0RzeTdubm9SUi9lU3JENGxVZWUxN1NIanhvV1JaTGxpemh2dnZ1STk2eGxTT24rWHoya3pIT09pYUd2YzVsNnlNaDR2TmRUQllraSsyOUR1KzZMdC83M3ZjNC8venpXYkprQ2YvNHh6ODQ1NXh6ZVBIRkYzbjc3YmM1NDR3elVCaDBZV0puVFVXRW1vcklqdmZReG9BQlZTaVJGaTllVEV0TEN4LzV5RWY0KzkvL2p1TTRLS1c0OGNZYkNZVkMzUTdrTE1TdURzMTNGdGY5YmVHaW5sZGpVWlFvUllmMkN5RkNGR21qTVNpcUxSZlArT1JsQnFMb1J4OU92MTFVaFhTZjNGTlUvOVdMNUdvVlFnZ3hsSDNyYTlmdThVWXNxNG9QVEQxYnhxQnd4bzhqZmY4anBPKzhKeGdyS0M4RlA4aEZxcXdVZjBzajhlLy9uT2puTHNjWlA0NDhjNHQ0MC9DQnRhUHYySFpZMjl6QTJ1WUdubHl4bVBKSTBLL1RsY21ReWFhQ3RIWkRRY3hoU2RpZDZXZkFVb3FTcU11YVRXMkVYSnZKNDZvNWRPcHdITWZpK2RmWGtzbDZQWHBmMjFKRUl5N0xWbThEWTVnMHRwckRwbzBnbGMzenlyd041TDBQbnJ0NytVdjFnenJ0YnBIc002RGVURllOaWIrakttMm9TUTNNWjJrRnN0ZWo2T1ZOZHVlL0ZwUWNIMmY0VnpjVE96S0ZUaGIyNmJQMGZxK3YzUDJEVHpDbFpTdU5YL2tKSGEvT3c0MUVVV1VsR0grWEdudGhZeTZqTlZZMFJNbXB4MVAydGF0NGE1ekRUMTc5Zjh6Wk1BOGRpbUtIU3ZDTTdDa25oQkR2ZTJ2STVmQTJiTVh2U3VKb2piSjNtYWlnRFg1VEsxNVRLenFmQjZXbzBEbk9UV3gyUWthZmNsK0ZDUzJLMW9hTkhma0grWVRIaVhmQW5DOUlvZ3JSVzBwaFBCKzB4aTZOVVg3V3Y0QUN1NndFdE1iNEN1WFlRL0pQVDc3MWRwOVVlYnZldGNqWnN0UitDUU5qMnpaK29RNzcyR09QRlk3RlF1L0Ruc2MrQmdWWUtCN0xkYkhFejNCVHlTaU9jS0swR1E4TEpTRnU5dGFXTmhvN1ZzTHl0Y3Y0MHMzZll2cWthUncxWlNhamhnMEhBMXRhR2xpNFppbkwxNjBFbzNGS3l2QVBnSDJwbFlGTWk0MjEwbEErMWlPejFxS3J5YVY2dXNiZllQQWpObGFwSnRmaHNqdzhpazUzR0NvUFZkRXlZckZxS216WVlod1Nuc1lMMTdFY1NIaWFVSFFHaWZCMGhyaytheElXU2Qrd3VlU2pUQ2gxTUo0bWpzOXJ6bkZvYllqbjhyaDJKWW5hR254dGFNdDQxRHZEaVlXSDNzUkpoVUZoWVpTaVFtZVkyanFmejd1djhhOGRtdEFqRnVsMFlYNnBYTkQ5VUFhQUZRcStiMDNCcWs1RGJDVTR1VUo4QzBEcFFabHBndnVBc2VuSVZ1NytlSC9uazdtZmxwd29pcmdxcmZaK2NUa1dvODgvSCtOblNMYkgwYzFOd2NOWlRYWE5PWXc5NnhORXg0OHVoS0dReWZ5N2VydXhiS2pub0IzMXgrNzBrVy9yYW1WYlowdlFDbEdXeE5rU1FvZ2licTkxdDNHaFNrdnBiR3pEdmVzdVhLWG94TVl1S3czaW1PNGc4NWQ2M1k3VFBwR1NNdVo1TGt1V1pkaGNjekplcEJNZmcwR3gyUmljc2lvMkwra2liYXFKVmtUUXZzejhMQVovbWZNM1NRUXhKQmlqME5vaW0vZDRlK1Uydm5menk3dzhleDBtNW1KYkNzK1hlOEcrV2hYcm0vaXN3UlJ0czZPUFFQWFpyWG0rbkNReFpEU21Ja1Yxdk5tV05qbHBZZ2hVSGdoaXJhZWdyZFhGL2Nnd2FpdUhZWnlETU1kVTA3eHBESjJ2dllTcUJseFZ4UEdDYll5WHg2L2ZBdldiQzQ5WkROYjRRSU9TcjFIUktBclFIVjNvbHRZZ0F5a0hGUTZqckdqUUIxSEVzVEtONStIVTFaQ2Z1NGhWaDMrTVE1KzVseFZiTm5QR2gwNWkwZUxGTytiVTVQTjVITWRoVzFzcmgwNmN4R1BQUHN2Wno5L0hsbXUrVHVKdlQwaGVHV0RwTlVudWZqYkxuNS9JMHRDODl6NllTRmd4WmF6TnBlZUV1ZmljTWxKVkU3aTE3V1A4dWYxc3R1VHFDZ1AwTXJkL2gweHhIZTRuMXIxMXdBeUlxUjMvZzd3Mk80WUM4enFZejljZlE0UEZscjZ6dnZHcVhNT0RQaU1IczArM1QwcXpxOGRTKzZsdkYvSzNOV0J4OUZ4bE9LdGlHdyswalFEZ3JJcHR1UDIwUDZHTTJnOGVvVkNZb3lZZmhiSnNiTXZHc2gxR0h2UlJqSmNrMS9nb3ZtNE9YaGdkVHRuSTg2a2VkeHAzdmJtRlB5M3RKSzF0ckhBSmpodmFmMytBVmtHVDV2MVloZGYwb2RvUHRkS1NCR1lNdzdsZ0l2NlU2cUMvT1pFUE1yZE1NQlhkemI1R3NiR2pnbm1iUnpGenhEYVV0bWhKeGxqV1ZNZnExbXFPSDFQUG5FMWptYjErL01EdWNUbm9iNXNLWXd3VkZSV1VsWld4ZHUxYWFtdHJ5V2F6ckY2OW1rbVRKaEVLaFVoMHRoZUNidGpvdkVjKzNvVXhFRThuQ1VjaTVMTlpVa3BSV2xiR3BFbVRXTHAwS2ZsOG5uQTRUSE56TTJWbFpWUldWdTc0ek83NDlSZGpUQmdiWmxHNmpQOWJQNXgvdEZlVDlPemRBK1VZZzIzWmpDeXY1cnpweC9LNVl6N0dxTWhJWnM5cDRQWS92OFBzTjdlU3ovbFNsaFFoNThDK01HWGd0YmVWWStWNWxJd2FnOS9lUkhieFFzS2pSK1BVMXFGQ0VYSmJOZ1VWdDlIajhPTmQ2SGdYMmRVckNDVlN4S2JOd1BMZkNRckhBVDV1b3pWV09FUjI3UWEyM25BejQvNzNwempEcWxHRjFSL0dhTHptTnJiZWNEUFp0UnV3U3FJWVh6cWJlaXFpRkFlNUxtZEZZd0FjNUxwRTlzTjVIMnEyOStQdk9xOXcxN2trbmcrV0Jaa3MzTDJmK3J6dFFxVmcrekZ1cnlQRTB6NkpqTS9FMmoxdmxPSnJ3N2JPUEEvT2JXRnRZMFpPdGpnZzNiWDJQd2I1RWY1QVRwSVltUHVkdjMyaW5xU0ZFTjJtRGFsM2x0TjIvNk4wUHZVaXVZMmJNWjRmQkhyYUR4ZVRyejFzeXlHOVpEbWIvci92MHZYU3E5aGw1VGpEYWpDZTF5L3RndTN0TjJkWURYNW5uSTNYZjVQMkJ4NW43QzAvSVhiWWpCM0hKSVFRL1NsdkZKYnRvNEI3TjQvZ3FkWksvdC9VOVZ3K0poakF2R2R6TGYrK2FpSnRxUWgyS05oYUt5OFJnQXNkamdiVDVhQlhSNG5XUDRlOWJDNzIxdlc0NFhEUUlSSUtBUXJ0aE5ISG5vVWJEcEhidEp6UW0wK0Q3VUErdCtlUktXUEFzaUhrQk4vTGh1S2lqN0pzOTZwb0J0dHg2SXluK2M5ZnoyYmR4Z1NYbkRPTnkwOC9pSWdCYjczSEdLZVdON2ZOWmN6SVl6anZzRm1zVFd3bG5xL2lyMCt1NU9hSDVwREwrZGl1alc5MHQwUEJTUzRmV0llODhSYU5ENFZJTDNPRC9QSHV1ZTBhVkFRcVR2VVlkbW1PVGFNbmM4UHFhL25MK2d2cHpKVVBUTENuUHNvZ3huendGRjFkZUUxLy9Ea1dNRDZpK09wRW00dEhXb1N0N3YwcE91bVRmS21UcmdkYjhOczltY1VnaE9qN1BoQUpJQ1lPbEx5dXQ4K3JVS2hRZnNmM3V6N1gzK3hZYm5DbjBZSFdMbElLVTlpY1pYanRhQXlHRWNQSGtNNmtXTFY2Q1FiRFdhZGZURFFTd3cyRlVBU3ZOOGIwZWZCRkE3aEdNeW9iNTJQdGF6aW5iUlhEczBtTUFpMFZ3QU9Ld1FUZFB4anlPazlEdW9tL2JYNkNQNnk3bnczSnpaUTRNY3JjMGlBUXBCQkRoRmJCVUtEeUllb1pUQ29Ga2ZJZ0tFNC9qQkhhc1VGKy9jVGY5YU1kN3FzN0g1WUpRZzZsTEJmcGdST2krTXVISVY4dk1ncGphUlpzR3NmRnQzMmV6a3dFMzlKRWJKL1BIUHNtS01PVGl3OGpaMmxlV2pHTitSc20wSmFLb1MwdHU1Y0tJY1FRWVFVTjVEM1hYRFZzK25Fc2VEN2ZEOCt6ZlFpMEIvWG15a3E0NmlwWXZoeCs4eHY0eENmZ3VPTmc5T2hnb1V5UEU4UUszdVA2NjJIZVBIam9JYmo4Y3BnK0hTb3FCbStiejRDajRMVGFwRFc1TkcvK3ZLRmMzNytwWEsxUHVpcW5CMkF6T1FmczBSN2J1MUxzMFI3K1dybStoaXBsS2J5bVZ0cnVmcFN1SjE4aFBHVThvYkVqc1VxajZIU0dmSDBUMmRVYnlUZTFndS8zN3BvVVJkUzJnRVRTa00wckhucmFwM2FZNHNTakxDcXIxRzV4Q0t4Q21kV1JNanoxdkdiSkc1cjU4elFKQjB3RkVBcktGR3lDQVpXVzRINkMybnMzaThKZ0tVVk5Qc0czbHQ3TnBNUVdVazRVYTVEMjgxYVhoQ1RqQ0RGQW1rNmN4aWxYbmMyR2lWSCtiZW1kYkVwc1EvdGVvZFBjMnNORXZpSzEyMkx5UFQrdndoR1pJeTJFRUVQRVYzKzVyQThyOURzcTFVSUlJZllpdDJnWlZrMFZ5cmFvK0k5cnFmem1GNE9pMVBOUmxrSTUvYlEyWFJHOHQ5WVliWWljZWh5alpqOUF4eS8rajg3LytSMG1FaWIzOWpJNVFVWEdpb1FwUGVKZ1NvODRlRUErei9Sa1BNYUFSck4weTlJZGU3eG80TldhWUhLRjBzRW9qNmM5bG01WmlySlZ6ejVIaUwxbHhjeGg2SzRMSVRjRnJBUllTVDQ0V3ZmKzljUGJrMlJ5ZTc4V3ROWTBOVzVseVlKbitkVEhMRDQzcTRTREswSjBQaCtpOVlrUTJYb3JxS2JMVU12ZXkxVEx3dk04eG80ZHkvWFhYOCtkZDk3SldXZWR4WUlGQzdqeHhodVpPSEVpbG1YdE5tZFdHN05iZThoU0NncjdkRm1XeGN5Wk03bnh4aHY1NlU5L3l0bG5uODBqanp6QzFWZGZUU1FTd2ZkOUhFZGkwb2g5NXhkWjQxdVZsZldxN3VHYndyWDFMbmtUYkxqVDY5a01zcCtrR0VyMUhVa0NJWVFRUW9naXJjaHBWRGhFN3NWWDhlc2JVSTZOaW9TQytiTTdHb04rOEpqbms3cjlMdXd4STFIaEVNZ2E5bjFMYW1Pd0Noc0ladkpaTXJsMG9mRnE3WGhjeTV5b2R6WHNGYllGdzZwaVhISCtFWng4ekRnd2luUTJ6NmFHVHA2ZnM1WnN6dS9CMndidk8zcEVPZGQ4OGlpT09tUVV2cTlKWmZLc1dOZk1TM1BYNDNWano1NXJYdGc4cUpQdkZzbEJBNXhmaDhiMWF4VDRNdjlHRk1VMVYvaFhLMVJZVTNsZUszWC8zeGFjNFhuOHVFTFpnK2VhSFAvd1k2eTcvYS80elMyRXlzb3d4dXkrTjV3S0JuZU0xamgxdzZqOXQ0dElYSHMydjJtYXd5LytmamVKZEFkV3BBeGxETDdVdjRRUTRnUHZEU2FYUjJleStGdWIwQk5HWVZlVUZ0YmNnTmZZak4vV2lVNm1JZStCWmFHQk1wM2o0OGw2SjRSL3dwOHgzNTBmclExcEovWjNZbVB6bkhnSHpQbUNwSzBRdmIwOEhSdmorN2dUUnpQMnN4ZURncTduWHQveDNGQmxsNWNON2dOczJZZS94YmJ4Zlo4eFk4YmdPQTRiTm16QWRWM3krZnkrdHpzQkg0T0RZcjJmNDZLdURmeWdaQVNYaGF0SUdKODhCbHNXaG53Z1gydnNhQXlqTmN2WExHUDVpcmQzZjRIallvVWpLTXZDMXdkR0c4SUFPSWJzWW9OZUJicE5ZK1Z6cEZOZ2t1QjErYWlNZ21IZyt6NVp6Nk1zNURBc2JGTVhqUkJ4TE1yelBwdmpPZGFuUE1LV3hjeWFLTlVSaDdCakViRXRqbzE1TkdmeWpDeHhpZG9XR1Y4em9jelFsZE9zN0VnVHRSVWpTeHpHbG9YeE5iemRtaVNlOVVrTW9iM0JGUVpWK004RlJpWTNjZkhtdi9CdjYzN0xoR3d6aVpjTVNYWk0xeGI5UkJmMlJWRVdSRjNRWVNBZlhBaEYwVVVwUmJ3UWZYczlHWU55SE1aKzZoSXlXeHBJYk5pQTl2SzRGUldNdS82cnFFZ1lZM1NmeDhjZkNzcENnM3VIaFcwRG5wK1ViS1F0aEJBSFhPTkNZNGREK0NxTXY3MHRwMlVzc2o5WWxxTEZ4TkJHRVk2Qlcxb1JOSTJNd1NnRjJtZWpiN0FBUjhuY3NXTHh4MWZ2bFVRUVJjMFF6R25GUUVjOHc3T3ZyK2M3TjcvRXB2VnQyS1VoakRGb0xXVlNUM3o5cmg4UDhpTThSMDZTR0RxS3JPNjA0cGJmeVRrVFE2U1JBeVI5UEhzWW95YWVnTnRvMGJrMlM4MkVGWGpsQ2JhbFREQjJGUzM2UXFid0pmM3J2ZWw3QUZDdUM2SFFqdm5TYUQxaytpQk0zc091cmtCdmJtREY4ZWN4N2VrLzgrYmJiM1A2cWFmeHlxdXpzU3dMclRXZTUrRTREcDduY2M2WlovS24rKzdsOGovY1NPT0lZZkN6YjBsZUdVRFgvM2VDaFN2eTVQWXk1VWtwcUNxM09QRUloeS84YTR5ampxN21MZThJYnQveVNWNU1IRVBPaEVCSlg5cTd0ZnkzcEVteDNPSDI5UDJCTGhuUFN5SVVTeDYyTERDRzhzTm1VbjdZektCK01jQmozWlBES1Q1VjNiamplM0ZnY0IyWDR3NDZac2ZQb1ZDTTBkTXZvTFY4REpsdHN3RkZlZDJwMUl3NW1uakdwejJSb3Nva0tITnp6Qnc3RE5jNXNHWld0bFNWNDN4dU12NWhkWGkrZ1dTaG5MWGs3aU42Vm4vWjBsVk9WelpNYXlyS1k4c09abGxUTFduUFlWTjdPUjJacU5SdDl0aXVDV0xXVHA4K25lWExsN044K1hKeXVSeGp4b3lodkx5Y1RaczJzWDc5ZW93eFpESVpmTi9IOHp3QU1wa01kWFYxUWR2WEdDWk9uRWhsWlNXalI0OW14WW9WaE1OaDZ1cnFtRDU5T3RZKzd1bFlNN2FVKzFxcnVLTmhCTXRTTVRTOHA2KzN4QTB6ZmZoNC91MlkwNWsxN1NUaWJZYmJIM3lIdXg1Y3p1WXRpV0Q3Y1NsUGlwSkVQeGE5YTh4cVE5ZUtwZWlTTUY1WEp4WUdiQnRsV2VUck53V3ZzNTFnSU56MzhacWJjQTEwclZxR21XUzZzM2RvdnpDK3hvcEY2WHp5ZVZxUE9aeTY2NjZHY0RoNExwdWw5VTkvby9QSjU3RmkwZDBEVUloOVQyc2dyQlQvV2xJYVZPS1ZrZ0M1QTBUcm5YUFJCMVAvdjFKUUhyVTUvcUFLbEZKazh4cWxGSGxmNDJ0RFUwZWVaeGUzc1dSelVvSytpUVBXdlJ1dkcrUkgrQU01U1dMQTdobjk3dmJIcENWN0FKdXhxazBWMXpXaGhzYnh4cHNoUHNBSDgvSWpjUGdqa3VtRkVBUGJMamRCTWVpRzhyVGxYSzVZTkoxSG02dFJ3RU5iaG9QajQ0Ynk1STFVUjNiZVBJQU5QanlYSmJycWJhemN5eENLUUZsRklkaStDdjYxRkhheWs4aWJUK0xYamNSZHM1Qkl5eVpVT1BiQkkxUEdJRnMzaWI1a3VqMFVxdkJOTUhFMzcydis5NzQzZUhqT0dpNDhaUnFuSERtTzR5WmRoaTR2NTh6RFAwOXpQTTRicXp4ZVhaamhMeTg5d05aTnJlaG9HQlZ5OExXQm9CZGVERUpiZmhiQjVIbnZIUGZDQ1l2TzBOUmVsaVYvZkRsM05WM0dyYk92WlUzWHBKMXo0OFZlV2NDWWlPSS9KdGxjTXNvbVluV3ZWTmRwVFhKMkY1MzN0K0MzZUlNdnZYTTUrT1V2NFo1N0N2ZXFRcWRJUTBQd25CQkNDRmo2STdsYjlxZTVYKzVSK3U2dmVxbXZKVHNNdXVaOElaQ2lOaG9NaE53d0lUZk1zVWVkc2t1REg3VFdHR1d3K2lud1lvbWY1OURrTmk1c1hzYXhpWG9pMmd1Q0J3Mm10RHBLYXYvOTMxWTNRVjRFV3JQdHZOWThqMXRYMzgzYzF2bTR5cVhDTFVjYmY4ZHJoQmlLZkVXL0I3a3R0a3ZJN3JNNWFHYm5uVTNtdFFreEpNcUhvVjgzQXFVTXFXeVlWQ29HbGtiWlB1bHNtSi8rNDJ3TWtNNkd3ZmJwU3NYb1NwU0M3YU9VNlpNMlgxL01jM2wrQVVSdnUwSk9waEJDN0lPajJsZDF2L3h0NytmbmUzWURnY3BLdU9naW1Ec1hubm9LVGp3UkxyNFlYTGYzN3oxbURIem1NK0E0OE9hYmNNWVpjTUlKd2MrRC90NnVHQlBMcTM4L3VGMGRWcG5WZDZ5dDVKOHRVUlgzZ25rRS9kWHhwQ0lHYk1nOVdZaGNaeGNlRTBOWFlhRzQxOVJHdnJHVkhZM2hYWWF6c2F6Z1N4eFE3WXNWYXpXeGlNVnYvK0xUMldVNGJMckZoREdLVUVpaERlUXkwTnltZVdhMlp2RUt6Wk12YUhRV1RCcFVHWmdSUUJVUUl0anhwNGx1RHpqWkJrS1d4U1dySCtYTXJXK1FzcU5ZZzdnUk9uOTl1MlFhSVFiSXl0bnoxY3JaOHlVaFFEYXpFZjN1c0k2M1pMeGJpSUZxbHBVTTduNEt1ZU9Jb1dTcXJPWVF1NWlVWHFWSUYzNzQxblhCbHhCRG5NR2dIQlhFQnl6OGJQbUZlYis3QkNMZDlUVjlZVVQ3RWlsL3hRNnZmZnMrQmZjVnpmRm1jdDI3RmtxaWl1bVQ0TE1Yd3F4VHlvZzBPalQrTmt6WEd5NDZKWHZVN3l2SGNkQmFjOFVWVi9Ec3M4OFNDb1c0NmFhYm1ERmpCcFpsWVl4aDE2bEtsbEo3ck9rcEZaUm5ZOGFNWWVUSWtkeDAwMDM4N1c5L1kvTGt5WHoyczUvRmRkMTlEdVlzUk5IeS9YNTVXeW5lQXZzMGYwZUlRZWEwbFVWV1g3OXlrbHh2UWdnaGhPZy94dUJ2YlVTRlE4SFBlZzk5UTdxd0w0dHRCNjkxWk91Zm50aStGNFd5TEZEMmp2U1hQU3IyTEJwMnFLMk9jZUtSWTdua3ZFTkpwUElzV2RWRVBKbkRHTU9KUjQybHFUWEJncVZidTcwY1dnRWxVWmRoVlRFK2ZzcEJYUGp4R1RTMkpGaStwb1ZVT2djS1RqdCtBbzB0Q1Zhc2IvbkFPY0FTWGxVSThiN3VlS2JiSllRUHBJREw3bnlleXlUbDlxMEs0eXVjS285aDF6WlFjMFVUeWpIb3BFTFpnK3UrdXY1SHQyTkhRampscGUvZEYwNEZkUUdESVhiODRkUisrd3VzbUZuREQvOTVLeStzbmszZURXT0hTL0FsdUlFUWUvYWJFNlZHSnQ1VDQ4K3RXRS83VFhkVCtlOCs3cVF4V0tVeFREWlA4dkdYU1R6K0N0Nm1odDNXakdvVU1aM25vNG10ZGxqcm94eWp2L3RtdEM3c3BUWTlBRmFPRSsrQU9WK1FwQldpdDFlbjYxQTU2NHdkazRrcVo1MHg1R09ibVg2YXJ6RGc1MDRwZk4vbitPT1A1Ny8rNjc5d1haY2JicmlCT1hQbTdKaWoxQk1lQmh1RmorR0h5VVlXNUZOOHYyUUVwY29tYm53Y21abnhnWFJoamFVZGphSFlaUTZaS2NRcDFScHpBSzNETkRhRXBodWk0elRaS2tVMFp3aHQxVVJtZ0ZhUSthZkJYN3M5blJTV1VxVHlQa3RhVXBTRmJJYkhYTUsySXVzYnlseUxNYVVoS3NNMnplazg5WWtjYVU4enRUTEMyTklRYVYrek9aNmhNWmtIQmVOS3d4eGRXMEpyMWlQckdUWjBaZW5JK21ROU02VDJXVkdZWUZzU1pWSGpKVGk1OFJtK3RQclhmS2h6TVo3eDZiUnNiR1hZTHlNSFE2Uzg3VkZaQUNqWm1rcUlBN3lpcllMN3Z6RkVSbzhpTW5ya2JzOFpyWU54U2ZIZTI0Y005QWtoaEJCZ0RFcm1MQTBJdDlCNE16cG94NXAzMWVuQ2hhcUpuSTFpcW9wTGZWTHMxUG5NcktMS0VNWUVjMWt0QlEwdFNYNzd0NFg4L0xkdmtFM2xjVXBEZUw2VVJyMlIweUZKQkNIRUhxMjc1d0ZKQkRGRTJwS0FhMUhaRldmem02MVVIenlCOFBSV0d1cVhrbDRUcDlMTFlhd3lhZUdJM1N1Zys3SC9ZZXJXTndlbXZ0NE96Sml5MjBONmwza2JudWZ0K1A2S1N5N2xpa3N1bGJ5eEgveHpTWDZ2cndtNWl0RjFGcDgrSzh3VnMwcHg2MFp4VjhjWi9MN3RQRGJreHFDUlFmcjMwM0dmckhrUXhldndRNm9IOWZFdGtxMHBkcWRVc0JaTGE1UnREL2pIaDVUbU05VmJkbnd2RGx4dUtNTHdDU2VScVp1T1FoR09WYUdVb3NveGZQNmtLVXd1TlhUbERFZFByTUcyRHJCeGhmb3U1ZjNQUXNra29zKzBwbUswSkdKczZLaGc0ZFlSZU5wQ0FhdGJhMURLeU1xREQrQTREb2NlZWlnelo4NEVvSzJ0alZXclZsRlZWY1g0OGVQeGZSOWpETzR1ZTZadWI4OGFZM0FjQjkvMzJiUnBFOU9tVFdQbXpKbTlHaXY5ajdVVGVMR3pnczY4aTFHN3Q2MHNwYWlPbG5IbVFVZHkzZkZuTTcxeUF2T1h0SExybnhiejNHdjFwRE41Q1hCYzdQbFJra0QwcWczZ2UzU3VXVTJ1SWtyVzErVFdyc1lLaDRNQ0t4OTArbml0TFVFUXAyd0c0empZbnFIVGxHRW1qQWtXWCswbnhoaVU2OUIweTI4cE9lWUlTazg5QVlEa3ZJVTAzZkpibE92MDZhWUlCN3BRNFdZaEtUclErWHh3cmhmTyt6Qi9YWng0MnFPMjNDVWFzbG5ibENhZTlsaXlPY25xaGpSNW1TZ2pEbURsYm9ja2doQkNDQ0dFRUVORTNpZ3NaVkNoUEE5dnJRUEFEdVV4UnBHWFJmVkJaNUVOWkF5OG1ZY1hzMWlkR2tLQVd3bEdnL1ozZVRGQk1IN1h4WG5oUHRTRzVkanIza2E1WWFUblNReTBFZm5FUHYrT0FxeVFJcjErRS9ldFhNdjkwUkExbGFXVVJoMHNaWk5JNTJodTYwSm44dWlReThpd2c4N25lNVM3RytVVURXeHg1Z1BXN3VXYjBlQU9OOVJja0tQa0U0clh6YW5jL05iMXZOeDBNcjYyWkpmRmZXQXBHQkZTZkdXaXpSV2piYUoyOTBwOWs5V2tYK3VpNjc1bS9KYjg0RXh6ejRNbm5wQ1RMSVFRUW9naFVHY0w2cmp2bldzVC9HejFVOUJGQzBOdExzVkhPOVp4ZnV0eXhtUzZnajFtcE1KOXdORkdvNVFpNWFWWm05akliYXZ2NXBINnAwbjdHVXFjRXNEZ0cxOFNTZ2doaEJBSEZBUEJBaTgzR0dzd1JtR0F0OVpPQmtBNUhzWW9sTzJqYkgvSDgwSUlJY1IrWjl0dzBFRnc0NDB3Zm56d2MxOXhIRGp4UkJnekp2aU0vUkFZbzhmM2RnTVJTL1B4a1FscmFsbk8vR0ZkcFg2d3ZrdzFwRzNWWDV0N21LUWkrM2gwdDhkVVZQcmVEZ2lXMnE5clA4WGdvalhZRml4NFIzUFFSSXM3N3ZVNTduRER5RHJGcU9FSzM0Zk9oR0hSVWsxYkI3ejJWdEMrNkV5WllPeWdDNGdEMVVBZHNKbkN6bTUwYndLSUUrTG9oamU1YnRVRGVKYk5ZRys1WEgzN1c1SnBoQkJDQ0NGRXo5dmlFbWREQ0NHRUVBTlo5M2pYdkYrdHpGNWZJNFI0ZjdZRmxlVVdIejg1eEhVWFJ6bGlWSWprR3lIcUh3MlJYVzhIbStYSzhFdVBSYU5SYnIzMVZuSzVIT1BHalVNcGhURm1uOVlxV0pZVnhDQlZpaGt6Wm5ETk5kY1FDb1dJUnFPU3dFSUlJWVFRUWdnaGhIZ1A1YnA3MytTaDhIeTNYaXMrT0NsM1NVL3gvbXhMTWJLMmpMTFNNQnUyZE9EWUZzMXRTZG82MDlSVmwzRGtqSkVzVzlQTXdtVU4zZTdqTjREaldJd2RVVUVvWkxOcGF5ZnBqTWUyMWpqeFpJN1JJOG81N3RBeC9QUHRlbGF1YjVFMWlFSUlNU2dyTG1BOFJYaGltaEZmcjZmc2pFNU0xbUJ5Q21VUHZwTGJMWXNGKzJuNXUyODZyWlJDZXo1V2FaUzZLeTdFL1B1bitYUGliWDc4Mk05cFRXeURjQWtLZzI5a3Myb2hoT2grWTh1Z094TjRRTWV0OTJGVmxPR01IazUrdzFiOGxuYjhyYzJZZERZSS9yeGJPMEVSTlQ2bnBCcnRrTkdIT2taL1oyNXNlRGh2T1g4Qks4MkpkOENjTDBqNkN0RWJsaFhzdWJHOXBXMEtqNG1pc1hYclZzNDg4MHhDb1JEWFgzOTluN3luWDRpa2FxRjRMTmZGRWovRFRTV2pPTUtKMG1ZOExJa0FzRmRhUzNzQndOS2dObXJjRXhUcGFvdFEySWN5aThod0g1MEFyMXpoaHdFdmVIMVZ4S1VtWXJNMW1jUHpOV0hib2pKc1V4ZFRsTHNscEgxTlV5cEhpV016dXNSbFdYdUd4ZHRTYkU3a21GUVJJV3hiekt5SlVodDFTZVI5TnNhelJCMmJVdGRpVXp4TFY4NGZVdjJLRmdhamJHTEdaMHI3QXE1ZmN4dXpHaDRuNm1kSktndVV3dGFlWkVRaGhOaGZGQ2dWMUxmTkxuY2dCU2lwY3dzaGhCQkNEQXE3OVJNbzljSFBDeUZFUDlOYTQydkR4cVk0My9uVlN6ejZ4Rkp5cm9NVmNmQWtGbFN2MlVyMkNoTkM3Sm4wMVltaDFNTFJTakVzM0VYNGlSZm9tRE9DUkhrZTFSQm50SUsyOFJhK05rSGJSNm9XUW9oaXVsY3JLSWtxanA3aDhzVlBSem50eEhKV3FCbmMxbkFSVDhkUEpLbWp1NDNGaVQyMGh3WjdkVWVhYStJRFBQZS8vektvajYvMlQzS085bFJ3cS8yNEI5dElOeXZuUUJTeW9pSmFVdk9leDBiV1ZIRHBoNC9HYUkweEJsdjZCWVRvRlVzWld0SXhHdUpsd2J5NFhSNFhlN2M5SmkxQWFXa3BreWRQcHJxNkd0dTIwVnEvYjR6YjdjOTVua2RiV3h1eFdHekgrK3o2bnZ2aTBkWWFOTUM3emwzRWNwaFlNNEtyano2ZFN3NDdEWk9PY1BlRHEvak4vVXRadTc0VDM1ZzlqcldMNHVKSUVvaWVsMlJCSThBT2hjQzJVWmFORlpSR1lFd1FDQXZBOTBFcHJIQWtLR3lNeHQ3K1hQQW0rNnNrUnRrMmZtY1hXNzcvQ3liLzdiY0FiUG4rTC9BN3U3RENZWXdzRU92VDdDTEVkdW1jejR0TE8zaDVlUWNoVytIWUZ1bWNqNi83YmtPU215NmFLTFVVVWJTMHNZdnJnQis2dE52WG13WXVmbkQ3VDgyRkwrRHZoUzlhZ1A5UE1vRVFRZ2doaEJoYWRYd0FvN0RkSUFDTWI2VEp1b01GYk5Yd1hBYmVLUVRJQ1JVbXVwcjNtMVZrUU5sWXlVNnMrVStER3dIYmxvRHlZc0Q5YnUwL2V2eTdDb1ZsS2JRMjVMV1A5ZzBHaFcyQmE5dkJjOGIwcXEvc1hEbEYrN1hnVnhHb09OVmoyS1U1Tm8yZXpBMnJyK1V2Nnkra00xZk9icVByb2x0R2hCVmZIbTl6OVJpYmttNTJuWm1jSmpVblRzZTl6WGhOZVVsRUlZUVFRb2dCb2dad1FtRllleHljYnVIQzV1V2MxTFdKbUMvMXZnT1paenhhcyszY3ZlNEI3bHIzVityVERVU2RDREVuaXBaTmhZUVF4WFV2bFo0aklVU2ZNb0RaWlh4U0E1WWIxSjIxMmI0WVNjbGNieUdFRUlPdFlneDFkVkJiRzN6Zmw5Vmt5NElKRTJEOCtMNS83d0c2dHl0Z2NtbE9mWHRHaXpxeUtxUHZXRnZKb3ZhdzZwZFFHN3J3OWU3SGhCQUhuTHdYRkptcjFta2lFV2h1TlpTWEJXVm9SWm1pc1ZuamVkRFlZa2lsUWV1Z2xXRjBvZURTUUd2aGF4OGJJQ083NnZuT083K25QSjhnYTd0WWczeXU0S2FXcEdTWWZ2VFVGNC9ZNTV2M3M1SnNRZ2doaENnaWRiSEJIV2VnU1U2UkVFSUlJUTR3L3VJclpUNlg2SmFRQzFQR09Wd3pLOEtuejRoUzBlblFmSGVZenRrdWZyeVFqU1EzOVpobFdXaXRHVFZxRk1BSEJtM2VHNlVVU2lsODMyZkNoQWxBRVB2UWtrRDFRZ2doaEJCQ0NDR0VlTGQ5bWE4b2NSQkZQK2ZHN2Q4a1Vqbm1MYTVuNGJJR1hudHJFNmNjUFo1eG95b1lQYnljVkRyUFBYOS9teGZmV0xkakx1OHUxUHU5SjBCSFY0YlhGbXprelhlMjhPcGJHem5weUhHTUdsNUdhV21FZUNMTDd4Nll6OXlGOVpMVmhSQmlzTjRvTkpTZTBzbUliMndpT2kyTG55NHNtN1BNSUQzZVBSK1g4WDBpaDAxbDVMYyt6NFlUSnZMamhiL2p5ZVhQazdGc3JGQU1YMklJQ1NGRWovbGRTZnpGcTFDdWczSmRURGFIOGYyZ1pXQ3A5MjJJUkl6UENla215elgrTkFmOXJUbXhFYUdzY3Y0RUtzV0hib2MzcnBQRUZhSTNkcjMrWkc1UjBZbkg0MXgyMldXNHJrczhIdSs3K2pMZ1kzQlFyUGR6WE5TMWdSK1VqT0N5Y0JVSjQ1UEhZRXVHR1hCVFdsNHJ1dUFrdWJoTmVqMlVwejFTS3l6aXJTN1ZVelRlV3NpVk8xaGxHanFDbDVjNEZsTXFvMHl2anRLVjh5bDFiZXJqT1JZMXA0bllGaDA1SDFzcERxbUpVaE4xT1VRcGtwNW1YR2tJYldCRFBJc3hOblV4bDY2Y1QyZk9wejZSSTVIWCtOb011Zmhtam5Lb1NkZHoxWVkvY3MzNjN6TW0xMDdhK0tTVXducmZmWmJFa1BWNWlSOHF4R0N1Ynl1cE53a2hCcVBiUDlQdHdpa0wvS2p3dFZNZWVMRHdKWVFRUWdnaGVpdVQ4M2xqMFJiKzgrY3ZzUHlkQmt6VVJXSDJOQTlUOUlDUnRya1FBOWplZkV3dU9DSDJDd1UrNU5JMlZUTnRZc3ViMGRzVWRybEZiSXFoc1VrRmMzcWxhaUdFS0NLMkJiVTFGaGVlSHVhem55cWhlbXd0RDhRL3doMnRGN0E2TTRFOHRoUnMzV2tQeVJRU1VjUnF5c09TQ0VLSVBtY3BCYll0Q1NGRUgyaFBSN2h2NGFFa2NpNmVsamlxKzBydE12VTNIQTVUVzF1TFVncGpETFp0bzdYZTQrL1l0bzB4QnRkMXFhdXIyKzE5VkErbkUrczlmRTVwS01LL1REeVVMNTl3THNlT09waGxLenU1N2M4TGVlTEZEU1FTdWVCM3BEZDRTSEFrQ1VTdk94K01DZnBvZG8wR3BOVE9uN2NYVHNZVUhvZWRTM3oyYjBsaXRNYUtoRWt1WE1TMlczOFBRSExoSXV4b0NjYVhvQkpDOUhmWjRmdVE5azBRclVZcUZrSUlJWVFRUWdnaGhqamZTT1AzUFpaNDhFd0d0dm9RM3Q2UDJKMWZOTUdncjFNVzlDdElwSEt4SDR6UGR2WE5HNm1kWFdQR0J6eEoyNkpWS0lxaU16UzFsMlhKSDEvT1hVMlhjZXZzYTFuVE5TazQwWElyNkpIUGpiVzVlcXhOdWRQOWs1RmJuYUhycnkxNERUbEpRQ0dFRUVLSUllcVV6azFjM1B3TzAxTXRPRWJMRXJNRDNPdk5iM0hqaWp1WXZXME9qdVZTNnBUZ0d4K056QUVUUWdnaGhIZzNMZU9XUWdnaGlvRlNPOWVrRmRON0Q2QXlSM1BCbUM1cmZFbmUzTDY2U3Q4anVVWUkwYytNQWQ5QU9nUHJOaHVpRVVNdUI5RUlKRk5CMGVyclhaWVNiKys0MzdVRHZ3ZWQrZDlZOWllT2FGdEoxZ3BoRmNGbThySTVsUkJDQ0NHRTZJMTdmbjdrb0Q2K000K1hjeVNFRUVJSUljUzdXUmJNbk9MdzNjK1hjTVlKSWZSS2w0WS9SVWd1ZGpDeVpyZ1AwOW5hRWFqWjdvUGc4cnNHZnJZc0Nhb3RoQkJDQ0NHRUVFSUlJUWF0RExEYmRzVEdRQzd2czJ4dE02czJ0Qkp5YlN4TDRmdUdYTjVENjkwbjdLcGdPN01RWUFVL294VXF4N3RtOWhvRG1hekh3bVVOTEZuWlJNaTFVWmJDOHpTNXZCL3NTN1E3Q2ZNaGhCQ0RSTldzRm9iL3h4YWN1angrV3FHc0lpdWlsUUt0S1QzekpFYjk4cHU4VXRyRzlVLzlGeHZiMW1OQ01SVGdHNGtoSklRUVBTeGtkMWI0QVpQek1MbnVUMll3UU5ob2pzbTBXS0YyUGRreDVwdXpZeVBDT2VYOHdVQ0NFMzV0bVB0bFNXWWh4QUZsZXg5SlYxY1hEejc0SUxCelBwUHB3ejFUUEF3MkNoL0RENU9OTE1pbitFSEpDTXFVVGR6NGNpTEVYbS9pZG9kUDltbklBeWFsY2NpUlhHSXdQaGpMUTZOZ2JQRHl6ZkVzamFrY1V5c2psSWR0VnJSbDZNajZaSHhOTWgvRSs3VXNXTmVSWVJXR3lSVVJScFc0ck8zTVV1cmFUS3VNMHB6SjgzcERuT0ZSbCtsVlVaYTBwT2pNK1VPeUUvR2twdWY0K3NvYk9iVmpFWjZmSWFFc2JBeVc3SnNraEJCQ0NDR0VFRUlJSVVUUmVmRHBGWHpyNXBkb2J1ekNpb1h3dGN4UkVVSUlJY1ErTUlBRjJYb0lPUVozc28yWEJLZkNrTjBLK1E1UUV0SkVDRkZFbElLNkdvdC92enpHbGVkSDhFcHIrWitXei9ESDFuTm84eXNMT3dQTC9BZ2hoQkJDQ0NIMkowOWJ0Q1pqb0tSdTNyZnRvV0FkM2dmRnAxWDl2UGRwMUFseDhjeFQrUHFwc3hoWFhzZkxielJ3dzYxdnNXRHhObktlUnJZaUgySjVUcEpBQ1BGKzZzZE5HTlIzK1RHYk5rZ1pKb1FRUW9nRFRiZnJaeWNjVmNHdnZuOFFIenE2QXMvZnk2L1o0Qy9UWk8vSTQ3K2p3ZW5lWjlRc2YwUHFZMElJSVlRNG9MUWZjbWkzNm1QT3pFTUkvOC9OUExha2thdi82eDdpaVRUUnNNdi9mdmRmdWVJak04aDk0eHQ0Yy8vWjU4ZFh0WFNKMU0rRTJFOFdWRXcwVHAyaCt2dzhzZk1zNW5BaU55KzdqbGVhVHNiWDF2NGZrZnVSa3ZKaFlCdnYrMlY4UmNuWXJ4QkNDQ0dFRUVWalR1a1IzVzgzYUUxazhqZ09lZnIzaEViVkJlME9YN1A2eW0vUTh0QXpLTWZwOCtNN01iRkkyaGRDQ0NHRUVPS0FaYnF4MjVNMmhnVWJFMXg0eDJJT1g3MkFYNjk2bURJL1M4WnkrZGJrYzNsbTh2SGM5N21aL012VUtteXJiNnZYU2hYM3VNK0pYMzl0VUs5VG1YUGp5ZEllRWtJSUlZUVFRZ2doaEJEN2plZnJRZDEvNXZSMWg2Y1FvdHVzVC82dVcrVkRUVm1FZS8vOU5FNksxN1B0eTkvRGIrOGtOSGs4ZFhmZXlPL1dwUG42M1hQSjV2dCtNeXo5OExWU1BnZ2hoQkJDQ0NHRUVFSUkwVTNkbWErOFB4VDdQR1VoaEJCQ0NDR0VFRUpBMmFPSERLcCtoL2dGUzZXL1FRd1p4UmFmL3JBamZtUyswN0tJMFY0U1JlK0NKU3ZBUTdFc1hLWC9VRGwxNjRKbzdhMGE3Z1E2bVB0bDJjMWFDREZVN2JWOHMyMGJBTi8zKyswZ0ZHQ2g4REZNc0VQOHNtUWtSemhScHJhdGtIcVdFRUlJSVlRUVFnZ2hCcFRzNHlwMmRjVS82Z2YxK01DZnpoNGorVUVJSVlRUVFnZ2hoQkJDQ0NIRW9HTTI3T3ZVZmdYR2dGMEZvOWVDVlVVd3hYWGZ1c0Vsbm9nUVFnd09VODYrZDFDUHM2NzV4NlZ5dnhCaWdEaVNCRUlJSVlRUVFnZ2hoQkJDQ0NHRUVFTDBYT2xKUHNNdXo1T2VYc0V2Vm4yQk8xZGZTWHUyTXBoWEpVUGZRZ2doaEJCQ0NDR0VFRUlJSVlRUVFnZ2hoQkJDQ0NHRUVFSUlJZmJDR0VrRElZUVFRZ2doaEJCQ0NDR0VFRUlJSVlRUVFnZ2hoQkJDQ0NGRTcyeHd5L2o1c01PSkdCL28vU1JsWmNCVGx0WG94RVliK0RMUUJkd0ZaQ1MxaFJBSEt0LzMrLzB6RE9CamNGQnM4SE5jMnJXSkg1WU1sOFFYUWdnaGhCQkNDQ0dFRUVJSUlZUVFRZ2doaEJCQ0NDR0VFRUlJSVlRUW9najkvMVY1MmQ3bjhmSGFBQUFBQUVsRlRrU3VRbUNDJztcbn0iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuaW1wb3J0ICogYXMgaW50bFRlbElucHV0IGZyb20gJ2ludGwtdGVsLWlucHV0JztcbmltcG9ydCB7IFBsdWdpbiB9IGZyb20gJ2ludGwtdGVsLWlucHV0JztcbmltcG9ydCBNYWtlUmVxdWVzdCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvVXRpbGl0aWVzL01ha2VSZXF1ZXN0JztcbmltcG9ydCBHZXRGbGFnc1VybCBmcm9tICcuL0ZsYWdzJztcbmltcG9ydCBHZXRGbGFnczJYVXJsIGZyb20gJy4vRmxhZ3MyeCc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdpbnQtcGhvbmUtZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG4gICAgICAgICAgICA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2ludGwtdGVsLWlucHV0LzE2LjAuMC9jc3MvaW50bFRlbElucHV0LmNzc1wiID5cblx0XHRcdDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwidGVsXCIgaWQ9XCJwaG9uZS1maWVsZFwiICAvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgIH1cbiAgICAuaXRpIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgaW5wdXR7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWY0ZmY7XG4gICAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG5cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuXHQuaXRpX19mbGFnIHtcblx0ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2ludGwtdGVsLWlucHV0LzE2LjAuMC9pbWcvZmxhZ3NAMngucG5nJyksIHVybCgke0dldEZsYWdzMlhVcmwoKX0pO1xuXHR9XG4gIH1cbiAgICAgICAgICAgYCxcblx0dXNlU2hhZG93OiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJbnRQaG9uZUZpZWxkRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHBob25lOiBIVE1MSW5wdXRFbGVtZW50O1xuXHRmdWxsUGhvbmU6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cdGludGxUZWxJbnB1dDogUGx1Z2luO1xuXHRyZWFkb25seSBVVElMU19VUkw6IHN0cmluZyA9ICdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9pbnRsLXRlbC1pbnB1dC8xNS4wLjEvanMvdXRpbHMuanMnO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5pbnRsVGVsSW5wdXQuZ2V0TnVtYmVyKCk7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuXHRcdHRoaXMucGhvbmUudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRjb25zdCBwYXR0ZXJuVmFsaWQgPVxuXHRcdFx0IXRoaXMuaW50bFRlbElucHV0LmdldE51bWJlcigpIHx8IHRoaXMuaW50bFRlbElucHV0LmlzVmFsaWROdW1iZXIoKTtcblx0XHRyZXR1cm4gcGF0dGVyblZhbGlkICYmIHRoaXMucGhvbmUudmFsaWRpdHkudmFsaWQ7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHR0aGlzLnNldEludGxUZWxJbnB1dCgpO1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy5waG9uZS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKTtcblx0XHRpZiAodGhpcy5yZXF1aXJlZCkge1xuXHRcdFx0dGhpcy5waG9uZS5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0fVxuXHRzZXRJbnRsVGVsSW5wdXQoKSB7XG5cdFx0dGhpcy5waG9uZSA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNwaG9uZS1maWVsZCcpO1xuXHRcdGNvbnN0IGdlb0lwTG9va3VwID0gKHN1Y2Nlc3MsIGZhaWx1cmUpID0+IHtcblx0XHRcdHJldHVybiBuZXcgTWFrZVJlcXVlc3QoXG5cdFx0XHRcdCdodHRwczovL2lwaW5mby5pby9qc29uP3Rva2VuPTgyMjYxMzgyMTdhNjhhJyxcblx0XHRcdFx0J2dldCcsXG5cdFx0XHRcdHsgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuXHRcdFx0KVxuXHRcdFx0XHQuc2VuZCgpXG5cdFx0XHRcdC50aGVuKChyZXF1ZXN0OiBhbnkpID0+IHtcblx0XHRcdFx0XHRjb25zdCByZXMgPSBKU09OLnBhcnNlKHJlcXVlc3QpO1xuXHRcdFx0XHRcdHJldHVybiBzdWNjZXNzKHJlcy5jb3VudHJ5KTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIHN1Y2Nlc3MoJ0RLJyk7XG5cdFx0XHRcdH0pO1xuXHRcdH07XG5cdFx0Y29uc3QgaXNJcGxvb2tVcERpc2FibGVkID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZS1pcGxvb2t1cCcpPy50b0xvd2VyQ2FzZSgpID09PSBcInRydWVcIjtcblx0XHRjb25zdCBkZWZhdWx0Q291bnRyeSA9IGlzSXBsb29rVXBEaXNhYmxlZCA/ICdkaycgOiAnYXV0byc7XG5cdFx0Y29uc3QgdXRpbHNVcmwgPSB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS11dGlscy11cmwnKTtcblx0XHRjb25zdCBjb3VudHJ5ID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtY291bnRyeScpPy50b0xvd2VyQ2FzZSgpO1xuXHRcdHRoaXMuaW50bFRlbElucHV0ID0gaW50bFRlbElucHV0KHRoaXMucGhvbmUsIHtcblx0XHRcdGdlb0lwTG9va3VwOiBpc0lwbG9va1VwRGlzYWJsZWQgPyBudWxsIDogZ2VvSXBMb29rdXAsXG5cdFx0XHRoaWRkZW5JbnB1dDogJ2Z1bGxwaG9uZScsXG5cdFx0XHRpbml0aWFsQ291bnRyeTogY291bnRyeSA/PyBkZWZhdWx0Q291bnRyeSxcblx0XHRcdHByZWZlcnJlZENvdW50cmllczogW1wiZGtcIiwgXCJzZVwiLCBcImdiXCJdLFxuXHRcdFx0bmF0aW9uYWxNb2RlOiB0cnVlLFxuXHRcdFx0dXRpbHNTY3JpcHQ6IHV0aWxzVXJsID8/IHRoaXMuVVRJTFNfVVJMLFxuXHRcdH0gYXMgYW55KTtcblx0XHR0aGlzLmludGxUZWxJbnB1dC5wcm9taXNlLnRoZW4oZSA9PiB7XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0dGhpcy5mdWxsUGhvbmUgPSBzdXBlci5nZXRDaGlsZElucHV0KCdbbmFtZT1cImZ1bGxwaG9uZVwiXScpO1xuXHRcdFx0fSwgMTAwMCk7XG5cdFx0fSk7XG5cblx0XHRjb25zdCBpc0xvY2FsRmxhZ0VuYWJsZWQgPSB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1sb2NhbC1mbGFnJyk/LnRvTG93ZXJDYXNlKCkgPT09IFwidHJ1ZVwiO1xuXHRcdGlmIChpc0xvY2FsRmxhZ0VuYWJsZWQpIHtcblx0XHRcdGNvbnN0IGZsYWdXcmFwcGVyczogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4gPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbChcIi5pdGlfX2ZsYWdcIik7XG5cdFx0XHRpZiAoZmxhZ1dyYXBwZXJzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0ZmxhZ1dyYXBwZXJzLmZvckVhY2goZiA9PiBmLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHtHZXRGbGFnc1VybCgpfSlgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxufVxuIiwiaW1wb3J0IEN1c3RvbUVsZW1lbnQgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBDdXN0b21JbnB1dEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tSW5wdXRFbGVtZW50JztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tRXZlbnRzJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ251bWVyaWMtZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG5cdFx0XHQ8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuXHRcdFx0XHQ8aW5wdXQgdHlwZT1cIm51bWJlclwiIGlkPSdudW1lcmljLWZpZWxkJy8+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE51bWVyaWNGaWVsZEVsZW1lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dEVsZW1lbnQge1xuXHRudW1iZXI6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdGdldCB2YWx1ZSgpOiBhbnkge1xuXHRcdGlmIChpc05hTih0aGlzLm51bWJlci52YWx1ZUFzTnVtYmVyKSkge1xuXHRcdFx0cmV0dXJuICcnO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5udW1iZXIudmFsdWVBc051bWJlcjtcblx0fVxuXG5cdHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG5cdFx0dGhpcy5udW1iZXIudmFsdWVBc051bWJlciA9IHZhbHVlO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm51bWJlci52YWxpZGl0eS52YWxpZDtcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy5udW1iZXIgPSBzdXBlci5nZXRDaGlsZElucHV0KCcjbnVtZXJpYy1maWVsZCcpO1xuXHRcdHRoaXMubnVtYmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLm51bWJlci5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5tYXgpIHtcblx0XHRcdHRoaXMubnVtYmVyLnNldEF0dHJpYnV0ZSgnbWF4JywgdGhpcy5tYXgpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5taW4pIHtcblx0XHRcdHRoaXMubnVtYmVyLnNldEF0dHJpYnV0ZSgnbWluJywgdGhpcy5taW4pO1xuXHRcdH1cblx0XHRpZiAodGhpcy5zdGVwKSB7XG5cdFx0XHR0aGlzLm51bWJlci5zZXRBdHRyaWJ1dGUoJ3N0ZXAnLCB0aGlzLnN0ZXApO1xuXHRcdH1cblx0fVxuXG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1V0aWxpdGllcy9TdHJpbmdVdGlsJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ3JhZGlvLWdyb3VwLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdDwvZGl2PmAsXG5cdHN0eWxlOiBgXG5cdFx0XHQ6aG9zdHtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdH1cblx0XHRcdC5yYWRpby1idXR0b24ge1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0bWFyZ2luOiBhdXRvIDNweDtcblx0XHRcdFx0Y29sb3I6IHJnYmEoNzIsIDcyLCA3MiwgMC43NSk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdH1cblx0XHRcdGlucHV0e1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmMWY0ZmY7XG5cdFx0XHRcdG1hcmdpbjogMnB4O1xuXHRcdFx0XHRyZXNpemU6IG5vbmU7XG5cdFx0XHR9XG5cdFx0YCxcblx0dXNlU2hhZG93OiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkdyb3VwRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHJhZGlvQnV0dG9uOiBIVE1MSW5wdXRFbGVtZW50W107XG5cdHJhZGlvQnV0dG9uVGVtcGxhdGUgPSBgXG5cdDxkaXYgY2xhc3M9J3JhZGlvLWJ1dHRvbic+XG5cdFx0PGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSd7MH0nIHZhbHVlPVwiezF9XCIgaWQ9XCJ7Mn1cIiB7M30vPlxuXHRcdDxsYWJlbCBmb3I9XCJ7Mn1cIj57MX08L2xhYmVsPlxuXHQ8L2Rpdj5gO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5yYWRpb0J1dHRvbi5maWx0ZXIoYyA9PiBjLmNoZWNrZWQpLm1hcChjID0+IGMudmFsdWUpWzBdO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHRsZXQgbWF0Y2hlZFJhZGlvID0gdGhpcy5yYWRpb0J1dHRvbi5maWx0ZXIoYyA9PiBjLnZhbHVlID09PSB2YWx1ZSlbMF07XG5cdFx0aWYgKG1hdGNoZWRSYWRpbykge1xuXHRcdFx0bWF0Y2hlZFJhZGlvLnNldEF0dHJpYnV0ZSgnY2hlY2tlZCcsICcnKTtcblx0XHR9XG5cdH1cblxuXHRnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHJldHVybiB0aGlzLnJhZGlvQnV0dG9uLmZpbHRlcihjID0+IGMuY2hlY2tlZCkubGVuZ3RoID4gMDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblx0fVxuXG5cdGluaXRDaGlsZElucHV0cygpIHtcblx0XHR0aGlzLmFkZFJhZGlvQnV0dG9ucygpO1xuXHRcdHRoaXMucmFkaW9CdXR0b24gPSBzdXBlci5nZXRDaGlsZElucHV0cyhgW25hbWU9JyR7dGhpcy5uYW1lfSddYCk7XG5cdFx0dGhpcy5yYWRpb0J1dHRvbi5mb3JFYWNoKHJhZGlvID0+XG5cdFx0XHRyYWRpby5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKSxcblx0XHQpO1xuXHR9XG5cblx0cHJpdmF0ZSBhZGRSYWRpb0J1dHRvbnMoKSB7XG5cdFx0Y29uc3Qgd3JhcHBlciA9IHN1cGVyLmdldENoaWxkRWxlbWVudCgnLndyYXBwZXInKTtcblx0XHR3cmFwcGVyLmlubmVySFRNTCA9IFwiXCI7XG5cdFx0dGhpcy5vcHRpb25zLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG5cdFx0XHR3cmFwcGVyLmluc2VydEFkamFjZW50SFRNTChcblx0XHRcdFx0J2JlZm9yZWVuZCcsXG5cdFx0XHRcdFN0cmluZ1V0aWwuU3RyaW5nRm9ybWF0KFxuXHRcdFx0XHRcdHRoaXMucmFkaW9CdXR0b25UZW1wbGF0ZSxcblx0XHRcdFx0XHR0aGlzLm5hbWUsXG5cdFx0XHRcdFx0ZWxlbWVudCxcblx0XHRcdFx0XHRgJHt0aGlzLm5hbWV9LSR7aW5kZXh9YCxcblx0XHRcdFx0XHRgJHt0aGlzLnJlcXVpcmVkID8gJ3JlcXVpcmVkJyA6ICcnfWAsXG5cdFx0XHRcdCksXG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgU0VDb21wYW55UmVnaXN0cmF0aW9uVmFsaWRhdG9yIGZyb20gJy4uLy4uL2ZyYW1ld29yay9WYWxpZGF0aW9uL1ZhbGlkYXRvcnMvU0VDb21wYW55UmVnaXN0cmF0aW9uJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ3NlLWNvbXBhbnktcmVnaXN0cmF0aW9uLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9J3NlLWNvbXBhbnktcmVnaXN0cmF0aW9uLWZpZWxkJyBwbGFjZWhvbGRlcj0nU1NTU1NTU1NTUycvPlxuICAgICAgICA8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgICAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXR7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWY0ZmY7XG4gICAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgICAgfWAsXG5cdHVzZVNoYWRvdzogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU0VDb21wYW55UmVnaXN0cmF0aW9uRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHRleHQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cdHZhbGlkYXRvcjogU0VDb21wYW55UmVnaXN0cmF0aW9uVmFsaWRhdG9yID0gbmV3IFNFQ29tcGFueVJlZ2lzdHJhdGlvblZhbGlkYXRvcigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYCR7dGhpcy50ZXh0LnZhbHVlfWA7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuXHRcdHRoaXMudGV4dC52YWx1ZSA9IHZhbHVlO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLnZhbGlkYXRvci5pc1NhdGlzZmllZEJ5KHRoaXMudmFsdWUsICF0aGlzLnJlcXVpcmVkKTtcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy50ZXh0ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI3NlLWNvbXBhbnktcmVnaXN0cmF0aW9uLWZpZWxkJyk7XG5cdFx0dGhpcy50ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLnRleHQuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHR9XG5cdH1cblxuXHQvLyBldmVudHNcblx0cHVibGljIGNoYW5nZSgkZXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHR9XG5cblx0cHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMudmFsaWQ7XG5cdFx0dGhpcy5vblZhbGlkYXRlLmVtaXQoXG5cdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAndmFsaWRhdGUnKSxcblx0XHQpO1xuXHR9XG59XG4iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuaW1wb3J0IFNFUGVyc29uYWxOdW1iZXJWYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9TRVBlcnNvbmFsTnVtYmVyJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ3NlLXBlcnNvbmFsLW51bWJlci1lbGVtZW50Jyxcblx0dGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPSdzZS1wZXJzb25hbC1udW1iZXItZmllbGQnIHBsYWNlaG9sZGVyPScoWVkpWVlNTURELVNTU1MnLz5cbiAgICAgICAgPC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICAgICAgOmhvc3R7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICB9XG4gICAgICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIH1gLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNFUGVyc29uYWxOdW1iZXJFbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0dGV4dDogSFRNTElucHV0RWxlbWVudDtcblx0dmFsaWRhdG9yOiBTRVBlcnNvbmFsTnVtYmVyVmFsaWRhdG9yID0gbmV3IFNFUGVyc29uYWxOdW1iZXJWYWxpZGF0b3IoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMudGV4dC52YWx1ZX1gO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRleHQudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy52YWxpZGF0b3IuaXNTYXRpc2ZpZWRCeSh0aGlzLnZhbHVlLCAhdGhpcy5yZXF1aXJlZCk7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMudGV4dCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNzZS1wZXJzb25hbC1udW1iZXItZmllbGQnKTtcblx0XHR0aGlzLnRleHQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5jaGFuZ2UuYmluZCh0aGlzKSk7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMudGV4dC5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0fVxuXG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICd0ZXh0LWFyZWEtZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG5cdFx0XHQ8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuXHRcdFx0XHQ8dGV4dGFyZWEgcm93cz01IGlkPSd0ZXh0LWFyZWEtZmllbGQnPjwvdGV4dGFyZWE+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIHRleHRhcmVhe1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRleHRBcmVhRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHRleHQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgJHt0aGlzLnRleHQudmFsdWV9YDtcblx0fVxuXG5cdHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy50ZXh0LnZhbHVlID0gdmFsdWU7XG5cdH1cblxuXHRnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMudGV4dC52YWxpZGl0eS52YWxpZDtcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy50ZXh0ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI3RleHQtYXJlYS1maWVsZCcpO1xuXHRcdHRoaXMudGV4dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKTtcblx0XHRpZiAodGhpcy5yZXF1aXJlZCkge1xuXHRcdFx0dGhpcy50ZXh0LnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxufVxuIiwiaW1wb3J0IEN1c3RvbUVsZW1lbnQgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBDdXN0b21JbnB1dEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tSW5wdXRFbGVtZW50JztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tRXZlbnRzJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ3RleHQtZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG5cdFx0XHQ8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuXHRcdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiBpZD0ndGV4dC1maWVsZCcvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcblx0Omhvc3R7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHR9XG5cdC53cmFwcGVye1xuXHRcdFx0ZGlzcGxheTpmbGV4O1xuXHR9XG5cdGlucHV0e1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuXHRcdFx0bWFyZ2luOiAycHg7XG5cdFx0XHRyZXNpemU6IG5vbmU7XG5cdH1cblx0XHRgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZEVsZW1lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dEVsZW1lbnQge1xuXHR0ZXh0OiBIVE1MSW5wdXRFbGVtZW50O1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYCR7dGhpcy50ZXh0LnZhbHVlfWA7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuXHRcdHRoaXMudGV4dC52YWx1ZSA9IHZhbHVlO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLnRleHQudmFsaWRpdHkudmFsaWQ7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMudGV4dCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyN0ZXh0LWZpZWxkJyk7XG5cdFx0dGhpcy50ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLnRleHQuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHR9XG5cdH1cblxuXHQvLyBldmVudHNcblx0cHVibGljIGNoYW5nZSgkZXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHR9XG5cblx0cHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMudmFsaWQ7XG5cdFx0dGhpcy5vblZhbGlkYXRlLmVtaXQoXG5cdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAndmFsaWRhdGUnKSxcblx0XHQpO1xuXHR9XG59XG4iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuaW1wb3J0IE9wdGlvbldpdGhEZXNjcmlwdGlvbiBmcm9tICcuLi8uLi9mcmFtZXdvcmsvTW9kZWxzL09wdGlvbldpdGhEZXNjcmlwdGlvbic7XG5pbXBvcnQgRG9tVXRpbGl0eSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvVXRpbGl0aWVzL0RvbVV0aWxpdHknO1xuXG5AQ3VzdG9tRWxlbWVudCh7XG5cdHNlbGVjdG9yOiAndHlwZS1haGVhZC1lbGVtZW50Jyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuXHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9XCJ0ZXh0LWlucHV0XCI+XG5cdFx0XHQ8ZGl2IGlkPVwiZGVzY3JpcHRpb25cIj48L2Rpdj5cblx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuXHRcdDpob3N0IHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0fVxuXHRcdC53cmFwcGVyIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6ZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXHRcdCN0ZXh0LWlucHV0IHtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcblx0XHRcdG1hcmdpbjogMnB4O1xuXHRcdFx0cmVzaXplOiBub25lO1xuXHRcdH1cblx0XHQud3JhcHBlciAjZGVzY3JpcHRpb24ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAwIDJweDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXHRcdC5vcHRpb25zLWxpc3Qge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI0U4RThFODtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdFx0ei1pbmRleDogMztcblx0XHRcdHRvcDogMTAwJTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdG1heC1oZWlnaHQ6IDIwMHB4O1xuXHRcdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHR9XG5cdFx0Lm9wdGlvbnMtbGlzdC1pdGVtIHtcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFOEU4RTg7XG5cdFx0fVxuXHRcdC5vcHRpb25zLWxpc3QtaXRlbTpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRThFOEU4O1xuXHRcdH1cblx0XHQub3B0aW9ucy1saXN0LWl0ZW0uYWN0aXZlIHtcblx0XHRcdC8qd2hlbiBuYXZpZ2F0aW5nIHRocm91Z2ggdGhlIGl0ZW1zIHVzaW5nIHRoZSBhcnJvdyBrZXlzOiovXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzRTY0ICFpbXBvcnRhbnQ7XG5cdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHR9XG5cdFx0Lm9wdGlvbnMtbGlzdC1pdGVtLXRpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHR9XG5cdFx0Lm9wdGlvbnMtbGlzdC1pdGVtLWRlc2NyaXB0aW9uIHtcblx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHR9XG5cdGAsXG5cdHVzZVNoYWRvdzogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVHlwZUFoZWFkRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cblx0cHJpdmF0ZSB0ZXh0SW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuXHRwcml2YXRlIGRlc2NyaXB0aW9uRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cdHByaXZhdGUgY29tcG9uZW50V3JhcHBlcjogSFRNTEVsZW1lbnQ7XG5cdHByaXZhdGUgY3VycmVudEZvdWNzZWRJbmRleCA9IC0xO1xuXG5cdHNlbGVjdGVkT3B0aW9uOiBPcHRpb25XaXRoRGVzY3JpcHRpb247XG5cdHNlYXJjaFJlc3VsdE9wdGlvbnM6IE9wdGlvbldpdGhEZXNjcmlwdGlvbltdID0gW107XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0IHNlYXJjaEhhc1Jlc3VsdHMoKTogYm9vbGVhbiB7XG5cdFx0Y29uc3QgYXV0b2NvbXBsZXRlTGlzdCA9IHN1cGVyLmdldENoaWxkRWxlbWVudCgnLm9wdGlvbnMtbGlzdCcpO1xuXHRcdHJldHVybiBhdXRvY29tcGxldGVMaXN0ICYmIHRoaXMub3B0aW9uc1dpdGhEZXNjcmlwdGlvbnMgJiYgdGhpcy5vcHRpb25zV2l0aERlc2NyaXB0aW9ucy5sZW5ndGggPiAwO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0aWYgKCF0aGlzLnNlbGVjdGVkT3B0aW9uKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb24udmFsdWU7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuXHRcdGlmICghdGhpcy5vcHRpb25zV2l0aERlc2NyaXB0aW9ucyB8fCB0aGlzLm9wdGlvbnNXaXRoRGVzY3JpcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBvcHRpb24gPSB0aGlzLm9wdGlvbnNXaXRoRGVzY3JpcHRpb25zLmZpbmQob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpO1xuXHRcdGlmICghb3B0aW9uKSB7XG5cdFx0XHR0aGlzLmRlc2NyaXB0aW9uRWxlbWVudC5pbm5lckhUTUwgPSBudWxsO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLnNlbGVjdGVkT3B0aW9uID0gb3B0aW9uO1xuXHRcdHRoaXMudGV4dElucHV0RWxlbWVudC52YWx1ZSA9IG9wdGlvbi50aXRsZTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uRWxlbWVudC5pbm5lckhUTUwgPSBvcHRpb24uZGVzY3JpcHRpb247XG5cdH1cblxuXHRnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHJldHVybiAhIXRoaXMuc2VsZWN0ZWRPcHRpb247XG5cdFx0fVxuXHRcdHJldHVybiAhIXRoaXMuc2VsZWN0ZWRPcHRpb24gfHwgdGhpcy50ZXh0SW5wdXRFbGVtZW50LnZhbHVlID09PSAnJztcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy50ZXh0SW5wdXRFbGVtZW50ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI3RleHQtaW5wdXQnKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uRWxlbWVudCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNkZXNjcmlwdGlvbicpO1xuXHRcdHRoaXMuY29tcG9uZW50V3JhcHBlciA9IHN1cGVyLmdldENoaWxkRWxlbWVudCgnLndyYXBwZXInKTtcblx0XHRpZiAodGhpcy5yZXF1aXJlZCkge1xuXHRcdFx0dGhpcy50ZXh0SW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHRcdHRoaXMudGV4dElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKTtcblx0XHR0aGlzLnRleHRJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCAoKSA9PiB7XG5cdFx0XHR0aGlzLmlucHV0RXZlbnRIYW5kbGVyKCk7XG5cdFx0fSk7XG5cdFx0dGhpcy5iaW5kTmF2aWdhdGlvbigpO1xuXHR9XG5cblx0cHJpdmF0ZSBpbnB1dEV2ZW50SGFuZGxlcigpIHtcblx0XHR0aGlzLnNlbGVjdGVkT3B0aW9uID0gbnVsbDtcblx0XHR0aGlzLmRlc2NyaXB0aW9uRWxlbWVudC5pbm5lckhUTUwgPSBudWxsO1xuXHRcdHRoaXMuY2xvc2VPcHRpb25zTGlzdCgpO1xuXHRcdHRoaXMuc2VhcmNoUmVzdWx0T3B0aW9ucyA9IFtdO1xuXHRcdGNvbnN0IHNlYXJjaFZhbHVlID0gdGhpcy50ZXh0SW5wdXRFbGVtZW50LnZhbHVlO1xuXHRcdGlmICghc2VhcmNoVmFsdWUgfHwgc2VhcmNoVmFsdWUudHJpbSgpID09PSAnJykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBvcHRpb25zbGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXHRcdG9wdGlvbnNsaXN0LmNsYXNzTGlzdC5hZGQoJ29wdGlvbnMtbGlzdCcpO1xuXG5cdFx0aWYgKCF0aGlzLm9wdGlvbnNXaXRoRGVzY3JpcHRpb25zKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMub3B0aW9uc1dpdGhEZXNjcmlwdGlvbnMuZm9yRWFjaCgob3B0aW9uOiBPcHRpb25XaXRoRGVzY3JpcHRpb24sIGluZGV4KSA9PiB7XG5cdFx0XHR2YXIgcmVnZXggPSBuZXcgUmVnRXhwKHNlYXJjaFZhbHVlLCAnZ2knKTtcblx0XHRcdGNvbnN0IGlzTWF0Y2hpbmdUaXRsZSA9IHJlZ2V4LnRlc3Qob3B0aW9uLnRpdGxlKTtcblx0XHRcdGNvbnN0IGlzTWF0Y2hpbmdWYWx1ZSA9IHJlZ2V4LnRlc3Qob3B0aW9uLnZhbHVlKTtcblx0XHRcdGNvbnN0IGlzTWF0Y2hpbmdEZXNjcmlwdGlvbiA9IHJlZ2V4LnRlc3Qob3B0aW9uLmRlc2NyaXB0aW9uKTtcblx0XHRcdGlmICghaXNNYXRjaGluZ1RpdGxlICYmICFpc01hdGNoaW5nVmFsdWUgJiYgIWlzTWF0Y2hpbmdEZXNjcmlwdGlvbikge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHR0aGlzLnNlYXJjaFJlc3VsdE9wdGlvbnMucHVzaChvcHRpb24pO1xuXHRcdFx0Y29uc3Qgb3B0aW9uc0xpc3RJdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcblx0XHRcdG9wdGlvbnNMaXN0SXRlbS5jbGFzc0xpc3QuYWRkKCdvcHRpb25zLWxpc3QtaXRlbScpO1xuXHRcdFx0b3B0aW9uc0xpc3RJdGVtLmRhdGFzZXRbJ3ZhbHVlJ10gPSBvcHRpb24udmFsdWU7XG5cdFx0XHRvcHRpb25zbGlzdC5hcHBlbmRDaGlsZChvcHRpb25zTGlzdEl0ZW0pO1xuXHRcdFx0Y29uc3Qgb3B0aW9uc0xpc3RJdGVtVGl0bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuXHRcdFx0b3B0aW9uc0xpc3RJdGVtVGl0bGUuY2xhc3NMaXN0LmFkZCgnb3B0aW9ucy1saXN0LWl0ZW0tdGl0bGUnKTtcblx0XHRcdG9wdGlvbnNMaXN0SXRlbVRpdGxlLmlubmVySFRNTCA9IERvbVV0aWxpdHkuYm9sZGVuVGV4dChvcHRpb24udGl0bGUsIHNlYXJjaFZhbHVlKTtcblx0XHRcdG9wdGlvbnNMaXN0SXRlbS5hcHBlbmRDaGlsZChvcHRpb25zTGlzdEl0ZW1UaXRsZSk7XG5cdFx0XHRjb25zdCBvcHRpb25zTGlzdEl0ZW1EZXNjcmlwdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG5cdFx0XHRvcHRpb25zTGlzdEl0ZW1EZXNjcmlwdGlvbi5jbGFzc0xpc3QuYWRkKCdvcHRpb25zLWxpc3QtaXRlbS1kZXNjcmlwdGlvbicpO1xuXHRcdFx0b3B0aW9uc0xpc3RJdGVtRGVzY3JpcHRpb24uaW5uZXJIVE1MID0gRG9tVXRpbGl0eS5ib2xkZW5UZXh0KG9wdGlvbi5kZXNjcmlwdGlvbiwgc2VhcmNoVmFsdWUpO1xuXHRcdFx0b3B0aW9uc0xpc3RJdGVtLmFwcGVuZENoaWxkKG9wdGlvbnNMaXN0SXRlbURlc2NyaXB0aW9uKTtcblx0XHRcdG9wdGlvbnNMaXN0SXRlbS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcblx0XHRcdFx0dGhpcy5vcHRpb25TZWxlY3RlZEhhbmRsZXIob3B0aW9uKTtcblx0XHRcdH0pO1xuXHRcdFx0dGhpcy5jb21wb25lbnRXcmFwcGVyLmFwcGVuZENoaWxkKG9wdGlvbnNsaXN0KTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgY2xvc2VPcHRpb25zTGlzdCgpIHtcblx0XHR0aGlzLmN1cnJlbnRGb3Vjc2VkSW5kZXggPSAtMTtcblx0XHRjb25zdCBvcHRpb25zTGlzdCA9IHN1cGVyLmdldENoaWxkRWxlbWVudCgnLm9wdGlvbnMtbGlzdCcpO1xuXHRcdGlmICghb3B0aW9uc0xpc3QpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0b3B0aW9uc0xpc3QucmVtb3ZlKCk7XG5cdH1cblxuXHRwcml2YXRlIG9wdGlvblNlbGVjdGVkSGFuZGxlcihvcHRpb246IE9wdGlvbldpdGhEZXNjcmlwdGlvbikge1xuXHRcdHRoaXMudmFsdWUgPSBvcHRpb24udmFsdWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdFx0dGhpcy5jbG9zZU9wdGlvbnNMaXN0KCk7XG5cdH1cblxuXHRwcml2YXRlIGJpbmROYXZpZ2F0aW9uKCkge1xuXHRcdHRoaXMudGV4dElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG5cdFx0XHRpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuXHRcdFx0XHR0aGlzLmNsb3NlT3B0aW9uc0xpc3QoKTtcblx0XHRcdH1cblx0XHRcdGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG5cdFx0XHRcdGlmICghdGhpcy5zZWFyY2hIYXNSZXN1bHRzKSB7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuY3VycmVudEZvdWNzZWRJbmRleCA9IHRoaXMuY3VycmVudEZvdWNzZWRJbmRleCA9PT0gdGhpcy5zZWFyY2hSZXN1bHRPcHRpb25zLmxlbmd0aCAtIDEgPyAwIDogdGhpcy5jdXJyZW50Rm91Y3NlZEluZGV4ICsgMTtcblx0XHRcdFx0dGhpcy5oaWdobGlnaHRGb2N1c2VkU2VhcmNoUmVzdWx0KCk7XG5cdFx0XHR9XG5cdFx0XHRpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcblx0XHRcdFx0aWYgKCF0aGlzLnNlYXJjaEhhc1Jlc3VsdHMpIHtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5jdXJyZW50Rm91Y3NlZEluZGV4ID0gdGhpcy5jdXJyZW50Rm91Y3NlZEluZGV4ID09PSAwID8gdGhpcy5zZWFyY2hSZXN1bHRPcHRpb25zLmxlbmd0aCAtIDEgOiB0aGlzLmN1cnJlbnRGb3Vjc2VkSW5kZXggLSAxO1xuXHRcdFx0XHR0aGlzLmhpZ2hsaWdodEZvY3VzZWRTZWFyY2hSZXN1bHQoKTtcblx0XHRcdH1cblx0XHRcdGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcblx0XHRcdFx0aWYgKHRoaXMuY3VycmVudEZvdWNzZWRJbmRleCAhPT0gLTEgJiYgdGhpcy5zZWFyY2hIYXNSZXN1bHRzKSB7XG5cdFx0XHRcdFx0dGhpcy5vcHRpb25TZWxlY3RlZEhhbmRsZXIodGhpcy5zZWFyY2hSZXN1bHRPcHRpb25zW3RoaXMuY3VycmVudEZvdWNzZWRJbmRleF0pO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0aGlnaGxpZ2h0Rm9jdXNlZFNlYXJjaFJlc3VsdCgpIHtcblx0XHRjb25zdCBvcHRpb25MaXN0SXRlbXMgPSBzdXBlci5nZXRDaGlsZEVsZW1lbnRzKCcub3B0aW9ucy1saXN0LWl0ZW0nKTtcblx0XHRpZiAoIW9wdGlvbkxpc3RJdGVtcykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRvcHRpb25MaXN0SXRlbXMuZm9yRWFjaCgobGlzdEl0ZW0sIGluZGV4KSA9PiB7XG5cdFx0XHRsaXN0SXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKTtcblx0XHRcdGlmIChpbmRleCA9PT0gdGhpcy5jdXJyZW50Rm91Y3NlZEluZGV4KSB7XG5cdFx0XHRcdGxpc3RJdGVtLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHVibGljIGNoYW5nZSgkZXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHR9XG5cblx0cHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMudmFsaWQ7XG5cdFx0dGhpcy5vblZhbGlkYXRlLmVtaXQoXG5cdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAndmFsaWRhdGUnKSxcblx0XHQpO1xuXHR9XG59XG4iLCJleHBvcnQgaW50ZXJmYWNlIExpc3RlbmVyPFQ+IHtcbiAgICAoZXZlbnQ6IFQpOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcG9zYWJsZSB7XG4gICAgZGlzcG9zZSgpO1xufVxuXG5leHBvcnQgY2xhc3MgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHZhbHVlOiBhbnksIHB1YmxpYyBldmVudE5hbWU6IHN0cmluZykge31cbn1cbi8qKiBwYXNzZXMgdGhyb3VnaCBldmVudHMgYXMgdGhleSBoYXBwZW4uIFlvdSB3aWxsIG5vdCBnZXQgZXZlbnRzIGZyb20gYmVmb3JlIHlvdSBzdGFydCBsaXN0ZW5pbmcgKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21FbGVtZW50RXZlbnQ8VD4ge1xuICAgIHByaXZhdGUgbGlzdGVuZXJzOiBMaXN0ZW5lcjxUPltdID0gW107XG4gICAgcHJpdmF0ZSBsaXN0ZW5lcnNPbmNlcjogTGlzdGVuZXI8VD5bXSA9IFtdO1xuXG4gICAgb24gPSAobGlzdGVuZXI6IExpc3RlbmVyPFQ+KTogRGlzcG9zYWJsZSA9PiB7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGlzcG9zZTogKCkgPT4gdGhpcy5vZmYobGlzdGVuZXIpLFxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBvbmNlID0gKGxpc3RlbmVyOiBMaXN0ZW5lcjxUPik6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmxpc3RlbmVyc09uY2VyLnB1c2gobGlzdGVuZXIpO1xuICAgIH07XG5cbiAgICBvZmYgPSAobGlzdGVuZXI6IExpc3RlbmVyPFQ+KSA9PiB7XG4gICAgICAgIHZhciBjYWxsYmFja0luZGV4ID0gdGhpcy5saXN0ZW5lcnMuaW5kZXhPZihsaXN0ZW5lcik7XG4gICAgICAgIGlmIChjYWxsYmFja0luZGV4ID4gLTEpIHRoaXMubGlzdGVuZXJzLnNwbGljZShjYWxsYmFja0luZGV4LCAxKTtcbiAgICB9O1xuXG4gICAgZW1pdCA9IChldmVudDogVCkgPT4ge1xuICAgICAgICAvKiogVXBkYXRlIGFueSBnZW5lcmFsIGxpc3RlbmVycyAqL1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKGxpc3RlbmVyID0+IGxpc3RlbmVyKGV2ZW50KSk7XG5cbiAgICAgICAgLyoqIENsZWFyIHRoZSBgb25jZWAgcXVldWUgKi9cbiAgICAgICAgaWYgKHRoaXMubGlzdGVuZXJzT25jZXIubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnNPbmNlci5mb3JFYWNoKGxpc3RlbmVyID0+IGxpc3RlbmVyKGV2ZW50KSk7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVyc09uY2VyID0gW107XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcGlwZSA9ICh0ZTogQ3VzdG9tRWxlbWVudEV2ZW50PFQ+KTogRGlzcG9zYWJsZSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9uKGUgPT4gdGUuZW1pdChlKSk7XG4gICAgfTtcbn1cbiIsImltcG9ydCB7IEN1c3RvbUVsZW1lbnRFdmVudCwgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gXCIuL0N1c3RvbUV2ZW50c1wiO1xuaW1wb3J0IE9wdGlvbldpdGhEZXNjcmlwdGlvbiBmcm9tIFwiLi9Nb2RlbHMvT3B0aW9uV2l0aERlc2NyaXB0aW9uXCI7XG5pbXBvcnQgQXJyYXlVdGlsIGZyb20gXCIuL1V0aWxpdGllcy9BcnJheVV0aWxcIjtcbmltcG9ydCBEb21VdGlsIGZyb20gXCIuL1V0aWxpdGllcy9Eb21VdGlsXCI7XG5cbmNsYXNzIElEaWN0aW9uYXJ5PFRWYWx1ZT4ge1xuXHRbaW5kZXg6IHN0cmluZ106IFRWYWx1ZTtcbn1cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDdXN0b21JbnB1dEVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG5cdHByaXZhdGUgZGVwZW5kZW50T25MaXN0ID0gbmV3IElEaWN0aW9uYXJ5PGJvb2xlYW4+KCk7XG5cdHByaXZhdGUgdmlzaWJpbGl0eVN0YXRlID0gdHJ1ZTtcblxuXHRwcm90ZWN0ZWQgdG91Y2hlZCA9IGZhbHNlO1xuXHRwcm90ZWN0ZWQgZG9tVXRpbDogRG9tVXRpbDtcblxuXHRwcm90ZWN0ZWQgaGFzVmFsdWVEZXBlbmRlbmN5OiBhbnk7XG5cdHByb3RlY3RlZCBub1ZhbHVlRGVwZW5kZW5jeTogYW55O1xuXHRwcm90ZWN0ZWQgZGVwZW5kZW5jaWVzOiBhbnlbXTtcblxuXHRwdWJsaWMgb25DaGFuZ2UgPSBuZXcgQ3VzdG9tRWxlbWVudEV2ZW50PEN1c3RvbUVsZW1lbnRFdmVudEFyZ3M+KCk7XG5cdHB1YmxpYyBvblZhbGlkYXRlID0gbmV3IEN1c3RvbUVsZW1lbnRFdmVudDxDdXN0b21FbGVtZW50RXZlbnRBcmdzPigpO1xuXHRwdWJsaWMgb25WaXNpYmlsaXR5Q2hhbmdlZCA9IG5ldyBDdXN0b21FbGVtZW50RXZlbnQ8Q3VzdG9tRWxlbWVudEV2ZW50QXJncz4oKTtcblxuXHRwdWJsaWMgbmFtZTogc3RyaW5nO1xuXHRwdWJsaWMgb3B0aW9uczogYW55W107XG5cdHB1YmxpYyBvcHRpb25zV2l0aERlc2NyaXB0aW9uczogT3B0aW9uV2l0aERlc2NyaXB0aW9uW107XG5cdHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcblx0cHVibGljIGN1c3RvbVZhbHVlOiBzdHJpbmc7XG5cdHB1YmxpYyBhbGxEZXBlbmRlbmNpZXNNdXN0QmVNZXQ6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIG11bHRpOiBib29sZWFuID0gZmFsc2U7XG5cdHB1YmxpYyBtYXg6IGFueTtcblx0cHVibGljIG1pbjogYW55O1xuXHRwdWJsaWMgc3RlcDogYW55O1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRhYnN0cmFjdCBnZXQgdmFsdWUoKTogYW55O1xuXHRhYnN0cmFjdCBzZXQgdmFsdWUodmFsdWUpO1xuXHRhYnN0cmFjdCBnZXQgdmFsaWQoKTogYm9vbGVhbjtcblxuXHRhYnN0cmFjdCBpbml0Q2hpbGRJbnB1dHMoKTogdm9pZDtcblx0YWJzdHJhY3QgdmFsaWRhdGUoKTogdm9pZDtcblx0YWJzdHJhY3QgY2hhbmdlKCRldmVudCk6IHZvaWQ7XG5cblx0Y29tcGFyZVZsYXVlcyA9IFtdO1xuXG5cdGlzVmFsdWVDb25kaXRpb25NYXRjaGVkKHZhbDogYW55KSB7XG5cdFx0aWYgKHZhbCAmJiBBcnJheS5pc0FycmF5KHZhbCkgJiYgdmFsLmxlbmd0aCkge1xuXHRcdFx0bGV0IHJlc3VsdCA9IGZhbHNlO1xuXHRcdFx0dmFsLmZvckVhY2goZWxlbWVudCA9PiB7XG5cdFx0XHRcdGNvbnN0IGVsZW1lbnRNYXRjaGVkID0gdGhpcy5jb21wYXJlVmxhdWVzLmZpbmRJbmRleCh4ID0+IHggPT0gZWxlbWVudCkgIT09IC0xO1xuXHRcdFx0XHRpZiAoZWxlbWVudE1hdGNoZWQpIHtcblx0XHRcdFx0XHRyZXN1bHQgPSB0cnVlO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5jb21wYXJlVmxhdWVzLmZpbmRJbmRleCh4ID0+IHggPT0gdmFsKSAhPT0gLTE7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHR0aGlzLmluaXQoKTtcblx0XHR0aGlzLnNldEF0dHJpYnV0ZXMoKTtcblx0fVxuXG5cdGluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5zdHlsZS53aWR0aCA9IFwiMTAwJVwiO1xuXHRcdHRoaXMuZG9tVXRpbCA9IG5ldyBEb21VdGlsKHRoaXMpO1xuXHRcdHRoaXMucGFyc2VEYXRhKCk7XG5cdFx0dGhpcy5pbml0Q2hpbGRJbnB1dHMoKTtcblx0XHR0aGlzLmJpbmRFdmVudHMoKTtcblx0XHR0aGlzLnNldEF0dHJpYnV0ZXMoKTtcblxuXHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLCAoKSA9PiB7XG5cdFx0XHR0aGlzLmJpbmREZXBlbmRlbmNpZXMoKTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgcGFyc2VEYXRhKCk6IHZvaWQge1xuXHRcdHRyeSB7XG5cdFx0XHRpZiAoISh0aGlzLmNoaWxkcmVuWzBdIGluc3RhbmNlb2YgSFRNTFNjcmlwdEVsZW1lbnQpKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGxldCBkYXRhID0gSlNPTi5wYXJzZSh0aGlzLmNoaWxkcmVuWzBdLmlubmVySFRNTCk7XG5cdFx0XHR0aGlzLm9wdGlvbnMgPSBkYXRhLm9wdGlvbnM7XG5cdFx0XHR0aGlzLm9wdGlvbnNXaXRoRGVzY3JpcHRpb25zID0gZGF0YS5vcHRpb25zV2l0aERlc2NyaXB0aW9ucztcblx0XHRcdHRoaXMuaGFzVmFsdWVEZXBlbmRlbmN5ID0gZGF0YS5oYXNWYWx1ZURlcGVuZGVuY3k7XG5cdFx0XHR0aGlzLm5vVmFsdWVEZXBlbmRlbmN5ID0gZGF0YS5ub1ZhbHVlRGVwZW5kZW5jeTtcblx0XHRcdHRoaXMuZGVwZW5kZW5jaWVzID0gZGF0YS5kZXBlbmRlbmNpZXM7XG5cdFx0XHR0aGlzLnJlcXVpcmVkID0gZGF0YS5yZXF1aXJlZDtcblx0XHRcdHRoaXMubmFtZSA9IGRhdGEubmFtZTtcblx0XHRcdHRoaXMuYWxsRGVwZW5kZW5jaWVzTXVzdEJlTWV0ID0gZGF0YS5hbGxEZXBlbmRlbmNpZXNNdXN0QmVNZXQ7XG5cdFx0XHR0aGlzLm11bHRpID0gZGF0YS5tdWx0aTtcblx0XHRcdHRoaXMubWF4ID0gZGF0YS5tYXg7XG5cdFx0XHR0aGlzLm1pbiA9IGRhdGEubWluO1xuXHRcdFx0dGhpcy5zdGVwID0gZGF0YS5zdGVwO1xuXHRcdFx0dGhpcy5jdXN0b21WYWx1ZSA9IGRhdGEudmFsdWU7XG5cdFx0fSBjYXRjaCAoZXgpIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoZXgpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYmluZEV2ZW50cygpOiB2b2lkIHtcblx0XHR0aGlzLm9uVmFsaWRhdGUub24oZSA9PiB7XG5cdFx0XHRpZiAodGhpcy52YWxpZCkge1xuXHRcdFx0XHRpZiAodGhpcy5jbG9zZXN0KCcuY3VzdG9tLXZhbGlkYXRpb24tdGFyZ2V0JykpIHtcblx0XHRcdFx0XHR0aGlzLmNsb3Nlc3QoJy5jdXN0b20tdmFsaWRhdGlvbi10YXJnZXQnKS5jbGFzc0xpc3QucmVtb3ZlKFwiaW52YWxpZFwiKTtcblx0XHRcdFx0XHR0aGlzLmNsb3Nlc3QoJy5jdXN0b20tdmFsaWRhdGlvbi10YXJnZXQnKS5jbGFzc0xpc3QuYWRkKFwidmFsaWRcIik7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmICh0aGlzLmNsb3Nlc3QoJy5jdXN0b20tdmFsaWRhdGlvbi10YXJnZXQnKSkge1xuXHRcdFx0XHRcdHRoaXMuY2xvc2VzdCgnLmN1c3RvbS12YWxpZGF0aW9uLXRhcmdldCcpLmNsYXNzTGlzdC5hZGQoXCJpbnZhbGlkXCIpO1xuXHRcdFx0XHRcdHRoaXMuY2xvc2VzdCgnLmN1c3RvbS12YWxpZGF0aW9uLXRhcmdldCcpLmNsYXNzTGlzdC5yZW1vdmUoXCJ2YWxpZFwiKTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmRvbVV0aWwuZm9jdXMoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHR0aGlzLm9uQ2hhbmdlLm9uKGUgPT4ge1xuXHRcdFx0aWYgKHRoaXMudG91Y2hlZCkge1xuXHRcdFx0XHR0aGlzLnZhbGlkYXRlKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIHNldEF0dHJpYnV0ZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRBdHRyaWJ1dGUoXCJjdXN0b20taW5wdXRcIiwgXCJcIik7XG5cdFx0dGhpcy5zZXRBdHRyaWJ1dGUoXCJuYW1lXCIsIHRoaXMubmFtZSk7XG5cdH1cblxuXHRwcml2YXRlIGJpbmREZXBlbmRlbmNpZXMoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuaGFzVmFsdWVEZXBlbmRlbmN5ICYmIHRoaXMuaGFzVmFsdWVEZXBlbmRlbmN5Lml0ZW1zLmxlbmd0aCkge1xuXHRcdFx0Zm9yIChjb25zdCBmaWVsZE5hbWUgb2YgdGhpcy5oYXNWYWx1ZURlcGVuZGVuY3kuaXRlbXMpIHtcblx0XHRcdFx0dGhpcy5iaW5kRGVwZW5kZW5jeShmaWVsZE5hbWUsIFwiaGFzXCIpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLm5vVmFsdWVEZXBlbmRlbmN5ICYmIHRoaXMubm9WYWx1ZURlcGVuZGVuY3kuaXRlbXMubGVuZ3RoKSB7XG5cdFx0XHRmb3IgKGNvbnN0IGZpZWxkTmFtZSBvZiB0aGlzLm5vVmFsdWVEZXBlbmRlbmN5Lml0ZW1zKSB7XG5cdFx0XHRcdHRoaXMuYmluZERlcGVuZGVuY3koZmllbGROYW1lLCBcIm5vXCIpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLmRlcGVuZGVuY2llcyAmJiB0aGlzLmRlcGVuZGVuY2llcy5sZW5ndGgpIHtcblx0XHRcdGZvciAoY29uc3QgaW5kZXggaW4gdGhpcy5kZXBlbmRlbmNpZXMpIHtcblx0XHRcdFx0aWYgKHRoaXMuZGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KGluZGV4KSkge1xuXHRcdFx0XHRcdGNvbnN0IGRlcGVuZGVuY3kgPSB0aGlzLmRlcGVuZGVuY2llc1tpbmRleF07XG5cdFx0XHRcdFx0Zm9yIChjb25zdCBmaWVsZE5hbWUgb2YgZGVwZW5kZW5jeS5pdGVtcykge1xuXHRcdFx0XHRcdFx0dGhpcy5iaW5kRGVwZW5kZW5jeShcblx0XHRcdFx0XHRcdFx0ZmllbGROYW1lLFxuXHRcdFx0XHRcdFx0XHRcImN1c3RvbVwiLFxuXHRcdFx0XHRcdFx0XHRkZXBlbmRlbmN5LnZhbHVlLFxuXHRcdFx0XHRcdFx0XHRkZXBlbmRlbmN5LmNyaXRlcmlhLFxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGJpbmREZXBlbmRlbmN5KGVsZW1lbnROYW1lOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgdmFsdWU/OiBzdHJpbmcsIGNyaXRlcmlhPzogc3RyaW5nLCk6IHZvaWQge1xuXHRcdGxldCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW25hbWU9XCIke2VsZW1lbnROYW1lfVwiXWApIGFzIEN1c3RvbUlucHV0RWxlbWVudDtcblx0XHRpZiAoZWxlbWVudCBpbnN0YW5jZW9mIEN1c3RvbUlucHV0RWxlbWVudCkge1xuXHRcdFx0ZWxlbWVudC5jb21wYXJlVmxhdWVzLnB1c2godmFsdWUpO1xuXHRcdFx0aWYgKHRoaXMuZGVwZW5kZW50T25MaXN0Lmhhc093blByb3BlcnR5KGVsZW1lbnQubmFtZSkpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0bGV0IGlzVmlzaWJsZUJ5RGVmYXVsdCA9IHR5cGUgPT09IFwibm9cIjtcblx0XHRcdGVsZW1lbnQuUmVnaXN0ZXJEZXBlbmRlbnRPbih0aGlzLm5hbWUsIGlzVmlzaWJsZUJ5RGVmYXVsdCk7XG5cdFx0XHR0aGlzLm9uQ2hhbmdlLm9uKGUgPT4ge1xuXHRcdFx0XHRsZXQgSXNDb25kaXRpb25NYXRjaGVkID0gZmFsc2U7XG5cdFx0XHRcdGlmICh0eXBlID09PSBcImhhc1wiKSB7XG5cdFx0XHRcdFx0SXNDb25kaXRpb25NYXRjaGVkID0gISFlLnZhbHVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0eXBlID09PSBcIm5vXCIpIHtcblx0XHRcdFx0XHRJc0NvbmRpdGlvbk1hdGNoZWQgPSAhZS52YWx1ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAodHlwZSA9PT0gXCJjdXN0b21cIikge1xuXHRcdFx0XHRcdGlmIChjcml0ZXJpYSA9PT0gXCJFeGFjdFwiKSB7XG5cdFx0XHRcdFx0XHRJc0NvbmRpdGlvbk1hdGNoZWQgPSBlbGVtZW50LmlzVmFsdWVDb25kaXRpb25NYXRjaGVkKGUudmFsdWUpO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoY3JpdGVyaWEgPT09IFwiTGVzc1RoYW5cIikge1xuXHRcdFx0XHRcdFx0SXNDb25kaXRpb25NYXRjaGVkID0gZS52YWx1ZSA8IHZhbHVlO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoY3JpdGVyaWEgPT09IFwiTW9yZVRoYW5cIikge1xuXHRcdFx0XHRcdFx0SXNDb25kaXRpb25NYXRjaGVkID0gZS52YWx1ZSA+IHZhbHVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRlbGVtZW50LkRlcGVuZGVudE9uU3RhdGVDaGFuZ2VkKHRoaXMubmFtZSwgSXNDb25kaXRpb25NYXRjaGVkKTtcblx0XHRcdH0pO1xuXHRcdFx0dGhpcy5vblZpc2liaWxpdHlDaGFuZ2VkLm9uKGUgPT4ge1xuXHRcdFx0XHRpZiAodGhpcy52aXNpYmlsaXR5U3RhdGUpIHtcblx0XHRcdFx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQoXG5cdFx0XHRcdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCBcImNoYW5nZVwiKSxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGVsZW1lbnQuRGVwZW5kZW50T25TdGF0ZUNoYW5nZWQodGhpcy5uYW1lLCBmYWxzZSk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgc2V0VmlzaWJpbGl0eSgpIHtcblx0XHRpZiAodGhpcy5hbGxEZXBlbmRlbmNpZXNNdXN0QmVNZXQpIHtcblx0XHRcdHRoaXMudmlzaWJpbGl0eVN0YXRlID0gT2JqZWN0LnZhbHVlcyh0aGlzLmRlcGVuZGVudE9uTGlzdCkuZXZlcnkoc3RhdGUgPT4gc3RhdGUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnZpc2liaWxpdHlTdGF0ZSA9IE9iamVjdC52YWx1ZXModGhpcy5kZXBlbmRlbnRPbkxpc3QpLnNvbWUoc3RhdGUgPT4gc3RhdGUpO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLnZpc2liaWxpdHlTdGF0ZSkge1xuXHRcdFx0dGhpcy5zaG93KCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuaGlkZSgpO1xuXHRcdH1cblx0XHR0aGlzLm9uVmlzaWJpbGl0eUNoYW5nZWQuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCBcIlZpc2liaWxpdHlDaGFuZ2VkXCIpKTtcblx0fVxuXG5cdHByaXZhdGUgaGlkZSgpIHtcblx0XHR0aGlzLnNldEF0dHJpYnV0ZShcImhpZGRlblwiLCBcIlwiKTtcblx0XHRpZiAodGhpcy5jbG9zZXN0KCcuY3VzdG9tLXZhbGlkYXRpb24tdGFyZ2V0JykpIHtcblx0XHRcdHRoaXMuY2xvc2VzdCgnLmN1c3RvbS12YWxpZGF0aW9uLXRhcmdldCcpLnNldEF0dHJpYnV0ZShcImhpZGRlblwiLCBcIlwiKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHNob3coKSB7XG5cdFx0dGhpcy5yZW1vdmVBdHRyaWJ1dGUoXCJoaWRkZW5cIik7XG5cdFx0aWYgKHRoaXMuY2xvc2VzdCgnLmN1c3RvbS12YWxpZGF0aW9uLXRhcmdldCcpKSB7XG5cdFx0XHR0aGlzLmNsb3Nlc3QoJy5jdXN0b20tdmFsaWRhdGlvbi10YXJnZXQnKS5yZW1vdmVBdHRyaWJ1dGUoXCJoaWRkZW5cIik7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGdldENoaWxkSW5wdXQoc2VsZWN0b3I6IHN0cmluZyk6IEhUTUxJbnB1dEVsZW1lbnQge1xuXHRcdGxldCBlbGVtZW50OiBhbnkgPSB0aGlzO1xuXHRcdGlmICh0aGlzLnNoYWRvd1Jvb3QpIHtcblx0XHRcdGVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q7XG5cdFx0fVxuXHRcdHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cdH1cblxuXHRwcm90ZWN0ZWQgZ2V0Q2hpbGRJbnB1dHMoc2VsZWN0b3I6IHN0cmluZyk6IEhUTUxJbnB1dEVsZW1lbnRbXSB7XG5cdFx0bGV0IGVsZW1lbnQ6IGFueSA9IHRoaXM7XG5cdFx0aWYgKHRoaXMuc2hhZG93Um9vdCkge1xuXHRcdFx0ZWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdDtcblx0XHR9XG5cdFx0cmV0dXJuIEFycmF5VXRpbC5Gcm9tTm9kZUxpc3QoXG5cdFx0XHRlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpLFxuXHRcdCkgYXMgSFRNTElucHV0RWxlbWVudFtdO1xuXHR9XG5cblx0cHJvdGVjdGVkIGdldENoaWxkRWxlbWVudChzZWxlY3Rvcjogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xuXHRcdGxldCBlbGVtZW50OiBhbnkgPSB0aGlzO1xuXHRcdGlmICh0aGlzLnNoYWRvd1Jvb3QpIHtcblx0XHRcdGVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q7XG5cdFx0fVxuXHRcdHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpIGFzIEhUTUxFbGVtZW50O1xuXHR9XG5cblx0cHJvdGVjdGVkIGdldENoaWxkRWxlbWVudHMoc2VsZWN0b3I6IHN0cmluZyk6IEhUTUxFbGVtZW50W10ge1xuXHRcdGxldCBlbGVtZW50OiBhbnkgPSB0aGlzO1xuXHRcdGlmICh0aGlzLnNoYWRvd1Jvb3QpIHtcblx0XHRcdGVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q7XG5cdFx0fVxuXHRcdHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpIGFzIEhUTUxFbGVtZW50W107XG5cdH1cblxuXHRwdWJsaWMgUmVnaXN0ZXJEZXBlbmRlbnRPbihuYW1lOiBzdHJpbmcsIGluaXRpYWxWYWx1ZTogYm9vbGVhbiA9IGZhbHNlKSB7XG5cdFx0dGhpcy5kZXBlbmRlbnRPbkxpc3RbbmFtZV0gPSBpbml0aWFsVmFsdWU7XG5cdFx0dGhpcy5zZXRWaXNpYmlsaXR5KCk7XG5cdH1cblxuXHRwdWJsaWMgRGVwZW5kZW50T25TdGF0ZUNoYW5nZWQobmFtZTogc3RyaW5nLCBzdGF0ZTogYm9vbGVhbikge1xuXHRcdGlmICh0aGlzLmRlcGVuZGVudE9uTGlzdC5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xuXHRcdFx0dGhpcy5kZXBlbmRlbnRPbkxpc3RbbmFtZV0gPSBzdGF0ZTtcblx0XHR9XG5cdFx0dGhpcy5zZXRWaXNpYmlsaXR5KCk7XG5cdH1cbn1cbiIsImV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIEJhc2VEaWN0aW9uYXJ5IHtcblx0YWJzdHJhY3QgZGljdGlvbmFyeTogYW55O1xuXG5cdGdldChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0Y29uc3Qga2V5UGFydHMgPSBrZXkuc3BsaXQoJy4nKTtcblx0XHR2YXIgcmVzdWx0OiBzdHJpbmcgfCBhbnkgPSB0aGlzLmRpY3Rpb25hcnk7XG5cdFx0a2V5UGFydHMuZm9yRWFjaChrZXlQYXJ0ID0+IHtcblx0XHRcdHJlc3VsdCA9IHJlc3VsdFtrZXlQYXJ0XTtcblx0XHRcdGlmICghcmVzdWx0KSB7XG5cdFx0XHRcdHJlc3VsdCA9IGtleTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDemVjaERpY3Rpb25hcnkgZXh0ZW5kcyBCYXNlRGljdGlvbmFyeSB7XG5cbiAgICBkaWN0aW9uYXJ5OiBhbnkgPSB7XG4gICAgICAgIEFkZHJlc3NFbGVtZW50OiB7XG4gICAgICAgICAgICBBZGRyZXNzOiBcImFkcmVzYVwiLFxuICAgICAgICAgICAgQ2l0eTogXCJtxJtzdG9cIixcbiAgICAgICAgICAgIENvdW50cnk6IFwiemVtxJtcIixcbiAgICAgICAgICAgIFppcDogXCJwb8WhdG92bsOtIHNtxJtyb3ZhY8OtIMSNw61zbG9cIlxuICAgICAgICB9LFxuICAgICAgICBCYW5rRWxlbWVudDoge1xuICAgICAgICAgICAgQWNjb3VudDogXCLDmsSNZXRcIixcbiAgICAgICAgICAgIFJlZ2lzdHJhdGlvbk51bWJlcjogXCJSZWdpc3RyYcSNbsOtIMSNw61zbG9cIlxuICAgICAgICB9XG4gICAgfTtcblxufVxuIiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGFuaXNoRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuXHRkaWN0aW9uYXJ5OiBhbnkgPSB7XG5cdFx0QWRkcmVzc0VsZW1lbnQ6IHtcblx0XHRcdEFkZHJlc3M6IFwiYWRyZXNzZVwiLFxuXHRcdFx0Q2l0eTogXCJieVwiLFxuXHRcdFx0Q291bnRyeTogXCJsYW5kXCIsXG5cdFx0XHRaaXA6IFwicG9zdG51bW1lclwiXG5cdFx0fSxcblx0XHRCYW5rRWxlbWVudDoge1xuXHRcdFx0QWNjb3VudDogXCJLb250b251bW1lclwiLFxuXHRcdFx0UmVnaXN0cmF0aW9uTnVtYmVyOiBcIlJlZ2lzdHJlcmluZ3NudW1tZXJcIlxuXHRcdH1cblx0fTtcblxufSIsImltcG9ydCBCYXNlRGljdGlvbmFyeSBmcm9tIFwiLi9CYXNlL0Jhc2VEaWN0aW9uYXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIER1dGNoRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuICAgIGRpY3Rpb25hcnk6IGFueSA9IHtcbiAgICAgICAgQWRkcmVzc0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFkZHJlc3M6IFwiYWRyZXNcIixcbiAgICAgICAgICAgIENpdHk6IFwic3RhZFwiLFxuICAgICAgICAgICAgQ291bnRyeTogXCJsYW5kXCIsXG4gICAgICAgICAgICBaaXA6IFwicG9zdGNvZGVcIlxuICAgICAgICB9LFxuICAgICAgICBCYW5rRWxlbWVudDoge1xuICAgICAgICAgICAgQWNjb3VudDogXCJCYW5rcmVrZW5pbmdcIixcbiAgICAgICAgICAgIFJlZ2lzdHJhdGlvbk51bWJlcjogXCJCYW5rcmVrZW5pbmcgUmVnaXN0cmF0aWVudW1tZXJcIlxuICAgICAgICB9XG4gICAgfTtcbiAgICBcbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbmdsaXNoRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuXHRkaWN0aW9uYXJ5OiBhbnkgPSB7XG5cdFx0QWRkcmVzc0VsZW1lbnQ6IHtcblx0XHRcdEFkZHJlc3M6IFwiYWRkcmVzc1wiLFxuXHRcdFx0Q2l0eTogXCJjaXR5XCIsXG5cdFx0XHRDb3VudHJ5OiBcImNvdW50cnlcIixcblx0XHRcdFppcDogXCJ6aXBcIlxuXHRcdH0sXG5cdFx0QmFua0VsZW1lbnQ6IHtcblx0XHRcdEFjY291bnQ6IFwiQmFuayBBY2NvdW50XCIsXG5cdFx0XHRSZWdpc3RyYXRpb25OdW1iZXI6IFwiQmFuayBBY2NvdW50IFJlZ2lzdHJhdGlvbiBOdW1iZXJcIlxuXHRcdH1cblx0fTtcblxufVxuIiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXN0b25pYW5EaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJhYWRyZXNzXCIsXG4gICAgICAgICAgICBDaXR5OiBcImxpbm5cIixcbiAgICAgICAgICAgIENvdW50cnk6IFwicmlpa1wiLFxuICAgICAgICAgICAgWmlwOiBcInBvc3RpaW5kZWtzXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiUGFuZ2Frb250b1wiLFxuICAgICAgICAgICAgUmVnaXN0cmF0aW9uTnVtYmVyOiBcIlBhbmdha29udG8gcmVnaXN0cmVlcmltaXNudW1iZXJcIlxuICAgICAgICB9XG4gICAgfTtcbiAgICBcbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaW5uaXNoRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcbiAgICBcbiAgICBkaWN0aW9uYXJ5OiBhbnkgPSB7XG4gICAgICAgIEFkZHJlc3NFbGVtZW50OiB7XG4gICAgICAgICAgICBBZGRyZXNzOiBcIm9zb2l0ZVwiLFxuICAgICAgICAgICAgQ2l0eTogXCJrYXVwdW5raVwiLFxuICAgICAgICAgICAgQ291bnRyeTogXCJtYWFcIixcbiAgICAgICAgICAgIFppcDogXCJwb3N0aW51bWVyb1wiXG4gICAgICAgIH0sXG4gICAgICAgIEJhbmtFbGVtZW50OiB7XG4gICAgICAgICAgICBBY2NvdW50OiBcIlBhbmtraXRpbGlcIixcbiAgICAgICAgICAgIFJlZ2lzdHJhdGlvbk51bWJlcjogXCJQYW5ra2l0aWxpbiByZWtpc3RlcsO2aW50aW51bWVyb1wiXG4gICAgICAgIH1cbiAgICB9O1xuICAgIFxufSIsImltcG9ydCBCYXNlRGljdGlvbmFyeSBmcm9tIFwiLi9CYXNlL0Jhc2VEaWN0aW9uYXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZyZW5jaERpY3Rpb25hcnkgZXh0ZW5kcyBCYXNlRGljdGlvbmFyeSB7XG5cbiAgICBkaWN0aW9uYXJ5OiBhbnkgPSB7XG4gICAgICAgIEFkZHJlc3NFbGVtZW50OiB7XG4gICAgICAgICAgICBBZGRyZXNzOiBcImFkcmVzc2VcIixcbiAgICAgICAgICAgIENpdHk6IFwidmlsbGVcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwicGF5c1wiLFxuICAgICAgICAgICAgWmlwOiBcImNvZGUgcG9zdGFsXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiQ29tcHRlIGJhbmNhaXJlXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiTnVtw6lybyBkJ2VucmVnaXN0cmVtZW50IGR1IGNvbXB0ZSBiYW5jYWlyZVwiXG4gICAgICAgIH1cbiAgICB9O1xuXG59IiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2VybWFuRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuICAgIGRpY3Rpb25hcnk6IGFueSA9IHtcbiAgICAgICAgQWRkcmVzc0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFkZHJlc3M6IFwiQWRyZXNzZVwiLFxuICAgICAgICAgICAgQ2l0eTogXCJTdGFkdFwiLFxuICAgICAgICAgICAgQ291bnRyeTogXCJMYW5kXCIsXG4gICAgICAgICAgICBaaXA6IFwiUG9zdGxlaXR6YWhsXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiQmFua2tvbnRvXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiQmFua2tvbnRvcmVnaXN0cmllcnVuZ3NudW1tZXJcIlxuICAgICAgICB9XG4gICAgfTtcbiAgICBcbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHcmVla0RpY3Rpb25hcnkgZXh0ZW5kcyBCYXNlRGljdGlvbmFyeSB7XG5cbiAgICBkaWN0aW9uYXJ5OiBhbnkgPSB7XG4gICAgICAgIEFkZHJlc3NFbGVtZW50OiB7XG4gICAgICAgICAgICBBZGRyZXNzOiBcIs60zrnOtc+NzrjPhc69z4POt1wiLFxuICAgICAgICAgICAgQ2l0eTogXCLPgM+MzrvOt1wiLFxuICAgICAgICAgICAgQ291bnRyeTogXCLPh8+Oz4HOsVwiLFxuICAgICAgICAgICAgWmlwOiBcIs+EzrHPh8+FzrTPgc6/zrzOuc66z4zPgiDOus+OzrTOuc66zrHPglwiXG4gICAgICAgIH0sXG4gICAgICAgIEJhbmtFbGVtZW50OiB7XG4gICAgICAgICAgICBBY2NvdW50OiBcIs6kz4HOsc+AzrXOts65zrrPjM+CIM67zr/Os86xz4HOuc6xz4POvM+Mz4JcIixcbiAgICAgICAgICAgIFJlZ2lzdHJhdGlvbk51bWJlcjogXCLOkc+BzrnOuM68z4zPgiDOtc6zzrPPgc6xz4bOrs+CIM+Ez4HOsc+AzrXOts65zrrOv8+NIM67zr/Os86xz4HOuc6xz4POvM6/z41cIlxuICAgICAgICB9XG4gICAgfTtcbiAgICBcbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIdW5nYXJpYW5EaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJjw61tXCIsXG4gICAgICAgICAgICBDaXR5OiBcInbDoXJvc1wiLFxuICAgICAgICAgICAgQ291bnRyeTogXCJvcnN6w6FnXCIsXG4gICAgICAgICAgICBaaXA6IFwiaXLDoW55w610w7NzesOhbVwiXG4gICAgICAgIH0sXG4gICAgICAgIEJhbmtFbGVtZW50OiB7XG4gICAgICAgICAgICBBY2NvdW50OiBcIkJhbmtpIHN6w6FtbGFcIixcbiAgICAgICAgICAgIFJlZ2lzdHJhdGlvbk51bWJlcjogXCJCYW5raSBzesOhbWxhIHJlZ2lzenRyw6FjacOzcyBzesOhbWFcIlxuICAgICAgICB9XG4gICAgfTtcbiAgICBcbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJY2VsYW5kaWNEaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJoZWltaWxpc2ZhbmdcIixcbiAgICAgICAgICAgIENpdHk6IFwiYm9yZ1wiLFxuICAgICAgICAgICAgQ291bnRyeTogXCJsYW5kXCIsXG4gICAgICAgICAgICBaaXA6IFwicMOzc3Ruw7ptZXJcIlxuICAgICAgICB9LFxuICAgICAgICBCYW5rRWxlbWVudDoge1xuICAgICAgICAgICAgQWNjb3VudDogXCJCYW5rYXJlaWtuaW5ndXJcIixcbiAgICAgICAgICAgIFJlZ2lzdHJhdGlvbk51bWJlcjogXCJOw7ptZXIgc2tyw6FuaW5nYXIgw6EgYmFua2FyZWlrbmluZ2lcIlxuICAgICAgICB9XG4gICAgfTtcblxufSIsImltcG9ydCBCYXNlRGljdGlvbmFyeSBmcm9tIFwiLi9CYXNlL0Jhc2VEaWN0aW9uYXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEl0YWxpYW5EaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJpbmRpcml6em9cIixcbiAgICAgICAgICAgIENpdHk6IFwiY2l0dMOgXCIsXG4gICAgICAgICAgICBDb3VudHJ5OiBcIm5hemlvbmVcIixcbiAgICAgICAgICAgIFppcDogXCJjb2RpY2UgcG9zdGFsZVwiXG4gICAgICAgIH0sXG4gICAgICAgIEJhbmtFbGVtZW50OiB7XG4gICAgICAgICAgICBBY2NvdW50OiBcImNvbnRvIGJhbmNhcmlvXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiTnVtZXJvIGRpIHJlZ2lzdHJhemlvbmUgZGVsIGNvbnRvIGJhbmNhcmlvXCJcbiAgICAgICAgfVxuICAgIH07XG4gICAgXG59IiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGF0dmlhbkRpY3Rpb25hcnkgZXh0ZW5kcyBCYXNlRGljdGlvbmFyeSB7XG5cbiAgICBkaWN0aW9uYXJ5OiBhbnkgPSB7XG4gICAgICAgIEFkZHJlc3NFbGVtZW50OiB7XG4gICAgICAgICAgICBBZGRyZXNzOiBcImFkcmVzZVwiLFxuICAgICAgICAgICAgQ2l0eTogXCJwaWxzxJN0YVwiLFxuICAgICAgICAgICAgQ291bnRyeTogXCJ2YWxzdHNcIixcbiAgICAgICAgICAgIFppcDogXCJwYXN0YSBpbmRla3NzXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiQmFua2FzIGtvbnRzXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiQmFua2FzIGtvbnRhIHJlxKNpc3RyxIFjaWphcyBudW11cnNcIlxuICAgICAgICB9XG4gICAgfTtcbiAgICBcbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaXR1YW5pYW5EaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJhZHJlc2FzXCIsXG4gICAgICAgICAgICBDaXR5OiBcIm1pZXN0YXNcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwixaFhbGlzXCIsXG4gICAgICAgICAgICBaaXA6IFwicGHFoXRvIGtvZGFzXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiQmFua28gc8SFc2thaXRhXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiQmFua28gc8SFc2thaXRvcyByZWdpc3RyYWNpam9zIG51bWVyaXNcIlxuICAgICAgICB9XG4gICAgfTtcblxufSIsImltcG9ydCBCYXNlRGljdGlvbmFyeSBmcm9tIFwiLi9CYXNlL0Jhc2VEaWN0aW9uYXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5vcndlZ2lhbkRpY3Rpb25hcnkgZXh0ZW5kcyBCYXNlRGljdGlvbmFyeSB7XG5cbiAgICBkaWN0aW9uYXJ5OiBhbnkgPSB7XG4gICAgICAgIEFkZHJlc3NFbGVtZW50OiB7XG4gICAgICAgICAgICBBZGRyZXNzOiBcImFkcmVzc2VcIixcbiAgICAgICAgICAgIENpdHk6IFwiYnlcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwibGFuZFwiLFxuICAgICAgICAgICAgWmlwOiBcInBvc3RudW1tZXJcIlxuICAgICAgICB9LFxuICAgICAgICBCYW5rRWxlbWVudDoge1xuICAgICAgICAgICAgQWNjb3VudDogXCJCYW5ra29udG9cIixcbiAgICAgICAgICAgIFJlZ2lzdHJhdGlvbk51bWJlcjogXCJSZWdpc3RyZXJpbmdzbnVtbWVyIGZvciBiYW5ra29udG9cIlxuICAgICAgICB9XG4gICAgfTtcbiAgICBcbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQb2xpc2hEaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJhZHJlc1wiLFxuICAgICAgICAgICAgQ2l0eTogXCJtaWFzdG9cIixcbiAgICAgICAgICAgIENvdW50cnk6IFwia3JhalwiLFxuICAgICAgICAgICAgWmlwOiBcImtvZCBwb2N6dG93eVwiXG4gICAgICAgIH0sXG4gICAgICAgIEJhbmtFbGVtZW50OiB7XG4gICAgICAgICAgICBBY2NvdW50OiBcIktvbnRvIGJhbmtvd2VcIixcbiAgICAgICAgICAgIFJlZ2lzdHJhdGlvbk51bWJlcjogXCJOdW1lciByZWplc3RyYWN5am55IGtvbnRhIGJhbmtvd2Vnb1wiXG4gICAgICAgIH1cbiAgICB9O1xuICAgIFxufSIsImltcG9ydCBCYXNlRGljdGlvbmFyeSBmcm9tIFwiLi9CYXNlL0Jhc2VEaWN0aW9uYXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBvcnR1Z3Vlc2VEaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJlbmRlcmXDp29cIixcbiAgICAgICAgICAgIENpdHk6IFwiY2lkYWRlXCIsXG4gICAgICAgICAgICBDb3VudHJ5OiBcInBhw61zXCIsXG4gICAgICAgICAgICBaaXA6IFwiY8OzZGlnbyBwb3N0YWxcIlxuICAgICAgICB9LFxuICAgICAgICBCYW5rRWxlbWVudDoge1xuICAgICAgICAgICAgQWNjb3VudDogXCJDb250YSBiYW5jw6FyaWFcIixcbiAgICAgICAgICAgIFJlZ2lzdHJhdGlvbk51bWJlcjogXCJOw7ptZXJvIGRlIHJlZ2lzdHJvIGRhIGNvbnRhIGJhbmPDoXJpYVwiXG4gICAgICAgIH1cbiAgICB9O1xuICAgIFxufSIsImltcG9ydCBCYXNlRGljdGlvbmFyeSBmcm9tIFwiLi9CYXNlL0Jhc2VEaWN0aW9uYXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNwYW5pc2hEaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJkaXJlY2Npw7NuXCIsXG4gICAgICAgICAgICBDaXR5OiBcImNpdWRhZFwiLFxuICAgICAgICAgICAgQ291bnRyeTogXCJwYcOtc1wiLFxuICAgICAgICAgICAgWmlwOiBcImPDs2RpZ28gcG9zdGFsXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiQ3VlbnRhIGJhbmNhcmlhXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiTsO6bWVybyBkZSByZWdpc3RybyBkZSBjdWVudGEgYmFuY2FyaWFcIlxuICAgICAgICB9XG4gICAgfTtcbiAgICBcbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTd2VkaXNoRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuICAgIGRpY3Rpb25hcnk6IGFueSA9IHtcbiAgICAgICAgQWRkcmVzc0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFkZHJlc3M6IFwiYWRyZXNzXCIsXG4gICAgICAgICAgICBDaXR5OiBcInN0YWRcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwibGFuZFwiLFxuICAgICAgICAgICAgWmlwOiBcInBvc3RudW1tZXJcIlxuICAgICAgICB9LFxuICAgICAgICBCYW5rRWxlbWVudDoge1xuICAgICAgICAgICAgQWNjb3VudDogXCJCYW5ra29udG9cIixcbiAgICAgICAgICAgIFJlZ2lzdHJhdGlvbk51bWJlcjogXCJCYW5ra29udG9yZWdpc3RyZXJpbmdzbnVtbWVyXCJcbiAgICAgICAgfVxuICAgIH07XG4gICAgXG59IiwiaW1wb3J0IERhbmlzaERpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0RhbmlzaERpY3Rpb25hcnlcIjtcbmltcG9ydCBFbmdsaXNoRGljdGlvbmFyeSBmcm9tIFwiLi9MYW5ndWFnZXMvRW5nbGlzaERpY3Rpb25hcnlcIjtcbmltcG9ydCBDemVjaERpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0N6ZWNoRGljdGlvbmFyeVwiO1xuaW1wb3J0IEdlcm1hbkRpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0dlcm1hbkRpY3Rpb25hcnlcIjtcbmltcG9ydCBHcmVla0RpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0dyZWVrRGljdGlvbmFyeVwiO1xuaW1wb3J0IFNwYW5pc2hEaWN0aW9uYXJ5IGZyb20gXCIuL0xhbmd1YWdlcy9TcGFuaXNoRGljdGlvbmFyeVwiO1xuaW1wb3J0IEVzdG9uaWFuRGljdGlvbmFyeSBmcm9tIFwiLi9MYW5ndWFnZXMvRXN0b25pYW5EaWN0aW9uYXJ5XCI7XG5pbXBvcnQgRmlubmlzaERpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0Zpbm5pc2hEaWN0aW9uYXJ5XCI7XG5pbXBvcnQgRnJlbmNoRGljdGlvbmFyeSBmcm9tIFwiLi9MYW5ndWFnZXMvRnJlbmNoRGljdGlvbmFyeVwiO1xuaW1wb3J0IEh1bmdhcmlhbkRpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0h1bmdhcmlhbkRpY3Rpb25hcnlcIjtcbmltcG9ydCBJY2VsYW5kaWNEaWN0aW9uYXJ5IGZyb20gXCIuL0xhbmd1YWdlcy9JY2VsYW5kaWNEaWN0aW9uYXJ5XCI7XG5pbXBvcnQgSXRhbGlhbkRpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0l0YWxpYW5EaWN0aW9uYXJ5XCI7XG5pbXBvcnQgTGF0dmlhbkRpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0xhdHZpYW5EaWN0aW9uYXJ5XCI7XG5pbXBvcnQgTGl0dWFuaWFuRGljdGlvbmFyeSBmcm9tIFwiLi9MYW5ndWFnZXMvTGl0dWFuaWFuRGljdGlvbmFyeVwiO1xuaW1wb3J0IER1dGNoRGljdGlvbmFyeSBmcm9tIFwiLi9MYW5ndWFnZXMvRHV0Y2hEaWN0aW9uYXJ5XCI7XG5pbXBvcnQgTm9yd2VnaWFuRGljdGlvbmFyeSBmcm9tIFwiLi9MYW5ndWFnZXMvTm9yd2VnaWFuRGljdGlvbmFyeVwiO1xuaW1wb3J0IFBvbGlzaERpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL1BvbGlzaERpY3Rpb25hcnlcIjtcbmltcG9ydCBQb3J0dWd1ZXNlRGljdGlvbmFyeSBmcm9tIFwiLi9MYW5ndWFnZXMvUG9ydHVndWVzZURpY3Rpb25hcnlcIjtcbmltcG9ydCBTd2VkaXNoRGljdGlvbmFyeSBmcm9tIFwiLi9MYW5ndWFnZXMvU3dlZGlzaERpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHJhbnNsYXRvciB7XG5cdHByaXZhdGUgc3RhdGljIGxhbmdhdWdlcyA9IFtcblx0XHQnZW4nLFxuXHRcdCdkYScsXG4gICAgICAgICdjcycsXG4gICAgICAgICdkZScsXG4gICAgICAgICdlbCcsXG4gICAgICAgICdlcycsXG4gICAgICAgICdldCcsXG4gICAgICAgICdmaScsXG4gICAgICAgICdmcicsXG4gICAgICAgICdodScsXG4gICAgICAgICdpcycsXG4gICAgICAgICdpdCcsXG4gICAgICAgICdsdCcsXG4gICAgICAgICdsdicsXG4gICAgICAgICdubCcsXG4gICAgICAgICdubycsXG4gICAgICAgICdwbCcsXG4gICAgICAgICdwdCcsXG4gICAgICAgICdzdicsXG5cdF07XG5cblx0cHJpdmF0ZSBzdGF0aWMgZGFuaXNoRGljdGlvbmFyeSA9IG5ldyBEYW5pc2hEaWN0aW9uYXJ5KCk7XG5cdHByaXZhdGUgc3RhdGljIGVuZ2xpc2hEaWN0aW9uYXJ5ID0gbmV3IEVuZ2xpc2hEaWN0aW9uYXJ5KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgY3plY2hEaWN0aW9uYXJ5ID0gbmV3IEN6ZWNoRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIGdlcm1hbkRpY3Rpb25hcnkgPSBuZXcgR2VybWFuRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIGdyZWVrRGljdGlvbmFyeSA9IG5ldyBHcmVla0RpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBzcGFuaXNoRGljdGlvbmFyeSA9IG5ldyBTcGFuaXNoRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIGVzdG9uaWFuRGljdGlvbmFyeSA9IG5ldyBFc3RvbmlhbkRpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBmaW5uaXNoRGljdGlvbmFyeSA9IG5ldyBGaW5uaXNoRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIGZyZW5jaERpY3Rpb25hcnkgPSBuZXcgRnJlbmNoRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIGh1bmdhcmlhbkRpY3Rpb25hcnkgPSBuZXcgSHVuZ2FyaWFuRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIGljZWxhbmRpY0RpY3Rpb25hcnkgPSBuZXcgSWNlbGFuZGljRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIGl0YWxpYW5EaWN0aW9uYXJ5ID0gbmV3IEl0YWxpYW5EaWN0aW9uYXJ5KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgbGF0dmlhbkRpY3Rpb25hcnkgPSBuZXcgTGF0dmlhbkRpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBsaXR1YW5pYW5EaWN0aW9uYXJ5ID0gbmV3IExpdHVhbmlhbkRpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBkdXRjaERpY3Rpb25hcnkgPSBuZXcgRHV0Y2hEaWN0aW9uYXJ5KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgbm9yd2VnaWFuRGljdGlvbmFyeSA9IG5ldyBOb3J3ZWdpYW5EaWN0aW9uYXJ5KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgcG9saXNoRGljdGlvbmFyeSA9IG5ldyBQb2xpc2hEaWN0aW9uYXJ5KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgcG9ydHVndWVzZURpY3Rpb25hcnkgPSBuZXcgUG9ydHVndWVzZURpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBzd2VkaXNoRGljdGlvbmFyeSA9IG5ldyBTd2VkaXNoRGljdGlvbmFyeSgpO1xuXG5cdHN0YXRpYyBUcmFuc2xhdGUoa2V5OiBzdHJpbmcsIGxhbmd1YWdlID0gJ2RhJyk6IHN0cmluZyB7XG5cdFx0bGFuZ3VhZ2UgPSBsYW5ndWFnZS50b0xvd2VyQ2FzZSgpO1xuXHRcdGNvbnN0IGlzU3VwcG9ydGVkTGFuZ3VhZ2UgPSBUcmFuc2xhdG9yLmxhbmdhdWdlcy5pbmRleE9mKGxhbmd1YWdlKSAhPSAtMTtcblx0XHRpZiAoIWlzU3VwcG9ydGVkTGFuZ3VhZ2UpIHtcblx0XHRcdGxhbmd1YWdlID0gJ2RhJ1xuXHRcdH1cblx0XHRzd2l0Y2ggKGxhbmd1YWdlKSB7XG5cdFx0XHRjYXNlICdkYSc6XG5cdFx0XHRcdHJldHVybiB0aGlzLmRhbmlzaERpY3Rpb25hcnkuZ2V0KGtleSk7XG5cdFx0XHRjYXNlICdlbic6XG5cdFx0XHRcdHJldHVybiB0aGlzLmVuZ2xpc2hEaWN0aW9uYXJ5LmdldChrZXkpO1xuICAgICAgICAgICAgY2FzZSAnY3MnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmN6ZWNoRGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgIGNhc2UgJ2RlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXJtYW5EaWN0aW9uYXJ5LmdldChrZXkpO1xuICAgICAgICAgICAgY2FzZSAnZWwnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdyZWVrRGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgIGNhc2UgJ2VzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zcGFuaXNoRGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgIGNhc2UgJ2V0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lc3RvbmlhbkRpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdmaSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlubmlzaERpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdmcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZnJlbmNoRGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgIGNhc2UgJ2h1JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odW5nYXJpYW5EaWN0aW9uYXJ5LmdldChrZXkpO1xuICAgICAgICAgICAgY2FzZSAnaXMnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmljZWxhbmRpY0RpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdpdCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRhbGlhbkRpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdsdCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubGF0dmlhbkRpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdsdic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubGl0dWFuaWFuRGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgIGNhc2UgJ25sJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kdXRjaERpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdubyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubm9yd2VnaWFuRGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgIGNhc2UgJ3BsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wb2xpc2hEaWN0aW9uYXJ5LmdldChrZXkpO1xuICAgICAgICAgICAgY2FzZSAncHQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnBvcnR1Z3Vlc2VEaWN0aW9uYXJ5LmdldChrZXkpO1xuICAgICAgICAgICAgY2FzZSAnc3YnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnN3ZWRpc2hEaWN0aW9uYXJ5LmdldChrZXkpO1xuXHRcdH1cblx0fVxufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEF0dHJpYnV0ZU5hbWVzUG9seWZpbGwoKSB7XG5cdGlmIChFbGVtZW50LnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOYW1lcyA9PSB1bmRlZmluZWQpIHtcblx0XHRFbGVtZW50LnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVOYW1lcyA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdHZhciBhdHRyaWJ1dGVzID0gdGhpcy5hdHRyaWJ1dGVzO1xuXHRcdFx0dmFyIGxlbmd0aCA9IGF0dHJpYnV0ZXMubGVuZ3RoO1xuXHRcdFx0dmFyIHJlc3VsdCA9IG5ldyBBcnJheShsZW5ndGgpO1xuXHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuXHRcdFx0XHRyZXN1bHRbaV0gPSBhdHRyaWJ1dGVzW2ldLm5hbWU7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH07XG5cdH1cbn07XG4iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBBcnJheVV0aWwge1xuXHRwdWJsaWMgc3RhdGljIEZyb21Ob2RlTGlzdDxUIGV4dGVuZHMgTm9kZT4obGlzdDogTm9kZUxpc3RPZjxUPik6IFRbXSB7XG5cdFx0cmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sIGxpc3QgYXMgYW55KTtcblx0fVxuXG5cdHByaXZhdGUgc3RhdGljIGFkZFRvQ3VycmVudDxUPihjaHVua3M6IFRbXVtdLCBpdGVtOiBUKSB7XG5cdFx0aWYgKCFjaHVua3MubGVuZ3RoKSB7XG5cdFx0XHRjaHVua3NbMF0gPSBbXTtcblx0XHR9XG5cdFx0Y2h1bmtzW2NodW5rcy5sZW5ndGggLSAxXS5wdXNoKGl0ZW0pO1xuXHR9XG5cblx0cHJpdmF0ZSBzdGF0aWMgYWRkVG9OZXc8VD4oY2h1bmtzOiBUW11bXSwgaXRlbTogVCkge1xuXHRcdGNodW5rc1tjaHVua3MubGVuZ3RoXSA9IFtdO1xuXHRcdGNodW5rc1tjaHVua3MubGVuZ3RoIC0gMV0ucHVzaChpdGVtKTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgZGl2aWRlQWNjb3JkaW5nUHJvcGVydHk8VD4oYXJyYXk6IFRbXSwgc2VsZWN0b3I6IChpdGVtOiBUKSA9PiBhbnkpOiBUW11bXSB7XG5cdFx0Y29uc3QgY2h1bmtzID0gW107XG5cdFx0Y2h1bmtzWzBdID0gW2FycmF5WzBdXTtcblx0XHRhcnJheS5yZWR1Y2UoKGEsIGIpID0+IHtcblx0XHRcdGlmIChzZWxlY3RvcihhKSA9PT0gc2VsZWN0b3IoYikpIHtcblx0XHRcdFx0dGhpcy5hZGRUb0N1cnJlbnQoY2h1bmtzLCBiKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuYWRkVG9OZXcoY2h1bmtzLCBiKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBiO1xuXHRcdH0pO1xuXHRcdHJldHVybiBjaHVua3M7XG5cdH1cbn1cbiIsImltcG9ydCB7IFZpZXdwb3J0VXRpbCB9IGZyb20gJy4vVmlld3BvcnRVdGlsJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRG9tVXRpbCB7XG4gICAgcHJpdmF0ZSB2aWV3UG9ydFV0aWw6IFZpZXdwb3J0VXRpbDtcbiAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudDtcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgIHRoaXMudmlld1BvcnRVdGlsID0gbmV3IFZpZXdwb3J0VXRpbCh0aGlzLmVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREYXRhQXR0cihhdHRyOiBzdHJpbmcsIGRlZmF1bHR2YWx1ZT86IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoYGRhdGEtJHthdHRyfWApO1xuXG4gICAgICAgIHJldHVybiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBkZWZhdWx0dmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERhdGFBdHRyKGF0dHI6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZShgZGF0YS0ke2F0dHJ9YCwgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBdHRyKGF0dHI6IHN0cmluZywgZGVmYXVsdHZhbHVlPzogc3RyaW5nKTogYW55IHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IGRlZmF1bHR2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0QXR0cihhdHRyOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoYXR0ciwgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVBdHRyKGF0dHI6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlRGF0YUF0dHIoYXR0cjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGBkYXRhLSR7YXR0cn1gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzQXR0cihhdHRyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQuaGFzQXR0cmlidXRlKGF0dHIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaGFrZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBlbmRDbGFzcygnc2hha2UnKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZUNsYXNzKCdzaGFrZScpO1xuICAgICAgICAgICAgKHRoaXMuZWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50KS5yZWFkT25seSA9IGZhbHNlO1xuICAgICAgICB9LCA2MDApO1xuICAgIH1cblxuICAgIHB1YmxpYyBlcnJvcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBlbmRDbGFzcygnZXJyb3InKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZUNsYXNzKCdlcnJvcicpO1xuICAgICAgICAgICAgKHRoaXMuZWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50KS5yZWFkT25seSA9IGZhbHNlO1xuICAgICAgICB9LCA1MDAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy52aWV3UG9ydFV0aWwuSXNWaXNpYmxlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZUNsYXNzKGNsYXNzbmFtZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc25hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhcHBlbmRDbGFzcyhjbGFzc25hbWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NuYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVsZXRlRWxlbWVudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q2hpbGRFbGVtZW50QnlBdHRyTmFtZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlyc3RMZXR0ZXIgPSBuYW1lLnJlcGxhY2UoL15cXHcvLCBjID0+IGMudG9VcHBlckNhc2UoKSk7XG4gICAgICAgIGNvbnN0IFN1YkVsZW1lbnQgPSB0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgIGBbbmFtZT1cIiR7Zmlyc3RMZXR0ZXJ9XCJdYCxcbiAgICAgICAgKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBpZiAoU3ViRWxlbWVudCkge1xuICAgICAgICAgICAgU3ViRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhc0NsYXNzKGNsYXNzTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFN0eWxlKHJ1bGVOYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50KVtydWxlTmFtZV07XG4gICAgfVxufVxuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgRG9tVXRpbGl0eSB7XG5cblx0Ly8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTIzMDQ0NS9qYXZhc2NyaXB0LXJlZ2V4LWhvdy10by1ib2xkLXNwZWNpZmljLXdvcmRzLXdpdGgtcmVnZXhcblx0c3RhdGljIGJvbGRlblRleHQoaW5wdXRUZXh0OiBzdHJpbmcsIG1hdGNoaW5kVGV4dFRvQm9sZGVuOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gaW5wdXRUZXh0LnJlcGxhY2UobmV3IFJlZ0V4cCgnKF58KSgnICsgbWF0Y2hpbmRUZXh0VG9Cb2xkZW4gKyAnKSh8JCknLCAnaWcnKSwgJyQxPGI+JDI8L2I+JDMnKTtcblx0fVxufSIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ha2VSZXF1ZXN0IHtcbiAgICBtZXRob2Q6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICBoZWFkZXJzOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcih1cmw6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcgPSAnZ2V0JywgaGVhZGVyczogYW55ID0ge30pIHtcbiAgICAgICAgdGhpcy5tZXRob2QgPSBtZXRob2Q7XG4gICAgICAgIHRoaXMudXJsID0gdXJsO1xuICAgICAgICB0aGlzLmhlYWRlcnMgPSBoZWFkZXJzO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SGVhZGVycyhodHRwUmVxdWVzdDogWE1MSHR0cFJlcXVlc3QpIHtcbiAgICAgICAgZm9yIChjb25zdCBoZWFkZXIgaW4gdGhpcy5oZWFkZXJzKSB7XG4gICAgICAgICAgICBodHRwUmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKGhlYWRlciwgdGhpcy5oZWFkZXJzW2hlYWRlcl0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VuZChkYXRhOiBhbnkgPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB4bWxIdHRwUmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgICAgICAgeG1sSHR0cFJlcXVlc3Qub3Blbih0aGlzLm1ldGhvZCwgdGhpcy51cmwpO1xuICAgICAgICAgICAgdGhpcy5zZXRIZWFkZXJzKHhtbEh0dHBSZXF1ZXN0KTtcbiAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0Lm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0LnN0YXR1cyA+PSAyMDAgJiZcbiAgICAgICAgICAgICAgICAgICAgeG1sSHR0cFJlcXVlc3Quc3RhdHVzIDwgMzAwXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoeG1sSHR0cFJlcXVlc3QucmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHhtbEh0dHBSZXF1ZXN0LnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ6IHhtbEh0dHBSZXF1ZXN0LnN0YXR1c1RleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5OiB4bWxIdHRwUmVxdWVzdC5yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0Lm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiB4bWxIdHRwUmVxdWVzdC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ6IHhtbEh0dHBSZXF1ZXN0LnN0YXR1c1RleHQsXG4gICAgICAgICAgICAgICAgICAgIGJvZHk6IHhtbEh0dHBSZXF1ZXN0LnJlc3BvbnNlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0LnNlbmQoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsImV4cG9ydCBjbGFzcyBTdHJpbmdVdGlsIHtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgU3RyaW5nRm9ybWF0KHN0cjogc3RyaW5nLCAuLi5hcmdzOiBzdHJpbmdbXSkge1xuICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoL3soXFxkKyl9L2csIChtYXRjaCwgaW5kZXgpID0+IGFyZ3NbaW5kZXhdIHx8ICcnKTtcbiAgICB9XG59IiwiZXhwb3J0IGNsYXNzIFZpZXdwb3J0VXRpbCB7XG4gICAgcHJpdmF0ZSBlbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gICAgY29uc3RydWN0b3IoZWxlbWVudDogSFRNTEVsZW1lbnQgPSBudWxsKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIElzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgYm91bmRzID0gdGhpcy5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKChib3VuZHMudG9wID4gMCAmJiBib3VuZHMudG9wIDwgaW5uZXJIZWlnaHQpIHx8XG4gICAgICAgICAgICAgICAgKGJvdW5kcy5ib3R0b20gPiAwICYmIGJvdW5kcy5ib3R0b20gPCBpbm5lckhlaWdodCkpICYmXG4gICAgICAgICAgICAoKGJvdW5kcy5sZWZ0ID4gMCAmJiBib3VuZHMubGVmdCA8IGlubmVyV2lkdGgpIHx8XG4gICAgICAgICAgICAgICAgKGJvdW5kcy5yaWdodCA+IDAgJiYgYm91bmRzLnJpZ2h0IDwgaW5uZXJXaWR0aCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIElzUGFydGlhbGx5VmlzaWJsZSgpIHtcbiAgICAgICAgY29uc3QgYm91bmRzID0gdGhpcy5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgYm91bmRzLnRvcCA+PSAwIHx8XG4gICAgICAgICAgICBib3VuZHMubGVmdCA+PSAwIHx8XG4gICAgICAgICAgICBib3VuZHMuYm90dG9tIDw9IGlubmVySGVpZ2h0IHx8XG4gICAgICAgICAgICBib3VuZHMucmlnaHQgPD0gaW5uZXJXaWR0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBJc09mZnNldFZpc2libGUob2Zmc2V0OiBudW1iZXIgPSAzMDApIHtcbiAgICAgICAgY29uc3QgYm91bmRzID0gdGhpcy5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgYm91bmRzLnRvcCArIG9mZnNldCA+PSAwIHx8XG4gICAgICAgICAgICBib3VuZHMubGVmdCArIG9mZnNldCA+PSAwIHx8XG4gICAgICAgICAgICBib3VuZHMuYm90dG9tIC0gb2Zmc2V0IDw9IGlubmVySGVpZ2h0IHx8XG4gICAgICAgICAgICBib3VuZHMucmlnaHQgLSBvZmZzZXQgPD0gaW5uZXJXaWR0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBXaW5kb3dUb3Aob2Zmc2V0OiBudW1iZXIgPSAwKSB7XG4gICAgICAgIGNvbnN0IFlPZmZzZXQgPVxuICAgICAgICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0IHx8XG4gICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fFxuICAgICAgICAgICAgMDtcbiAgICAgICAgcmV0dXJuIG9mZnNldCA8PSBZT2Zmc2V0O1xuICAgIH1cbn1cbiIsInR5cGUgUHJvY2VkdXJlID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk7XG5cbmludGVyZmFjZSBEZWJvdW5jZSB7XG5cdCguLi5hcmdzOiBhbnlbXSk6IGFueTtcblx0Y2xlYXI6ICgpID0+IHZvaWQ7XG5cdGZsdXNoOiAoKSA9PiB2b2lkO1xufVxuXG5jb25zdCBkZWJvdW5jZXIgPSAoZnVuYzogUHJvY2VkdXJlLCB3YWl0OiBudW1iZXIsIGltbWVkaWF0ZTogYm9vbGVhbiA9IGZhbHNlKSA9PiB7XG5cdGxldCB0aW1lb3V0OiBudW1iZXIgfCBudWxsO1xuXHRsZXQgYXJnczogYW55O1xuXHRsZXQgY29udGV4dDogYW55O1xuXHRsZXQgcmVzdWx0OiBhbnk7XG5cblx0Y29uc3QgbGF0ZXIgPSAoKSA9PiB7XG5cdFx0dGltZW91dCA9IG51bGw7XG5cdFx0aWYgKCFpbW1lZGlhdGUpIHtcblx0XHRcdHJlc3VsdCA9IGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG5cdFx0XHRjb250ZXh0ID0gYXJncyA9IG51bGw7XG5cdFx0fVxuXHR9O1xuXG5cdGNvbnN0IGRlYm91bmNlZEZ1bmM6IFByb2NlZHVyZSA9IGZ1bmN0aW9uICh0aGlzOiBhbnkpIHtcblx0XHRjb250ZXh0ID0gdGhpcztcblx0XHRhcmdzID0gYXJndW1lbnRzO1xuXHRcdGNvbnN0IGNhbGxOb3cgPSBpbW1lZGlhdGUgJiYgIXRpbWVvdXQ7XG5cblx0XHRpZiAoIXRpbWVvdXQpIHtcblx0XHRcdHRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dChsYXRlciwgd2FpdCk7XG5cdFx0fVxuXG5cdFx0aWYgKGNhbGxOb3cpIHtcblx0XHRcdHJlc3VsdCA9IGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XG5cdFx0XHRjb250ZXh0ID0gYXJncyA9IG51bGw7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fTtcblxuXHRjb25zdCBjbGVhciA9ICgpID0+IHtcblx0XHRpZiAodGltZW91dCkge1xuXHRcdFx0Y2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuXHRcdFx0dGltZW91dCA9IG51bGw7XG5cdFx0fVxuXHR9O1xuXG5cdGNvbnN0IGZsdXNoID0gKCkgPT4ge1xuXHRcdGlmICh0aW1lb3V0KSB7XG5cdFx0XHRyZXN1bHQgPSBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuXHRcdFx0Y29udGV4dCA9IGFyZ3MgPSBudWxsO1xuXG5cdFx0XHRjbGVhclRpbWVvdXQodGltZW91dCk7XG5cdFx0XHR0aW1lb3V0ID0gbnVsbDtcblx0XHR9XG5cdH07XG5cblx0Y29uc3QgZGVib3VuY2VkOiBEZWJvdW5jZSA9ICgoKSA9PiB7XG5cdFx0Y29uc3QgZjogYW55ID0gZGVib3VuY2VkRnVuYztcblx0XHRmLmNsZWFyID0gY2xlYXI7XG5cdFx0Zi5mbHVzaCA9IGZsdXNoO1xuXHRcdHJldHVybiBmO1xuXHR9KSgpO1xuXG5cdHJldHVybiBkZWJvdW5jZWQ7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBkZWJvdW5jZXI7IiwiaW1wb3J0IElWYWxpZGF0aW9uIGZyb20gJy4uL0lWYWxpZGF0b3IuaW50ZXJmYWNlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmFua0FjY291bnRWYWxpZGF0b3IgaW1wbGVtZW50cyBJVmFsaWRhdGlvbiB7XG4gICAgaXNTYXRpc2ZpZWRCeShpbnB1dDogc3RyaW5nLCBhbGxvd0VtcHR5OiBib29sZWFuID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iLCJpbXBvcnQgSVZhbGlkYXRpb24gZnJvbSAnLi4vSVZhbGlkYXRvci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYW5rQWNjb3VudFJlZ2lzdHJhdGlvbk51bWJlclZhbGlkYXRvclxuICAgIGltcGxlbWVudHMgSVZhbGlkYXRpb24ge1xuICAgIGlzU2F0aXNmaWVkQnkoaW5wdXQ6IHN0cmluZywgYWxsb3dFbXB0eTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIiwiaW1wb3J0IElWYWxpZGF0aW9uIGZyb20gJy4uL0lWYWxpZGF0b3IuaW50ZXJmYWNlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmFua0lkTm9yd2F5VmFsaWRhdG9yIGltcGxlbWVudHMgSVZhbGlkYXRpb24ge1xuICAgIGlzU2F0aXNmaWVkQnkoaW5wdXQ6IHN0cmluZywgYWxsb3dFbXB0eTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tOb1BlcnNvbm51bW1lcihpbnB1dCwgYWxsb3dFbXB0eSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja05vUGVyc29ubnVtbWVyKFxuICAgICAgICBpbnB1dDogc3RyaW5nLFxuICAgICAgICBhbGxvd0VtcHR5OiBib29sZWFuID0gdHJ1ZSxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFpbnB1dCkge1xuICAgICAgICAgICAgcmV0dXJuIGFsbG93RW1wdHk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGVyc29ubnVtbWVyOiBzdHJpbmcgPSBpbnB1dC5yZXBsYWNlKCcgJywgJycpLnJlcGxhY2UoJy0nLCAnJyk7XG4gICAgICAgIGNvbnN0IHJlZ2V4OiBSZWdFeHAgPSBuZXcgUmVnRXhwKFxuICAgICAgICAgICAgL14oMFsxLTldfDFbMC05XXwyWzAtOV18M1swLTFdKSgwWzEtOV18MVswLTJdKShcXGR7Mn0pKFxcZHs1fSkkLyxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QocGVyc29ubnVtbWVyKTtcbiAgICB9XG59XG4iLCJpbXBvcnQgSVZhbGlkYXRpb24gZnJvbSAnLi4vSVZhbGlkYXRvci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYW5rSWRTd2VkZW5WYWxpZGF0b3IgaW1wbGVtZW50cyBJVmFsaWRhdGlvbiB7XG4gICAgaXNTYXRpc2ZpZWRCeShpbnB1dDogc3RyaW5nLCBhbGxvd0VtcHR5OiBib29sZWFuID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja1NlUGVyc29ubnVtbWVyKGlucHV0LCBhbGxvd0VtcHR5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrU2VQZXJzb25udW1tZXIoXG4gICAgICAgIGlucHV0OiBzdHJpbmcsXG4gICAgICAgIGFsbG93RW1wdHk6IGJvb2xlYW4gPSB0cnVlLFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWlucHV0KSB7XG4gICAgICAgICAgICByZXR1cm4gYWxsb3dFbXB0eTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwZXJzb25udW1tZXI6IHN0cmluZyA9IGlucHV0LnJlcGxhY2UoJyAnLCAnJykucmVwbGFjZSgnLScsICcnKTtcbiAgICAgICAgY29uc3QgcmVnZXg6IFJlZ0V4cCA9IG5ldyBSZWdFeHAoXG4gICAgICAgICAgICAvXigxOVxcZHsyfXwyMFxcZHsyfSkoMFsxLTldfDFbMC0yXSkoMFsxLTldfDFbMC05XXwyWzAtOV18M1swLTFdKShcXGR7NH0pJC8sXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZWdleC50ZXN0KHBlcnNvbm51bW1lcik7XG4gICAgfVxufVxuIiwiaW1wb3J0IElWYWxpZGF0aW9uIGZyb20gJy4uL0lWYWxpZGF0b3IuaW50ZXJmYWNlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ3ByVmFsaWRhdG9yIGltcGxlbWVudHMgSVZhbGlkYXRpb24ge1xuICAgIGlzU2F0aXNmaWVkQnkoaW5wdXQ6IHN0cmluZywgYWxsb3dFbXB0eTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tDcHIoaW5wdXQsIGFsbG93RW1wdHkpO1xuICAgIH1cbiAgICBwcml2YXRlIG1vZHVsdXMxMU11bHRpcGx5KHZhbHVlOiBudW1iZXIsIGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBjb250cm9sOiBudW1iZXJbXSA9IFs0LCAzLCAyLCA3LCA2LCA1LCA0LCAzLCAyLCAxXTtcbiAgICAgICAgcmV0dXJuIGNvbnRyb2xbaW5kZXhdICogdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb2R1bHVzMTFFeGNlcHRpb25zKGlucHV0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZXhjZXB0aW9uRGF0ZXM6IERhdGVbXSA9IFtcbiAgICAgICAgICAgIDE5NjAsXG4gICAgICAgICAgICAxOTY0LFxuICAgICAgICAgICAgMTk2NSxcbiAgICAgICAgICAgIDE5NjYsXG4gICAgICAgICAgICAxOTY5LFxuICAgICAgICAgICAgMTk3MCxcbiAgICAgICAgICAgIDE5ODAsXG4gICAgICAgICAgICAxOTgyLFxuICAgICAgICAgICAgMTk4NCxcbiAgICAgICAgICAgIDE5ODUsXG4gICAgICAgICAgICAxOTg2LFxuICAgICAgICAgICAgMTk4NyxcbiAgICAgICAgICAgIDE5ODgsXG4gICAgICAgICAgICAxOTg5LFxuICAgICAgICAgICAgMTk5MCxcbiAgICAgICAgXS5tYXAoeCA9PiBuZXcgRGF0ZSh4LCAwLCAxKSk7IC8vIG1vbnRocyBhcmUgMC1pbmRleGVkXG5cbiAgICAgICAgY29uc3QgY3ByRGF0ZTogRGF0ZSA9IHRoaXMuZ2V0Q3ByRGF0ZShpbnB1dCk7XG5cbiAgICAgICAgcmV0dXJuIGV4Y2VwdGlvbkRhdGVzLnNvbWUoeCA9PiB4LmdldERhdGUoKSA9PT0gY3ByRGF0ZS5nZXREYXRlKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tDcHJEYXRlKGlucHV0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHllYXI6IG51bWJlciA9ICtpbnB1dC5zdWJzdHIoNCwgMikgKyAyMDAwO1xuICAgICAgICB5ZWFyIC09IHllYXIgPiBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgPyAxMDAgOiAwOyAvLyBpcyAyMHh4IG9yIDE5eHhcbiAgICAgICAgY29uc3QgbW9udGg6IG51bWJlciA9ICtpbnB1dC5zdWJzdHIoMiwgMikgLSAxO1xuICAgICAgICBjb25zdCBkYXk6IG51bWJlciA9ICtpbnB1dC5zdWJzdHIoMCwgMik7XG4gICAgICAgIGNvbnN0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSA9PT0geWVhciAmJlxuICAgICAgICAgICAgZGF0ZS5nZXRNb250aCgpID09PSBtb250aCAmJlxuICAgICAgICAgICAgZGF0ZS5nZXREYXRlKCkgPT09IGRheVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3ByRGF0ZShpbnB1dDogc3RyaW5nKTogRGF0ZSB7XG4gICAgICAgIGxldCB5ZWFyOiBudW1iZXIgPSAraW5wdXQuc3Vic3RyKDQsIDIpICsgMjAwMDtcbiAgICAgICAgeWVhciAtPSB5ZWFyID4gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpID8gMTAwIDogMDsgLy8gaXMgMjB4eCBvciAxOXh4XG4gICAgICAgIGNvbnN0IG1vbnRoOiBudW1iZXIgPSAraW5wdXQuc3Vic3RyKDIsIDIpIC0gMTtcbiAgICAgICAgY29uc3QgZGF5OiBudW1iZXIgPSAraW5wdXQuc3Vic3RyKDAsIDIpO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0NwcihpbnB1dDogc3RyaW5nLCBhbGxvd0VtcHR5OiBib29sZWFuID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWlucHV0KSB7XG4gICAgICAgICAgICByZXR1cm4gYWxsb3dFbXB0eTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjcHJucjogc3RyaW5nID0gaW5wdXQucmVwbGFjZSgnICcsICcnKS5yZXBsYWNlKCctJywgJycpO1xuICAgICAgICBpZiAoIWNwcm5yLm1hdGNoKC9eXFxkezEwfSQvKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5jaGVja0NwckRhdGUoY3BybnIpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubW9kdWx1czExRXhjZXB0aW9ucyhjcHJucikpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG91dHB1dDogbnVtYmVyID0gMDtcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IDEwOyBpKyspIHtcbiAgICAgICAgICAgIG91dHB1dCArPSB0aGlzLm1vZHVsdXMxMU11bHRpcGx5KFxuICAgICAgICAgICAgICAgIHBhcnNlSW50KGNwcm5yLnN1YnN0cihpLCAxKSwgMTApLFxuICAgICAgICAgICAgICAgIGksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG91dHB1dCAlIDExID09PSAwOyAvLyBodmlzIG91dHB1dCBnw6VyIG9wIGkgMTEsIGVyIGRldCBldCBneWxkaWd0IGNwci5cbiAgICB9XG59XG4iLCJpbXBvcnQgSVZhbGlkYXRpb24gZnJvbSAnLi4vSVZhbGlkYXRvci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDdnJWYWxpZGF0b3IgaW1wbGVtZW50cyBJVmFsaWRhdGlvbiB7XG4gICAgaXNTYXRpc2ZpZWRCeShpbnB1dDogc3RyaW5nLCBhbGxvd0VtcHR5OiBib29sZWFuID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja0N2cihpbnB1dCwgYWxsb3dFbXB0eSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0N2cihpbnB1dDogc3RyaW5nLCBhbGxvd0VtcHR5OiBib29sZWFuID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWFsbG93RW1wdHkgJiYgIWlucHV0KSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGNvbnN0IGN2cm5yOiBzdHJpbmcgPSBpbnB1dC5yZXBsYWNlKCcgJywgJycpLnJlcGxhY2UoJy0nLCAnJyk7XG4gICAgICAgIGlmICghY3ZybnIpIHtcbiAgICAgICAgICAgIHJldHVybiBhbGxvd0VtcHR5O1xuICAgICAgICB9XG4gICAgICAgIGlmICghL15cXGR7OH0kLy50ZXN0KGN2cm5yKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY3ZyIG51bXJlIGthbiDDpWJlbmJhcnQgb2dzw6UgbW9kdWx1czExIHRlc3Rlcy5cbiAgICAgICAgbGV0IHRvdGFsOiBudW1iZXIgPSAwO1xuXG4gICAgICAgIFsyLCA3LCA2LCA1LCA0LCAzLCAyLCAxXS5mb3JFYWNoKChlbG0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB0b3RhbCArPSBwYXJzZUludChjdnJucltpbmRleF0sIDEwKSAqIGVsbTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRvdGFsICUgMTEgPT09IDA7XG4gICAgfVxufVxuIiwiaW1wb3J0IElWYWxpZGF0aW9uIGZyb20gJy4uL0lWYWxpZGF0b3IuaW50ZXJmYWNlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU0VDb21wYW55UmVnaXN0cmF0aW9uVmFsaWRhdG9yIGltcGxlbWVudHMgSVZhbGlkYXRpb24ge1xuICAgIHByaXZhdGUgT1JHX05SX1NFX0xVSE5fV0VJR0hUUyA9IFsyLCAxLCAyLCAxLCAyLCAxLCAyLCAxLCAyLCAxXTtcbiAgICBwcml2YXRlIHdlaWdodGVkKGNvZWZmaWNpZW50czogQXJyYXk8bnVtYmVyPikge1xuICAgICAgICByZXR1cm4gKHZhbHVlOiBudW1iZXIsIGluZGV4OiBudW1iZXIpID0+IHZhbHVlICogY29lZmZpY2llbnRzW2luZGV4XTtcbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBzdW0gPSAoYTogbnVtYmVyLCBiOiBudW1iZXIpID0+IGEgKyBiO1xuICAgIFxuICAgIGlzU2F0aXNmaWVkQnkoaW5wdXQ6IHN0cmluZywgYWxsb3dFbXB0eTogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoYWxsb3dFbXB0eSAmJiAhaW5wdXQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gdGhpcy5vcmdOclNlKGlucHV0KTtcbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBvcmdOclNlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tMdWhuTW9kdWx1czEwKHZhbHVlLCB0aGlzLk9SR19OUl9TRV9MVUhOX1dFSUdIVFMpO1xuICAgIH1cbiAgICBcbiAgICBwcml2YXRlIGNoZWNrTHVobk1vZHVsdXMxMCAodGVzdFZhbHVlOiBzdHJpbmcsIGx1aG5XZWlnaHRzOiBudW1iZXJbXSkge1xuICAgICAgICBjb25zdCBsZW5ndGggPSBsdWhuV2VpZ2h0cy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHRlc3RWYWx1ZSQgPSB0ZXN0VmFsdWUucmVwbGFjZShcIi1cIiwgXCJcIik7XG4gICAgICAgIGlmICh0ZXN0VmFsdWUkLmxlbmd0aCAhPT0gbGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgaWYgKE51bWJlci5pc05hTihwYXJzZUludCh0ZXN0VmFsdWUkLCAxMCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgY29uc3QgZGlnaXRzID0gdGVzdFZhbHVlJC5zcGxpdChcIlwiKS5tYXAoTnVtYmVyKTtcbiAgICAgICAgY29uc3QgbHVobkYgPSAobjogbnVtYmVyKSA9PiAobiA8IGxlbmd0aCA/IG4gOiBuIC0gKGxlbmd0aCAtIDEpKTtcbiAgICAgICAgY29uc3QgbHVoblN1bSA9IGx1aG5XZWlnaHRzLm1hcCh0aGlzLndlaWdodGVkKGRpZ2l0cykpLm1hcChsdWhuRikucmVkdWNlKHRoaXMuc3VtKTtcbiAgICAgICAgY29uc3QgY29udHJvbFN1bSA9IGxlbmd0aCAtICgrbHVoblN1bSAlIGxlbmd0aCk7XG4gICAgICAgIHJldHVybiBjb250cm9sU3VtICUgMTAgPT09IDA7XG4gICAgfSAgIFxufSIsImltcG9ydCBJVmFsaWRhdGlvbiBmcm9tICcuLi9JVmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNFUGVyc29uYWxOdW1iZXJWYWxpZGF0b3IgaW1wbGVtZW50cyBJVmFsaWRhdGlvbiB7XG4gICAgcHJpdmF0ZSByZWdleDogUmVnRXhwID0gbmV3IFJlZ0V4cChcbiAgICAgICAgL14oXFxkezJ9KXswLDF9KFxcZHsyfSkoXFxkezJ9KShcXGR7Mn0pKFtcXCtcXC1dPykoKD8hMDAwKVxcZHszfSkoXFxkKSQvXG4gICAgKTtcblxuXG4gICAgaXNTYXRpc2ZpZWRCeShpbnB1dDogc3RyaW5nLCBhbGxvd0VtcHR5OiBib29sZWFuID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoYWxsb3dFbXB0eSAmJiAhaW5wdXQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHRoaXMucmVnZXguZXhlYyhpbnB1dCk7XG4gICAgICAgIGlmICghbWF0Y2hlcyB8fCBtYXRjaGVzLmxlbmd0aCA8IDcpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IG1hdGNoZXM7XG4gICAgICAgIGNvbnN0IGRlY2FkZSA9IGdyb3Vwc1syXTtcbiAgICAgICAgbGV0IGNlbnR1cnk7XG5cbiAgICAgICAgaWYgKGdyb3Vwc1sxXSkge1xuICAgICAgICAgICAgY2VudHVyeSA9IGdyb3Vwc1sxXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCBib3JuID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpIC0gcGFyc2VJbnQoZGVjYWRlLCAxMCk7XG4gICAgICAgICAgICBpZiAoZ3JvdXBzWzVdICYmIGdyb3Vwc1s1XSA9PT0gJysnKSB7XG4gICAgICAgICAgICAgICAgYm9ybiAtPSAxMDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNlbnR1cnkgPSBib3JuLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIGRhdGUgdGltZSBvYmplY3QuXG4gICAgICAgIGxldCBkYXkgPSBwYXJzZUludChncm91cHNbNF0sIDEwKTtcbiAgICAgICAgY29uc3QgaXNDb29yZGluYXRpb25OdW1iZXIgPSBkYXkgPiA2MDtcbiAgICAgICAgZGF5ID0gaXNDb29yZGluYXRpb25OdW1iZXIgPyBkYXkgLSA2MCA6IGRheTtcblxuICAgICAgICBjb25zdCByZWFsRGF5ID0gZGF5O1xuICAgICAgICBjb25zdCB5ZWFyID0gZGVjYWRlO1xuICAgICAgICBjb25zdCBmdWxsWWVhciA9IGNlbnR1cnkgKyBkZWNhZGU7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gZ3JvdXBzWzNdO1xuICAgICAgICBjb25zdCBudW1iZXJzID0gZ3JvdXBzWzZdICsgZ3JvdXBzWzddO1xuICAgICAgICBjb25zdCBjb250cm9sTnVtYmVyID0gZ3JvdXBzWzddO1xuXG4gICAgICAgIC8vIFRyeSBwYXJzZSBkYXRlLXRpbWUgdG8gbWFrZSBzdXJlIGl0J3MgYWN0dWFsbHkgYSByZWFsIGRhdGUuXG4gICAgICAgIGlmICghRGF0ZS5wYXJzZShgJHtmdWxsWWVhcn0tJHttb250aH0tJHtyZWFsRGF5fWApKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5sdWhuKGAke3llYXJ9JHttb250aH0ke2RheX0ke2dyb3Vwc1s2XX1gKSAhPT0gcGFyc2VJbnQoY29udHJvbE51bWJlciwgMTApKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGx1aG4odmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIC8vIEx1aG0gYWxnb3JpdGhtIGRvdWJsZXMgZXZlcnkgb3RoZXIgbnVtYmVyIGluIHRoZSB2YWx1ZS5cbiAgICAgICAgLy8gVG8gZ2V0IHRoZSBjb3JyZWN0IGNoZWNrc3VtIGRpZ2l0IHdlIGF1Z2h0IHRvIGFwcGVuZCBhIDAgb24gdGhlIHNlcXVlbmNlLlxuICAgICAgICAvLyBJZiB0aGUgcmVzdWx0IGJlY29tZXMgYSB0d28gZGlnaXQgbnVtYmVyLCBzdWJ0cmFjdCA5IGZyb20gdGhlIHZhbHVlLlxuICAgICAgICAvLyBJZiB0aGUgdG90YWwgc3VtIGlzIG5vdCBhIDAsIHRoZSBsYXN0IGNoZWNrc3VtIHZhbHVlIHNob3VsZCBiZSBzdWJ0cmFjdGVkIGZyb20gMTAuXG4gICAgICAgIC8vIFRoZSByZXN1bHRpbmcgdmFsdWUgaXMgdGhlIGNoZWNrIHZhbHVlIHRoYXQgd2UgdXNlIGFzIGNvbnRyb2wgbnVtYmVyLlxuXG4gICAgICAgIC8vIFRoZSB2YWx1ZSBwYXNzZWQgaXMgYSBzdHJpbmcsIHNvIHdlIGF1Z2h0IHRvIGdldCB0aGUgYWN0dWFsIGludGVnZXIgdmFsdWUgZnJvbSBlYWNoIGNoYXIgKGkuZS4sIHN1YnRyYWN0ICcwJyB3aGljaCBpcyA0OCkuXG4gICAgICAgIGNvbnN0IHQ6IG51bWJlcltdID0gdmFsdWUuc3BsaXQoJycpLm1hcCgoZCkgPT4gcGFyc2VJbnQoZCwgMTApKTtcbiAgICAgICAgbGV0IHN1bSA9IDA7XG4gICAgICAgIGxldCB0ZW1wO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRlbXAgPSB0W2ldO1xuICAgICAgICAgICAgdGVtcCAqPSAyIC0gKGkgJSAyKTtcbiAgICAgICAgICAgIGlmICh0ZW1wID4gOSkge1xuICAgICAgICAgICAgICAgIHRlbXAgLT0gOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1bSArPSB0ZW1wO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbChzdW0gLyAxMC4wKSAqIDEwIC0gc3VtO1xuICAgIH1cbn1cbiIsImNsYXNzIGVsZW1lbnRDb25maWcge1xuXHRzZWxlY3Rvcjogc3RyaW5nO1xuXHR0ZW1wbGF0ZTogc3RyaW5nO1xuXHRzdHlsZTogc3RyaW5nO1xuXHR1c2VTaGFkb3c6IGJvb2xlYW47XG5cdHRlbXBsYXRlUGF0aD86IHN0cmluZztcbn1cblxuY29uc3QgdmFsaWRhdGVTZWxlY3RvciA9IChzZWxlY3Rvcjogc3RyaW5nKSA9PiB7XG5cdGlmIChzZWxlY3Rvci5pbmRleE9mKCctJykgPD0gMCkge1xuXHRcdHRocm93IG5ldyBFcnJvcignWW91IG5lZWQgYXQgbGVhc3QgMSBkYXNoIGluIHRoZSBjdXN0b20gZWxlbWVudCBuYW1lIScpO1xuXHR9XG59O1xuXG5jb25zdCBDdXN0b21FbGVtZW50ID0gKGNvbmZpZzogZWxlbWVudENvbmZpZykgPT4ge1xuXHRyZXR1cm4gKGNsczogYW55KSA9PiB7XG5cdFx0dmFsaWRhdGVTZWxlY3Rvcihjb25maWcuc2VsZWN0b3IpO1xuXHRcdGxldCB0ZW1wbGF0ZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZW1wbGF0ZScpO1xuXHRcdGlmICghY29uZmlnLnRlbXBsYXRlKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1lvdSBuZWVkIHRvIHBhc3MgYSB0ZW1wbGF0ZSBmb3IgdGhlIGVsZW1lbnQnKTtcblx0XHR9XG5cdFx0dGVtcGxhdGVFbGVtZW50LmlubmVySFRNTCA9IGA8c3R5bGU+JHtjb25maWcuc3R5bGV9PC9zdHlsZT4gJHtcblx0XHRcdGNvbmZpZy50ZW1wbGF0ZVxuXHRcdFx0fWA7XG5cdFx0bGV0IGNvbm5lY3RlZENhbGxiYWNrID0gY2xzLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjayB8fCBmdW5jdGlvbiAoKSB7IH07XG5cdFx0Y29uc3QgZGlzY29ubmVjdGVkQ2FsbGJhY2sgPSBjbHMucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrIHx8IGZ1bmN0aW9uICgpIHsgfTtcblxuXHRcdGNscy5wcm90b3R5cGUuY29ubmVjdGVkQ2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRsZXQgY2xvbmUgPSBkb2N1bWVudC5pbXBvcnROb2RlKHRlbXBsYXRlRWxlbWVudC5jb250ZW50LCB0cnVlKTtcblx0XHRcdGlmIChjb25maWcudXNlU2hhZG93ICYmICF0aGlzLnNoYWRvd1Jvb3QpIHtcblx0XHRcdFx0dGhpcy5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSkuYXBwZW5kQ2hpbGQoY2xvbmUpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5hcHBlbmRDaGlsZChjbG9uZSk7XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5jb21wb25lbnRXaWxsTW91bnQpIHtcblx0XHRcdFx0dGhpcy5jb21wb25lbnRXaWxsTW91bnQoKTtcblx0XHRcdH1cblx0XHRcdGNvbm5lY3RlZENhbGxiYWNrLmNhbGwodGhpcyk7XG5cdFx0XHRpZiAodGhpcy5jb21wb25lbnREaWRNb3VudCkge1xuXHRcdFx0XHR0aGlzLmNvbXBvbmVudERpZE1vdW50KCk7XG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdGNscy5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRpZiAodGhpcy5jb21wb25lbnRXaWxsVW5tb3VudCkge1xuXHRcdFx0XHR0aGlzLmNvbXBvbmVudFdpbGxVbm1vdW50KCk7XG5cdFx0XHR9XG5cdFx0XHRkaXNjb25uZWN0ZWRDYWxsYmFjay5jYWxsKHRoaXMpO1xuXHRcdFx0aWYgKHRoaXMuY29tcG9uZW50RGlkVW5tb3VudCkge1xuXHRcdFx0XHR0aGlzLmNvbXBvbmVudERpZFVubW91bnQoKTtcblx0XHRcdH1cblx0XHR9O1xuXHRcdHdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoY29uZmlnLnNlbGVjdG9yLCBjbHMpO1xuXHR9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3VzdG9tRWxlbWVudDtcbiIsImltcG9ydCAnQHdlYmNvbXBvbmVudHMvd2ViY29tcG9uZW50c2pzL3dlYmNvbXBvbmVudHMtYnVuZGxlJztcbmltcG9ydCAnQHdlYmNvbXBvbmVudHMvd2ViY29tcG9uZW50c2pzL2N1c3RvbS1lbGVtZW50cy1lczUtYWRhcHRlci5qcyc7XG5pbXBvcnQgJ0B3ZWJjb21wb25lbnRzL3dlYmNvbXBvbmVudHNqcy93ZWJjb21wb25lbnRzLWxvYWRlci5qcyc7XG5cbi8vIGZvcm1cbmltcG9ydCB7IEN1c3RvbUZvcm0gfSBmcm9tICcuL2N1c3RvbS1mb3JtJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5cbi8vIGVsZW1lbnRzXG5pbXBvcnQgKiBhcyBlbGVtZW50cyBmcm9tICcuL2VsZW1lbnRzL0VsZW1lbnRzJztcblxuZXhwb3J0IHsgQ3VzdG9tRm9ybSwgZWxlbWVudHMsIEN1c3RvbUlucHV0RWxlbWVudCB9O1xuIl19
|
|
6377
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJkZW1vL2luZGV4LnRzIiwibm9kZV9tb2R1bGVzL0B3ZWJjb21wb25lbnRzL3dlYmNvbXBvbmVudHNqcy9jdXN0b20tZWxlbWVudHMtZXM1LWFkYXB0ZXIuanMiLCJub2RlX21vZHVsZXMvQHdlYmNvbXBvbmVudHMvd2ViY29tcG9uZW50c2pzL3dlYmNvbXBvbmVudHMtYnVuZGxlLmpzIiwibm9kZV9tb2R1bGVzL0B3ZWJjb21wb25lbnRzL3dlYmNvbXBvbmVudHNqcy93ZWJjb21wb25lbnRzLWxvYWRlci5qcyIsIm5vZGVfbW9kdWxlcy9pbnRsLXRlbC1pbnB1dC9idWlsZC9qcy9pbnRsVGVsSW5wdXQuanMiLCJub2RlX21vZHVsZXMvaW50bC10ZWwtaW5wdXQvaW5kZXguanMiLCJub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzIiwibm9kZV9tb2R1bGVzL3RpbWVycy1icm93c2VyaWZ5L21haW4uanMiLCJzcmMvY3VzdG9tLWZvcm0udHMiLCJzcmMvZWxlbWVudHMvQWRkcmVzcy9BZGRyZXNzRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9CYW5rRmllbGQvQmFua0ZpZWxkRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9DUFJFbGVtZW50L0NQUkVsZW1lbnQudHMiLCJzcmMvZWxlbWVudHMvQ1ZSRWxlbWVudC9DVlJFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL0NoZWNrQm94RWxlbWVudC9DaGVja0JveEVsZW1lbnQudHMiLCJzcmMvZWxlbWVudHMvQ3VzdG9tUmVndWxhckV4cHJlc3Npb24vQ3VzdG9tUmVndWxhckV4cHJlc3Npb25FbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL0RhdGVGaWVsZC9EYXRlRmllbGRFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL0Ryb3BEb3duTGlzdC9Ecm9wRG93bkxpc3RFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL0VsZW1lbnRzLnRzIiwic3JjL2VsZW1lbnRzL0VtYWlsRmllbGQvRW1haWxGaWVsZEVsZW1lbnQudHMiLCJzcmMvZWxlbWVudHMvRmlsZUZpZWxkL0ZpbGVGaWVsZEVsZW1lbnQudHMiLCJzcmMvZWxlbWVudHMvSWRlbnRpZmljYXRpb25FbGVtZW50L0lkZW50aWZpY2F0aW9uRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9JbnRlcm5hdGlvbmFQaG9uZU51bWJlci9GbGFncy50cyIsInNyYy9lbGVtZW50cy9JbnRlcm5hdGlvbmFQaG9uZU51bWJlci9GbGFnczJ4LnRzIiwic3JjL2VsZW1lbnRzL0ludGVybmF0aW9uYVBob25lTnVtYmVyL0ludGVybmF0aW9uYVBob25lTnVtYmVyRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9OdW1lcmljRmllbGQvTnVtZXJpY0ZpZWxkRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9SYWRpb0J1dHRvbkdyb3VwL1JhZGlvQnV0dG9uR3JvdXBFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL1NFQ29tcGFueVJlZ2lzdHJhdGlvbkVsZW1lbnQvU0VDb21wYW55UmVnaXN0cmF0aW9uRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9TRVBlcnNvbmFsTnVtYmVyRWxlbWVudC9TRVBlcnNvbmFsTnVtYmVyRWxlbWVudC50cyIsInNyYy9lbGVtZW50cy9UZXh0QXJlYUVsZW1lbnQvVGV4dEFyZWFFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL1RleHRGaWVsZC9UZXh0RmllbGRFbGVtZW50LnRzIiwic3JjL2VsZW1lbnRzL1R5cGVBaGVhZC9UeXBlQWhlYWRFbGVtZW50LnRzIiwic3JjL2ZyYW1ld29yay9DdXN0b21FdmVudHMudHMiLCJzcmMvZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudC50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL0Jhc2UvQmFzZURpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9DemVjaERpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9EYW5pc2hEaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvRHV0Y2hEaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvRW5nbGlzaERpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9Fc3RvbmlhbkRpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9GaW5uaXNoRGljdGlvbmFyeS50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL0ZyZW5jaERpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9HZXJtYW5EaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvR3JlZWtEaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvSHVuZ2FyaWFuRGljdGlvbmFyeS50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL0ljZWxhbmRpY0RpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9JdGFsaWFuRGljdGlvbmFyeS50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL0xhdHZpYW5EaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvTGl0dWFuaWFuRGljdGlvbmFyeS50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL05vcndlZ2lhbkRpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9Qb2xpc2hEaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9MYW5ndWFnZXMvUG9ydHVndWVzZURpY3Rpb25hcnkudHMiLCJzcmMvZnJhbWV3b3JrL0xhbmd1YWdlL0xhbmd1YWdlcy9TcGFuaXNoRGljdGlvbmFyeS50cyIsInNyYy9mcmFtZXdvcmsvTGFuZ3VhZ2UvTGFuZ3VhZ2VzL1N3ZWRpc2hEaWN0aW9uYXJ5LnRzIiwic3JjL2ZyYW1ld29yay9MYW5ndWFnZS9UcmFuc2xhdG9yLnRzIiwic3JjL2ZyYW1ld29yay9Qb2x5ZmlsbHMvZ2V0QXR0cmlidXRlTmFtZXNQb2x5ZmlsbC50cyIsInNyYy9mcmFtZXdvcmsvVXRpbGl0aWVzL0FycmF5VXRpbC50cyIsInNyYy9mcmFtZXdvcmsvVXRpbGl0aWVzL0RvbVV0aWwudHMiLCJzcmMvZnJhbWV3b3JrL1V0aWxpdGllcy9Eb21VdGlsaXR5LnRzIiwic3JjL2ZyYW1ld29yay9VdGlsaXRpZXMvTWFrZVJlcXVlc3QudHMiLCJzcmMvZnJhbWV3b3JrL1V0aWxpdGllcy9TdHJpbmdVdGlsLnRzIiwic3JjL2ZyYW1ld29yay9VdGlsaXRpZXMvVmlld3BvcnRVdGlsLnRzIiwic3JjL2ZyYW1ld29yay9VdGlsaXRpZXMvZGVib3VuY2VyLnRzIiwic3JjL2ZyYW1ld29yay9WYWxpZGF0aW9uL1ZhbGlkYXRvcnMvQmFua0FjY291bnQudHMiLCJzcmMvZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9CYW5rQWNjb3VudFJlZ2lzdHJhdGlvbk51bWJlci50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0JhbmtJZE5vcndheS50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0JhbmtJZFN3ZWRlbi50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0NQUi50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0NWUi50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL1NFQ29tcGFueVJlZ2lzdHJhdGlvbi50cyIsInNyYy9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL1NFUGVyc29uYWxOdW1iZXIudHMiLCJzcmMvZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvci50cyIsInNyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0FDQUEsd0NBQXNEO0FBR3RELFFBQVEsQ0FBQyxrQkFBa0IsR0FBRztJQUMxQixJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO1FBQ3BDLElBQUksSUFBSSxHQUFHLElBQUksa0JBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFBLE9BQU87WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFBLFFBQVEsSUFBTSxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUM7S0FDTDtBQUNMLENBQUMsQ0FBQzs7O0FDVkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQ2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUNsWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzlNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2x6Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QixFQUFFO2dCQUMzQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUN6QjtRQUNGLENBQUMsQ0FBQztRQUVGLEdBQUcsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEdBQUc7WUFDcEMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCO1lBQ0Qsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUM3QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUMzQjtRQUNGLENBQUMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsYUFBYSxDQUFDOzs7Ozs7QUN4RDdCLCtEQUE2RDtBQUM3RCx5RUFBdUU7QUFDdkUsa0VBQWdFO0FBRWhFLE9BQU87QUFDUCw2Q0FBMkM7QUFNbEMsMkZBTkEsd0JBQVUsT0FNQTtBQUxuQixxRUFBb0U7QUFLckMsbUdBTHRCLHVDQUFrQixPQUtzQjtBQUhqRCxXQUFXO0FBQ1gsOENBQWdEO0FBRTNCLDRCQUFRIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtmdW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFmJiZjKXJldHVybiBjKGksITApO2lmKHUpcmV0dXJuIHUoaSwhMCk7dmFyIGE9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitpK1wiJ1wiKTt0aHJvdyBhLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsYX12YXIgcD1uW2ldPXtleHBvcnRzOnt9fTtlW2ldWzBdLmNhbGwocC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciBuPWVbaV1bMV1bcl07cmV0dXJuIG8obnx8cil9LHAscC5leHBvcnRzLHIsZSxuLHQpfXJldHVybiBuW2ldLmV4cG9ydHN9Zm9yKHZhciB1PVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsaT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpIiwiaW1wb3J0IHsgQ3VzdG9tRm9ybSwgZWxlbWVudHMgfSBmcm9tICcuLy4uL3NyYy9pbmRleCc7XG5cblxuZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgICAgIGxldCBmb3JtID0gbmV3IEN1c3RvbUZvcm0oZG9jdW1lbnQuZm9ybXNbMF0pO1xuICAgICAgICBmb3JtLm9uc3VibWl0ID0gcHJvbWlzZSA9PiB7XG4gICAgICAgICAgICBwcm9taXNlLnRoZW4ocmVzcG9uc2UgPT4geyB9KTtcbiAgICAgICAgfTtcbiAgICB9XG59O1xuIiwiLyoqXG5AbGljZW5zZSBAbm9jb21waWxlXG5Db3B5cmlnaHQgKGMpIDIwMTggVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dFxuVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHRcblRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dFxuQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc29cbnN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0XG4qL1xuKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAoZnVuY3Rpb24oKXtpZih2b2lkIDA9PT13aW5kb3cuUmVmbGVjdHx8dm9pZCAwPT09d2luZG93LmN1c3RvbUVsZW1lbnRzfHx3aW5kb3cuY3VzdG9tRWxlbWVudHMucG9seWZpbGxXcmFwRmx1c2hDYWxsYmFjaylyZXR1cm47Y29uc3QgYT1IVE1MRWxlbWVudDt3aW5kb3cuSFRNTEVsZW1lbnQ9e0hUTUxFbGVtZW50OmZ1bmN0aW9uIEhUTUxFbGVtZW50KCl7cmV0dXJuIFJlZmxlY3QuY29uc3RydWN0KGEsW10sdGhpcy5jb25zdHJ1Y3Rvcil9fS5IVE1MRWxlbWVudCxIVE1MRWxlbWVudC5wcm90b3R5cGU9YS5wcm90b3R5cGUsSFRNTEVsZW1lbnQucHJvdG90eXBlLmNvbnN0cnVjdG9yPUhUTUxFbGVtZW50LE9iamVjdC5zZXRQcm90b3R5cGVPZihIVE1MRWxlbWVudCxhKTt9KSgpO1xuXG59KCkpO1xuIiwiLyoqXG5AbGljZW5zZSBAbm9jb21waWxlXG5Db3B5cmlnaHQgKGMpIDIwMTggVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dFxuVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHRcblRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dFxuQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc29cbnN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0XG4qL1xuKGZ1bmN0aW9uKCl7LypcblxuIENvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0XG4gaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmRcbiBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5XG4gYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieVxuIEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVBcbiByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0XG4qL1xuJ3VzZSBzdHJpY3QnO3ZhciB2O2Z1bmN0aW9uIGJhKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fXZhciBjYT1cImZ1bmN0aW9uXCI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWMudmFsdWU7cmV0dXJuIGF9O1xuZnVuY3Rpb24gZGEoYSl7YT1bXCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSxcIm9iamVjdFwiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csXCJvYmplY3RcIj09dHlwZW9mIHNlbGYmJnNlbGYsXCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoXCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0XCIpO312YXIgZWE9ZGEodGhpcyk7ZnVuY3Rpb24gaWEoYSxiKXtpZihiKWE6e3ZhciBjPWVhO2E9YS5zcGxpdChcIi5cIik7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aC0xO2QrKyl7dmFyIGU9YVtkXTtpZighKGUgaW4gYykpYnJlYWsgYTtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmbnVsbCE9YiYmY2EoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfX1cbmlhKFwiU3ltYm9sXCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihlKXtpZih0aGlzIGluc3RhbmNlb2YgYil0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sIGlzIG5vdCBhIGNvbnN0cnVjdG9yXCIpO3JldHVybiBuZXcgYyhcImpzY29tcF9zeW1ib2xfXCIrKGV8fFwiXCIpK1wiX1wiK2QrKyxlKX1mdW5jdGlvbiBjKGUsZil7dGhpcy5nPWU7Y2EodGhpcyxcImRlc2NyaXB0aW9uXCIse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmfSl9aWYoYSlyZXR1cm4gYTtjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O3ZhciBkPTA7cmV0dXJuIGJ9KTtcbmlhKFwiU3ltYm9sLml0ZXJhdG9yXCIsZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYTthPVN5bWJvbChcIlN5bWJvbC5pdGVyYXRvclwiKTtmb3IodmFyIGI9XCJBcnJheSBJbnQ4QXJyYXkgVWludDhBcnJheSBVaW50OENsYW1wZWRBcnJheSBJbnQxNkFycmF5IFVpbnQxNkFycmF5IEludDMyQXJyYXkgVWludDMyQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheVwiLnNwbGl0KFwiIFwiKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWVhW2JbY11dO1wiZnVuY3Rpb25cIj09PXR5cGVvZiBkJiZcImZ1bmN0aW9uXCIhPXR5cGVvZiBkLnByb3RvdHlwZVthXSYmY2EoZC5wcm90b3R5cGUsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGphKGJhKHRoaXMpKX19KX1yZXR1cm4gYX0pO2Z1bmN0aW9uIGphKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfVxuZnVuY3Rpb24ga2EoYSl7dmFyIGI9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07cmV0dXJuIGI/Yi5jYWxsKGEpOntuZXh0OmJhKGEpfX1mdW5jdGlvbiB4KGEpe2lmKCEoYSBpbnN0YW5jZW9mIEFycmF5KSl7YT1rYShhKTtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTthPWN9cmV0dXJuIGF9dmFyIG1hO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIE9iamVjdC5zZXRQcm90b3R5cGVPZiltYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZWxzZXt2YXIgbmE7YTp7dmFyIG9hPXthOiEwfSxwYT17fTt0cnl7cGEuX19wcm90b19fPW9hO25hPXBhLmE7YnJlYWsgYX1jYXRjaChhKXt9bmE9ITF9bWE9bmE/ZnVuY3Rpb24oYSxiKXthLl9fcHJvdG9fXz1iO2lmKGEuX19wcm90b19fIT09Yil0aHJvdyBuZXcgVHlwZUVycm9yKGErXCIgaXMgbm90IGV4dGVuc2libGVcIik7cmV0dXJuIGF9Om51bGx9XG52YXIgcWE9bWE7ZnVuY3Rpb24gcmEoKXt0aGlzLnU9ITE7dGhpcy5oPW51bGw7dGhpcy5LYT12b2lkIDA7dGhpcy5nPTE7dGhpcy5kYT0wO3RoaXMuaT1udWxsfWZ1bmN0aW9uIHVhKGEpe2lmKGEudSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZ1wiKTthLnU9ITB9cmEucHJvdG90eXBlLk89ZnVuY3Rpb24oYSl7dGhpcy5LYT1hfTtmdW5jdGlvbiB4YShhLGIpe2EuaT17V2E6YiwkYTohMH07YS5nPWEuZGF9cmEucHJvdG90eXBlLnJldHVybj1mdW5jdGlvbihhKXt0aGlzLmk9e3JldHVybjphfTt0aGlzLmc9dGhpcy5kYX07ZnVuY3Rpb24geWEoYSxiKXthLmc9MztyZXR1cm57dmFsdWU6Yn19ZnVuY3Rpb24gemEoYSl7dGhpcy5nPW5ldyByYTt0aGlzLmg9YX1cbmZ1bmN0aW9uIEFhKGEsYil7dWEoYS5nKTt2YXIgYz1hLmcuaDtpZihjKXJldHVybiBCYShhLFwicmV0dXJuXCJpbiBjP2NbXCJyZXR1cm5cIl06ZnVuY3Rpb24oZCl7cmV0dXJue3ZhbHVlOmQsZG9uZTohMH19LGIsYS5nLnJldHVybik7YS5nLnJldHVybihiKTtyZXR1cm4gQ2EoYSl9ZnVuY3Rpb24gQmEoYSxiLGMsZCl7dHJ5e3ZhciBlPWIuY2FsbChhLmcuaCxjKTtpZighKGUgaW5zdGFuY2VvZiBPYmplY3QpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJJdGVyYXRvciByZXN1bHQgXCIrZStcIiBpcyBub3QgYW4gb2JqZWN0XCIpO2lmKCFlLmRvbmUpcmV0dXJuIGEuZy51PSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5nLmg9bnVsbCx4YShhLmcsZyksQ2EoYSl9YS5nLmg9bnVsbDtkLmNhbGwoYS5nLGYpO3JldHVybiBDYShhKX1cbmZ1bmN0aW9uIENhKGEpe2Zvcig7YS5nLmc7KXRyeXt2YXIgYj1hLmgoYS5nKTtpZihiKXJldHVybiBhLmcudT0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChjKXthLmcuS2E9dm9pZCAwLHhhKGEuZyxjKX1hLmcudT0hMTtpZihhLmcuaSl7Yj1hLmcuaTthLmcuaT1udWxsO2lmKGIuJGEpdGhyb3cgYi5XYTtyZXR1cm57dmFsdWU6Yi5yZXR1cm4sZG9uZTohMH19cmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX1cbmZ1bmN0aW9uIERhKGEpe3RoaXMubmV4dD1mdW5jdGlvbihiKXt1YShhLmcpO2EuZy5oP2I9QmEoYSxhLmcuaC5uZXh0LGIsYS5nLk8pOihhLmcuTyhiKSxiPUNhKGEpKTtyZXR1cm4gYn07dGhpcy50aHJvdz1mdW5jdGlvbihiKXt1YShhLmcpO2EuZy5oP2I9QmEoYSxhLmcuaFtcInRocm93XCJdLGIsYS5nLk8pOih4YShhLmcsYiksYj1DYShhKSk7cmV0dXJuIGJ9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBBYShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319ZnVuY3Rpb24gRWEoYSxiKXtiPW5ldyBEYShuZXcgemEoYikpO3FhJiZhLnByb3RvdHlwZSYmcWEoYixhLnByb3RvdHlwZSk7cmV0dXJuIGJ9QXJyYXkuZnJvbXx8KEFycmF5LmZyb209ZnVuY3Rpb24oYSl7cmV0dXJuW10uc2xpY2UuY2FsbChhKX0pO1xuT2JqZWN0LmFzc2lnbnx8KE9iamVjdC5hc3NpZ249ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGM9MCxkO2M8Yi5sZW5ndGg7YysrKWlmKGQ9YltjXSlmb3IodmFyIGU9YSxmPU9iamVjdC5rZXlzKGQpLGc9MDtnPGYubGVuZ3RoO2crKyl7dmFyIGg9ZltnXTtlW2hdPWRbaF19cmV0dXJuIGF9KTt2YXIgRmE9c2V0VGltZW91dDtmdW5jdGlvbiBHYSgpe31mdW5jdGlvbiBIYShhLGIpe3JldHVybiBmdW5jdGlvbigpe2EuYXBwbHkoYixhcmd1bWVudHMpfX1mdW5jdGlvbiBBKGEpe2lmKCEodGhpcyBpbnN0YW5jZW9mIEEpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJQcm9taXNlcyBtdXN0IGJlIGNvbnN0cnVjdGVkIHZpYSBuZXdcIik7aWYoXCJmdW5jdGlvblwiIT09dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcihcIm5vdCBhIGZ1bmN0aW9uXCIpO3RoaXMuTj0wO3RoaXMuRWE9ITE7dGhpcy5JPXZvaWQgMDt0aGlzLmJhPVtdO0lhKGEsdGhpcyl9XG5mdW5jdGlvbiBKYShhLGIpe2Zvcig7Mz09PWEuTjspYT1hLkk7MD09PWEuTj9hLmJhLnB1c2goYik6KGEuRWE9ITAsS2EoZnVuY3Rpb24oKXt2YXIgYz0xPT09YS5OP2IuYmI6Yi5jYjtpZihudWxsPT09YykoMT09PWEuTj9MYTpNYSkoYi5wcm9taXNlLGEuSSk7ZWxzZXt0cnl7dmFyIGQ9YyhhLkkpfWNhdGNoKGUpe01hKGIucHJvbWlzZSxlKTtyZXR1cm59TGEoYi5wcm9taXNlLGQpfX0pKX1cbmZ1bmN0aW9uIExhKGEsYil7dHJ5e2lmKGI9PT1hKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBIHByb21pc2UgY2Fubm90IGJlIHJlc29sdmVkIHdpdGggaXRzZWxmLlwiKTtpZihiJiYoXCJvYmplY3RcIj09PXR5cGVvZiBifHxcImZ1bmN0aW9uXCI9PT10eXBlb2YgYikpe3ZhciBjPWIudGhlbjtpZihiIGluc3RhbmNlb2YgQSl7YS5OPTM7YS5JPWI7TmEoYSk7cmV0dXJufWlmKFwiZnVuY3Rpb25cIj09PXR5cGVvZiBjKXtJYShIYShjLGIpLGEpO3JldHVybn19YS5OPTE7YS5JPWI7TmEoYSl9Y2F0Y2goZCl7TWEoYSxkKX19ZnVuY3Rpb24gTWEoYSxiKXthLk49MjthLkk9YjtOYShhKX1cbmZ1bmN0aW9uIE5hKGEpezI9PT1hLk4mJjA9PT1hLmJhLmxlbmd0aCYmS2EoZnVuY3Rpb24oKXthLkVhfHxcInVuZGVmaW5lZFwiIT09dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUmJmNvbnNvbGUud2FybihcIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjpcIixhLkkpfSk7Zm9yKHZhciBiPTAsYz1hLmJhLmxlbmd0aDtiPGM7YisrKUphKGEsYS5iYVtiXSk7YS5iYT1udWxsfWZ1bmN0aW9uIE9hKGEsYixjKXt0aGlzLmJiPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBhP2E6bnVsbDt0aGlzLmNiPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBiP2I6bnVsbDt0aGlzLnByb21pc2U9Y31mdW5jdGlvbiBJYShhLGIpe3ZhciBjPSExO3RyeXthKGZ1bmN0aW9uKGQpe2N8fChjPSEwLExhKGIsZCkpfSxmdW5jdGlvbihkKXtjfHwoYz0hMCxNYShiLGQpKX0pfWNhdGNoKGQpe2N8fChjPSEwLE1hKGIsZCkpfX1cbkEucHJvdG90eXBlW1wiY2F0Y2hcIl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudGhlbihudWxsLGEpfTtBLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IHRoaXMuY29uc3RydWN0b3IoR2EpO0phKHRoaXMsbmV3IE9hKGEsYixjKSk7cmV0dXJuIGN9O0EucHJvdG90eXBlW1wiZmluYWxseVwiXT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbnN0cnVjdG9yO3JldHVybiB0aGlzLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGIucmVzb2x2ZShhKCkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gY30pfSxmdW5jdGlvbihjKXtyZXR1cm4gYi5yZXNvbHZlKGEoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBiLnJlamVjdChjKX0pfSl9O1xuZnVuY3Rpb24gUGEoYSl7cmV0dXJuIG5ldyBBKGZ1bmN0aW9uKGIsYyl7ZnVuY3Rpb24gZChoLGspe3RyeXtpZihrJiYoXCJvYmplY3RcIj09PXR5cGVvZiBrfHxcImZ1bmN0aW9uXCI9PT10eXBlb2Ygaykpe3ZhciBsPWsudGhlbjtpZihcImZ1bmN0aW9uXCI9PT10eXBlb2YgbCl7bC5jYWxsKGssZnVuY3Rpb24obSl7ZChoLG0pfSxjKTtyZXR1cm59fWVbaF09azswPT09LS1mJiZiKGUpfWNhdGNoKG0pe2MobSl9fWlmKCFhfHxcInVuZGVmaW5lZFwiPT09dHlwZW9mIGEubGVuZ3RoKXJldHVybiBjKG5ldyBUeXBlRXJyb3IoXCJQcm9taXNlLmFsbCBhY2NlcHRzIGFuIGFycmF5XCIpKTt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhKTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIGIoW10pO2Zvcih2YXIgZj1lLmxlbmd0aCxnPTA7ZzxlLmxlbmd0aDtnKyspZChnLGVbZ10pfSl9XG5mdW5jdGlvbiBRYShhKXtyZXR1cm4gYSYmXCJvYmplY3RcIj09PXR5cGVvZiBhJiZhLmNvbnN0cnVjdG9yPT09QT9hOm5ldyBBKGZ1bmN0aW9uKGIpe2IoYSl9KX1mdW5jdGlvbiBSYShhKXtyZXR1cm4gbmV3IEEoZnVuY3Rpb24oYixjKXtjKGEpfSl9ZnVuY3Rpb24gU2EoYSl7cmV0dXJuIG5ldyBBKGZ1bmN0aW9uKGIsYyl7aWYoIWF8fFwidW5kZWZpbmVkXCI9PT10eXBlb2YgYS5sZW5ndGgpcmV0dXJuIGMobmV3IFR5cGVFcnJvcihcIlByb21pc2UucmFjZSBhY2NlcHRzIGFuIGFycmF5XCIpKTtmb3IodmFyIGQ9MCxlPWEubGVuZ3RoO2Q8ZTtkKyspUWEoYVtkXSkudGhlbihiLGMpfSl9dmFyIEthPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBzZXRJbW1lZGlhdGUmJmZ1bmN0aW9uKGEpe3NldEltbWVkaWF0ZShhKX18fGZ1bmN0aW9uKGEpe0ZhKGEsMCl9Oy8qXG5cbkNvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG5UaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXRcbmh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0XG5odHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlXG5mb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhc1xucGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudFxuZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0XG4qL1xuaWYoIXdpbmRvdy5Qcm9taXNlKXt3aW5kb3cuUHJvbWlzZT1BO0EucHJvdG90eXBlLnRoZW49QS5wcm90b3R5cGUudGhlbjtBLmFsbD1QYTtBLnJhY2U9U2E7QS5yZXNvbHZlPVFhO0EucmVqZWN0PVJhO3ZhciBUYT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIlwiKSxWYT1bXTsobmV3IE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGE9VmEubGVuZ3RoLGI9MDtiPGE7YisrKVZhW2JdKCk7VmEuc3BsaWNlKDAsYSl9KSkub2JzZXJ2ZShUYSx7Y2hhcmFjdGVyRGF0YTohMH0pO0thPWZ1bmN0aW9uKGEpe1ZhLnB1c2goYSk7VGEudGV4dENvbnRlbnQ9MDxUYS50ZXh0Q29udGVudC5sZW5ndGg/XCJcIjpcImFcIn19Oy8qXG4gQ29weXJpZ2h0IChDKSAyMDE1IGJ5IFdlYlJlZmxlY3Rpb25cblxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxub2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xudG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG5mdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG5BVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG5MSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuVEhFIFNPRlRXQVJFLlxuXG4qL1xuKGZ1bmN0aW9uKGEsYil7aWYoIShiIGluIGEpKXt2YXIgYz10eXBlb2YgZ2xvYmFsPT09dHlwZW9mIGM/d2luZG93Omdsb2JhbCxkPTAsZT1TdHJpbmcoTWF0aC5yYW5kb20oKSksZj1cIl9fXFx1MDAwMXN5bWJvbEBAXCIrZSxnPWEuZ2V0T3duUHJvcGVydHlOYW1lcyxoPWEuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGs9YS5jcmVhdGUsbD1hLmtleXMsbT1hLmZyZWV6ZXx8YSxxPWEuZGVmaW5lUHJvcGVydHksSD1hLmRlZmluZVByb3BlcnRpZXMsQz1oKGEsXCJnZXRPd25Qcm9wZXJ0eU5hbWVzXCIpLHQ9YS5wcm90b3R5cGUsRj10Lmhhc093blByb3BlcnR5LEU9dC5wcm9wZXJ0eUlzRW51bWVyYWJsZSxNPXQudG9TdHJpbmcseT1mdW5jdGlvbihJLHUsRyl7Ri5jYWxsKEksZil8fHEoSSxmLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMSx3cml0YWJsZTohMSx2YWx1ZTp7fX0pO0lbZl1bXCJAQFwiK3VdPUd9LFc9ZnVuY3Rpb24oSSx1KXt2YXIgRz1rKEkpO2codSkuZm9yRWFjaChmdW5jdGlvbihwKXtzYS5jYWxsKHUsXG5wKSYmVWEoRyxwLHVbcF0pfSk7cmV0dXJuIEd9LHc9ZnVuY3Rpb24oKXt9LHRhPWZ1bmN0aW9uKEkpe3JldHVybiBJIT1mJiYhRi5jYWxsKGZhLEkpfSxoYT1mdW5jdGlvbihJKXtyZXR1cm4gSSE9ZiYmRi5jYWxsKGZhLEkpfSxzYT1mdW5jdGlvbihJKXt2YXIgdT1TdHJpbmcoSSk7cmV0dXJuIGhhKHUpP0YuY2FsbCh0aGlzLHUpJiYhIXRoaXNbZl0mJnRoaXNbZl1bXCJAQFwiK3VdOkUuY2FsbCh0aGlzLEkpfSxuPWZ1bmN0aW9uKEkpe3EodCxJLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCxnZXQ6dyxzZXQ6ZnVuY3Rpb24odSl7d2EodGhpcyxJLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp1fSk7eSh0aGlzLEksITApfX0pO2ZhW0ldPXEoYShJKSxcImNvbnN0cnVjdG9yXCIsZ2MpO3JldHVybiBtKGZhW0ldKX0sSj1mdW5jdGlvbiBHKHUpe2lmKHRoaXMgaW5zdGFuY2VvZiBHKXRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3JcIik7XG5yZXR1cm4gbihcIl9fXFx1MDAwMXN5bWJvbDpcIi5jb25jYXQodXx8XCJcIixlLCsrZCkpfSxmYT1rKG51bGwpLGdjPXt2YWx1ZTpKfSxmYj1mdW5jdGlvbih1KXtyZXR1cm4gZmFbdV19LFVhPWZ1bmN0aW9uKHUsRyxwKXt2YXIgcj1TdHJpbmcoRyk7aWYoaGEocikpe0c9d2E7aWYocC5lbnVtZXJhYmxlKXt2YXIgQj1rKHApO0IuZW51bWVyYWJsZT0hMX1lbHNlIEI9cDtHKHUscixCKTt5KHUsciwhIXAuZW51bWVyYWJsZSl9ZWxzZSBxKHUsRyxwKTtyZXR1cm4gdX0sZ2I9ZnVuY3Rpb24odSl7cmV0dXJuIGcodSkuZmlsdGVyKGhhKS5tYXAoZmIpfTtDLnZhbHVlPVVhO3EoYSxcImRlZmluZVByb3BlcnR5XCIsQyk7Qy52YWx1ZT1nYjtxKGEsYixDKTtDLnZhbHVlPWZ1bmN0aW9uKHUpe3JldHVybiBnKHUpLmZpbHRlcih0YSl9O3EoYSxcImdldE93blByb3BlcnR5TmFtZXNcIixDKTtDLnZhbHVlPWZ1bmN0aW9uKHUsRyl7dmFyIHA9Z2IoRyk7cC5sZW5ndGg/bChHKS5jb25jYXQocCkuZm9yRWFjaChmdW5jdGlvbihyKXtzYS5jYWxsKEcsXG5yKSYmVWEodSxyLEdbcl0pfSk6SCh1LEcpO3JldHVybiB1fTtxKGEsXCJkZWZpbmVQcm9wZXJ0aWVzXCIsQyk7Qy52YWx1ZT1zYTtxKHQsXCJwcm9wZXJ0eUlzRW51bWVyYWJsZVwiLEMpO0MudmFsdWU9SjtxKGMsXCJTeW1ib2xcIixDKTtDLnZhbHVlPWZ1bmN0aW9uKHUpe3U9XCJfX1xcdTAwMDFzeW1ib2w6XCIuY29uY2F0KFwiX19cXHUwMDAxc3ltYm9sOlwiLHUsZSk7cmV0dXJuIHUgaW4gdD9mYVt1XTpuKHUpfTtxKEosXCJmb3JcIixDKTtDLnZhbHVlPWZ1bmN0aW9uKHUpe2lmKHRhKHUpKXRocm93IG5ldyBUeXBlRXJyb3IodStcIiBpcyBub3QgYSBzeW1ib2xcIik7aWYoRi5jYWxsKGZhLHUpJiYodT11LnNsaWNlKDEwKSxcIl9fXFx1MDAwMXN5bWJvbDpcIj09PXUuc2xpY2UoMCwxMCkmJih1PXUuc2xpY2UoMTApLHUhPT1lKSkpcmV0dXJuIHU9dS5zbGljZSgwLHUubGVuZ3RoLWUubGVuZ3RoKSwwPHUubGVuZ3RoP3U6dm9pZCAwfTtxKEosXCJrZXlGb3JcIixDKTtDLnZhbHVlPWZ1bmN0aW9uKHUsRyl7dmFyIHA9XG5oKHUsRyk7cCYmaGEoRykmJihwLmVudW1lcmFibGU9c2EuY2FsbCh1LEcpKTtyZXR1cm4gcH07cShhLFwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yXCIsQyk7Qy52YWx1ZT1mdW5jdGlvbih1LEcpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aHx8XCJ1bmRlZmluZWRcIj09PXR5cGVvZiBHP2sodSk6Vyh1LEcpfTtxKGEsXCJjcmVhdGVcIixDKTtDLnZhbHVlPWZ1bmN0aW9uKCl7dmFyIHU9TS5jYWxsKHRoaXMpO3JldHVyblwiW29iamVjdCBTdHJpbmddXCI9PT11JiZoYSh0aGlzKT9cIltvYmplY3QgU3ltYm9sXVwiOnV9O3EodCxcInRvU3RyaW5nXCIsQyk7dHJ5e2lmKCEwPT09ayhxKHt9LFwiX19cXHUwMDAxc3ltYm9sOlwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcSh0aGlzLFwiX19cXHUwMDAxc3ltYm9sOlwiLHt2YWx1ZTohMH0pW1wiX19cXHUwMDAxc3ltYm9sOlwiXX19KSlbXCJfX1xcdTAwMDFzeW1ib2w6XCJdKXZhciB3YT1xO2Vsc2UgdGhyb3dcIklFMTFcIjt9Y2F0Y2godSl7d2E9ZnVuY3Rpb24oRyxwLHIpe3ZhciBCPVxuaCh0LHApO2RlbGV0ZSB0W3BdO3EoRyxwLHIpO3EodCxwLEIpfX19fSkoT2JqZWN0LFwiZ2V0T3duUHJvcGVydHlTeW1ib2xzXCIpO1xuKGZ1bmN0aW9uKGEsYil7dmFyIGM9YS5kZWZpbmVQcm9wZXJ0eSxkPWEucHJvdG90eXBlLGU9ZC50b1N0cmluZyxmO1wiaXRlcmF0b3IgbWF0Y2ggcmVwbGFjZSBzZWFyY2ggc3BsaXQgaGFzSW5zdGFuY2UgaXNDb25jYXRTcHJlYWRhYmxlIHVuc2NvcGFibGVzIHNwZWNpZXMgdG9QcmltaXRpdmUgdG9TdHJpbmdUYWdcIi5zcGxpdChcIiBcIikuZm9yRWFjaChmdW5jdGlvbihnKXtnIGluIGJ8fChjKGIsZyx7dmFsdWU6YihnKX0pLFwidG9TdHJpbmdUYWdcIj09PWcmJihmPWEuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGQsXCJ0b1N0cmluZ1wiKSxmLnZhbHVlPWZ1bmN0aW9uKCl7dmFyIGg9ZS5jYWxsKHRoaXMpLGs9bnVsbD09dGhpcz90aGlzOnRoaXNbYi50b1N0cmluZ1RhZ107cmV0dXJuIG51bGw9PWs/aDpcIltvYmplY3QgXCIraytcIl1cIn0sYyhkLFwidG9TdHJpbmdcIixmKSkpfSl9KShPYmplY3QsU3ltYm9sKTtcbihmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZCgpe3JldHVybiB0aGlzfWJbYV18fChiW2FdPWZ1bmN0aW9uKCl7dmFyIGU9MCxmPXRoaXMsZz17bmV4dDpmdW5jdGlvbigpe3ZhciBoPWYubGVuZ3RoPD1lO3JldHVybiBoP3tkb25lOmh9Ontkb25lOmgsdmFsdWU6ZltlKytdfX19O2dbYV09ZDtyZXR1cm4gZ30pO2NbYV18fChjW2FdPWZ1bmN0aW9uKCl7dmFyIGU9U3RyaW5nLmZyb21Db2RlUG9pbnQsZj10aGlzLGc9MCxoPWYubGVuZ3RoLGs9e25leHQ6ZnVuY3Rpb24oKXt2YXIgbD1oPD1nLG09bD9cIlwiOmUoZi5jb2RlUG9pbnRBdChnKSk7Zys9bS5sZW5ndGg7cmV0dXJuIGw/e2RvbmU6bH06e2RvbmU6bCx2YWx1ZTptfX19O2tbYV09ZDtyZXR1cm4ga30pfSkoU3ltYm9sLml0ZXJhdG9yLEFycmF5LnByb3RvdHlwZSxTdHJpbmcucHJvdG90eXBlKTsvKlxuXG5Db3B5cmlnaHQgKGMpIDIwMTggVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0XG5odHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdFxuaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZVxuZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXNcbnBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnRcbmZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dFxuKi9cbnZhciBXYT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO09iamVjdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09dGhpcz9cIltvYmplY3QgVW5kZWZpbmVkXVwiOm51bGw9PT10aGlzP1wiW29iamVjdCBOdWxsXVwiOldhLmNhbGwodGhpcyl9O09iamVjdC5rZXlzPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuKGI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLGIpKSYmYi5lbnVtZXJhYmxlfSl9O1xuU3RyaW5nLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdJiZTdHJpbmcucHJvdG90eXBlLmNvZGVQb2ludEF0fHwoU3RyaW5nLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uIFhhKCl7dmFyIGIsYz10aGlzO3JldHVybiBFYShYYSxmdW5jdGlvbihkKXsxPT1kLmcmJihiPTApO2lmKDMhPWQuZylyZXR1cm4gYjxjLmxlbmd0aD9kPXlhKGQsY1tiXSk6KGQuZz0wLGQ9dm9pZCAwKSxkO2IrKztkLmc9Mn0pfSk7U2V0LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdfHwoU2V0LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uIFlhKCl7dmFyIGIsYz10aGlzLGQ7cmV0dXJuIEVhKFlhLGZ1bmN0aW9uKGUpezE9PWUuZyYmKGI9W10sYy5mb3JFYWNoKGZ1bmN0aW9uKGYpe2IucHVzaChmKX0pLGQ9MCk7aWYoMyE9ZS5nKXJldHVybiBkPGIubGVuZ3RoP2U9eWEoZSxiW2RdKTooZS5nPTAsZT12b2lkIDApLGU7ZCsrO2UuZz0yfSl9KTtcbk1hcC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXXx8KE1hcC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbiBaYSgpe3ZhciBiLGM9dGhpcyxkO3JldHVybiBFYShaYSxmdW5jdGlvbihlKXsxPT1lLmcmJihiPVtdLGMuZm9yRWFjaChmdW5jdGlvbihmLGcpe2IucHVzaChbZyxmXSl9KSxkPTApO2lmKDMhPWUuZylyZXR1cm4gZDxiLmxlbmd0aD9lPXlhKGUsYltkXSk6KGUuZz0wLGU9dm9pZCAwKSxlO2QrKztlLmc9Mn0pfSk7LypcblxuQ29weXJpZ2h0IChjKSAyMDIwIFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cblRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHRcblRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0XG5UaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHRcbkNvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvXG5zdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dFxuKi9cbnZhciAkYT1kb2N1bWVudC5jcmVhdGVFdmVudChcIkV2ZW50XCIpOyRhLmluaXRFdmVudChcImZvb1wiLCEwLCEwKTskYS5wcmV2ZW50RGVmYXVsdCgpO2lmKCEkYS5kZWZhdWx0UHJldmVudGVkKXt2YXIgYWI9RXZlbnQucHJvdG90eXBlLnByZXZlbnREZWZhdWx0O0V2ZW50LnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuY2FuY2VsYWJsZSYmKGFiLmNhbGwodGhpcyksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsXCJkZWZhdWx0UHJldmVudGVkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiEwfSxjb25maWd1cmFibGU6ITB9KSl9fXZhciBiYj0vVHJpZGVudC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbmlmKCF3aW5kb3cuRXZlbnR8fGJiJiZcImZ1bmN0aW9uXCIhPT10eXBlb2Ygd2luZG93LkV2ZW50KXt2YXIgY2I9d2luZG93LkV2ZW50O3dpbmRvdy5FdmVudD1mdW5jdGlvbihhLGIpe2I9Ynx8e307dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJFdmVudFwiKTtjLmluaXRFdmVudChhLCEhYi5idWJibGVzLCEhYi5jYW5jZWxhYmxlKTtyZXR1cm4gY307aWYoY2Ipe2Zvcih2YXIgZGIgaW4gY2Ipd2luZG93LkV2ZW50W2RiXT1jYltkYl07d2luZG93LkV2ZW50LnByb3RvdHlwZT1jYi5wcm90b3R5cGV9fVxuaWYoIXdpbmRvdy5DdXN0b21FdmVudHx8YmImJlwiZnVuY3Rpb25cIiE9PXR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQpd2luZG93LkN1c3RvbUV2ZW50PWZ1bmN0aW9uKGEsYil7Yj1ifHx7fTt2YXIgYz1kb2N1bWVudC5jcmVhdGVFdmVudChcIkN1c3RvbUV2ZW50XCIpO2MuaW5pdEN1c3RvbUV2ZW50KGEsISFiLmJ1YmJsZXMsISFiLmNhbmNlbGFibGUsYi5kZXRhaWwpO3JldHVybiBjfSx3aW5kb3cuQ3VzdG9tRXZlbnQucHJvdG90eXBlPXdpbmRvdy5FdmVudC5wcm90b3R5cGU7XG5pZighd2luZG93Lk1vdXNlRXZlbnR8fGJiJiZcImZ1bmN0aW9uXCIhPT10eXBlb2Ygd2luZG93Lk1vdXNlRXZlbnQpe3ZhciBlYj13aW5kb3cuTW91c2VFdmVudDt3aW5kb3cuTW91c2VFdmVudD1mdW5jdGlvbihhLGIpe2I9Ynx8e307dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJNb3VzZUV2ZW50XCIpO2MuaW5pdE1vdXNlRXZlbnQoYSwhIWIuYnViYmxlcywhIWIuY2FuY2VsYWJsZSxiLnZpZXd8fHdpbmRvdyxiLmRldGFpbCxiLnNjcmVlblgsYi5zY3JlZW5ZLGIuY2xpZW50WCxiLmNsaWVudFksYi5jdHJsS2V5LGIuYWx0S2V5LGIuc2hpZnRLZXksYi5tZXRhS2V5LGIuYnV0dG9uLGIucmVsYXRlZFRhcmdldCk7cmV0dXJuIGN9O2lmKGViKWZvcih2YXIgaGIgaW4gZWIpd2luZG93Lk1vdXNlRXZlbnRbaGJdPWViW2hiXTt3aW5kb3cuTW91c2VFdmVudC5wcm90b3R5cGU9ZWIucHJvdG90eXBlfTtPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLFwiYmFzZVVSSVwiKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KE5vZGUucHJvdG90eXBlLFwiYmFzZVVSSVwiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0odGhpcy5vd25lckRvY3VtZW50fHx0aGlzKS5xdWVyeVNlbGVjdG9yKFwiYmFzZVtocmVmXVwiKTtyZXR1cm4gYSYmYS5ocmVmfHx3aW5kb3cubG9jYXRpb24uaHJlZn0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9KTsvKlxuXG5Db3B5cmlnaHQgKGMpIDIwMjAgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0XG5odHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdFxuaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZVxuZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXNcbnBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnRcbmZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dFxuKi9cbnZhciBpYixqYixrYj1FbGVtZW50LnByb3RvdHlwZSxuYj1udWxsIT09KGliPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioa2IsXCJhdHRyaWJ1dGVzXCIpKSYmdm9pZCAwIT09aWI/aWI6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcImF0dHJpYnV0ZXNcIiksb2I9bnVsbCE9PShqYj1udWxsPT09bmJ8fHZvaWQgMD09PW5iP3ZvaWQgMDpuYi5nZXQpJiZ2b2lkIDAhPT1qYj9qYjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmF0dHJpYnV0ZXN9LHBiPUFycmF5LnByb3RvdHlwZS5tYXA7a2IuaGFzT3duUHJvcGVydHkoXCJnZXRBdHRyaWJ1dGVOYW1lc1wiKXx8KGtiLmdldEF0dHJpYnV0ZU5hbWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHBiLmNhbGwob2IuY2FsbCh0aGlzKSxmdW5jdGlvbihhKXtyZXR1cm4gYS5uYW1lfSl9KTt2YXIgcWIscmI9RWxlbWVudC5wcm90b3R5cGU7cmIuaGFzT3duUHJvcGVydHkoXCJtYXRjaGVzXCIpfHwocmIubWF0Y2hlcz1udWxsIT09KHFiPXJiLndlYmtpdE1hdGNoZXNTZWxlY3RvcikmJnZvaWQgMCE9PXFiP3FiOnJiLm1zTWF0Y2hlc1NlbGVjdG9yKTt2YXIgc2I9Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ7ZnVuY3Rpb24gdGIoYSl7YT1hLnByb3RvdHlwZTthLmhhc093blByb3BlcnR5KFwiYXBwZW5kXCIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcImFwcGVuZFwiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbihiKXtmb3IodmFyIGM9W10sZD0wO2Q8YXJndW1lbnRzLmxlbmd0aDsrK2QpY1tkXT1hcmd1bWVudHNbZF07Yz1rYShjKTtmb3IoZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZD1kLnZhbHVlLHNiLmNhbGwodGhpcyxcInN0cmluZ1wiPT09dHlwZW9mIGQ/ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZCk6ZCl9fSl9dGIoRG9jdW1lbnQpO3RiKERvY3VtZW50RnJhZ21lbnQpO3RiKEVsZW1lbnQpO3ZhciB1Yix2Yix3Yj1Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmUseGI9bnVsbCE9PSh2Yj1udWxsPT09KHViPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTm9kZS5wcm90b3R5cGUsXCJmaXJzdENoaWxkXCIpKXx8dm9pZCAwPT09dWI/dm9pZCAwOnViLmdldCkmJnZvaWQgMCE9PXZiP3ZiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlyc3RDaGlsZH07XG5mdW5jdGlvbiB5YihhKXthPWEucHJvdG90eXBlO2EuaGFzT3duUHJvcGVydHkoXCJwcmVwZW5kXCIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcInByZXBlbmRcIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGFyZ3VtZW50cy5sZW5ndGg7KytkKWNbZF09YXJndW1lbnRzW2RdO2Q9eGIuY2FsbCh0aGlzKTtjPWthKGMpO2Zvcih2YXIgZT1jLm5leHQoKTshZS5kb25lO2U9Yy5uZXh0KCkpZT1lLnZhbHVlLHdiLmNhbGwodGhpcyxcInN0cmluZ1wiPT09dHlwZW9mIGU/ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSk6ZSxkKX19KX15YihEb2N1bWVudCk7eWIoRG9jdW1lbnRGcmFnbWVudCk7eWIoRWxlbWVudCk7dmFyIHpiLEFiLEJiPU5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkLENiPU5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLERiPW51bGwhPT0oQWI9bnVsbD09PSh6Yj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE5vZGUucHJvdG90eXBlLFwiZmlyc3RDaGlsZFwiKSl8fHZvaWQgMD09PXpiP3ZvaWQgMDp6Yi5nZXQpJiZ2b2lkIDAhPT1BYj9BYjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpcnN0Q2hpbGR9O1xuZnVuY3Rpb24gRWIoYSl7YT1hLnByb3RvdHlwZTthLmhhc093blByb3BlcnR5KFwicmVwbGFjZUNoaWxkcmVuXCIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcInJlcGxhY2VDaGlsZHJlblwiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbihiKXtmb3IodmFyIGM9W10sZD0wO2Q8YXJndW1lbnRzLmxlbmd0aDsrK2QpY1tkXT1hcmd1bWVudHNbZF07Zm9yKDtudWxsIT09KGQ9RGIuY2FsbCh0aGlzKSk7KUNiLmNhbGwodGhpcyxkKTtjPWthKGMpO2ZvcihkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSlkPWQudmFsdWUsQmIuY2FsbCh0aGlzLFwic3RyaW5nXCI9PT10eXBlb2YgZD9kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShkKTpkKX19KX1FYihEb2N1bWVudCk7RWIoRG9jdW1lbnRGcmFnbWVudCk7RWIoRWxlbWVudCk7dmFyIEZiLEdiLEhiLEliLEpiPU5vZGUucHJvdG90eXBlLmluc2VydEJlZm9yZSxLYj1udWxsIT09KEdiPW51bGw9PT0oRmI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcInBhcmVudE5vZGVcIikpfHx2b2lkIDA9PT1GYj92b2lkIDA6RmIuZ2V0KSYmdm9pZCAwIT09R2I/R2I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlfSxMYj1udWxsIT09KEliPW51bGw9PT0oSGI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcIm5leHRTaWJsaW5nXCIpKXx8dm9pZCAwPT09SGI/dm9pZCAwOkhiLmdldCkmJnZvaWQgMCE9PUliP0liOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmV4dFNpYmxpbmd9O1xuZnVuY3Rpb24gTWIoYSl7YT1hLnByb3RvdHlwZTthLmhhc093blByb3BlcnR5KFwiYWZ0ZXJcIil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFwiYWZ0ZXJcIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGFyZ3VtZW50cy5sZW5ndGg7KytkKWNbZF09YXJndW1lbnRzW2RdO2Q9S2IuY2FsbCh0aGlzKTtpZihudWxsIT09ZCl7dmFyIGU9TGIuY2FsbCh0aGlzKTtjPWthKGMpO2Zvcih2YXIgZj1jLm5leHQoKTshZi5kb25lO2Y9Yy5uZXh0KCkpZj1mLnZhbHVlLEpiLmNhbGwoZCxcInN0cmluZ1wiPT09dHlwZW9mIGY/ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZik6ZixlKX19fSl9TWIoQ2hhcmFjdGVyRGF0YSk7TWIoRWxlbWVudCk7dmFyIE5iLE9iLFBiPU5vZGUucHJvdG90eXBlLmluc2VydEJlZm9yZSxRYj1udWxsIT09KE9iPW51bGw9PT0oTmI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcInBhcmVudE5vZGVcIikpfHx2b2lkIDA9PT1OYj92b2lkIDA6TmIuZ2V0KSYmdm9pZCAwIT09T2I/T2I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlfTtcbmZ1bmN0aW9uIFJiKGEpe2E9YS5wcm90b3R5cGU7YS5oYXNPd25Qcm9wZXJ0eShcImJlZm9yZVwiKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsXCJiZWZvcmVcIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGFyZ3VtZW50cy5sZW5ndGg7KytkKWNbZF09YXJndW1lbnRzW2RdO2Q9UWIuY2FsbCh0aGlzKTtpZihudWxsIT09ZCl7Yz1rYShjKTtmb3IodmFyIGU9Yy5uZXh0KCk7IWUuZG9uZTtlPWMubmV4dCgpKWU9ZS52YWx1ZSxQYi5jYWxsKGQsXCJzdHJpbmdcIj09PXR5cGVvZiBlP2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpOmUsdGhpcyl9fX0pfVJiKENoYXJhY3RlckRhdGEpO1JiKEVsZW1lbnQpO3ZhciBTYixUYixVYj1Ob2RlLnByb3RvdHlwZS5yZW1vdmVDaGlsZCxWYj1udWxsIT09KFRiPW51bGw9PT0oU2I9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcInBhcmVudE5vZGVcIikpfHx2b2lkIDA9PT1TYj92b2lkIDA6U2IuZ2V0KSYmdm9pZCAwIT09VGI/VGI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlfTtmdW5jdGlvbiBXYihhKXthPWEucHJvdG90eXBlO2EuaGFzT3duUHJvcGVydHkoXCJyZW1vdmVcIil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFwicmVtb3ZlXCIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGI9VmIuY2FsbCh0aGlzKTtiJiZVYi5jYWxsKGIsdGhpcyl9fSl9V2IoQ2hhcmFjdGVyRGF0YSk7V2IoRWxlbWVudCk7dmFyIFhiLFliLFpiPU5vZGUucHJvdG90eXBlLmluc2VydEJlZm9yZSwkYj1Ob2RlLnByb3RvdHlwZS5yZW1vdmVDaGlsZCxhYz1udWxsIT09KFliPW51bGw9PT0oWGI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcInBhcmVudE5vZGVcIikpfHx2b2lkIDA9PT1YYj92b2lkIDA6WGIuZ2V0KSYmdm9pZCAwIT09WWI/WWI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlfTtcbmZ1bmN0aW9uIGJjKGEpe2E9YS5wcm90b3R5cGU7YS5oYXNPd25Qcm9wZXJ0eShcInJlcGxhY2VXaXRoXCIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcInJlcGxhY2VXaXRoXCIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhcmd1bWVudHMubGVuZ3RoOysrZCljW2RdPWFyZ3VtZW50c1tkXTtkPWFjLmNhbGwodGhpcyk7aWYobnVsbCE9PWQpe2M9a2EoYyk7Zm9yKHZhciBlPWMubmV4dCgpOyFlLmRvbmU7ZT1jLm5leHQoKSllPWUudmFsdWUsWmIuY2FsbChkLFwic3RyaW5nXCI9PT10eXBlb2YgZT9kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlKTplLHRoaXMpOyRiLmNhbGwoZCx0aGlzKX19fSl9YmMoQ2hhcmFjdGVyRGF0YSk7YmMoRWxlbWVudCk7dmFyIGNjPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZSxkYz13aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlLGVjPXdpbmRvdy5TVkdFbGVtZW50LnByb3RvdHlwZTshZGMuaGFzT3duUHJvcGVydHkoXCJjbGFzc0xpc3RcIil8fGNjLmhhc093blByb3BlcnR5KFwiY2xhc3NMaXN0XCIpfHxlYy5oYXNPd25Qcm9wZXJ0eShcImNsYXNzTGlzdFwiKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGNjLFwiY2xhc3NMaXN0XCIsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihkYyxcImNsYXNzTGlzdFwiKSk7LypcblxuIENvcHlyaWdodCAoYykgMjAxNCBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0XG4gaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmRcbiBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5XG4gYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieVxuIEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVBcbiByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0XG4qL1xudmFyIGZjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtmYy50ZXh0Q29udGVudD1cImJvZHkge3RyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1pbiAwLjJzOyB9IFxcbmJvZHlbdW5yZXNvbHZlZF0ge29wYWNpdHk6IDA7IGRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IH0gXFxuXCI7dmFyIGhjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJoZWFkXCIpO2hjLmluc2VydEJlZm9yZShmYyxoYy5maXJzdENoaWxkKTt2YXIgaWM9d2luZG93O2ljLldlYkNvbXBvbmVudHM9aWMuV2ViQ29tcG9uZW50c3x8e2ZsYWdzOnt9fTt2YXIgamM9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2NyaXB0W3NyYyo9XCJ3ZWJjb21wb25lbnRzLWJ1bmRsZVwiXScpLGtjPS93Yy0oLispLyxsYz17fTtpZighbGMubm9PcHRzKXtsb2NhdGlvbi5zZWFyY2guc2xpY2UoMSkuc3BsaXQoXCImXCIpLmZvckVhY2goZnVuY3Rpb24oYSl7YT1hLnNwbGl0KFwiPVwiKTt2YXIgYjthWzBdJiYoYj1hWzBdLm1hdGNoKGtjKSkmJihsY1tiWzFdXT1hWzFdfHwhMCl9KTtpZihqYylmb3IodmFyIG1jPTAsbmM9dm9pZCAwO25jPWpjLmF0dHJpYnV0ZXNbbWNdO21jKyspXCJzcmNcIiE9PW5jLm5hbWUmJihsY1tuYy5uYW1lXT1uYy52YWx1ZXx8ITApO3ZhciBvYz17fTtsYy5sb2cmJmxjLmxvZy5zcGxpdCYmbGMubG9nLnNwbGl0KFwiLFwiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe29jW2FdPSEwfSk7bGMubG9nPW9jfVxuaWMuV2ViQ29tcG9uZW50cy5mbGFncz1sYzt2YXIgcGM9bGMuc2hhZHlkb207aWYocGMpe2ljLlNoYWR5RE9NPWljLlNoYWR5RE9NfHx7fTtpYy5TaGFkeURPTS5mb3JjZT1wYzt2YXIgcWM9bGMubm9QYXRjaDtpYy5TaGFkeURPTS5ub1BhdGNoPVwidHJ1ZVwiPT09cWM/ITA6cWN9dmFyIHJjPWxjLnJlZ2lzdGVyfHxsYy5jZTtyYyYmd2luZG93LmN1c3RvbUVsZW1lbnRzJiYoaWMuY3VzdG9tRWxlbWVudHMuZm9yY2VQb2x5ZmlsbD1yYyk7LypcblxuIENvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dFxuIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0XG4gVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0XG4gQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc29cbiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dFxuKi9cbihmdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXt9ZnVuY3Rpb24gYihwLHIpe2lmKCFwLmNoaWxkTm9kZXMubGVuZ3RoKXJldHVybltdO3N3aXRjaChwLm5vZGVUeXBlKXtjYXNlIE5vZGUuRE9DVU1FTlRfTk9ERTpyZXR1cm4gRi5jYWxsKHAscik7Y2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6cmV0dXJuIEUuY2FsbChwLHIpO2RlZmF1bHQ6cmV0dXJuIHQuY2FsbChwLHIpfX12YXIgYz1cInVuZGVmaW5lZFwiPT09dHlwZW9mIEhUTUxUZW1wbGF0ZUVsZW1lbnQsZD0hKGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKS5jbG9uZU5vZGUoKWluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCksZT0hMTsvVHJpZGVudC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmZnVuY3Rpb24oKXtmdW5jdGlvbiBwKHosUil7aWYoeiBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpZm9yKHZhciBsYjtsYj16LmZpcnN0Q2hpbGQ7KUIuY2FsbCh0aGlzLGxiLFIpO2Vsc2UgQi5jYWxsKHRoaXMsXG56LFIpO3JldHVybiB6fWU9ITA7dmFyIHI9Tm9kZS5wcm90b3R5cGUuY2xvbmVOb2RlO05vZGUucHJvdG90eXBlLmNsb25lTm9kZT1mdW5jdGlvbih6KXt6PXIuY2FsbCh0aGlzLHopO3RoaXMgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50JiYoei5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUpO3JldHVybiB6fTtEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsPUhUTUxFbGVtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsO0RvY3VtZW50RnJhZ21lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3I9SFRNTEVsZW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3I7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUse25vZGVUeXBlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFfSxjb25maWd1cmFibGU6ITB9LGxvY2FsTmFtZTp7Z2V0OmZ1bmN0aW9uKCl7fSxcbmNvbmZpZ3VyYWJsZTohMH0sbm9kZU5hbWU6e2dldDpmdW5jdGlvbigpe3JldHVyblwiI2RvY3VtZW50LWZyYWdtZW50XCJ9LGNvbmZpZ3VyYWJsZTohMH19KTt2YXIgQj1Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmU7Tm9kZS5wcm90b3R5cGUuaW5zZXJ0QmVmb3JlPXA7dmFyIEs9Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ7Tm9kZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oeil7eiBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQ/cC5jYWxsKHRoaXMseixudWxsKTpLLmNhbGwodGhpcyx6KTtyZXR1cm4gen07dmFyIGFhPU5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLGxhPU5vZGUucHJvdG90eXBlLnJlcGxhY2VDaGlsZDtOb2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQ9ZnVuY3Rpb24oeixSKXt6IGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudD8ocC5jYWxsKHRoaXMseixSKSxhYS5jYWxsKHRoaXMsUikpOmxhLmNhbGwodGhpcyx6LFIpO3JldHVybiBSfTtEb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1cbmZ1bmN0aW9uKCl7dmFyIHo9dGhpcy5jcmVhdGVFbGVtZW50KFwiZGZcIik7ei5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGU7cmV0dXJuIHp9O3ZhciB2YT1Eb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZTtEb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZT1mdW5jdGlvbih6LFIpe1I9dmEuY2FsbCh0aGlzLHosUnx8ITEpO3ogaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50JiYoUi5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUpO3JldHVybiBSfX0oKTt2YXIgZj1Ob2RlLnByb3RvdHlwZS5jbG9uZU5vZGUsZz1Eb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRWxlbWVudCxoPURvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlLGs9Tm9kZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGQsbD1Ob2RlLnByb3RvdHlwZS5hcHBlbmRDaGlsZCxtPU5vZGUucHJvdG90eXBlLnJlcGxhY2VDaGlsZCxxPURPTVBhcnNlci5wcm90b3R5cGUucGFyc2VGcm9tU3RyaW5nLFxuSD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUsXCJpbm5lckhUTUxcIil8fHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbm5lckhUTUx9LHNldDpmdW5jdGlvbihwKXt0aGlzLmlubmVySFRNTD1wfX0sQz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdy5Ob2RlLnByb3RvdHlwZSxcImNoaWxkTm9kZXNcIil8fHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZE5vZGVzfX0sdD1FbGVtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsLEY9RG9jdW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGwsRT1Eb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsLE09ZnVuY3Rpb24oKXtpZighYyl7dmFyIHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRlbXBsYXRlXCIpLHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRlbXBsYXRlXCIpO3IuY29udGVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKTtcbnAuY29udGVudC5hcHBlbmRDaGlsZChyKTtwPXAuY2xvbmVOb2RlKCEwKTtyZXR1cm4gMD09PXAuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aHx8MD09PXAuY29udGVudC5maXJzdENoaWxkLmNvbnRlbnQuY2hpbGROb2Rlcy5sZW5ndGh8fGR9fSgpO2lmKGMpe3ZhciB5PWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudChcInRlbXBsYXRlXCIpLFc9ITAsdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7dy50ZXh0Q29udGVudD1cInRlbXBsYXRle2Rpc3BsYXk6bm9uZTt9XCI7dmFyIHRhPWRvY3VtZW50LmhlYWQ7dGEuaW5zZXJ0QmVmb3JlKHcsdGEuZmlyc3RFbGVtZW50Q2hpbGQpO2EucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoSFRNTEVsZW1lbnQucHJvdG90eXBlKTt2YXIgaGE9IWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikuaGFzT3duUHJvcGVydHkoXCJpbm5lckhUTUxcIik7YS5aPWZ1bmN0aW9uKHApe2lmKCFwLmNvbnRlbnQmJnAubmFtZXNwYWNlVVJJPT09XG5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJKXtwLmNvbnRlbnQ9eS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Zm9yKHZhciByO3I9cC5maXJzdENoaWxkOylsLmNhbGwocC5jb250ZW50LHIpO2lmKGhhKXAuX19wcm90b19fPWEucHJvdG90eXBlO2Vsc2UgaWYocC5jbG9uZU5vZGU9ZnVuY3Rpb24oQil7cmV0dXJuIGEuc2EodGhpcyxCKX0sVyl0cnl7bihwKSxKKHApfWNhdGNoKEIpe1c9ITF9YS5ib290c3RyYXAocC5jb250ZW50KX19O3ZhciBzYT17b3B0aW9uOltcInNlbGVjdFwiXSx0aGVhZDpbXCJ0YWJsZVwiXSxjb2w6W1wiY29sZ3JvdXBcIixcInRhYmxlXCJdLHRyOltcInRib2R5XCIsXCJ0YWJsZVwiXSx0aDpbXCJ0clwiLFwidGJvZHlcIixcInRhYmxlXCJdLHRkOltcInRyXCIsXCJ0Ym9keVwiLFwidGFibGVcIl19LG49ZnVuY3Rpb24ocCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHAsXCJpbm5lckhUTUxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHdhKHRoaXMpfSxzZXQ6ZnVuY3Rpb24ocil7dmFyIEI9XG5zYVsoLzwoW2Etel1bXi9cXDA+XFx4MjBcXHRcXHJcXG5cXGZdKykvaS5leGVjKHIpfHxbXCJcIixcIlwiXSlbMV0udG9Mb3dlckNhc2UoKV07aWYoQilmb3IodmFyIEs9MDtLPEIubGVuZ3RoO0srKylyPVwiPFwiK0JbS10rXCI+XCIrcitcIjwvXCIrQltLXStcIj5cIjt5LmJvZHkuaW5uZXJIVE1MPXI7Zm9yKGEuYm9vdHN0cmFwKHkpO3RoaXMuY29udGVudC5maXJzdENoaWxkOylrLmNhbGwodGhpcy5jb250ZW50LHRoaXMuY29udGVudC5maXJzdENoaWxkKTtyPXkuYm9keTtpZihCKWZvcihLPTA7SzxCLmxlbmd0aDtLKyspcj1yLmxhc3RDaGlsZDtmb3IoO3IuZmlyc3RDaGlsZDspbC5jYWxsKHRoaXMuY29udGVudCxyLmZpcnN0Q2hpbGQpfSxjb25maWd1cmFibGU6ITB9KX0sSj1mdW5jdGlvbihwKXtPYmplY3QuZGVmaW5lUHJvcGVydHkocCxcIm91dGVySFRNTFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIjx0ZW1wbGF0ZT5cIit0aGlzLmlubmVySFRNTCtcIjwvdGVtcGxhdGU+XCJ9LHNldDpmdW5jdGlvbihyKXtpZih0aGlzLnBhcmVudE5vZGUpe3kuYm9keS5pbm5lckhUTUw9XG5yO2ZvcihyPXRoaXMub3duZXJEb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7eS5ib2R5LmZpcnN0Q2hpbGQ7KWwuY2FsbChyLHkuYm9keS5maXJzdENoaWxkKTttLmNhbGwodGhpcy5wYXJlbnROb2RlLHIsdGhpcyl9ZWxzZSB0aHJvdyBFcnJvcihcIkZhaWxlZCB0byBzZXQgdGhlICdvdXRlckhUTUwnIHByb3BlcnR5IG9uICdFbGVtZW50JzogVGhpcyBlbGVtZW50IGhhcyBubyBwYXJlbnQgbm9kZS5cIik7fSxjb25maWd1cmFibGU6ITB9KX07bihhLnByb3RvdHlwZSk7SihhLnByb3RvdHlwZSk7YS5ib290c3RyYXA9ZnVuY3Rpb24ocCl7cD1iKHAsXCJ0ZW1wbGF0ZVwiKTtmb3IodmFyIHI9MCxCPXAubGVuZ3RoLEs7cjxCJiYoSz1wW3JdKTtyKyspYS5aKEspfTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLGZ1bmN0aW9uKCl7YS5ib290c3RyYXAoZG9jdW1lbnQpfSk7RG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oKXt2YXIgcD1cbmcuYXBwbHkodGhpcyxhcmd1bWVudHMpO1widGVtcGxhdGVcIj09PXAubG9jYWxOYW1lJiZhLloocCk7cmV0dXJuIHB9O0RPTVBhcnNlci5wcm90b3R5cGUucGFyc2VGcm9tU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHA9cS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YS5ib290c3RyYXAocCk7cmV0dXJuIHB9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShIVE1MRWxlbWVudC5wcm90b3R5cGUsXCJpbm5lckhUTUxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHdhKHRoaXMpfSxzZXQ6ZnVuY3Rpb24ocCl7SC5zZXQuY2FsbCh0aGlzLHApO2EuYm9vdHN0cmFwKHRoaXMpfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH0pO3ZhciBmYT0vWyZcXHUwMEEwXCJdL2csZ2M9L1smXFx1MDBBMDw+XS9nLGZiPWZ1bmN0aW9uKHApe3N3aXRjaChwKXtjYXNlIFwiJlwiOnJldHVyblwiJmFtcDtcIjtjYXNlIFwiPFwiOnJldHVyblwiJmx0O1wiO2Nhc2UgXCI+XCI6cmV0dXJuXCImZ3Q7XCI7Y2FzZSAnXCInOnJldHVyblwiJnF1b3Q7XCI7Y2FzZSBcIlxcdTAwYTBcIjpyZXR1cm5cIiZuYnNwO1wifX07XG53PWZ1bmN0aW9uKHApe2Zvcih2YXIgcj17fSxCPTA7QjxwLmxlbmd0aDtCKyspcltwW0JdXT0hMDtyZXR1cm4gcn07dmFyIFVhPXcoXCJhcmVhIGJhc2UgYnIgY29sIGNvbW1hbmQgZW1iZWQgaHIgaW1nIGlucHV0IGtleWdlbiBsaW5rIG1ldGEgcGFyYW0gc291cmNlIHRyYWNrIHdiclwiLnNwbGl0KFwiIFwiKSksZ2I9dyhcInN0eWxlIHNjcmlwdCB4bXAgaWZyYW1lIG5vZW1iZWQgbm9mcmFtZXMgcGxhaW50ZXh0IG5vc2NyaXB0XCIuc3BsaXQoXCIgXCIpKSx3YT1mdW5jdGlvbihwLHIpe1widGVtcGxhdGVcIj09PXAubG9jYWxOYW1lJiYocD1wLmNvbnRlbnQpO2Zvcih2YXIgQj1cIlwiLEs9cj9yKHApOkMuZ2V0LmNhbGwocCksYWE9MCxsYT1LLmxlbmd0aCx2YTthYTxsYSYmKHZhPUtbYWFdKTthYSsrKXthOnt2YXIgej12YTt2YXIgUj1wO3ZhciBsYj1yO3N3aXRjaCh6Lm5vZGVUeXBlKXtjYXNlIE5vZGUuRUxFTUVOVF9OT0RFOmZvcih2YXIgRmM9ei5sb2NhbE5hbWUsbWI9XCI8XCIrRmMsQmg9ei5hdHRyaWJ1dGVzLFxub2U9MDtSPUJoW29lXTtvZSsrKW1iKz1cIiBcIitSLm5hbWUrJz1cIicrUi52YWx1ZS5yZXBsYWNlKGZhLGZiKSsnXCInO21iKz1cIj5cIjt6PVVhW0ZjXT9tYjptYit3YSh6LGxiKStcIjwvXCIrRmMrXCI+XCI7YnJlYWsgYTtjYXNlIE5vZGUuVEVYVF9OT0RFOno9ei5kYXRhO3o9UiYmZ2JbUi5sb2NhbE5hbWVdP3o6ei5yZXBsYWNlKGdjLGZiKTticmVhayBhO2Nhc2UgTm9kZS5DT01NRU5UX05PREU6ej1cIlxceDNjIS0tXCIrei5kYXRhK1wiLS1cXHgzZVwiO2JyZWFrIGE7ZGVmYXVsdDp0aHJvdyB3aW5kb3cuY29uc29sZS5lcnJvcih6KSxFcnJvcihcIm5vdCBpbXBsZW1lbnRlZFwiKTt9fUIrPXp9cmV0dXJuIEJ9fWlmKGN8fE0pe2Euc2E9ZnVuY3Rpb24ocCxyKXt2YXIgQj1mLmNhbGwocCwhMSk7dGhpcy5aJiZ0aGlzLlooQik7ciYmKGwuY2FsbChCLmNvbnRlbnQsZi5jYWxsKHAuY29udGVudCwhMCkpLEkoQi5jb250ZW50LHAuY29udGVudCkpO3JldHVybiBCfTt2YXIgST1mdW5jdGlvbihwLHIpe2lmKHIucXVlcnlTZWxlY3RvckFsbCYmXG4ocj1iKHIsXCJ0ZW1wbGF0ZVwiKSwwIT09ci5sZW5ndGgpKXtwPWIocCxcInRlbXBsYXRlXCIpO2Zvcih2YXIgQj0wLEs9cC5sZW5ndGgsYWEsbGE7QjxLO0IrKylsYT1yW0JdLGFhPXBbQl0sYSYmYS5aJiZhLloobGEpLG0uY2FsbChhYS5wYXJlbnROb2RlLHUuY2FsbChsYSwhMCksYWEpfX0sdT1Ob2RlLnByb3RvdHlwZS5jbG9uZU5vZGU9ZnVuY3Rpb24ocCl7aWYoIWUmJmQmJnRoaXMgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KWlmKHApdmFyIHI9Ry5jYWxsKHRoaXMub3duZXJEb2N1bWVudCx0aGlzLCEwKTtlbHNlIHJldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2Vsc2UgdGhpcy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZcInRlbXBsYXRlXCI9PT10aGlzLmxvY2FsTmFtZSYmdGhpcy5uYW1lc3BhY2VVUkk9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkk/cj1hLnNhKHRoaXMscCk6cj1mLmNhbGwodGhpcyxcbnApO3AmJkkocix0aGlzKTtyZXR1cm4gcn0sRz1Eb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZT1mdW5jdGlvbihwLHIpe3I9cnx8ITE7aWYoXCJ0ZW1wbGF0ZVwiPT09cC5sb2NhbE5hbWUpcmV0dXJuIGEuc2EocCxyKTt2YXIgQj1oLmNhbGwodGhpcyxwLHIpO2lmKHIpe0koQixwKTtwPWIoQiwnc2NyaXB0Om5vdChbdHlwZV0pLHNjcmlwdFt0eXBlPVwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiXSxzY3JpcHRbdHlwZT1cInRleHQvamF2YXNjcmlwdFwiXScpO2Zvcih2YXIgSyxhYT0wO2FhPHAubGVuZ3RoO2FhKyspe0s9cFthYV07cj1nLmNhbGwoZG9jdW1lbnQsXCJzY3JpcHRcIik7ci50ZXh0Q29udGVudD1LLnRleHRDb250ZW50O2Zvcih2YXIgbGE9Sy5hdHRyaWJ1dGVzLHZhPTAsejt2YTxsYS5sZW5ndGg7dmErKyl6PWxhW3ZhXSxyLnNldEF0dHJpYnV0ZSh6Lm5hbWUsei52YWx1ZSk7bS5jYWxsKEsucGFyZW50Tm9kZSxyLEspfX1yZXR1cm4gQn19YyYmKHdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50PVxuYSl9KSgpOy8qXG5cbkNvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG5UaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0XG5UaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dFxuVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0XG5Db2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzb1xuc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHRcbiovXG5mdW5jdGlvbiBzYygpe31zYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue319O2Z1bmN0aW9uIEQoYSl7YS5fX3NoYWR5fHwoYS5fX3NoYWR5PW5ldyBzYyk7cmV0dXJuIGEuX19zaGFkeX1mdW5jdGlvbiBMKGEpe3JldHVybiBhJiZhLl9fc2hhZHl9O3ZhciBOPXdpbmRvdy5TaGFkeURPTXx8e307Ti5ZYT0hKCFFbGVtZW50LnByb3RvdHlwZS5hdHRhY2hTaGFkb3d8fCFOb2RlLnByb3RvdHlwZS5nZXRSb290Tm9kZSk7dmFyIHRjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTm9kZS5wcm90b3R5cGUsXCJmaXJzdENoaWxkXCIpO04uSD0hISh0YyYmdGMuY29uZmlndXJhYmxlJiZ0Yy5nZXQpO04ueWE9Ti5mb3JjZXx8IU4uWWE7Ti5KPU4ubm9QYXRjaHx8ITE7Ti5mYT1OLnByZWZlclBlcmZvcm1hbmNlO04uQWE9XCJvbi1kZW1hbmRcIj09PU4uSjtOLk5hPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goXCJUcmlkZW50XCIpO2Z1bmN0aW9uIHVjKCl7cmV0dXJuIERvY3VtZW50LnByb3RvdHlwZS5tc0VsZW1lbnRzRnJvbVBvaW50P1wibXNFbGVtZW50c0Zyb21Qb2ludFwiOlwiZWxlbWVudHNGcm9tUG9pbnRcIn1mdW5jdGlvbiB2YyhhKXtyZXR1cm4oYT1MKGEpKSYmdm9pZCAwIT09YS5maXJzdENoaWxkfVxuZnVuY3Rpb24gTyhhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3R9ZnVuY3Rpb24gd2MoYSl7cmV0dXJuKGE9KGE9TChhKSkmJmEucm9vdCkmJnhjKGEpfXZhciB5Yz1FbGVtZW50LnByb3RvdHlwZSx6Yz15Yy5tYXRjaGVzfHx5Yy5tYXRjaGVzU2VsZWN0b3J8fHljLm1vek1hdGNoZXNTZWxlY3Rvcnx8eWMubXNNYXRjaGVzU2VsZWN0b3J8fHljLm9NYXRjaGVzU2VsZWN0b3J8fHljLndlYmtpdE1hdGNoZXNTZWxlY3RvcixBYz1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcIlwiKSxCYz0wLENjPVtdOyhuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpe2Zvcig7Q2MubGVuZ3RoOyl0cnl7Q2Muc2hpZnQoKSgpfWNhdGNoKGEpe3Rocm93IEFjLnRleHRDb250ZW50PUJjKyssYTt9fSkpLm9ic2VydmUoQWMse2NoYXJhY3RlckRhdGE6ITB9KTtmdW5jdGlvbiBEYyhhKXtDYy5wdXNoKGEpO0FjLnRleHRDb250ZW50PUJjKyt9XG52YXIgRWM9ZG9jdW1lbnQuY29udGFpbnM/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5fX3NoYWR5X25hdGl2ZV9jb250YWlucyhiKX06ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ8fGEuZG9jdW1lbnRFbGVtZW50JiZhLmRvY3VtZW50RWxlbWVudC5fX3NoYWR5X25hdGl2ZV9jb250YWlucyhiKX07ZnVuY3Rpb24gR2MoYSxiKXtmb3IoO2I7KXtpZihiPT1hKXJldHVybiEwO2I9Yi5fX3NoYWR5X3BhcmVudE5vZGV9cmV0dXJuITF9XG5mdW5jdGlvbiBIYyhhKXtmb3IodmFyIGI9YS5sZW5ndGgtMTswPD1iO2ItLSl7dmFyIGM9YVtiXSxkPWMuZ2V0QXR0cmlidXRlKFwiaWRcIil8fGMuZ2V0QXR0cmlidXRlKFwibmFtZVwiKTtkJiZcImxlbmd0aFwiIT09ZCYmaXNOYU4oZCkmJihhW2RdPWMpfWEuaXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gYVtlXX07YS5uYW1lZEl0ZW09ZnVuY3Rpb24oZSl7aWYoXCJsZW5ndGhcIiE9PWUmJmlzTmFOKGUpJiZhW2VdKXJldHVybiBhW2VdO2Zvcih2YXIgZj1rYShhKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSlpZihnPWcudmFsdWUsKGcuZ2V0QXR0cmlidXRlKFwiaWRcIil8fGcuZ2V0QXR0cmlidXRlKFwibmFtZVwiKSk9PWUpcmV0dXJuIGc7cmV0dXJuIG51bGx9O3JldHVybiBhfWZ1bmN0aW9uIEljKGEpe3ZhciBiPVtdO2ZvcihhPWEuX19zaGFkeV9uYXRpdmVfZmlyc3RDaGlsZDthO2E9YS5fX3NoYWR5X25hdGl2ZV9uZXh0U2libGluZyliLnB1c2goYSk7cmV0dXJuIGJ9XG5mdW5jdGlvbiBKYyhhKXt2YXIgYj1bXTtmb3IoYT1hLl9fc2hhZHlfZmlyc3RDaGlsZDthO2E9YS5fX3NoYWR5X25leHRTaWJsaW5nKWIucHVzaChhKTtyZXR1cm4gYn1mdW5jdGlvbiBLYyhhLGIsYyl7Yy5jb25maWd1cmFibGU9ITA7aWYoYy52YWx1ZSlhW2JdPWMudmFsdWU7ZWxzZSB0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYixjKX1jYXRjaChkKXt9fWZ1bmN0aW9uIFAoYSxiLGMsZCl7Yz12b2lkIDA9PT1jP1wiXCI6Yztmb3IodmFyIGUgaW4gYilkJiYwPD1kLmluZGV4T2YoZSl8fEtjKGEsYytlLGJbZV0pfWZ1bmN0aW9uIExjKGEsYil7Zm9yKHZhciBjIGluIGIpYyBpbiBhJiZLYyhhLGMsYltjXSl9ZnVuY3Rpb24gUShhKXt2YXIgYj17fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhKS5mb3JFYWNoKGZ1bmN0aW9uKGMpe2JbY109T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLGMpfSk7cmV0dXJuIGJ9XG5mdW5jdGlvbiBNYyhhLGIpe2Zvcih2YXIgYz1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhiKSxkPTAsZTtkPGMubGVuZ3RoO2QrKyllPWNbZF0sYVtlXT1iW2VdfWZ1bmN0aW9uIE5jKGEpe3JldHVybiBhIGluc3RhbmNlb2YgTm9kZT9hOmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFwiXCIrYSl9ZnVuY3Rpb24gT2MoYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGFyZ3VtZW50cy5sZW5ndGg7KytjKWJbY109YXJndW1lbnRzW2NdO2lmKDE9PT1iLmxlbmd0aClyZXR1cm4gTmMoYlswXSk7Yz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yj1rYShiKTtmb3IodmFyIGQ9Yi5uZXh0KCk7IWQuZG9uZTtkPWIubmV4dCgpKWMuYXBwZW5kQ2hpbGQoTmMoZC52YWx1ZSkpO3JldHVybiBjfTt2YXIgUGM9W10sUWM7ZnVuY3Rpb24gUmMoYSl7UWN8fChRYz0hMCxEYyhTYykpO1BjLnB1c2goYSl9ZnVuY3Rpb24gU2MoKXtRYz0hMTtmb3IodmFyIGE9ISFQYy5sZW5ndGg7UGMubGVuZ3RoOylQYy5zaGlmdCgpKCk7cmV0dXJuIGF9U2MubGlzdD1QYztmdW5jdGlvbiBUYygpe3RoaXMuZz0hMTt0aGlzLmFkZGVkTm9kZXM9W107dGhpcy5yZW1vdmVkTm9kZXM9W107dGhpcy5vYT1uZXcgU2V0fWZ1bmN0aW9uIFVjKGEpe2EuZ3x8KGEuZz0hMCxEYyhmdW5jdGlvbigpe2EuZmx1c2goKX0pKX1UYy5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtpZih0aGlzLmcpe3RoaXMuZz0hMTt2YXIgYT10aGlzLnRha2VSZWNvcmRzKCk7YS5sZW5ndGgmJnRoaXMub2EuZm9yRWFjaChmdW5jdGlvbihiKXtiKGEpfSl9fTtUYy5wcm90b3R5cGUudGFrZVJlY29yZHM9ZnVuY3Rpb24oKXtpZih0aGlzLmFkZGVkTm9kZXMubGVuZ3RofHx0aGlzLnJlbW92ZWROb2Rlcy5sZW5ndGgpe3ZhciBhPVt7YWRkZWROb2Rlczp0aGlzLmFkZGVkTm9kZXMscmVtb3ZlZE5vZGVzOnRoaXMucmVtb3ZlZE5vZGVzfV07dGhpcy5hZGRlZE5vZGVzPVtdO3RoaXMucmVtb3ZlZE5vZGVzPVtdO3JldHVybiBhfXJldHVybltdfTtcbmZ1bmN0aW9uIFZjKGEsYil7dmFyIGM9RChhKTtjLmVhfHwoYy5lYT1uZXcgVGMpO2MuZWEub2EuYWRkKGIpO3ZhciBkPWMuZWE7cmV0dXJue1JhOmIsWDpkLFNhOmEsdGFrZVJlY29yZHM6ZnVuY3Rpb24oKXtyZXR1cm4gZC50YWtlUmVjb3JkcygpfX19ZnVuY3Rpb24gV2MoYSl7dmFyIGI9YSYmYS5YO2ImJihiLm9hLmRlbGV0ZShhLlJhKSxiLm9hLnNpemV8fChEKGEuU2EpLmVhPW51bGwpKX1cbmZ1bmN0aW9uIFhjKGEsYil7dmFyIGM9Yi5nZXRSb290Tm9kZSgpO3JldHVybiBhLm1hcChmdW5jdGlvbihkKXt2YXIgZT1jPT09ZC50YXJnZXQuZ2V0Um9vdE5vZGUoKTtpZihlJiZkLmFkZGVkTm9kZXMpe2lmKGU9W10uc2xpY2UuY2FsbChkLmFkZGVkTm9kZXMpLmZpbHRlcihmdW5jdGlvbihmKXtyZXR1cm4gYz09PWYuZ2V0Um9vdE5vZGUoKX0pLGUubGVuZ3RoKXJldHVybiBkPU9iamVjdC5jcmVhdGUoZCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGQsXCJhZGRlZE5vZGVzXCIse3ZhbHVlOmUsY29uZmlndXJhYmxlOiEwfSksZH1lbHNlIGlmKGUpcmV0dXJuIGR9KS5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIGR9KX07dmFyIFljPS9bJlxcdTAwQTBcIl0vZyxaYz0vWyZcXHUwMEEwPD5dL2c7ZnVuY3Rpb24gJGMoYSl7c3dpdGNoKGEpe2Nhc2UgXCImXCI6cmV0dXJuXCImYW1wO1wiO2Nhc2UgXCI8XCI6cmV0dXJuXCImbHQ7XCI7Y2FzZSBcIj5cIjpyZXR1cm5cIiZndDtcIjtjYXNlICdcIic6cmV0dXJuXCImcXVvdDtcIjtjYXNlIFwiXFx1MDBhMFwiOnJldHVyblwiJm5ic3A7XCJ9fWZ1bmN0aW9uIGFkKGEpe2Zvcih2YXIgYj17fSxjPTA7YzxhLmxlbmd0aDtjKyspYlthW2NdXT0hMDtyZXR1cm4gYn12YXIgYmQ9YWQoXCJhcmVhIGJhc2UgYnIgY29sIGNvbW1hbmQgZW1iZWQgaHIgaW1nIGlucHV0IGtleWdlbiBsaW5rIG1ldGEgcGFyYW0gc291cmNlIHRyYWNrIHdiclwiLnNwbGl0KFwiIFwiKSksY2Q9YWQoXCJzdHlsZSBzY3JpcHQgeG1wIGlmcmFtZSBub2VtYmVkIG5vZnJhbWVzIHBsYWludGV4dCBub3NjcmlwdFwiLnNwbGl0KFwiIFwiKSk7XG5mdW5jdGlvbiBkZChhLGIpe1widGVtcGxhdGVcIj09PWEubG9jYWxOYW1lJiYoYT1hLmNvbnRlbnQpO2Zvcih2YXIgYz1cIlwiLGQ9Yj9iKGEpOmEuY2hpbGROb2RlcyxlPTAsZj1kLmxlbmd0aCxnPXZvaWQgMDtlPGYmJihnPWRbZV0pO2UrKyl7YTp7dmFyIGg9Zzt2YXIgaz1hLGw9Yjtzd2l0Y2goaC5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTprPWgubG9jYWxOYW1lO2Zvcih2YXIgbT1cIjxcIitrLHE9aC5hdHRyaWJ1dGVzLEg9MCxDO0M9cVtIXTtIKyspbSs9XCIgXCIrQy5uYW1lKyc9XCInK0MudmFsdWUucmVwbGFjZShZYywkYykrJ1wiJzttKz1cIj5cIjtoPWJkW2tdP206bStkZChoLGwpK1wiPC9cIitrK1wiPlwiO2JyZWFrIGE7Y2FzZSBOb2RlLlRFWFRfTk9ERTpoPWguZGF0YTtoPWsmJmNkW2subG9jYWxOYW1lXT9oOmgucmVwbGFjZShaYywkYyk7YnJlYWsgYTtjYXNlIE5vZGUuQ09NTUVOVF9OT0RFOmg9XCJcXHgzYyEtLVwiK2guZGF0YStcIi0tXFx4M2VcIjticmVhayBhO2RlZmF1bHQ6dGhyb3cgd2luZG93LmNvbnNvbGUuZXJyb3IoaCksXG5FcnJvcihcIm5vdCBpbXBsZW1lbnRlZFwiKTt9fWMrPWh9cmV0dXJuIGN9O3ZhciBlZD1OLkgsZmQ9e3F1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfcXVlcnlTZWxlY3RvcihhKX0scXVlcnlTZWxlY3RvckFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9xdWVyeVNlbGVjdG9yQWxsKGEpfX0sZ2Q9e307ZnVuY3Rpb24gaGQoYSl7Z2RbYV09ZnVuY3Rpb24oYil7cmV0dXJuIGJbXCJfX3NoYWR5X25hdGl2ZV9cIithXX19ZnVuY3Rpb24gaWQoYSxiKXtQKGEsYixcIl9fc2hhZHlfbmF0aXZlX1wiKTtmb3IodmFyIGMgaW4gYiloZChjKX1mdW5jdGlvbiBTKGEsYil7Yj12b2lkIDA9PT1iP1tdOmI7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY10sZT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGEsZCk7ZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFwiX19zaGFkeV9uYXRpdmVfXCIrZCxlKSxlLnZhbHVlP2ZkW2RdfHwoZmRbZF09ZS52YWx1ZSk6aGQoZCkpfX1cbnZhciBqZD1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGRvY3VtZW50LE5vZGVGaWx0ZXIuU0hPV19BTEwsbnVsbCwhMSksa2Q9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihkb2N1bWVudCxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCxudWxsLCExKSxsZD1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoXCJpbmVydFwiKTtmdW5jdGlvbiBtZChhKXtmb3IodmFyIGI7Yj1hLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7KWEuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQoYil9dmFyIG5kPVtcImZpcnN0RWxlbWVudENoaWxkXCIsXCJsYXN0RWxlbWVudENoaWxkXCIsXCJjaGlsZHJlblwiLFwiY2hpbGRFbGVtZW50Q291bnRcIl0sb2Q9W1wicXVlcnlTZWxlY3RvclwiLFwicXVlcnlTZWxlY3RvckFsbFwiLFwiYXBwZW5kXCIsXCJwcmVwZW5kXCIsXCJyZXBsYWNlQ2hpbGRyZW5cIl07XG5mdW5jdGlvbiBwZCgpe3ZhciBhPVtcImRpc3BhdGNoRXZlbnRcIixcImFkZEV2ZW50TGlzdGVuZXJcIixcInJlbW92ZUV2ZW50TGlzdGVuZXJcIl07d2luZG93LkV2ZW50VGFyZ2V0PyhTKHdpbmRvdy5FdmVudFRhcmdldC5wcm90b3R5cGUsYSksdm9pZCAwPT09d2luZG93Ll9fc2hhZHlfbmF0aXZlX2FkZEV2ZW50TGlzdGVuZXImJlMoV2luZG93LnByb3RvdHlwZSxhKSk6KFMoTm9kZS5wcm90b3R5cGUsYSksUyhXaW5kb3cucHJvdG90eXBlLGEpKTtlZD9TKE5vZGUucHJvdG90eXBlLFwicGFyZW50Tm9kZSBmaXJzdENoaWxkIGxhc3RDaGlsZCBwcmV2aW91c1NpYmxpbmcgbmV4dFNpYmxpbmcgY2hpbGROb2RlcyBwYXJlbnRFbGVtZW50IHRleHRDb250ZW50XCIuc3BsaXQoXCIgXCIpKTppZChOb2RlLnByb3RvdHlwZSx7cGFyZW50Tm9kZTp7Z2V0OmZ1bmN0aW9uKCl7amQuY3VycmVudE5vZGU9dGhpcztyZXR1cm4gamQucGFyZW50Tm9kZSgpfX0sZmlyc3RDaGlsZDp7Z2V0OmZ1bmN0aW9uKCl7amQuY3VycmVudE5vZGU9XG50aGlzO3JldHVybiBqZC5maXJzdENoaWxkKCl9fSxsYXN0Q2hpbGQ6e2dldDpmdW5jdGlvbigpe2pkLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIGpkLmxhc3RDaGlsZCgpfX0scHJldmlvdXNTaWJsaW5nOntnZXQ6ZnVuY3Rpb24oKXtqZC5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBqZC5wcmV2aW91c1NpYmxpbmcoKX19LG5leHRTaWJsaW5nOntnZXQ6ZnVuY3Rpb24oKXtqZC5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBqZC5uZXh0U2libGluZygpfX0sY2hpbGROb2Rlczp7Z2V0OmZ1bmN0aW9uKCl7dmFyIGI9W107amQuY3VycmVudE5vZGU9dGhpcztmb3IodmFyIGM9amQuZmlyc3RDaGlsZCgpO2M7KWIucHVzaChjKSxjPWpkLm5leHRTaWJsaW5nKCk7cmV0dXJuIGJ9fSxwYXJlbnRFbGVtZW50OntnZXQ6ZnVuY3Rpb24oKXtrZC5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBrZC5wYXJlbnROb2RlKCl9fSx0ZXh0Q29udGVudDp7Z2V0OmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMubm9kZVR5cGUpe2Nhc2UgTm9kZS5FTEVNRU5UX05PREU6Y2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6Zm9yKHZhciBiPVxuZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcih0aGlzLE5vZGVGaWx0ZXIuU0hPV19URVhULG51bGwsITEpLGM9XCJcIixkO2Q9Yi5uZXh0Tm9kZSgpOyljKz1kLm5vZGVWYWx1ZTtyZXR1cm4gYztkZWZhdWx0OnJldHVybiB0aGlzLm5vZGVWYWx1ZX19LHNldDpmdW5jdGlvbihiKXtpZihcInVuZGVmaW5lZFwiPT09dHlwZW9mIGJ8fG51bGw9PT1iKWI9XCJcIjtzd2l0Y2godGhpcy5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjYXNlIE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERTptZCh0aGlzKTsoMDxiLmxlbmd0aHx8dGhpcy5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKSYmdGhpcy5fX3NoYWR5X25hdGl2ZV9pbnNlcnRCZWZvcmUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYiksdm9pZCAwKTticmVhaztkZWZhdWx0OnRoaXMubm9kZVZhbHVlPWJ9fX19KTtTKE5vZGUucHJvdG90eXBlLFwiYXBwZW5kQ2hpbGQgaW5zZXJ0QmVmb3JlIHJlbW92ZUNoaWxkIHJlcGxhY2VDaGlsZCBjbG9uZU5vZGUgY29udGFpbnNcIi5zcGxpdChcIiBcIikpO1xuUyhIVE1MRWxlbWVudC5wcm90b3R5cGUsW1wicGFyZW50RWxlbWVudFwiLFwiY29udGFpbnNcIl0pO2E9e2ZpcnN0RWxlbWVudENoaWxkOntnZXQ6ZnVuY3Rpb24oKXtrZC5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBrZC5maXJzdENoaWxkKCl9fSxsYXN0RWxlbWVudENoaWxkOntnZXQ6ZnVuY3Rpb24oKXtrZC5jdXJyZW50Tm9kZT10aGlzO3JldHVybiBrZC5sYXN0Q2hpbGQoKX19LGNoaWxkcmVuOntnZXQ6ZnVuY3Rpb24oKXt2YXIgYj1bXTtrZC5jdXJyZW50Tm9kZT10aGlzO2Zvcih2YXIgYz1rZC5maXJzdENoaWxkKCk7YzspYi5wdXNoKGMpLGM9a2QubmV4dFNpYmxpbmcoKTtyZXR1cm4gSGMoYil9fSxjaGlsZEVsZW1lbnRDb3VudDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW4/dGhpcy5jaGlsZHJlbi5sZW5ndGg6MH19fTtlZD8oUyhFbGVtZW50LnByb3RvdHlwZSxuZCksUyhFbGVtZW50LnByb3RvdHlwZSxbXCJwcmV2aW91c0VsZW1lbnRTaWJsaW5nXCIsXCJuZXh0RWxlbWVudFNpYmxpbmdcIixcblwiaW5uZXJIVE1MXCIsXCJjbGFzc05hbWVcIl0pLFMoSFRNTEVsZW1lbnQucHJvdG90eXBlLFtcImNoaWxkcmVuXCIsXCJpbm5lckhUTUxcIixcImNsYXNzTmFtZVwiXSkpOihpZChFbGVtZW50LnByb3RvdHlwZSxhKSxpZChFbGVtZW50LnByb3RvdHlwZSx7cHJldmlvdXNFbGVtZW50U2libGluZzp7Z2V0OmZ1bmN0aW9uKCl7a2QuY3VycmVudE5vZGU9dGhpcztyZXR1cm4ga2QucHJldmlvdXNTaWJsaW5nKCl9fSxuZXh0RWxlbWVudFNpYmxpbmc6e2dldDpmdW5jdGlvbigpe2tkLmN1cnJlbnROb2RlPXRoaXM7cmV0dXJuIGtkLm5leHRTaWJsaW5nKCl9fSxpbm5lckhUTUw6e2dldDpmdW5jdGlvbigpe3JldHVybiBkZCh0aGlzLEljKX0sc2V0OmZ1bmN0aW9uKGIpe3ZhciBjPVwidGVtcGxhdGVcIj09PXRoaXMubG9jYWxOYW1lP3RoaXMuY29udGVudDp0aGlzO21kKGMpO3ZhciBkPXRoaXMubG9jYWxOYW1lfHxcImRpdlwiO2Q9dGhpcy5uYW1lc3BhY2VVUkkmJnRoaXMubmFtZXNwYWNlVVJJIT09bGQubmFtZXNwYWNlVVJJP1xubGQuY3JlYXRlRWxlbWVudE5TKHRoaXMubmFtZXNwYWNlVVJJLGQpOmxkLmNyZWF0ZUVsZW1lbnQoZCk7ZC5pbm5lckhUTUw9Yjtmb3IoYj1cInRlbXBsYXRlXCI9PT10aGlzLmxvY2FsTmFtZT9kLmNvbnRlbnQ6ZDtkPWIuX19zaGFkeV9uYXRpdmVfZmlyc3RDaGlsZDspYy5fX3NoYWR5X25hdGl2ZV9pbnNlcnRCZWZvcmUoZCx2b2lkIDApfX0sY2xhc3NOYW1lOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIn0sc2V0OmZ1bmN0aW9uKGIpe3RoaXMuc2V0QXR0cmlidXRlKFwiY2xhc3NcIixiKX19fSkpO1MoRWxlbWVudC5wcm90b3R5cGUsXCJzZXRBdHRyaWJ1dGUgZ2V0QXR0cmlidXRlIGhhc0F0dHJpYnV0ZSByZW1vdmVBdHRyaWJ1dGUgZm9jdXMgYmx1clwiLnNwbGl0KFwiIFwiKSk7UyhFbGVtZW50LnByb3RvdHlwZSxvZCk7UyhIVE1MRWxlbWVudC5wcm90b3R5cGUsW1wiZm9jdXNcIixcImJsdXJcIl0pO3dpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50JiZcblMod2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQucHJvdG90eXBlLFtcImlubmVySFRNTFwiXSk7ZWQ/UyhEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSxuZCk6aWQoRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUsYSk7UyhEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSxvZCk7ZWQ/KFMoRG9jdW1lbnQucHJvdG90eXBlLG5kKSxTKERvY3VtZW50LnByb3RvdHlwZSxbXCJhY3RpdmVFbGVtZW50XCJdKSk6aWQoRG9jdW1lbnQucHJvdG90eXBlLGEpO1MoRG9jdW1lbnQucHJvdG90eXBlLFtcImltcG9ydE5vZGVcIixcImdldEVsZW1lbnRCeUlkXCIsXCJlbGVtZW50RnJvbVBvaW50XCIsdWMoKV0pO1MoRG9jdW1lbnQucHJvdG90eXBlLG9kKX07dmFyIHFkPVEoe2dldCBjaGlsZE5vZGVzKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9jaGlsZE5vZGVzfSxnZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLl9fc2hhZHlfZmlyc3RDaGlsZH0sZ2V0IGxhc3RDaGlsZCgpe3JldHVybiB0aGlzLl9fc2hhZHlfbGFzdENoaWxkfSxnZXQgY2hpbGRFbGVtZW50Q291bnQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NoaWxkRWxlbWVudENvdW50fSxnZXQgY2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NoaWxkcmVufSxnZXQgZmlyc3RFbGVtZW50Q2hpbGQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2ZpcnN0RWxlbWVudENoaWxkfSxnZXQgbGFzdEVsZW1lbnRDaGlsZCgpe3JldHVybiB0aGlzLl9fc2hhZHlfbGFzdEVsZW1lbnRDaGlsZH0sZ2V0IHNoYWRvd1Jvb3QoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3NoYWRvd1Jvb3R9fSkscmQ9USh7Z2V0IHRleHRDb250ZW50KCl7cmV0dXJuIHRoaXMuX19zaGFkeV90ZXh0Q29udGVudH0sc2V0IHRleHRDb250ZW50KGEpe3RoaXMuX19zaGFkeV90ZXh0Q29udGVudD1cbmF9LGdldCBpbm5lckhUTUwoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2lubmVySFRNTH0sc2V0IGlubmVySFRNTChhKXt0aGlzLl9fc2hhZHlfaW5uZXJIVE1MPWF9fSksc2Q9USh7Z2V0IHBhcmVudEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3BhcmVudEVsZW1lbnR9LGdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9wYXJlbnROb2RlfSxnZXQgbmV4dFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25leHRTaWJsaW5nfSxnZXQgcHJldmlvdXNTaWJsaW5nKCl7cmV0dXJuIHRoaXMuX19zaGFkeV9wcmV2aW91c1NpYmxpbmd9LGdldCBuZXh0RWxlbWVudFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X25leHRFbGVtZW50U2libGluZ30sZ2V0IHByZXZpb3VzRWxlbWVudFNpYmxpbmcoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X3ByZXZpb3VzRWxlbWVudFNpYmxpbmd9LGdldCBjbGFzc05hbWUoKXtyZXR1cm4gdGhpcy5fX3NoYWR5X2NsYXNzTmFtZX0sc2V0IGNsYXNzTmFtZShhKXt0aGlzLl9fc2hhZHlfY2xhc3NOYW1lPVxuYX19KTtmdW5jdGlvbiB0ZChhKXtmb3IodmFyIGIgaW4gYSl7dmFyIGM9YVtiXTtjJiYoYy5lbnVtZXJhYmxlPSExKX19dGQocWQpO3RkKHJkKTt0ZChzZCk7dmFyIHVkPU4uSHx8ITA9PT1OLkosdmQ9dWQ/ZnVuY3Rpb24oKXt9OmZ1bmN0aW9uKGEpe3ZhciBiPUQoYSk7Yi5QYXx8KGIuUGE9ITAsTGMoYSxzZCkpfSx3ZD11ZD9mdW5jdGlvbigpe306ZnVuY3Rpb24oYSl7dmFyIGI9RChhKTtiLk9hfHwoYi5PYT0hMCxMYyhhLHFkKSx3aW5kb3cuY3VzdG9tRWxlbWVudHMmJndpbmRvdy5jdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrJiYhTi5KfHxMYyhhLHJkKSl9O3ZhciB4ZD1cIl9fZXZlbnRXcmFwcGVyc1wiK0RhdGUubm93KCkseWQ9ZnVuY3Rpb24oKXt2YXIgYT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV2ZW50LnByb3RvdHlwZSxcImNvbXBvc2VkXCIpO3JldHVybiBhP2Z1bmN0aW9uKGIpe3JldHVybiBhLmdldC5jYWxsKGIpfTpudWxsfSgpLHpkPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe312YXIgYj0hMSxjPXtnZXQgY2FwdHVyZSgpe2I9ITA7cmV0dXJuITF9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInRlc3RcIixhLGMpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwidGVzdFwiLGEsYyk7cmV0dXJuIGJ9KCk7ZnVuY3Rpb24gQWQoYSl7aWYoYSYmXCJvYmplY3RcIj09PXR5cGVvZiBhKXt2YXIgYj0hIWEuY2FwdHVyZTt2YXIgYz0hIWEub25jZTt2YXIgZD0hIWEucGFzc2l2ZTt2YXIgZT1hLlV9ZWxzZSBiPSEhYSxkPWM9ITE7cmV0dXJue0xhOmUsY2FwdHVyZTpiLG9uY2U6YyxwYXNzaXZlOmQsSmE6emQ/YTpifX1cbnZhciBCZD17Ymx1cjohMCxmb2N1czohMCxmb2N1c2luOiEwLGZvY3Vzb3V0OiEwLGNsaWNrOiEwLGRibGNsaWNrOiEwLG1vdXNlZG93bjohMCxtb3VzZWVudGVyOiEwLG1vdXNlbGVhdmU6ITAsbW91c2Vtb3ZlOiEwLG1vdXNlb3V0OiEwLG1vdXNlb3ZlcjohMCxtb3VzZXVwOiEwLHdoZWVsOiEwLGJlZm9yZWlucHV0OiEwLGlucHV0OiEwLGtleWRvd246ITAsa2V5dXA6ITAsY29tcG9zaXRpb25zdGFydDohMCxjb21wb3NpdGlvbnVwZGF0ZTohMCxjb21wb3NpdGlvbmVuZDohMCx0b3VjaHN0YXJ0OiEwLHRvdWNoZW5kOiEwLHRvdWNobW92ZTohMCx0b3VjaGNhbmNlbDohMCxwb2ludGVyb3ZlcjohMCxwb2ludGVyZW50ZXI6ITAscG9pbnRlcmRvd246ITAscG9pbnRlcm1vdmU6ITAscG9pbnRlcnVwOiEwLHBvaW50ZXJjYW5jZWw6ITAscG9pbnRlcm91dDohMCxwb2ludGVybGVhdmU6ITAsZ290cG9pbnRlcmNhcHR1cmU6ITAsbG9zdHBvaW50ZXJjYXB0dXJlOiEwLGRyYWdzdGFydDohMCxcbmRyYWc6ITAsZHJhZ2VudGVyOiEwLGRyYWdsZWF2ZTohMCxkcmFnb3ZlcjohMCxkcm9wOiEwLGRyYWdlbmQ6ITAsRE9NQWN0aXZhdGU6ITAsRE9NRm9jdXNJbjohMCxET01Gb2N1c091dDohMCxrZXlwcmVzczohMH0sQ2Q9e0RPTUF0dHJNb2RpZmllZDohMCxET01BdHRyaWJ1dGVOYW1lQ2hhbmdlZDohMCxET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQ6ITAsRE9NRWxlbWVudE5hbWVDaGFuZ2VkOiEwLERPTU5vZGVJbnNlcnRlZDohMCxET01Ob2RlSW5zZXJ0ZWRJbnRvRG9jdW1lbnQ6ITAsRE9NTm9kZVJlbW92ZWQ6ITAsRE9NTm9kZVJlbW92ZWRGcm9tRG9jdW1lbnQ6ITAsRE9NU3VidHJlZU1vZGlmaWVkOiEwfTtmdW5jdGlvbiBEZChhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIE5vZGU/YS5fX3NoYWR5X2dldFJvb3ROb2RlKCk6YX1cbmZ1bmN0aW9uIEVkKGEsYil7dmFyIGM9W10sZD1hO2ZvcihhPURkKGEpO2Q7KWMucHVzaChkKSxkPWQuX19zaGFkeV9hc3NpZ25lZFNsb3Q/ZC5fX3NoYWR5X2Fzc2lnbmVkU2xvdDpkLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFJiZkLmhvc3QmJihifHxkIT09YSk/ZC5ob3N0OmQuX19zaGFkeV9wYXJlbnROb2RlO2NbYy5sZW5ndGgtMV09PT1kb2N1bWVudCYmYy5wdXNoKHdpbmRvdyk7cmV0dXJuIGN9ZnVuY3Rpb24gRmQoYSl7YS5fX2NvbXBvc2VkUGF0aHx8KGEuX19jb21wb3NlZFBhdGg9RWQoYS50YXJnZXQsITApKTtyZXR1cm4gYS5fX2NvbXBvc2VkUGF0aH1mdW5jdGlvbiBHZChhLGIpe2lmKCFPKXJldHVybiBhO2E9RWQoYSwhMCk7Zm9yKHZhciBjPTAsZCxlPXZvaWQgMCxmLGc9dm9pZCAwO2M8Yi5sZW5ndGg7YysrKWlmKGQ9YltjXSxmPURkKGQpLGYhPT1lJiYoZz1hLmluZGV4T2YoZiksZT1mKSwhTyhmKXx8LTE8ZylyZXR1cm4gZH1cbmZ1bmN0aW9uIEhkKGEpe2Z1bmN0aW9uIGIoYyxkKXtjPW5ldyBhKGMsZCk7Yy5fX2NvbXBvc2VkPWQmJiEhZC5jb21wb3NlZDtyZXR1cm4gY31iLl9fcHJvdG9fXz1hO2IucHJvdG90eXBlPWEucHJvdG90eXBlO3JldHVybiBifXZhciBJZD17Zm9jdXM6ITAsYmx1cjohMH07ZnVuY3Rpb24gSmQoYSl7cmV0dXJuIGEuX190YXJnZXQhPT1hLnRhcmdldHx8YS5fX3JlbGF0ZWRUYXJnZXQhPT1hLnJlbGF0ZWRUYXJnZXR9ZnVuY3Rpb24gS2QoYSxiLGMpe2lmKGM9Yi5fX2hhbmRsZXJzJiZiLl9faGFuZGxlcnNbYS50eXBlXSYmYi5fX2hhbmRsZXJzW2EudHlwZV1bY10pZm9yKHZhciBkPTAsZTsoZT1jW2RdKSYmKCFKZChhKXx8YS50YXJnZXQhPT1hLnJlbGF0ZWRUYXJnZXQpJiYoZS5jYWxsKGIsYSksIWEuX19pbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQpO2QrKyk7fVxuZnVuY3Rpb24gTGQoYSl7dmFyIGI9YS5jb21wb3NlZFBhdGgoKSxjPWIubWFwKGZ1bmN0aW9uKGspe3JldHVybiBHZChrLGIpfSksZD1hLmJ1YmJsZXM7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsXCJjdXJyZW50VGFyZ2V0XCIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBnfX0pO3ZhciBlPUV2ZW50LkNBUFRVUklOR19QSEFTRTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcImV2ZW50UGhhc2VcIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV9fSk7Zm9yKHZhciBmPWIubGVuZ3RoLTE7MDw9ZjtmLS0pe3ZhciBnPWJbZl07ZT1nPT09Y1tmXT9FdmVudC5BVF9UQVJHRVQ6RXZlbnQuQ0FQVFVSSU5HX1BIQVNFO0tkKGEsZyxcImNhcHR1cmVcIik7aWYoYS5yYSlyZXR1cm59Zm9yKGY9MDtmPGIubGVuZ3RoO2YrKyl7Zz1iW2ZdO3ZhciBoPWc9PT1jW2ZdO2lmKGh8fGQpaWYoZT1oP0V2ZW50LkFUX1RBUkdFVDpcbkV2ZW50LkJVQkJMSU5HX1BIQVNFLEtkKGEsZyxcImJ1YmJsZVwiKSxhLnJhKXJldHVybn1lPTA7Zz1udWxsfWZ1bmN0aW9uIE1kKGEsYixjLGQsZSxmKXtmb3IodmFyIGc9MDtnPGEubGVuZ3RoO2crKyl7dmFyIGg9YVtnXSxrPWgudHlwZSxsPWguY2FwdHVyZSxtPWgub25jZSxxPWgucGFzc2l2ZTtpZihiPT09aC5ub2RlJiZjPT09ayYmZD09PWwmJmU9PT1tJiZmPT09cSlyZXR1cm4gZ31yZXR1cm4tMX1mdW5jdGlvbiBOZChhKXtTYygpO3JldHVybiFOLmZhJiZ0aGlzIGluc3RhbmNlb2YgTm9kZSYmIUVjKGRvY3VtZW50LHRoaXMpPyhhLl9fdGFyZ2V0fHxPZChhLHRoaXMpLExkKGEpKTp0aGlzLl9fc2hhZHlfbmF0aXZlX2Rpc3BhdGNoRXZlbnQoYSl9XG5mdW5jdGlvbiBQZChhLGIsYyl7dmFyIGQ9QWQoYyksZT1kLmNhcHR1cmUsZj1kLm9uY2UsZz1kLnBhc3NpdmUsaD1kLkxhO2Q9ZC5KYTtpZihiKXt2YXIgaz10eXBlb2YgYjtpZihcImZ1bmN0aW9uXCI9PT1rfHxcIm9iamVjdFwiPT09aylpZihcIm9iamVjdFwiIT09a3x8Yi5oYW5kbGVFdmVudCYmXCJmdW5jdGlvblwiPT09dHlwZW9mIGIuaGFuZGxlRXZlbnQpe2lmKENkW2FdKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX2FkZEV2ZW50TGlzdGVuZXIoYSxiLGQpO3ZhciBsPWh8fHRoaXM7aWYoaD1iW3hkXSl7aWYoLTE8TWQoaCxsLGEsZSxmLGcpKXJldHVybn1lbHNlIGJbeGRdPVtdO2g9ZnVuY3Rpb24obSl7ZiYmdGhpcy5fX3NoYWR5X3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpO20uX190YXJnZXR8fE9kKG0pO2lmKGwhPT10aGlzKXt2YXIgcT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG0sXCJjdXJyZW50VGFyZ2V0XCIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShtLFwiY3VycmVudFRhcmdldFwiLFxue2dldDpmdW5jdGlvbigpe3JldHVybiBsfSxjb25maWd1cmFibGU6ITB9KTt2YXIgSD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG0sXCJldmVudFBoYXNlXCIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShtLFwiZXZlbnRQaGFzZVwiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZT9FdmVudC5DQVBUVVJJTkdfUEhBU0U6RXZlbnQuQlVCQkxJTkdfUEhBU0V9fSl9bS5fX3ByZXZpb3VzQ3VycmVudFRhcmdldD1tLmN1cnJlbnRUYXJnZXQ7aWYoIU8obCkmJlwic2xvdFwiIT09bC5sb2NhbE5hbWV8fC0xIT1tLmNvbXBvc2VkUGF0aCgpLmluZGV4T2YobCkpaWYobS5jb21wb3NlZHx8LTE8bS5jb21wb3NlZFBhdGgoKS5pbmRleE9mKGwpKWlmKEpkKG0pJiZtLnRhcmdldD09PW0ucmVsYXRlZFRhcmdldCltLmV2ZW50UGhhc2U9PT1FdmVudC5CVUJCTElOR19QSEFTRSYmbS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtlbHNlIGlmKG0uZXZlbnRQaGFzZT09PVxuRXZlbnQuQ0FQVFVSSU5HX1BIQVNFfHxtLmJ1YmJsZXN8fG0udGFyZ2V0PT09bHx8bCBpbnN0YW5jZW9mIFdpbmRvdyl7dmFyIEM9XCJmdW5jdGlvblwiPT09az9iLmNhbGwobCxtKTpiLmhhbmRsZUV2ZW50JiZiLmhhbmRsZUV2ZW50KG0pO2whPT10aGlzJiYocT8oT2JqZWN0LmRlZmluZVByb3BlcnR5KG0sXCJjdXJyZW50VGFyZ2V0XCIscSkscT1udWxsKTpkZWxldGUgbS5jdXJyZW50VGFyZ2V0LEg/KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLFwiZXZlbnRQaGFzZVwiLEgpLEg9bnVsbCk6ZGVsZXRlIG0uZXZlbnRQaGFzZSk7cmV0dXJuIEN9fTtiW3hkXS5wdXNoKHtub2RlOmwsdHlwZTphLGNhcHR1cmU6ZSxvbmNlOmYscGFzc2l2ZTpnLHBiOmh9KTt0aGlzLl9faGFuZGxlcnM9dGhpcy5fX2hhbmRsZXJzfHx7fTt0aGlzLl9faGFuZGxlcnNbYV09dGhpcy5fX2hhbmRsZXJzW2FdfHx7Y2FwdHVyZTpbXSxidWJibGU6W119O3RoaXMuX19oYW5kbGVyc1thXVtlP1wiY2FwdHVyZVwiOlwiYnViYmxlXCJdLnB1c2goaCk7XG5JZFthXXx8dGhpcy5fX3NoYWR5X25hdGl2ZV9hZGRFdmVudExpc3RlbmVyKGEsaCxkKX19fVxuZnVuY3Rpb24gUWQoYSxiLGMpe2lmKGIpe3ZhciBkPUFkKGMpO2M9ZC5jYXB0dXJlO3ZhciBlPWQub25jZSxmPWQucGFzc2l2ZSxnPWQuTGE7ZD1kLkphO2lmKENkW2FdKXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGQpO3ZhciBoPWd8fHRoaXM7Zz12b2lkIDA7dmFyIGs9bnVsbDt0cnl7az1iW3hkXX1jYXRjaChsKXt9ayYmKGU9TWQoayxoLGEsYyxlLGYpLC0xPGUmJihnPWsuc3BsaWNlKGUsMSlbMF0ucGIsay5sZW5ndGh8fChiW3hkXT12b2lkIDApKSk7dGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVFdmVudExpc3RlbmVyKGEsZ3x8YixkKTtnJiZ0aGlzLl9faGFuZGxlcnMmJnRoaXMuX19oYW5kbGVyc1thXSYmKGE9dGhpcy5fX2hhbmRsZXJzW2FdW2M/XCJjYXB0dXJlXCI6XCJidWJibGVcIl0sYj1hLmluZGV4T2YoZyksLTE8YiYmYS5zcGxpY2UoYiwxKSl9fVxuZnVuY3Rpb24gUmQoKXtmb3IodmFyIGEgaW4gSWQpd2luZG93Ll9fc2hhZHlfbmF0aXZlX2FkZEV2ZW50TGlzdGVuZXIoYSxmdW5jdGlvbihiKXtiLl9fdGFyZ2V0fHwoT2QoYiksTGQoYikpfSwhMCl9XG52YXIgU2Q9USh7Z2V0IGNvbXBvc2VkKCl7dm9pZCAwPT09dGhpcy5fX2NvbXBvc2VkJiYoeWQ/dGhpcy5fX2NvbXBvc2VkPVwiZm9jdXNpblwiPT09dGhpcy50eXBlfHxcImZvY3Vzb3V0XCI9PT10aGlzLnR5cGV8fHlkKHRoaXMpOiExIT09dGhpcy5pc1RydXN0ZWQmJih0aGlzLl9fY29tcG9zZWQ9QmRbdGhpcy50eXBlXSkpO3JldHVybiB0aGlzLl9fY29tcG9zZWR8fCExfSxjb21wb3NlZFBhdGg6ZnVuY3Rpb24oKXt0aGlzLl9fY29tcG9zZWRQYXRofHwodGhpcy5fX2NvbXBvc2VkUGF0aD1FZCh0aGlzLl9fdGFyZ2V0LHRoaXMuY29tcG9zZWQpKTtyZXR1cm4gdGhpcy5fX2NvbXBvc2VkUGF0aH0sZ2V0IHRhcmdldCgpe3JldHVybiBHZCh0aGlzLmN1cnJlbnRUYXJnZXR8fHRoaXMuX19wcmV2aW91c0N1cnJlbnRUYXJnZXQsdGhpcy5jb21wb3NlZFBhdGgoKSl9LGdldCByZWxhdGVkVGFyZ2V0KCl7aWYoIXRoaXMuX19yZWxhdGVkVGFyZ2V0KXJldHVybiBudWxsO3RoaXMuX19yZWxhdGVkVGFyZ2V0Q29tcG9zZWRQYXRofHxcbih0aGlzLl9fcmVsYXRlZFRhcmdldENvbXBvc2VkUGF0aD1FZCh0aGlzLl9fcmVsYXRlZFRhcmdldCwhMCkpO3JldHVybiBHZCh0aGlzLmN1cnJlbnRUYXJnZXR8fHRoaXMuX19wcmV2aW91c0N1cnJlbnRUYXJnZXQsdGhpcy5fX3JlbGF0ZWRUYXJnZXRDb21wb3NlZFBhdGgpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXtFdmVudC5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5yYT0hMH0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7RXZlbnQucHJvdG90eXBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMucmE9dGhpcy5fX2ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD0hMH19KTtcbmZ1bmN0aW9uIE9kKGEsYil7Yj12b2lkIDA9PT1iP2EudGFyZ2V0OmI7YS5fX3RhcmdldD1iO2EuX19yZWxhdGVkVGFyZ2V0PWEucmVsYXRlZFRhcmdldDtpZihOLkgpe2I9T2JqZWN0LmdldFByb3RvdHlwZU9mKGEpO2lmKCFiLmhhc093blByb3BlcnR5KFwiX19zaGFkeV9wYXRjaGVkUHJvdG9cIikpe3ZhciBjPU9iamVjdC5jcmVhdGUoYik7Yy5fX3NoYWR5X3NvdXJjZVByb3RvPWI7UChjLFNkKTtiLl9fc2hhZHlfcGF0Y2hlZFByb3RvPWN9YS5fX3Byb3RvX189Yi5fX3NoYWR5X3BhdGNoZWRQcm90b31lbHNlIFAoYSxTZCl9dmFyIFRkPUhkKEV2ZW50KSxVZD1IZChDdXN0b21FdmVudCksVmQ9SGQoTW91c2VFdmVudCk7XG5mdW5jdGlvbiBXZCgpe2lmKCF5ZCYmT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFdmVudC5wcm90b3R5cGUsXCJpc1RydXN0ZWRcIikpe3ZhciBhPWZ1bmN0aW9uKCl7dmFyIGI9bmV3IE1vdXNlRXZlbnQoXCJjbGlja1wiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsY29tcG9zZWQ6ITB9KTt0aGlzLl9fc2hhZHlfZGlzcGF0Y2hFdmVudChiKX07RWxlbWVudC5wcm90b3R5cGUuY2xpY2s/RWxlbWVudC5wcm90b3R5cGUuY2xpY2s9YTpIVE1MRWxlbWVudC5wcm90b3R5cGUuY2xpY2smJihIVE1MRWxlbWVudC5wcm90b3R5cGUuY2xpY2s9YSl9fVxudmFyIFhkPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKEVsZW1lbnQucHJvdG90eXBlKS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuXCJvblwiPT09YS5zdWJzdHJpbmcoMCwyKX0pLFlkPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKEhUTUxFbGVtZW50LnByb3RvdHlwZSkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVyblwib25cIj09PWEuc3Vic3RyaW5nKDAsMil9KTtmdW5jdGlvbiBaZChhKXtyZXR1cm57c2V0OmZ1bmN0aW9uKGIpe3ZhciBjPUQodGhpcyksZD1hLnN1YnN0cmluZygyKTtjLlR8fChjLlQ9e30pO2MuVFthXSYmdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGQsYy5UW2FdKTt0aGlzLl9fc2hhZHlfYWRkRXZlbnRMaXN0ZW5lcihkLGIpO2MuVFthXT1ifSxnZXQ6ZnVuY3Rpb24oKXt2YXIgYj1MKHRoaXMpO3JldHVybiBiJiZiLlQmJmIuVFthXX0sY29uZmlndXJhYmxlOiEwfX07ZnVuY3Rpb24gJGQoYSxiKXtyZXR1cm57aW5kZXg6YSxnYTpbXSxuYTpifX1cbmZ1bmN0aW9uIGFlKGEsYixjLGQpe3ZhciBlPTAsZj0wLGc9MCxoPTAsaz1NYXRoLm1pbihiLWUsZC1mKTtpZigwPT1lJiYwPT1mKWE6e2ZvcihnPTA7ZzxrO2crKylpZihhW2ddIT09Y1tnXSlicmVhayBhO2c9a31pZihiPT1hLmxlbmd0aCYmZD09Yy5sZW5ndGgpe2g9YS5sZW5ndGg7Zm9yKHZhciBsPWMubGVuZ3RoLG09MDttPGstZyYmYmUoYVstLWhdLGNbLS1sXSk7KW0rKztoPW19ZSs9ZztmKz1nO2ItPWg7ZC09aDtpZigwPT1iLWUmJjA9PWQtZilyZXR1cm5bXTtpZihlPT1iKXtmb3IoYj0kZChlLDApO2Y8ZDspYi5nYS5wdXNoKGNbZisrXSk7cmV0dXJuW2JdfWlmKGY9PWQpcmV0dXJuWyRkKGUsYi1lKV07az1lO2c9ZjtkPWQtZysxO2g9Yi1rKzE7Yj1BcnJheShkKTtmb3IobD0wO2w8ZDtsKyspYltsXT1BcnJheShoKSxiW2xdWzBdPWw7Zm9yKGw9MDtsPGg7bCsrKWJbMF1bbF09bDtmb3IobD0xO2w8ZDtsKyspZm9yKG09MTttPGg7bSsrKWlmKGFbayttLTFdPT09Y1tnK2wtMV0pYltsXVttXT1cbmJbbC0xXVttLTFdO2Vsc2V7dmFyIHE9YltsLTFdW21dKzEsSD1iW2xdW20tMV0rMTtiW2xdW21dPXE8SD9xOkh9az1iLmxlbmd0aC0xO2c9YlswXS5sZW5ndGgtMTtkPWJba11bZ107Zm9yKGE9W107MDxrfHwwPGc7KTA9PWs/KGEucHVzaCgyKSxnLS0pOjA9PWc/KGEucHVzaCgzKSxrLS0pOihoPWJbay0xXVtnLTFdLGw9YltrLTFdW2ddLG09YltrXVtnLTFdLHE9bDxtP2w8aD9sOmg6bTxoP206aCxxPT1oPyhoPT1kP2EucHVzaCgwKTooYS5wdXNoKDEpLGQ9aCksay0tLGctLSk6cT09bD8oYS5wdXNoKDMpLGstLSxkPWwpOihhLnB1c2goMiksZy0tLGQ9bSkpO2EucmV2ZXJzZSgpO2I9dm9pZCAwO2s9W107Zm9yKGc9MDtnPGEubGVuZ3RoO2crKylzd2l0Y2goYVtnXSl7Y2FzZSAwOmImJihrLnB1c2goYiksYj12b2lkIDApO2UrKztmKys7YnJlYWs7Y2FzZSAxOmJ8fChiPSRkKGUsMCkpO2IubmErKztlKys7Yi5nYS5wdXNoKGNbZl0pO2YrKzticmVhaztjYXNlIDI6Ynx8KGI9JGQoZSxcbjApKTtiLm5hKys7ZSsrO2JyZWFrO2Nhc2UgMzpifHwoYj0kZChlLDApKSxiLmdhLnB1c2goY1tmXSksZisrfWImJmsucHVzaChiKTtyZXR1cm4ga31mdW5jdGlvbiBiZShhLGIpe3JldHVybiBhPT09Yn07dmFyIGNlPVEoe2Rpc3BhdGNoRXZlbnQ6TmQsYWRkRXZlbnRMaXN0ZW5lcjpQZCxyZW1vdmVFdmVudExpc3RlbmVyOlFkfSk7dmFyIGRlPW51bGw7ZnVuY3Rpb24gZWUoKXtkZXx8KGRlPXdpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLlNjb3BpbmdTaGltKTtyZXR1cm4gZGV8fG51bGx9ZnVuY3Rpb24gZmUoYSxiLGMpe3ZhciBkPWVlKCk7cmV0dXJuIGQmJlwiY2xhc3NcIj09PWI/KGQuc2V0RWxlbWVudENsYXNzKGEsYyksITApOiExfWZ1bmN0aW9uIGdlKGEsYil7dmFyIGM9ZWUoKTtjJiZjLnVuc2NvcGVOb2RlKGEsYil9ZnVuY3Rpb24gaGUoYSxiKXt2YXIgYz1lZSgpO2lmKCFjKXJldHVybiEwO2lmKGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpe2M9ITA7Zm9yKGE9YS5fX3NoYWR5X2ZpcnN0Q2hpbGQ7YTthPWEuX19zaGFkeV9uZXh0U2libGluZyljPWMmJmhlKGEsYik7cmV0dXJuIGN9cmV0dXJuIGEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERT8hMDpjLmN1cnJlbnRTY29wZUZvck5vZGUoYSk9PT1ifVxuZnVuY3Rpb24gaWUoYSl7aWYoYS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFKXJldHVyblwiXCI7dmFyIGI9ZWUoKTtyZXR1cm4gYj9iLmN1cnJlbnRTY29wZUZvck5vZGUoYSk6XCJcIn1mdW5jdGlvbiBqZShhLGIpe2lmKGEpZm9yKGEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmYihhKSxhPWEuX19zaGFkeV9maXJzdENoaWxkO2E7YT1hLl9fc2hhZHlfbmV4dFNpYmxpbmcpYS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZqZShhLGIpfTt2YXIga2U9d2luZG93LmRvY3VtZW50LGxlPU4uZmEsbWU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOb2RlLnByb3RvdHlwZSxcImlzQ29ubmVjdGVkXCIpLG5lPW1lJiZtZS5nZXQ7ZnVuY3Rpb24gcGUoYSl7Zm9yKHZhciBiO2I9YS5fX3NoYWR5X2ZpcnN0Q2hpbGQ7KWEuX19zaGFkeV9yZW1vdmVDaGlsZChiKX1mdW5jdGlvbiBxZShhKXt2YXIgYj1MKGEpO2lmKGImJnZvaWQgMCE9PWIucWEpZm9yKGI9YS5fX3NoYWR5X2ZpcnN0Q2hpbGQ7YjtiPWIuX19zaGFkeV9uZXh0U2libGluZylxZShiKTtpZihhPUwoYSkpYS5xYT12b2lkIDB9ZnVuY3Rpb24gcmUoYSl7dmFyIGI9YTtpZihhJiZcInNsb3RcIj09PWEubG9jYWxOYW1lKXt2YXIgYz1MKGEpOyhjPWMmJmMuYWEpJiYoYj1jLmxlbmd0aD9jWzBdOnJlKGEuX19zaGFkeV9uZXh0U2libGluZykpfXJldHVybiBifVxuZnVuY3Rpb24gc2UoYSxiLGMpe2lmKGE9KGE9TChhKSkmJmEuZWEpe2lmKGIpaWYoYi5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSlmb3IodmFyIGQ9MCxlPWIuY2hpbGROb2Rlcy5sZW5ndGg7ZDxlO2QrKylhLmFkZGVkTm9kZXMucHVzaChiLmNoaWxkTm9kZXNbZF0pO2Vsc2UgYS5hZGRlZE5vZGVzLnB1c2goYik7YyYmYS5yZW1vdmVkTm9kZXMucHVzaChjKTtVYyhhKX19XG52YXIgemU9USh7Z2V0IHBhcmVudE5vZGUoKXt2YXIgYT1MKHRoaXMpO2E9YSYmYS5wYXJlbnROb2RlO3JldHVybiB2b2lkIDAhPT1hP2E6dGhpcy5fX3NoYWR5X25hdGl2ZV9wYXJlbnROb2RlfSxnZXQgZmlyc3RDaGlsZCgpe3ZhciBhPUwodGhpcyk7YT1hJiZhLmZpcnN0Q2hpbGQ7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGR9LGdldCBsYXN0Q2hpbGQoKXt2YXIgYT1MKHRoaXMpO2E9YSYmYS5sYXN0Q2hpbGQ7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX2xhc3RDaGlsZH0sZ2V0IG5leHRTaWJsaW5nKCl7dmFyIGE9TCh0aGlzKTthPWEmJmEubmV4dFNpYmxpbmc7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX25leHRTaWJsaW5nfSxnZXQgcHJldmlvdXNTaWJsaW5nKCl7dmFyIGE9TCh0aGlzKTthPWEmJmEucHJldmlvdXNTaWJsaW5nO3JldHVybiB2b2lkIDAhPT1hP2E6dGhpcy5fX3NoYWR5X25hdGl2ZV9wcmV2aW91c1NpYmxpbmd9LFxuZ2V0IGNoaWxkTm9kZXMoKXtpZih2Yyh0aGlzKSl7dmFyIGE9TCh0aGlzKTtpZighYS5jaGlsZE5vZGVzKXthLmNoaWxkTm9kZXM9W107Zm9yKHZhciBiPXRoaXMuX19zaGFkeV9maXJzdENoaWxkO2I7Yj1iLl9fc2hhZHlfbmV4dFNpYmxpbmcpYS5jaGlsZE5vZGVzLnB1c2goYil9dmFyIGM9YS5jaGlsZE5vZGVzfWVsc2UgYz10aGlzLl9fc2hhZHlfbmF0aXZlX2NoaWxkTm9kZXM7Yy5pdGVtPWZ1bmN0aW9uKGQpe3JldHVybiBjW2RdfTtyZXR1cm4gY30sZ2V0IHBhcmVudEVsZW1lbnQoKXt2YXIgYT1MKHRoaXMpOyhhPWEmJmEucGFyZW50Tm9kZSkmJmEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERSYmKGE9bnVsbCk7cmV0dXJuIHZvaWQgMCE9PWE/YTp0aGlzLl9fc2hhZHlfbmF0aXZlX3BhcmVudEVsZW1lbnR9LGdldCBpc0Nvbm5lY3RlZCgpe2lmKG5lJiZuZS5jYWxsKHRoaXMpKXJldHVybiEwO2lmKHRoaXMubm9kZVR5cGU9PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSlyZXR1cm4hMTtcbnZhciBhPXRoaXMub3duZXJEb2N1bWVudDtpZihudWxsPT09YXx8RWMoYSx0aGlzKSlyZXR1cm4hMDtmb3IoYT10aGlzO2EmJiEoYSBpbnN0YW5jZW9mIERvY3VtZW50KTspYT1hLl9fc2hhZHlfcGFyZW50Tm9kZXx8KE8oYSk/YS5ob3N0OnZvaWQgMCk7cmV0dXJuISEoYSYmYSBpbnN0YW5jZW9mIERvY3VtZW50KX0sZ2V0IHRleHRDb250ZW50KCl7aWYodmModGhpcykpe2Zvcih2YXIgYT1bXSxiPXRoaXMuX19zaGFkeV9maXJzdENoaWxkO2I7Yj1iLl9fc2hhZHlfbmV4dFNpYmxpbmcpYi5ub2RlVHlwZSE9PU5vZGUuQ09NTUVOVF9OT0RFJiZhLnB1c2goYi5fX3NoYWR5X3RleHRDb250ZW50KTtyZXR1cm4gYS5qb2luKFwiXCIpfXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3RleHRDb250ZW50fSxzZXQgdGV4dENvbnRlbnQoYSl7aWYoXCJ1bmRlZmluZWRcIj09PXR5cGVvZiBhfHxudWxsPT09YSlhPVwiXCI7c3dpdGNoKHRoaXMubm9kZVR5cGUpe2Nhc2UgTm9kZS5FTEVNRU5UX05PREU6Y2FzZSBOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6aWYoIXZjKHRoaXMpJiZcbk4uSCl7dmFyIGI9dGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGQ7KGIhPXRoaXMuX19zaGFkeV9sYXN0Q2hpbGR8fGImJmIubm9kZVR5cGUhPU5vZGUuVEVYVF9OT0RFKSYmcGUodGhpcyk7dGhpcy5fX3NoYWR5X25hdGl2ZV90ZXh0Q29udGVudD1hfWVsc2UgcGUodGhpcyksKDA8YS5sZW5ndGh8fHRoaXMubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSkmJnRoaXMuX19zaGFkeV9pbnNlcnRCZWZvcmUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYSkpO2JyZWFrO2RlZmF1bHQ6dGhpcy5ub2RlVmFsdWU9YX19LGluc2VydEJlZm9yZTpmdW5jdGlvbihhLGIpe2lmKHRoaXMub3duZXJEb2N1bWVudCE9PWtlJiZhLm93bmVyRG9jdW1lbnQhPT1rZSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9pbnNlcnRCZWZvcmUoYSxiKSxhO2lmKGE9PT10aGlzKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGV4ZWN1dGUgJ2FwcGVuZENoaWxkJyBvbiAnTm9kZSc6IFRoZSBuZXcgY2hpbGQgZWxlbWVudCBjb250YWlucyB0aGUgcGFyZW50LlwiKTtcbmlmKGIpe3ZhciBjPUwoYik7Yz1jJiZjLnBhcmVudE5vZGU7aWYodm9pZCAwIT09YyYmYyE9PXRoaXN8fHZvaWQgMD09PWMmJmIuX19zaGFkeV9uYXRpdmVfcGFyZW50Tm9kZSE9PXRoaXMpdGhyb3cgRXJyb3IoXCJGYWlsZWQgdG8gZXhlY3V0ZSAnaW5zZXJ0QmVmb3JlJyBvbiAnTm9kZSc6IFRoZSBub2RlIGJlZm9yZSB3aGljaCB0aGUgbmV3IG5vZGUgaXMgdG8gYmUgaW5zZXJ0ZWQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBub2RlLlwiKTt9aWYoYj09PWEpcmV0dXJuIGE7c2UodGhpcyxhKTt2YXIgZD1bXSxlPShjPXRlKHRoaXMpKT9jLmhvc3QubG9jYWxOYW1lOmllKHRoaXMpLGY9YS5fX3NoYWR5X3BhcmVudE5vZGU7aWYoZil7dmFyIGc9aWUoYSk7dmFyIGg9ISFjfHwhdGUoYSl8fGxlJiZ2b2lkIDAhPT10aGlzLl9fbm9JbnNlcnRpb25Qb2ludDtmLl9fc2hhZHlfcmVtb3ZlQ2hpbGQoYSxoKX1mPSEwO3ZhciBrPSghbGV8fHZvaWQgMD09PWEuX19ub0luc2VydGlvblBvaW50JiZ2b2lkIDA9PT1cbnRoaXMuX19ub0luc2VydGlvblBvaW50KSYmIWhlKGEsZSksbD1jJiYhYS5fX25vSW5zZXJ0aW9uUG9pbnQmJighbGV8fGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpO2lmKGx8fGspayYmKGc9Z3x8aWUoYSkpLGplKGEsZnVuY3Rpb24obSl7bCYmXCJzbG90XCI9PT1tLmxvY2FsTmFtZSYmZC5wdXNoKG0pO2lmKGspe3ZhciBxPWc7ZWUoKSYmKHEmJmdlKG0scSksKHE9ZWUoKSkmJnEuc2NvcGVOb2RlKG0sZSkpfX0pO2QubGVuZ3RoJiYodWUoYyksYy5pLnB1c2guYXBwbHkoYy5pLHgoZCkpLHZlKGMpKTt2Yyh0aGlzKSYmKHdlKGEsdGhpcyxiKSxoPUwodGhpcyksaC5yb290PyhmPSExLHdjKHRoaXMpJiZ2ZShoLnJvb3QpKTpjJiZcInNsb3RcIj09PXRoaXMubG9jYWxOYW1lJiYoZj0hMSx2ZShjKSkpO2Y/KGM9Tyh0aGlzKT90aGlzLmhvc3Q6dGhpcyxiPyhiPXJlKGIpLGMuX19zaGFkeV9uYXRpdmVfaW5zZXJ0QmVmb3JlKGEsYikpOmMuX19zaGFkeV9uYXRpdmVfYXBwZW5kQ2hpbGQoYSkpOlxuYS5vd25lckRvY3VtZW50IT09dGhpcy5vd25lckRvY3VtZW50JiZ0aGlzLm93bmVyRG9jdW1lbnQuYWRvcHROb2RlKGEpO3JldHVybiBhfSxhcHBlbmRDaGlsZDpmdW5jdGlvbihhKXtpZih0aGlzIT1hfHwhTyhhKSlyZXR1cm4gdGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShhKX0scmVtb3ZlQ2hpbGQ6ZnVuY3Rpb24oYSxiKXtiPXZvaWQgMD09PWI/ITE6YjtpZih0aGlzLm93bmVyRG9jdW1lbnQhPT1rZSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChhKTtpZihhLl9fc2hhZHlfcGFyZW50Tm9kZSE9PXRoaXMpdGhyb3cgRXJyb3IoXCJUaGUgbm9kZSB0byBiZSByZW1vdmVkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgbm9kZTogXCIrYSk7c2UodGhpcyxudWxsLGEpO3ZhciBjPXRlKGEpLGQ9YyYmeGUoYyxhKSxlPUwodGhpcyk7aWYodmModGhpcykmJih5ZShhLHRoaXMpLHdjKHRoaXMpKSl7dmUoZS5yb290KTt2YXIgZj0hMH1pZihlZSgpJiYhYiYmYyYmYS5ub2RlVHlwZSE9PVxuTm9kZS5URVhUX05PREUpe3ZhciBnPWllKGEpO2plKGEsZnVuY3Rpb24oaCl7Z2UoaCxnKX0pfXFlKGEpO2MmJigoYj1cInNsb3RcIj09PXRoaXMubG9jYWxOYW1lKSYmKGY9ITApLChkfHxiKSYmdmUoYykpO2Z8fChmPU8odGhpcyk/dGhpcy5ob3N0OnRoaXMsKCFlLnJvb3QmJlwic2xvdFwiIT09YS5sb2NhbE5hbWV8fGY9PT1hLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGUpJiZmLl9fc2hhZHlfbmF0aXZlX3JlbW92ZUNoaWxkKGEpKTtyZXR1cm4gYX0scmVwbGFjZUNoaWxkOmZ1bmN0aW9uKGEsYil7dGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShhLGIpO3RoaXMuX19zaGFkeV9yZW1vdmVDaGlsZChiKTtyZXR1cm4gYX0sY2xvbmVOb2RlOmZ1bmN0aW9uKGEpe2lmKFwidGVtcGxhdGVcIj09dGhpcy5sb2NhbE5hbWUpcmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfY2xvbmVOb2RlKGEpO3ZhciBiPXRoaXMuX19zaGFkeV9uYXRpdmVfY2xvbmVOb2RlKCExKTtpZihhJiZiLm5vZGVUeXBlIT09XG5Ob2RlLkFUVFJJQlVURV9OT0RFKXthPXRoaXMuX19zaGFkeV9maXJzdENoaWxkO2Zvcih2YXIgYzthO2E9YS5fX3NoYWR5X25leHRTaWJsaW5nKWM9YS5fX3NoYWR5X2Nsb25lTm9kZSghMCksYi5fX3NoYWR5X2FwcGVuZENoaWxkKGMpfXJldHVybiBifSxnZXRSb290Tm9kZTpmdW5jdGlvbihhKXtpZih0aGlzJiZ0aGlzLm5vZGVUeXBlKXt2YXIgYj1EKHRoaXMpLGM9Yi5xYTt2b2lkIDA9PT1jJiYoTyh0aGlzKT8oYz10aGlzLGIucWE9Yyk6KGM9KGM9dGhpcy5fX3NoYWR5X3BhcmVudE5vZGUpP2MuX19zaGFkeV9nZXRSb290Tm9kZShhKTp0aGlzLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5fX3NoYWR5X25hdGl2ZV9jb250YWlucyh0aGlzKSYmKGIucWE9YykpKTtyZXR1cm4gY319LGNvbnRhaW5zOmZ1bmN0aW9uKGEpe3JldHVybiBHYyh0aGlzLGEpfX0pO3ZhciBCZT1RKHtnZXQgYXNzaWduZWRTbG90KCl7dmFyIGE9dGhpcy5fX3NoYWR5X3BhcmVudE5vZGU7KGE9YSYmYS5fX3NoYWR5X3NoYWRvd1Jvb3QpJiZBZShhKTtyZXR1cm4oYT1MKHRoaXMpKSYmYS5hc3NpZ25lZFNsb3R8fG51bGx9fSk7ZnVuY3Rpb24gQ2UoYSxiLGMpe3ZhciBkPVtdO0RlKGEsYixjLGQpO3JldHVybiBkfWZ1bmN0aW9uIERlKGEsYixjLGQpe2ZvcihhPWEuX19zaGFkeV9maXJzdENoaWxkO2E7YT1hLl9fc2hhZHlfbmV4dFNpYmxpbmcpe3ZhciBlO2lmKGU9YS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXtlPWE7dmFyIGY9YixnPWMsaD1kLGs9ZihlKTtrJiZoLnB1c2goZSk7ZyYmZyhrKT9lPWs6KERlKGUsZixnLGgpLGU9dm9pZCAwKX1pZihlKWJyZWFrfX1cbnZhciBFZT17Z2V0IGZpcnN0RWxlbWVudENoaWxkKCl7dmFyIGE9TCh0aGlzKTtpZihhJiZ2b2lkIDAhPT1hLmZpcnN0Q2hpbGQpe2ZvcihhPXRoaXMuX19zaGFkeV9maXJzdENoaWxkO2EmJmEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERTspYT1hLl9fc2hhZHlfbmV4dFNpYmxpbmc7cmV0dXJuIGF9cmV0dXJuIHRoaXMuX19zaGFkeV9uYXRpdmVfZmlyc3RFbGVtZW50Q2hpbGR9LGdldCBsYXN0RWxlbWVudENoaWxkKCl7dmFyIGE9TCh0aGlzKTtpZihhJiZ2b2lkIDAhPT1hLmxhc3RDaGlsZCl7Zm9yKGE9dGhpcy5fX3NoYWR5X2xhc3RDaGlsZDthJiZhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREU7KWE9YS5fX3NoYWR5X3ByZXZpb3VzU2libGluZztyZXR1cm4gYX1yZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9sYXN0RWxlbWVudENoaWxkfSxnZXQgY2hpbGRyZW4oKXtyZXR1cm4gdmModGhpcyk/SGMoQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEpjKHRoaXMpLFxuZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERX0pKTp0aGlzLl9fc2hhZHlfbmF0aXZlX2NoaWxkcmVufSxnZXQgY2hpbGRFbGVtZW50Q291bnQoKXt2YXIgYT10aGlzLl9fc2hhZHlfY2hpbGRyZW47cmV0dXJuIGE/YS5sZW5ndGg6MH19LEZlPVEoKEVlLmFwcGVuZD1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1hcmd1bWVudHNbY107dGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShPYy5hcHBseShudWxsLHgoYikpLG51bGwpfSxFZS5wcmVwZW5kPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTA7Yzxhcmd1bWVudHMubGVuZ3RoOysrYyliW2NdPWFyZ3VtZW50c1tjXTt0aGlzLl9fc2hhZHlfaW5zZXJ0QmVmb3JlKE9jLmFwcGx5KG51bGwseChiKSksdGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGQpfSxFZS5yZXBsYWNlQ2hpbGRyZW49ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGFyZ3VtZW50cy5sZW5ndGg7KytjKWJbY109XG5hcmd1bWVudHNbY107Zm9yKDtudWxsIT09KGM9dGhpcy5fX3NoYWR5X2ZpcnN0Q2hpbGQpOyl0aGlzLl9fc2hhZHlfcmVtb3ZlQ2hpbGQoYyk7dGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShPYy5hcHBseShudWxsLHgoYikpLG51bGwpfSxFZSkpLEdlPVEoe3F1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24oYSl7cmV0dXJuIENlKHRoaXMsZnVuY3Rpb24oYil7cmV0dXJuIHpjLmNhbGwoYixhKX0sZnVuY3Rpb24oYil7cmV0dXJuISFifSlbMF18fG51bGx9LHF1ZXJ5U2VsZWN0b3JBbGw6ZnVuY3Rpb24oYSxiKXtpZihiKXtiPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuX19zaGFkeV9uYXRpdmVfcXVlcnlTZWxlY3RvckFsbChhKSk7dmFyIGM9dGhpcy5fX3NoYWR5X2dldFJvb3ROb2RlKCk7cmV0dXJuIEhjKGIuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBkLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKT09Y30pKX1yZXR1cm4gSGMoQ2UodGhpcyxmdW5jdGlvbihkKXtyZXR1cm4gemMuY2FsbChkLFxuYSl9KSl9fSksSGU9Ti5mYSYmIU4uSj9NYyh7fSxGZSk6RmU7TWMoRmUsR2UpO3ZhciBJZT1RKHthZnRlcjpmdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1hcmd1bWVudHNbY107Yz10aGlzLl9fc2hhZHlfcGFyZW50Tm9kZTtpZihudWxsIT09Yyl7dmFyIGQ9dGhpcy5fX3NoYWR5X25leHRTaWJsaW5nO2MuX19zaGFkeV9pbnNlcnRCZWZvcmUoT2MuYXBwbHkobnVsbCx4KGIpKSxkKX19LGJlZm9yZTpmdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1hcmd1bWVudHNbY107Yz10aGlzLl9fc2hhZHlfcGFyZW50Tm9kZTtudWxsIT09YyYmYy5fX3NoYWR5X2luc2VydEJlZm9yZShPYy5hcHBseShudWxsLHgoYikpLHRoaXMpfSxyZW1vdmU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl9fc2hhZHlfcGFyZW50Tm9kZTtudWxsIT09YSYmYS5fX3NoYWR5X3JlbW92ZUNoaWxkKHRoaXMpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1cbmFyZ3VtZW50c1tjXTtjPXRoaXMuX19zaGFkeV9wYXJlbnROb2RlO2lmKG51bGwhPT1jKXt2YXIgZD10aGlzLl9fc2hhZHlfbmV4dFNpYmxpbmc7Yy5fX3NoYWR5X3JlbW92ZUNoaWxkKHRoaXMpO2MuX19zaGFkeV9pbnNlcnRCZWZvcmUoT2MuYXBwbHkobnVsbCx4KGIpKSxkKX19fSk7dmFyIEplPXdpbmRvdy5kb2N1bWVudDtmdW5jdGlvbiBLZShhLGIpe2lmKFwic2xvdFwiPT09YilhPWEuX19zaGFkeV9wYXJlbnROb2RlLHdjKGEpJiZ2ZShMKGEpLnJvb3QpO2Vsc2UgaWYoXCJzbG90XCI9PT1hLmxvY2FsTmFtZSYmXCJuYW1lXCI9PT1iJiYoYj10ZShhKSkpe2lmKGIuZyl7TGUoYik7dmFyIGM9YS5RYSxkPU1lKGEpO2lmKGQhPT1jKXtjPWIuaFtjXTt2YXIgZT1jLmluZGV4T2YoYSk7MDw9ZSYmYy5zcGxpY2UoZSwxKTtjPWIuaFtkXXx8KGIuaFtkXT1bXSk7Yy5wdXNoKGEpOzE8Yy5sZW5ndGgmJihiLmhbZF09TmUoYykpfX12ZShiKX19XG52YXIgT2U9USh7Z2V0IHByZXZpb3VzRWxlbWVudFNpYmxpbmcoKXt2YXIgYT1MKHRoaXMpO2lmKGEmJnZvaWQgMCE9PWEucHJldmlvdXNTaWJsaW5nKXtmb3IoYT10aGlzLl9fc2hhZHlfcHJldmlvdXNTaWJsaW5nO2EmJmEubm9kZVR5cGUhPT1Ob2RlLkVMRU1FTlRfTk9ERTspYT1hLl9fc2hhZHlfcHJldmlvdXNTaWJsaW5nO3JldHVybiBhfXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX3ByZXZpb3VzRWxlbWVudFNpYmxpbmd9LGdldCBuZXh0RWxlbWVudFNpYmxpbmcoKXt2YXIgYT1MKHRoaXMpO2lmKGEmJnZvaWQgMCE9PWEubmV4dFNpYmxpbmcpe2ZvcihhPXRoaXMuX19zaGFkeV9uZXh0U2libGluZzthJiZhLm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREU7KWE9YS5fX3NoYWR5X25leHRTaWJsaW5nO3JldHVybiBhfXJldHVybiB0aGlzLl9fc2hhZHlfbmF0aXZlX25leHRFbGVtZW50U2libGluZ30sZ2V0IHNsb3QoKXtyZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoXCJzbG90XCIpfSxcbnNldCBzbG90KGEpe3RoaXMuX19zaGFkeV9zZXRBdHRyaWJ1dGUoXCJzbG90XCIsYSl9LGdldCBjbGFzc05hbWUoKXtyZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIn0sc2V0IGNsYXNzTmFtZShhKXt0aGlzLl9fc2hhZHlfc2V0QXR0cmlidXRlKFwiY2xhc3NcIixhKX0sc2V0QXR0cmlidXRlOmZ1bmN0aW9uKGEsYil7dGhpcy5vd25lckRvY3VtZW50IT09SmU/dGhpcy5fX3NoYWR5X25hdGl2ZV9zZXRBdHRyaWJ1dGUoYSxiKTpmZSh0aGlzLGEsYil8fCh0aGlzLl9fc2hhZHlfbmF0aXZlX3NldEF0dHJpYnV0ZShhLGIpLEtlKHRoaXMsYSkpfSxyZW1vdmVBdHRyaWJ1dGU6ZnVuY3Rpb24oYSl7dGhpcy5vd25lckRvY3VtZW50IT09SmU/dGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVBdHRyaWJ1dGUoYSk6ZmUodGhpcyxhLFwiXCIpP1wiXCI9PT10aGlzLmdldEF0dHJpYnV0ZShhKSYmdGhpcy5fX3NoYWR5X25hdGl2ZV9yZW1vdmVBdHRyaWJ1dGUoYSk6KHRoaXMuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQXR0cmlidXRlKGEpLFxuS2UodGhpcyxhKSl9fSk7Ti5mYXx8WGQuZm9yRWFjaChmdW5jdGlvbihhKXtPZVthXT1aZChhKX0pO1xudmFyIFRlPVEoe2F0dGFjaFNoYWRvdzpmdW5jdGlvbihhKXtpZighdGhpcyl0aHJvdyBFcnJvcihcIk11c3QgcHJvdmlkZSBhIGhvc3QuXCIpO2lmKCFhKXRocm93IEVycm9yKFwiTm90IGVub3VnaCBhcmd1bWVudHMuXCIpO2lmKGEuc2hhZHlVcGdyYWRlRnJhZ21lbnQmJiFOLk5hKXt2YXIgYj1hLnNoYWR5VXBncmFkZUZyYWdtZW50O2IuX19wcm90b19fPVNoYWRvd1Jvb3QucHJvdG90eXBlO1BlKGIsdGhpcyxhKTtRZShiLGIpO2E9Yi5fX25vSW5zZXJ0aW9uUG9pbnQ/bnVsbDpiLnF1ZXJ5U2VsZWN0b3JBbGwoXCJzbG90XCIpO2IuX19ub0luc2VydGlvblBvaW50PXZvaWQgMDtpZihhJiZhLmxlbmd0aCl7dmFyIGM9Yjt1ZShjKTtjLmkucHVzaC5hcHBseShjLmkseChhKSk7dmUoYil9Yi5ob3N0Ll9fc2hhZHlfbmF0aXZlX2FwcGVuZENoaWxkKGIpfWVsc2UgYj1uZXcgUmUoU2UsdGhpcyxhKTtyZXR1cm4gdGhpcy5fX0NFX3NoYWRvd1Jvb3Q9Yn0sZ2V0IHNoYWRvd1Jvb3QoKXt2YXIgYT1MKHRoaXMpO1xucmV0dXJuIGEmJmEuZ2J8fG51bGx9fSk7TWMoT2UsVGUpO3ZhciBVZT1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoXCJpbmVydFwiKSxWZT1RKHtnZXQgaW5uZXJIVE1MKCl7cmV0dXJuIHZjKHRoaXMpP2RkKFwidGVtcGxhdGVcIj09PXRoaXMubG9jYWxOYW1lP3RoaXMuY29udGVudDp0aGlzLEpjKTp0aGlzLl9fc2hhZHlfbmF0aXZlX2lubmVySFRNTH0sc2V0IGlubmVySFRNTChhKXtpZihcInRlbXBsYXRlXCI9PT10aGlzLmxvY2FsTmFtZSl0aGlzLl9fc2hhZHlfbmF0aXZlX2lubmVySFRNTD1hO2Vsc2V7cGUodGhpcyk7dmFyIGI9dGhpcy5sb2NhbE5hbWV8fFwiZGl2XCI7Yj10aGlzLm5hbWVzcGFjZVVSSSYmdGhpcy5uYW1lc3BhY2VVUkkhPT1VZS5uYW1lc3BhY2VVUkk/VWUuY3JlYXRlRWxlbWVudE5TKHRoaXMubmFtZXNwYWNlVVJJLGIpOlVlLmNyZWF0ZUVsZW1lbnQoYik7Zm9yKE4uSD9iLl9fc2hhZHlfbmF0aXZlX2lubmVySFRNTD1hOmIuaW5uZXJIVE1MPWE7YT1iLl9fc2hhZHlfZmlyc3RDaGlsZDspdGhpcy5fX3NoYWR5X2luc2VydEJlZm9yZShhKX19fSk7dmFyIFdlPVEoe2JsdXI6ZnVuY3Rpb24oKXt2YXIgYT1MKHRoaXMpOyhhPShhPWEmJmEucm9vdCkmJmEuYWN0aXZlRWxlbWVudCk/YS5fX3NoYWR5X2JsdXIoKTp0aGlzLl9fc2hhZHlfbmF0aXZlX2JsdXIoKX19KTtOLmZhfHxZZC5mb3JFYWNoKGZ1bmN0aW9uKGEpe1dlW2FdPVpkKGEpfSk7dmFyIFhlPVEoe2Fzc2lnbmVkTm9kZXM6ZnVuY3Rpb24oYSl7aWYoXCJzbG90XCI9PT10aGlzLmxvY2FsTmFtZSl7dmFyIGI9dGhpcy5fX3NoYWR5X2dldFJvb3ROb2RlKCk7YiYmTyhiKSYmQWUoYik7cmV0dXJuKGI9TCh0aGlzKSk/KGEmJmEuZmxhdHRlbj9iLmFhOmIuYXNzaWduZWROb2Rlcyl8fFtdOltdfX0sYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLGIsYyl7aWYoXCJzbG90XCIhPT10aGlzLmxvY2FsTmFtZXx8XCJzbG90Y2hhbmdlXCI9PT1hKVBkLmNhbGwodGhpcyxhLGIsYyk7ZWxzZXtcIm9iamVjdFwiIT09dHlwZW9mIGMmJihjPXtjYXB0dXJlOiEhY30pO3ZhciBkPXRoaXMuX19zaGFkeV9wYXJlbnROb2RlO2lmKCFkKXRocm93IEVycm9yKFwiU2hhZHlET00gY2Fubm90IGF0dGFjaCBldmVudCB0byBzbG90IHVubGVzcyBpdCBoYXMgYSBgcGFyZW50Tm9kZWBcIik7Yy5VPXRoaXM7ZC5fX3NoYWR5X2FkZEV2ZW50TGlzdGVuZXIoYSxiLGMpfX0scmVtb3ZlRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbihhLFxuYixjKXtpZihcInNsb3RcIiE9PXRoaXMubG9jYWxOYW1lfHxcInNsb3RjaGFuZ2VcIj09PWEpUWQuY2FsbCh0aGlzLGEsYixjKTtlbHNle1wib2JqZWN0XCIhPT10eXBlb2YgYyYmKGM9e2NhcHR1cmU6ISFjfSk7dmFyIGQ9dGhpcy5fX3NoYWR5X3BhcmVudE5vZGU7aWYoIWQpdGhyb3cgRXJyb3IoXCJTaGFkeURPTSBjYW5ub3QgYXR0YWNoIGV2ZW50IHRvIHNsb3QgdW5sZXNzIGl0IGhhcyBhIGBwYXJlbnROb2RlYFwiKTtjLlU9dGhpcztkLl9fc2hhZHlfcmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGIsYyl9fX0pO3ZhciBZZT1RKHtnZXRFbGVtZW50QnlJZDpmdW5jdGlvbihhKXtyZXR1cm5cIlwiPT09YT9udWxsOkNlKHRoaXMsZnVuY3Rpb24oYil7cmV0dXJuIGIuaWQ9PWF9LGZ1bmN0aW9uKGIpe3JldHVybiEhYn0pWzBdfHxudWxsfX0pO2Z1bmN0aW9uIFplKGEsYil7Zm9yKHZhciBjO2ImJiFhLmhhcyhjPWIuX19zaGFkeV9nZXRSb290Tm9kZSgpKTspYj1jLmhvc3Q7cmV0dXJuIGJ9ZnVuY3Rpb24gJGUoYSl7dmFyIGI9bmV3IFNldDtmb3IoYi5hZGQoYSk7TyhhKSYmYS5ob3N0OylhPWEuaG9zdC5fX3NoYWR5X2dldFJvb3ROb2RlKCksYi5hZGQoYSk7cmV0dXJuIGJ9XG52YXIgYWY9XCJfX3NoYWR5X25hdGl2ZV9cIit1YygpLGJmPVEoe2dldCBhY3RpdmVFbGVtZW50KCl7dmFyIGE9Ti5IP2RvY3VtZW50Ll9fc2hhZHlfbmF0aXZlX2FjdGl2ZUVsZW1lbnQ6ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtpZighYXx8IWEubm9kZVR5cGUpcmV0dXJuIG51bGw7dmFyIGI9ISFPKHRoaXMpO2lmKCEodGhpcz09PWRvY3VtZW50fHxiJiZ0aGlzLmhvc3QhPT1hJiZ0aGlzLmhvc3QuX19zaGFkeV9uYXRpdmVfY29udGFpbnMoYSkpKXJldHVybiBudWxsO2ZvcihiPXRlKGEpO2ImJmIhPT10aGlzOylhPWIuaG9zdCxiPXRlKGEpO3JldHVybiB0aGlzPT09ZG9jdW1lbnQ/Yj9udWxsOmE6Yj09PXRoaXM/YTpudWxsfSxlbGVtZW50c0Zyb21Qb2ludDpmdW5jdGlvbihhLGIpe2E9W10uc2xpY2UuY2FsbChkb2N1bWVudFthZl0oYSxiKSk7Yj0kZSh0aGlzKTtmb3IodmFyIGM9bmV3IFNldCxkPTA7ZDxhLmxlbmd0aDtkKyspYy5hZGQoWmUoYixhW2RdKSk7dmFyIGU9W107Yy5mb3JFYWNoKGZ1bmN0aW9uKGYpe3JldHVybiBlLnB1c2goZil9KTtcbnJldHVybiBlfSxlbGVtZW50RnJvbVBvaW50OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuX19zaGFkeV9lbGVtZW50c0Zyb21Qb2ludChhLGIpWzBdfHxudWxsfX0pO3ZhciBjZj13aW5kb3cuZG9jdW1lbnQsZGY9USh7aW1wb3J0Tm9kZTpmdW5jdGlvbihhLGIpe2lmKGEub3duZXJEb2N1bWVudCE9PWNmfHxcInRlbXBsYXRlXCI9PT1hLmxvY2FsTmFtZSlyZXR1cm4gdGhpcy5fX3NoYWR5X25hdGl2ZV9pbXBvcnROb2RlKGEsYik7dmFyIGM9dGhpcy5fX3NoYWR5X25hdGl2ZV9pbXBvcnROb2RlKGEsITEpO2lmKGIpZm9yKGE9YS5fX3NoYWR5X2ZpcnN0Q2hpbGQ7YTthPWEuX19zaGFkeV9uZXh0U2libGluZyliPXRoaXMuX19zaGFkeV9pbXBvcnROb2RlKGEsITApLGMuX19zaGFkeV9hcHBlbmRDaGlsZChiKTtyZXR1cm4gY319KTt2YXIgZWY9USh7ZGlzcGF0Y2hFdmVudDpOZCxhZGRFdmVudExpc3RlbmVyOlBkLmJpbmQod2luZG93KSxyZW1vdmVFdmVudExpc3RlbmVyOlFkLmJpbmQod2luZG93KX0pO3ZhciBmZj17fTtPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEhUTUxFbGVtZW50LnByb3RvdHlwZSxcInBhcmVudEVsZW1lbnRcIikmJihmZi5wYXJlbnRFbGVtZW50PXplLnBhcmVudEVsZW1lbnQpO09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTEVsZW1lbnQucHJvdG90eXBlLFwiY29udGFpbnNcIikmJihmZi5jb250YWlucz16ZS5jb250YWlucyk7T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsXCJjaGlsZHJlblwiKSYmKGZmLmNoaWxkcmVuPUZlLmNoaWxkcmVuKTtPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEhUTUxFbGVtZW50LnByb3RvdHlwZSxcImlubmVySFRNTFwiKSYmKGZmLmlubmVySFRNTD1WZS5pbm5lckhUTUwpO09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTEVsZW1lbnQucHJvdG90eXBlLFwiY2xhc3NOYW1lXCIpJiYoZmYuY2xhc3NOYW1lPU9lLmNsYXNzTmFtZSk7XG52YXIgZ2Y9e0V2ZW50VGFyZ2V0OltjZV0sTm9kZTpbemUsd2luZG93LkV2ZW50VGFyZ2V0P251bGw6Y2VdLFRleHQ6W0JlXSxDb21tZW50OltCZV0sQ0RBVEFTZWN0aW9uOltCZV0sUHJvY2Vzc2luZ0luc3RydWN0aW9uOltCZV0sRWxlbWVudDpbT2UsRmUsSWUsQmUsIU4uSHx8XCJpbm5lckhUTUxcImluIEVsZW1lbnQucHJvdG90eXBlP1ZlOm51bGwsd2luZG93LkhUTUxTbG90RWxlbWVudD9udWxsOlhlXSxIVE1MRWxlbWVudDpbV2UsZmZdLEhUTUxTbG90RWxlbWVudDpbWGVdLERvY3VtZW50RnJhZ21lbnQ6W0hlLFllXSxEb2N1bWVudDpbZGYsSGUsWWUsYmZdLFdpbmRvdzpbZWZdLENoYXJhY3RlckRhdGE6W0llXX0saGY9Ti5IP251bGw6W1wiaW5uZXJIVE1MXCIsXCJ0ZXh0Q29udGVudFwiXTtmdW5jdGlvbiBqZihhLGIsYyxkKXtiLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGEmJmUmJlAoYSxlLGMsZCl9KX1cbmZ1bmN0aW9uIGtmKGEpe3ZhciBiPWE/bnVsbDpoZixjO2ZvcihjIGluIGdmKWpmKHdpbmRvd1tjXSYmd2luZG93W2NdLnByb3RvdHlwZSxnZltjXSxhLGIpfVtcIlRleHRcIixcIkNvbW1lbnRcIixcIkNEQVRBU2VjdGlvblwiLFwiUHJvY2Vzc2luZ0luc3RydWN0aW9uXCJdLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGI9d2luZG93W2FdLGM9T2JqZWN0LmNyZWF0ZShiLnByb3RvdHlwZSk7Yy5fX3NoYWR5X3Byb3RvSXNQYXRjaGVkPSEwO2pmKGMsZ2YuRXZlbnRUYXJnZXQpO2pmKGMsZ2YuTm9kZSk7Z2ZbYV0mJmpmKGMsZ2ZbYV0pO2IucHJvdG90eXBlLl9fc2hhZHlfcGF0Y2hlZFByb3RvPWN9KTtmdW5jdGlvbiBsZihhKXthLl9fc2hhZHlfcHJvdG9Jc1BhdGNoZWQ9ITA7amYoYSxnZi5FdmVudFRhcmdldCk7amYoYSxnZi5Ob2RlKTtqZihhLGdmLkVsZW1lbnQpO2pmKGEsZ2YuSFRNTEVsZW1lbnQpO2pmKGEsZ2YuSFRNTFNsb3RFbGVtZW50KTtyZXR1cm4gYX07dmFyIG1mPU4uQWEsbmY9Ti5IO2Z1bmN0aW9uIG9mKGEsYil7aWYobWYmJiFhLl9fc2hhZHlfcHJvdG9Jc1BhdGNoZWQmJiFPKGEpKXt2YXIgYz1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYSksZD1jLmhhc093blByb3BlcnR5KFwiX19zaGFkeV9wYXRjaGVkUHJvdG9cIikmJmMuX19zaGFkeV9wYXRjaGVkUHJvdG87ZHx8KGQ9T2JqZWN0LmNyZWF0ZShjKSxsZihkKSxjLl9fc2hhZHlfcGF0Y2hlZFByb3RvPWQpO09iamVjdC5zZXRQcm90b3R5cGVPZihhLGQpfW5mfHwoMT09PWI/dmQoYSk6Mj09PWImJndkKGEpKX1cbmZ1bmN0aW9uIHBmKGEsYixjLGQpe29mKGEsMSk7ZD1kfHxudWxsO3ZhciBlPUQoYSksZj1kP0QoZCk6bnVsbDtlLnByZXZpb3VzU2libGluZz1kP2YucHJldmlvdXNTaWJsaW5nOmIuX19zaGFkeV9sYXN0Q2hpbGQ7aWYoZj1MKGUucHJldmlvdXNTaWJsaW5nKSlmLm5leHRTaWJsaW5nPWE7aWYoZj1MKGUubmV4dFNpYmxpbmc9ZCkpZi5wcmV2aW91c1NpYmxpbmc9YTtlLnBhcmVudE5vZGU9YjtkP2Q9PT1jLmZpcnN0Q2hpbGQmJihjLmZpcnN0Q2hpbGQ9YSk6KGMubGFzdENoaWxkPWEsYy5maXJzdENoaWxkfHwoYy5maXJzdENoaWxkPWEpKTtjLmNoaWxkTm9kZXM9bnVsbH1cbmZ1bmN0aW9uIHdlKGEsYixjKXtvZihiLDIpO3ZhciBkPUQoYik7dm9pZCAwIT09ZC5maXJzdENoaWxkJiYoZC5jaGlsZE5vZGVzPW51bGwpO2lmKGEubm9kZVR5cGU9PT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpZm9yKGE9YS5fX3NoYWR5X25hdGl2ZV9maXJzdENoaWxkO2E7YT1hLl9fc2hhZHlfbmF0aXZlX25leHRTaWJsaW5nKXBmKGEsYixkLGMpO2Vsc2UgcGYoYSxiLGQsYyl9XG5mdW5jdGlvbiB5ZShhLGIpe3ZhciBjPUQoYSk7Yj1EKGIpO2E9PT1iLmZpcnN0Q2hpbGQmJihiLmZpcnN0Q2hpbGQ9Yy5uZXh0U2libGluZyk7YT09PWIubGFzdENoaWxkJiYoYi5sYXN0Q2hpbGQ9Yy5wcmV2aW91c1NpYmxpbmcpO2E9Yy5wcmV2aW91c1NpYmxpbmc7dmFyIGQ9Yy5uZXh0U2libGluZzthJiYoRChhKS5uZXh0U2libGluZz1kKTtkJiYoRChkKS5wcmV2aW91c1NpYmxpbmc9YSk7Yy5wYXJlbnROb2RlPWMucHJldmlvdXNTaWJsaW5nPWMubmV4dFNpYmxpbmc9dm9pZCAwO3ZvaWQgMCE9PWIuY2hpbGROb2RlcyYmKGIuY2hpbGROb2Rlcz1udWxsKX1cbmZ1bmN0aW9uIFFlKGEsYil7dmFyIGM9RChhKTtpZihifHx2b2lkIDA9PT1jLmZpcnN0Q2hpbGQpe2MuY2hpbGROb2Rlcz1udWxsO3ZhciBkPWMuZmlyc3RDaGlsZD1hLl9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7Yy5sYXN0Q2hpbGQ9YS5fX3NoYWR5X25hdGl2ZV9sYXN0Q2hpbGQ7b2YoYSwyKTtjPWQ7Zm9yKGQ9dm9pZCAwO2M7Yz1jLl9fc2hhZHlfbmF0aXZlX25leHRTaWJsaW5nKXt2YXIgZT1EKGMpO2UucGFyZW50Tm9kZT1ifHxhO2UubmV4dFNpYmxpbmc9Yy5fX3NoYWR5X25hdGl2ZV9uZXh0U2libGluZztlLnByZXZpb3VzU2libGluZz1kfHxudWxsO2Q9YztvZihjLDEpfX19O3ZhciBxZj1RKHthZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYixjKXtcIm9iamVjdFwiIT09dHlwZW9mIGMmJihjPXtjYXB0dXJlOiEhY30pO2MuVT1jLlV8fHRoaXM7dGhpcy5ob3N0Ll9fc2hhZHlfYWRkRXZlbnRMaXN0ZW5lcihhLGIsYyl9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiLGMpe1wib2JqZWN0XCIhPT10eXBlb2YgYyYmKGM9e2NhcHR1cmU6ISFjfSk7Yy5VPWMuVXx8dGhpczt0aGlzLmhvc3QuX19zaGFkeV9yZW1vdmVFdmVudExpc3RlbmVyKGEsYixjKX19KTtmdW5jdGlvbiByZihhLGIpe1AoYSxxZixiKTtQKGEsYmYsYik7UChhLFZlLGIpO1AoYSxGZSxiKTtOLkomJiFiPyhQKGEsemUsYiksUChhLFllLGIpKTpOLkh8fChQKGEsc2QpLFAoYSxxZCksUChhLHJkKSl9O3ZhciBTZT17fSxzZj1OLmRlZmVyQ29ubmVjdGlvbkNhbGxiYWNrcyYmXCJsb2FkaW5nXCI9PT1kb2N1bWVudC5yZWFkeVN0YXRlLHRmO2Z1bmN0aW9uIHVmKGEpe3ZhciBiPVtdO2RvIGIudW5zaGlmdChhKTt3aGlsZShhPWEuX19zaGFkeV9wYXJlbnROb2RlKTtyZXR1cm4gYn1mdW5jdGlvbiBSZShhLGIsYyl7aWYoYSE9PVNlKXRocm93IG5ldyBUeXBlRXJyb3IoXCJJbGxlZ2FsIGNvbnN0cnVjdG9yXCIpO3RoaXMuZz1udWxsO1BlKHRoaXMsYixjKX1cbmZ1bmN0aW9uIFBlKGEsYixjKXthLmhvc3Q9YjthLm1vZGU9YyYmYy5tb2RlO1FlKGEuaG9zdCk7Yj1EKGEuaG9zdCk7Yi5yb290PWE7Yi5nYj1cImNsb3NlZFwiIT09YS5tb2RlP2E6bnVsbDtiPUQoYSk7Yi5maXJzdENoaWxkPWIubGFzdENoaWxkPWIucGFyZW50Tm9kZT1iLm5leHRTaWJsaW5nPWIucHJldmlvdXNTaWJsaW5nPW51bGw7aWYoTi5wcmVmZXJQZXJmb3JtYW5jZSlmb3IoO2I9YS5ob3N0Ll9fc2hhZHlfbmF0aXZlX2ZpcnN0Q2hpbGQ7KWEuaG9zdC5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChiKTtlbHNlIHZlKGEpfWZ1bmN0aW9uIHZlKGEpe2EuWXx8KGEuWT0hMCxSYyhmdW5jdGlvbigpe3JldHVybiBBZShhKX0pKX1cbmZ1bmN0aW9uIEFlKGEpe3ZhciBiO2lmKGI9YS5ZKXtmb3IodmFyIGM7YTspYTp7YS5ZJiYoYz1hKSxiPWE7YT1iLmhvc3QuX19zaGFkeV9nZXRSb290Tm9kZSgpO2lmKE8oYSkmJihiPUwoYi5ob3N0KSkmJjA8Yi5pYSlicmVhayBhO2E9dm9pZCAwfWI9Y30oYz1iKSYmYy5fcmVuZGVyU2VsZigpfVxuUmUucHJvdG90eXBlLl9yZW5kZXJTZWxmPWZ1bmN0aW9uKCl7dmFyIGE9c2Y7c2Y9ITA7dGhpcy5ZPSExO2lmKHRoaXMuZyl7TGUodGhpcyk7Zm9yKHZhciBiPTAsYztiPHRoaXMuZy5sZW5ndGg7YisrKXtjPXRoaXMuZ1tiXTt2YXIgZD1MKGMpLGU9ZC5hc3NpZ25lZE5vZGVzO2QuYXNzaWduZWROb2Rlcz1bXTtkLmFhPVtdO2lmKGQuR2E9ZSlmb3IoZD0wO2Q8ZS5sZW5ndGg7ZCsrKXt2YXIgZj1MKGVbZF0pO2YudWE9Zi5hc3NpZ25lZFNsb3Q7Zi5hc3NpZ25lZFNsb3Q9PT1jJiYoZi5hc3NpZ25lZFNsb3Q9bnVsbCl9fWZvcihiPXRoaXMuaG9zdC5fX3NoYWR5X2ZpcnN0Q2hpbGQ7YjtiPWIuX19zaGFkeV9uZXh0U2libGluZyl2Zih0aGlzLGIpO2ZvcihiPTA7Yjx0aGlzLmcubGVuZ3RoO2IrKyl7Yz10aGlzLmdbYl07ZT1MKGMpO2lmKCFlLmFzc2lnbmVkTm9kZXMubGVuZ3RoKWZvcihkPWMuX19zaGFkeV9maXJzdENoaWxkO2Q7ZD1kLl9fc2hhZHlfbmV4dFNpYmxpbmcpdmYodGhpcyxcbmQsYyk7KGQ9KGQ9TChjLl9fc2hhZHlfcGFyZW50Tm9kZSkpJiZkLnJvb3QpJiYoeGMoZCl8fGQuWSkmJmQuX3JlbmRlclNlbGYoKTt3Zih0aGlzLGUuYWEsZS5hc3NpZ25lZE5vZGVzKTtpZihkPWUuR2Epe2ZvcihmPTA7ZjxkLmxlbmd0aDtmKyspTChkW2ZdKS51YT1udWxsO2UuR2E9bnVsbDtkLmxlbmd0aD5lLmFzc2lnbmVkTm9kZXMubGVuZ3RoJiYoZS54YT0hMCl9ZS54YSYmKGUueGE9ITEseGYodGhpcyxjKSl9Yz10aGlzLmc7Yj1bXTtmb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKWQ9Y1tlXS5fX3NoYWR5X3BhcmVudE5vZGUsKGY9TChkKSkmJmYucm9vdHx8ISgwPmIuaW5kZXhPZihkKSl8fGIucHVzaChkKTtmb3IoYz0wO2M8Yi5sZW5ndGg7YysrKXtmPWJbY107ZT1mPT09dGhpcz90aGlzLmhvc3Q6ZjtkPVtdO2ZvcihmPWYuX19zaGFkeV9maXJzdENoaWxkO2Y7Zj1mLl9fc2hhZHlfbmV4dFNpYmxpbmcpaWYoXCJzbG90XCI9PWYubG9jYWxOYW1lKWZvcih2YXIgZz1MKGYpLmFhLGg9XG4wO2g8Zy5sZW5ndGg7aCsrKWQucHVzaChnW2hdKTtlbHNlIGQucHVzaChmKTtmPUljKGUpO2c9YWUoZCxkLmxlbmd0aCxmLGYubGVuZ3RoKTtmb3IodmFyIGs9aD0wLGw9dm9pZCAwO2g8Zy5sZW5ndGgmJihsPWdbaF0pO2grKyl7Zm9yKHZhciBtPTAscT12b2lkIDA7bTxsLmdhLmxlbmd0aCYmKHE9bC5nYVttXSk7bSsrKXEuX19zaGFkeV9uYXRpdmVfcGFyZW50Tm9kZT09PWUmJmUuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQocSksZi5zcGxpY2UobC5pbmRleCtrLDEpO2stPWwubmF9az0wO2ZvcihsPXZvaWQgMDtrPGcubGVuZ3RoJiYobD1nW2tdKTtrKyspZm9yKGg9ZltsLmluZGV4XSxtPWwuaW5kZXg7bTxsLmluZGV4K2wubmE7bSsrKXE9ZFttXSxlLl9fc2hhZHlfbmF0aXZlX2luc2VydEJlZm9yZShxLGgpLGYuc3BsaWNlKG0sMCxxKX19aWYoIU4ucHJlZmVyUGVyZm9ybWFuY2UmJiF0aGlzLkZhKWZvcihiPXRoaXMuaG9zdC5fX3NoYWR5X2ZpcnN0Q2hpbGQ7YjtiPWIuX19zaGFkeV9uZXh0U2libGluZyljPVxuTChiKSxiLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGUhPT10aGlzLmhvc3R8fFwic2xvdFwiIT09Yi5sb2NhbE5hbWUmJmMuYXNzaWduZWRTbG90fHx0aGlzLmhvc3QuX19zaGFkeV9uYXRpdmVfcmVtb3ZlQ2hpbGQoYik7dGhpcy5GYT0hMDtzZj1hO3RmJiZ0ZigpfTtmdW5jdGlvbiB2ZihhLGIsYyl7dmFyIGQ9RChiKSxlPWQudWE7ZC51YT1udWxsO2N8fChjPShhPWEuaFtiLl9fc2hhZHlfc2xvdHx8XCJfX2NhdGNoYWxsXCJdKSYmYVswXSk7Yz8oRChjKS5hc3NpZ25lZE5vZGVzLnB1c2goYiksZC5hc3NpZ25lZFNsb3Q9Yyk6ZC5hc3NpZ25lZFNsb3Q9dm9pZCAwO2UhPT1kLmFzc2lnbmVkU2xvdCYmZC5hc3NpZ25lZFNsb3QmJihEKGQuYXNzaWduZWRTbG90KS54YT0hMCl9XG5mdW5jdGlvbiB3ZihhLGIsYyl7Zm9yKHZhciBkPTAsZT12b2lkIDA7ZDxjLmxlbmd0aCYmKGU9Y1tkXSk7ZCsrKWlmKFwic2xvdFwiPT1lLmxvY2FsTmFtZSl7dmFyIGY9TChlKS5hc3NpZ25lZE5vZGVzO2YmJmYubGVuZ3RoJiZ3ZihhLGIsZil9ZWxzZSBiLnB1c2goY1tkXSl9ZnVuY3Rpb24geGYoYSxiKXtiLl9fc2hhZHlfbmF0aXZlX2Rpc3BhdGNoRXZlbnQobmV3IEV2ZW50KFwic2xvdGNoYW5nZVwiKSk7Yj1MKGIpO2IuYXNzaWduZWRTbG90JiZ4ZihhLGIuYXNzaWduZWRTbG90KX1mdW5jdGlvbiB1ZShhKXthLmk9YS5pfHxbXTthLmc9YS5nfHxbXTthLmg9YS5ofHx7fX1cbmZ1bmN0aW9uIExlKGEpe2lmKGEuaSYmYS5pLmxlbmd0aCl7Zm9yKHZhciBiPWEuaSxjLGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTtRZShlKTt2YXIgZj1lLl9fc2hhZHlfcGFyZW50Tm9kZTtRZShmKTtmPUwoZik7Zi5pYT0oZi5pYXx8MCkrMTtmPU1lKGUpO2EuaFtmXT8oYz1jfHx7fSxjW2ZdPSEwLGEuaFtmXS5wdXNoKGUpKTphLmhbZl09W2VdO2EuZy5wdXNoKGUpfWlmKGMpZm9yKHZhciBnIGluIGMpYS5oW2ddPU5lKGEuaFtnXSk7YS5pPVtdfX1mdW5jdGlvbiBNZShhKXt2YXIgYj1hLm5hbWV8fGEuZ2V0QXR0cmlidXRlKFwibmFtZVwiKXx8XCJfX2NhdGNoYWxsXCI7cmV0dXJuIGEuUWE9Yn1cbmZ1bmN0aW9uIE5lKGEpe3JldHVybiBhLnNvcnQoZnVuY3Rpb24oYixjKXtiPXVmKGIpO2Zvcih2YXIgZD11ZihjKSxlPTA7ZTxiLmxlbmd0aDtlKyspe2M9YltlXTt2YXIgZj1kW2VdO2lmKGMhPT1mKXJldHVybiBiPUpjKGMuX19zaGFkeV9wYXJlbnROb2RlKSxiLmluZGV4T2YoYyktYi5pbmRleE9mKGYpfX0pfVxuZnVuY3Rpb24geGUoYSxiKXtpZihhLmcpe0xlKGEpO3ZhciBjPWEuaCxkO2ZvcihkIGluIGMpZm9yKHZhciBlPWNbZF0sZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgZz1lW2ZdO2lmKEdjKGIsZykpe2Uuc3BsaWNlKGYsMSk7dmFyIGg9YS5nLmluZGV4T2YoZyk7MDw9aCYmKGEuZy5zcGxpY2UoaCwxKSwoaD1MKGcuX19zaGFkeV9wYXJlbnROb2RlKSkmJmguaWEmJmguaWEtLSk7Zi0tO2c9TChnKTtpZihoPWcuYWEpZm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sLl9fc2hhZHlfbmF0aXZlX3BhcmVudE5vZGU7bSYmbS5fX3NoYWR5X25hdGl2ZV9yZW1vdmVDaGlsZChsKX1nLmFhPVtdO2cuYXNzaWduZWROb2Rlcz1bXTtoPSEwfX1yZXR1cm4gaH19ZnVuY3Rpb24geGMoYSl7TGUoYSk7cmV0dXJuISghYS5nfHwhYS5nLmxlbmd0aCl9XG4oZnVuY3Rpb24oYSl7YS5fX3Byb3RvX189RG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGU7cmYoYSxcIl9fc2hhZHlfXCIpO3JmKGEpO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGEse25vZGVUeXBlOnt2YWx1ZTpOb2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUsY29uZmlndXJhYmxlOiEwfSxub2RlTmFtZTp7dmFsdWU6XCIjZG9jdW1lbnQtZnJhZ21lbnRcIixjb25maWd1cmFibGU6ITB9LG5vZGVWYWx1ZTp7dmFsdWU6bnVsbCxjb25maWd1cmFibGU6ITB9fSk7W1wibG9jYWxOYW1lXCIsXCJuYW1lc3BhY2VVUklcIixcInByZWZpeFwiXS5mb3JFYWNoKGZ1bmN0aW9uKGIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGIse3ZhbHVlOnZvaWQgMCxjb25maWd1cmFibGU6ITB9KX0pO1tcIm93bmVyRG9jdW1lbnRcIixcImJhc2VVUklcIixcImlzQ29ubmVjdGVkXCJdLmZvckVhY2goZnVuY3Rpb24oYil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaG9zdFtiXX0sXG5jb25maWd1cmFibGU6ITB9KX0pfSkoUmUucHJvdG90eXBlKTtcbmlmKHdpbmRvdy5jdXN0b21FbGVtZW50cyYmd2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSYmTi55YSYmIU4ucHJlZmVyUGVyZm9ybWFuY2Upe3ZhciB5Zj1uZXcgTWFwO3RmPWZ1bmN0aW9uKCl7dmFyIGE9W107eWYuZm9yRWFjaChmdW5jdGlvbihkLGUpe2EucHVzaChbZSxkXSl9KTt5Zi5jbGVhcigpO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgYz1hW2JdWzBdO2FbYl1bMV0/Yy5fX3NoYWR5ZG9tX2Nvbm5lY3RlZENhbGxiYWNrKCk6Yy5fX3NoYWR5ZG9tX2Rpc2Nvbm5lY3RlZENhbGxiYWNrKCl9fTtzZiYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInJlYWR5c3RhdGVjaGFuZ2VcIixmdW5jdGlvbigpe3NmPSExO3RmKCl9LHtvbmNlOiEwfSk7dmFyIHpmPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0wLGU9XCJfX2lzQ29ubmVjdGVkXCIrZCsrO2lmKGJ8fGMpYS5wcm90b3R5cGUuY29ubmVjdGVkQ2FsbGJhY2s9YS5wcm90b3R5cGUuX19zaGFkeWRvbV9jb25uZWN0ZWRDYWxsYmFjaz1cbmZ1bmN0aW9uKCl7c2Y/eWYuc2V0KHRoaXMsITApOnRoaXNbZV18fCh0aGlzW2VdPSEwLGImJmIuY2FsbCh0aGlzKSl9LGEucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWEucHJvdG90eXBlLl9fc2hhZHlkb21fZGlzY29ubmVjdGVkQ2FsbGJhY2s9ZnVuY3Rpb24oKXtzZj90aGlzLmlzQ29ubmVjdGVkfHx5Zi5zZXQodGhpcywhMSk6dGhpc1tlXSYmKHRoaXNbZV09ITEsYyYmYy5jYWxsKHRoaXMpKX07cmV0dXJuIGF9LEFmPXdpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUsQmY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjayxkPWIucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrO0FmLmNhbGwod2luZG93LmN1c3RvbUVsZW1lbnRzLGEsemYoYixjLGQpKTtiLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjaz1jO2IucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWR9O3dpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmU9XG5CZjtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkN1c3RvbUVsZW1lbnRSZWdpc3RyeS5wcm90b3R5cGUsXCJkZWZpbmVcIix7dmFsdWU6QmYsY29uZmlndXJhYmxlOiEwfSl9ZnVuY3Rpb24gdGUoYSl7YT1hLl9fc2hhZHlfZ2V0Um9vdE5vZGUoKTtpZihPKGEpKXJldHVybiBhfTtmdW5jdGlvbiBDZihhKXt0aGlzLm5vZGU9YX12PUNmLnByb3RvdHlwZTt2LmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hZGRFdmVudExpc3RlbmVyKGEsYixjKX07di5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGIsYyl9O3YuYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2FwcGVuZENoaWxkKGEpfTt2Lmluc2VydEJlZm9yZT1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9pbnNlcnRCZWZvcmUoYSxiKX07di5yZW1vdmVDaGlsZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcmVtb3ZlQ2hpbGQoYSl9O3YucmVwbGFjZUNoaWxkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3JlcGxhY2VDaGlsZChhLGIpfTtcbnYuY2xvbmVOb2RlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9jbG9uZU5vZGUoYSl9O3YuZ2V0Um9vdE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2dldFJvb3ROb2RlKGEpfTt2LmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9jb250YWlucyhhKX07di5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9kaXNwYXRjaEV2ZW50KGEpfTt2LnNldEF0dHJpYnV0ZT1mdW5jdGlvbihhLGIpe3RoaXMubm9kZS5fX3NoYWR5X3NldEF0dHJpYnV0ZShhLGIpfTt2LmdldEF0dHJpYnV0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbmF0aXZlX2dldEF0dHJpYnV0ZShhKX07di5oYXNBdHRyaWJ1dGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X25hdGl2ZV9oYXNBdHRyaWJ1dGUoYSl9O3YucmVtb3ZlQXR0cmlidXRlPWZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X3JlbW92ZUF0dHJpYnV0ZShhKX07XG52LmF0dGFjaFNoYWRvdz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYXR0YWNoU2hhZG93KGEpfTt2LmZvY3VzPWZ1bmN0aW9uKCl7dGhpcy5ub2RlLl9fc2hhZHlfbmF0aXZlX2ZvY3VzKCl9O3YuYmx1cj1mdW5jdGlvbigpe3RoaXMubm9kZS5fX3NoYWR5X2JsdXIoKX07di5pbXBvcnROb2RlPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5ub2RlLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9OT0RFKXJldHVybiB0aGlzLm5vZGUuX19zaGFkeV9pbXBvcnROb2RlKGEsYil9O3YuZ2V0RWxlbWVudEJ5SWQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5ub2RlLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9OT0RFKXJldHVybiB0aGlzLm5vZGUuX19zaGFkeV9nZXRFbGVtZW50QnlJZChhKX07di5lbGVtZW50c0Zyb21Qb2ludD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9lbGVtZW50c0Zyb21Qb2ludChhLGIpfTtcbnYuZWxlbWVudEZyb21Qb2ludD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9lbGVtZW50RnJvbVBvaW50KGEsYil9O3YucXVlcnlTZWxlY3Rvcj1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcXVlcnlTZWxlY3RvcihhKX07di5xdWVyeVNlbGVjdG9yQWxsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3F1ZXJ5U2VsZWN0b3JBbGwoYSxiKX07di5hc3NpZ25lZE5vZGVzPWZ1bmN0aW9uKGEpe2lmKFwic2xvdFwiPT09dGhpcy5ub2RlLmxvY2FsTmFtZSlyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYXNzaWduZWROb2RlcyhhKX07di5hcHBlbmQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGFyZ3VtZW50cy5sZW5ndGg7KytjKWJbY109YXJndW1lbnRzW2NdO3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9hcHBlbmQuYXBwbHkodGhpcy5ub2RlLHgoYikpfTtcbnYucHJlcGVuZD1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1hcmd1bWVudHNbY107cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3ByZXBlbmQuYXBwbHkodGhpcy5ub2RlLHgoYikpfTt2LmFmdGVyPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTA7Yzxhcmd1bWVudHMubGVuZ3RoOysrYyliW2NdPWFyZ3VtZW50c1tjXTtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYWZ0ZXIuYXBwbHkodGhpcy5ub2RlLHgoYikpfTt2LmJlZm9yZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz0wO2M8YXJndW1lbnRzLmxlbmd0aDsrK2MpYltjXT1hcmd1bWVudHNbY107cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2JlZm9yZS5hcHBseSh0aGlzLm5vZGUseChiKSl9O3YucmVtb3ZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3JlbW92ZSgpfTtcbnYucmVwbGFjZVdpdGg9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGFyZ3VtZW50cy5sZW5ndGg7KytjKWJbY109YXJndW1lbnRzW2NdO3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9yZXBsYWNlV2l0aC5hcHBseSh0aGlzLm5vZGUseChiKSl9O1xuZWEuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ2YucHJvdG90eXBlLHthY3RpdmVFbGVtZW50Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtpZihPKHRoaXMubm9kZSl8fHRoaXMubm9kZS5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfTk9ERSlyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfYWN0aXZlRWxlbWVudH19LF9hY3RpdmVFbGVtZW50Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hY3RpdmVFbGVtZW50fX0saG9zdDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7aWYoTyh0aGlzLm5vZGUpKXJldHVybiB0aGlzLm5vZGUuaG9zdH19LHBhcmVudE5vZGU6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9wYXJlbnROb2RlfX0sZmlyc3RDaGlsZDp7Y29uZmlndXJhYmxlOiEwLFxuZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfZmlyc3RDaGlsZH19LGxhc3RDaGlsZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2xhc3RDaGlsZH19LG5leHRTaWJsaW5nOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfbmV4dFNpYmxpbmd9fSxwcmV2aW91c1NpYmxpbmc6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9wcmV2aW91c1NpYmxpbmd9fSxjaGlsZE5vZGVzOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2hpbGROb2Rlc319LHBhcmVudEVsZW1lbnQ6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLFxuZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X3BhcmVudEVsZW1lbnR9fSxmaXJzdEVsZW1lbnRDaGlsZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2ZpcnN0RWxlbWVudENoaWxkfX0sbGFzdEVsZW1lbnRDaGlsZDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2xhc3RFbGVtZW50Q2hpbGR9fSxuZXh0RWxlbWVudFNpYmxpbmc6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9uZXh0RWxlbWVudFNpYmxpbmd9fSxwcmV2aW91c0VsZW1lbnRTaWJsaW5nOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfcHJldmlvdXNFbGVtZW50U2libGluZ319LFxuY2hpbGRyZW46e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV9jaGlsZHJlbn19LGNoaWxkRWxlbWVudENvdW50Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfY2hpbGRFbGVtZW50Q291bnR9fSxzaGFkb3dSb290Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfc2hhZG93Um9vdH19LGFzc2lnbmVkU2xvdDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2Fzc2lnbmVkU2xvdH19LGlzQ29ubmVjdGVkOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfaXNDb25uZWN0ZWR9fSxpbm5lckhUTUw6e2NvbmZpZ3VyYWJsZTohMCxcbmVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2lubmVySFRNTH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X2lubmVySFRNTD1hfX0sdGV4dENvbnRlbnQ6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGUuX19zaGFkeV90ZXh0Q29udGVudH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X3RleHRDb250ZW50PWF9fSxzbG90Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlLl9fc2hhZHlfc2xvdH0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X3Nsb3Q9YX19LGNsYXNzTmFtZTp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZS5fX3NoYWR5X2NsYXNzTmFtZX0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMubm9kZS5fX3NoYWR5X2NsYXNzTmFtZT1cbmF9fX0pO2Z1bmN0aW9uIERmKGEpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShDZi5wcm90b3R5cGUsYSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZVtcIl9fc2hhZHlfXCIrYV19LHNldDpmdW5jdGlvbihiKXt0aGlzLm5vZGVbXCJfX3NoYWR5X1wiK2FdPWJ9LGNvbmZpZ3VyYWJsZTohMH0pfVhkLmZvckVhY2goZnVuY3Rpb24oYSl7cmV0dXJuIERmKGEpfSk7WWQuZm9yRWFjaChmdW5jdGlvbihhKXtyZXR1cm4gRGYoYSl9KTt2YXIgRWY9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gRmYoYSl7aWYoTyhhKXx8YSBpbnN0YW5jZW9mIENmKXJldHVybiBhO3ZhciBiPUVmLmdldChhKTtifHwoYj1uZXcgQ2YoYSksRWYuc2V0KGEsYikpO3JldHVybiBifTtpZihOLnlhKXt2YXIgR2Y9Ti5IP2Z1bmN0aW9uKGEpe3JldHVybiBhfTpmdW5jdGlvbihhKXt3ZChhKTt2ZChhKTtyZXR1cm4gYX0sU2hhZHlET009e2luVXNlOk4ueWEscGF0Y2g6R2YsaXNTaGFkeVJvb3Q6TyxlbnF1ZXVlOlJjLGZsdXNoOlNjLGZsdXNoSW5pdGlhbDpmdW5jdGlvbihhKXshYS5GYSYmYS5ZJiZBZShhKX0sc2V0dGluZ3M6TixmaWx0ZXJNdXRhdGlvbnM6WGMsb2JzZXJ2ZUNoaWxkcmVuOlZjLHVub2JzZXJ2ZUNoaWxkcmVuOldjLGRlZmVyQ29ubmVjdGlvbkNhbGxiYWNrczpOLmRlZmVyQ29ubmVjdGlvbkNhbGxiYWNrcyxwcmVmZXJQZXJmb3JtYW5jZTpOLnByZWZlclBlcmZvcm1hbmNlLGhhbmRsZXNEeW5hbWljU2NvcGluZzohMCx3cmFwOk4uSj9GZjpHZix3cmFwSWZOZWVkZWQ6ITA9PT1OLko/RmY6ZnVuY3Rpb24oYSl7cmV0dXJuIGF9LFdyYXBwZXI6Q2YsY29tcG9zZWRQYXRoOkZkLG5vUGF0Y2g6Ti5KLHBhdGNoT25EZW1hbmQ6Ti5BYSxuYXRpdmVNZXRob2RzOmZkLFxubmF0aXZlVHJlZTpnZCxwYXRjaEVsZW1lbnRQcm90bzpsZn07d2luZG93LlNoYWR5RE9NPVNoYWR5RE9NO3BkKCk7a2YoXCJfX3NoYWR5X1wiKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZG9jdW1lbnQsXCJfYWN0aXZlRWxlbWVudFwiLGJmLmFjdGl2ZUVsZW1lbnQpO1AoV2luZG93LnByb3RvdHlwZSxlZixcIl9fc2hhZHlfXCIpO04uSj9OLkFhJiZQKEVsZW1lbnQucHJvdG90eXBlLFRlKTooa2YoKSxXZCgpKTtSZCgpO3dpbmRvdy5FdmVudD1UZDt3aW5kb3cuQ3VzdG9tRXZlbnQ9VWQ7d2luZG93Lk1vdXNlRXZlbnQ9VmQ7d2luZG93LlNoYWRvd1Jvb3Q9UmV9O3ZhciBIZj13aW5kb3cuRG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQsSWY9d2luZG93LkRvY3VtZW50LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50TlMsSmY9d2luZG93LkRvY3VtZW50LnByb3RvdHlwZS5pbXBvcnROb2RlLEtmPXdpbmRvdy5Eb2N1bWVudC5wcm90b3R5cGUucHJlcGVuZCxMZj13aW5kb3cuRG9jdW1lbnQucHJvdG90eXBlLmFwcGVuZCxNZj13aW5kb3cuRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUucHJlcGVuZCxOZj13aW5kb3cuRG9jdW1lbnRGcmFnbWVudC5wcm90b3R5cGUuYXBwZW5kLE9mPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5jbG9uZU5vZGUsUGY9d2luZG93Lk5vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkLFFmPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmUsUmY9d2luZG93Lk5vZGUucHJvdG90eXBlLnJlbW92ZUNoaWxkLFNmPXdpbmRvdy5Ob2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQsVGY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuTm9kZS5wcm90b3R5cGUsXG5cInRleHRDb250ZW50XCIpLFVmPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hdHRhY2hTaGFkb3csVmY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUsXCJpbm5lckhUTUxcIiksV2Y9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmdldEF0dHJpYnV0ZSxYZj13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuc2V0QXR0cmlidXRlLFlmPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGUsWmY9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmdldEF0dHJpYnV0ZU5TLCRmPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5zZXRBdHRyaWJ1dGVOUyxhZz13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlTlMsYmc9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmluc2VydEFkamFjZW50RWxlbWVudCxjZz13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuaW5zZXJ0QWRqYWNlbnRIVE1MLGRnPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5wcmVwZW5kLFxuZWc9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFwcGVuZCxmZz13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuYmVmb3JlLGdnPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hZnRlcixoZz13aW5kb3cuRWxlbWVudC5wcm90b3R5cGUucmVwbGFjZVdpdGgsaWc9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLnJlbW92ZSxqZz13aW5kb3cuSFRNTEVsZW1lbnQsa2c9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cuSFRNTEVsZW1lbnQucHJvdG90eXBlLFwiaW5uZXJIVE1MXCIpLGxnPXdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUuaW5zZXJ0QWRqYWNlbnRFbGVtZW50LG1nPXdpbmRvdy5IVE1MRWxlbWVudC5wcm90b3R5cGUuaW5zZXJ0QWRqYWNlbnRIVE1MO3ZhciBuZz1uZXcgU2V0O1wiYW5ub3RhdGlvbi14bWwgY29sb3ItcHJvZmlsZSBmb250LWZhY2UgZm9udC1mYWNlLXNyYyBmb250LWZhY2UtdXJpIGZvbnQtZmFjZS1mb3JtYXQgZm9udC1mYWNlLW5hbWUgbWlzc2luZy1nbHlwaFwiLnNwbGl0KFwiIFwiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3JldHVybiBuZy5hZGQoYSl9KTtmdW5jdGlvbiBvZyhhKXt2YXIgYj1uZy5oYXMoYSk7YT0vXlthLXpdWy4wLTlfYS16XSotWy0uMC05X2Etel0qJC8udGVzdChhKTtyZXR1cm4hYiYmYX12YXIgcGc9ZG9jdW1lbnQuY29udGFpbnM/ZG9jdW1lbnQuY29udGFpbnMuYmluZChkb2N1bWVudCk6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNvbnRhaW5zLmJpbmQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTtcbmZ1bmN0aW9uIFQoYSl7dmFyIGI9YS5pc0Nvbm5lY3RlZDtpZih2b2lkIDAhPT1iKXJldHVybiBiO2lmKHBnKGEpKXJldHVybiEwO2Zvcig7YSYmIShhLl9fQ0VfaXNJbXBvcnREb2N1bWVudHx8YSBpbnN0YW5jZW9mIERvY3VtZW50KTspYT1hLnBhcmVudE5vZGV8fCh3aW5kb3cuU2hhZG93Um9vdCYmYSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Q/YS5ob3N0OnZvaWQgMCk7cmV0dXJuISghYXx8IShhLl9fQ0VfaXNJbXBvcnREb2N1bWVudHx8YSBpbnN0YW5jZW9mIERvY3VtZW50KSl9ZnVuY3Rpb24gcWcoYSl7dmFyIGI9YS5jaGlsZHJlbjtpZihiKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChiKTtiPVtdO2ZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZylhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJmIucHVzaChhKTtyZXR1cm4gYn1cbmZ1bmN0aW9uIHJnKGEsYil7Zm9yKDtiJiZiIT09YSYmIWIubmV4dFNpYmxpbmc7KWI9Yi5wYXJlbnROb2RlO3JldHVybiBiJiZiIT09YT9iLm5leHRTaWJsaW5nOm51bGx9XG5mdW5jdGlvbiBzZyhhLGIsYyl7Zm9yKHZhciBkPWE7ZDspe2lmKGQubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSl7dmFyIGU9ZDtiKGUpO3ZhciBmPWUubG9jYWxOYW1lO2lmKFwibGlua1wiPT09ZiYmXCJpbXBvcnRcIj09PWUuZ2V0QXR0cmlidXRlKFwicmVsXCIpKXtkPWUuaW1wb3J0O3ZvaWQgMD09PWMmJihjPW5ldyBTZXQpO2lmKGQgaW5zdGFuY2VvZiBOb2RlJiYhYy5oYXMoZCkpZm9yKGMuYWRkKGQpLGQ9ZC5maXJzdENoaWxkO2Q7ZD1kLm5leHRTaWJsaW5nKXNnKGQsYixjKTtkPXJnKGEsZSk7Y29udGludWV9ZWxzZSBpZihcInRlbXBsYXRlXCI9PT1mKXtkPXJnKGEsZSk7Y29udGludWV9aWYoZT1lLl9fQ0Vfc2hhZG93Um9vdClmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpc2coZSxiLGMpfWQ9ZC5maXJzdENoaWxkP2QuZmlyc3RDaGlsZDpyZyhhLGQpfX07ZnVuY3Rpb24gdGcoKXt2YXIgYT0hKG51bGw9PT11Z3x8dm9pZCAwPT09dWd8fCF1Zy5ub0RvY3VtZW50Q29uc3RydWN0aW9uT2JzZXJ2ZXIpLGI9IShudWxsPT09dWd8fHZvaWQgMD09PXVnfHwhdWcuc2hhZHlEb21GYXN0V2Fsayk7dGhpcy5jYT1bXTt0aGlzLmc9W107dGhpcy5XPSExO3RoaXMuc2hhZHlEb21GYXN0V2Fsaz1iO3RoaXMubmI9IWF9ZnVuY3Rpb24gdmcoYSxiLGMsZCl7dmFyIGU9d2luZG93LlNoYWR5RE9NO2lmKGEuc2hhZHlEb21GYXN0V2FsayYmZSYmZS5pblVzZSl7aWYoYi5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZjKGIpLGIucXVlcnlTZWxlY3RvckFsbClmb3IoYT1lLm5hdGl2ZU1ldGhvZHMucXVlcnlTZWxlY3RvckFsbC5jYWxsKGIsXCIqXCIpLGI9MDtiPGEubGVuZ3RoO2IrKyljKGFbYl0pfWVsc2Ugc2coYixjLGQpfWZ1bmN0aW9uIHdnKGEsYil7YS5XPSEwO2EuY2EucHVzaChiKX1cbmZ1bmN0aW9uIHhnKGEsYil7YS5XPSEwO2EuZy5wdXNoKGIpfWZ1bmN0aW9uIHlnKGEsYil7YS5XJiZ2ZyhhLGIsZnVuY3Rpb24oYyl7cmV0dXJuIHpnKGEsYyl9KX1mdW5jdGlvbiB6ZyhhLGIpe2lmKGEuVyYmIWIuX19DRV9wYXRjaGVkKXtiLl9fQ0VfcGF0Y2hlZD0hMDtmb3IodmFyIGM9MDtjPGEuY2EubGVuZ3RoO2MrKylhLmNhW2NdKGIpO2ZvcihjPTA7YzxhLmcubGVuZ3RoO2MrKylhLmdbY10oYil9fWZ1bmN0aW9uIEFnKGEsYil7dmFyIGM9W107dmcoYSxiLGZ1bmN0aW9uKGUpe3JldHVybiBjLnB1c2goZSl9KTtmb3IoYj0wO2I8Yy5sZW5ndGg7YisrKXt2YXIgZD1jW2JdOzE9PT1kLl9fQ0Vfc3RhdGU/YS5jb25uZWN0ZWRDYWxsYmFjayhkKTpCZyhhLGQpfX1cbmZ1bmN0aW9uIENnKGEsYil7dmFyIGM9W107dmcoYSxiLGZ1bmN0aW9uKGUpe3JldHVybiBjLnB1c2goZSl9KTtmb3IoYj0wO2I8Yy5sZW5ndGg7YisrKXt2YXIgZD1jW2JdOzE9PT1kLl9fQ0Vfc3RhdGUmJmEuZGlzY29ubmVjdGVkQ2FsbGJhY2soZCl9fVxuZnVuY3Rpb24gRGcoYSxiLGMpe2M9dm9pZCAwPT09Yz97fTpjO3ZhciBkPWMub2IsZT1jLnVwZ3JhZGV8fGZ1bmN0aW9uKGcpe3JldHVybiBCZyhhLGcpfSxmPVtdO3ZnKGEsYixmdW5jdGlvbihnKXthLlcmJnpnKGEsZyk7aWYoXCJsaW5rXCI9PT1nLmxvY2FsTmFtZSYmXCJpbXBvcnRcIj09PWcuZ2V0QXR0cmlidXRlKFwicmVsXCIpKXt2YXIgaD1nLmltcG9ydDtoIGluc3RhbmNlb2YgTm9kZSYmKGguX19DRV9pc0ltcG9ydERvY3VtZW50PSEwLGguX19DRV9yZWdpc3RyeT1kb2N1bWVudC5fX0NFX3JlZ2lzdHJ5KTtoJiZcImNvbXBsZXRlXCI9PT1oLnJlYWR5U3RhdGU/aC5fX0NFX2RvY3VtZW50TG9hZEhhbmRsZWQ9ITA6Zy5hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLGZ1bmN0aW9uKCl7dmFyIGs9Zy5pbXBvcnQ7aWYoIWsuX19DRV9kb2N1bWVudExvYWRIYW5kbGVkKXtrLl9fQ0VfZG9jdW1lbnRMb2FkSGFuZGxlZD0hMDt2YXIgbD1uZXcgU2V0O2QmJihkLmZvckVhY2goZnVuY3Rpb24obSl7cmV0dXJuIGwuYWRkKG0pfSksXG5sLmRlbGV0ZShrKSk7RGcoYSxrLHtvYjpsLHVwZ3JhZGU6ZX0pfX0pfWVsc2UgZi5wdXNoKGcpfSxkKTtmb3IoYj0wO2I8Zi5sZW5ndGg7YisrKWUoZltiXSl9XG5mdW5jdGlvbiBCZyhhLGIpe3RyeXt2YXIgYz1iLm93bmVyRG9jdW1lbnQsZD1jLl9fQ0VfcmVnaXN0cnk7dmFyIGU9ZCYmKGMuZGVmYXVsdFZpZXd8fGMuX19DRV9pc0ltcG9ydERvY3VtZW50KT9FZyhkLGIubG9jYWxOYW1lKTp2b2lkIDA7aWYoZSYmdm9pZCAwPT09Yi5fX0NFX3N0YXRlKXtlLmNvbnN0cnVjdGlvblN0YWNrLnB1c2goYik7dHJ5e3RyeXtpZihuZXcgZS5jb25zdHJ1Y3RvckZ1bmN0aW9uIT09Yil0aHJvdyBFcnJvcihcIlRoZSBjdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvciBkaWQgbm90IHByb2R1Y2UgdGhlIGVsZW1lbnQgYmVpbmcgdXBncmFkZWQuXCIpO31maW5hbGx5e2UuY29uc3RydWN0aW9uU3RhY2sucG9wKCl9fWNhdGNoKGspe3Rocm93IGIuX19DRV9zdGF0ZT0yLGs7fWIuX19DRV9zdGF0ZT0xO2IuX19DRV9kZWZpbml0aW9uPWU7aWYoZS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2smJmIuaGFzQXR0cmlidXRlcygpKXt2YXIgZj1lLm9ic2VydmVkQXR0cmlidXRlcztcbmZvcihlPTA7ZTxmLmxlbmd0aDtlKyspe3ZhciBnPWZbZV0saD1iLmdldEF0dHJpYnV0ZShnKTtudWxsIT09aCYmYS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soYixnLG51bGwsaCxudWxsKX19VChiKSYmYS5jb25uZWN0ZWRDYWxsYmFjayhiKX19Y2F0Y2goayl7Rmcoayl9fXRnLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjaz1mdW5jdGlvbihhKXt2YXIgYj1hLl9fQ0VfZGVmaW5pdGlvbjtpZihiLmNvbm5lY3RlZENhbGxiYWNrKXRyeXtiLmNvbm5lY3RlZENhbGxiYWNrLmNhbGwoYSl9Y2F0Y2goYyl7RmcoYyl9fTt0Zy5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2s9ZnVuY3Rpb24oYSl7dmFyIGI9YS5fX0NFX2RlZmluaXRpb247aWYoYi5kaXNjb25uZWN0ZWRDYWxsYmFjayl0cnl7Yi5kaXNjb25uZWN0ZWRDYWxsYmFjay5jYWxsKGEpfWNhdGNoKGMpe0ZnKGMpfX07XG50Zy5wcm90b3R5cGUuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS5fX0NFX2RlZmluaXRpb247aWYoZi5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2smJi0xPGYub2JzZXJ2ZWRBdHRyaWJ1dGVzLmluZGV4T2YoYikpdHJ5e2YuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrLmNhbGwoYSxiLGMsZCxlKX1jYXRjaChnKXtGZyhnKX19O1xuZnVuY3Rpb24gR2coYSxiLGMsZCl7dmFyIGU9Yi5fX0NFX3JlZ2lzdHJ5O2lmKGUmJihudWxsPT09ZHx8XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCI9PT1kKSYmKGU9RWcoZSxjKSkpdHJ5e3ZhciBmPW5ldyBlLmNvbnN0cnVjdG9yRnVuY3Rpb247aWYodm9pZCAwPT09Zi5fX0NFX3N0YXRlfHx2b2lkIDA9PT1mLl9fQ0VfZGVmaW5pdGlvbil0aHJvdyBFcnJvcihcIkZhaWxlZCB0byBjb25zdHJ1Y3QgJ1wiK2MrXCInOiBUaGUgcmV0dXJuZWQgdmFsdWUgd2FzIG5vdCBjb25zdHJ1Y3RlZCB3aXRoIHRoZSBIVE1MRWxlbWVudCBjb25zdHJ1Y3Rvci5cIik7aWYoXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXCIhPT1mLm5hbWVzcGFjZVVSSSl0aHJvdyBFcnJvcihcIkZhaWxlZCB0byBjb25zdHJ1Y3QgJ1wiK2MrXCInOiBUaGUgY29uc3RydWN0ZWQgZWxlbWVudCdzIG5hbWVzcGFjZSBtdXN0IGJlIHRoZSBIVE1MIG5hbWVzcGFjZS5cIik7aWYoZi5oYXNBdHRyaWJ1dGVzKCkpdGhyb3cgRXJyb3IoXCJGYWlsZWQgdG8gY29uc3RydWN0ICdcIitcbmMrXCInOiBUaGUgY29uc3RydWN0ZWQgZWxlbWVudCBtdXN0IG5vdCBoYXZlIGFueSBhdHRyaWJ1dGVzLlwiKTtpZihudWxsIT09Zi5maXJzdENoaWxkKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGNvbnN0cnVjdCAnXCIrYytcIic6IFRoZSBjb25zdHJ1Y3RlZCBlbGVtZW50IG11c3Qgbm90IGhhdmUgYW55IGNoaWxkcmVuLlwiKTtpZihudWxsIT09Zi5wYXJlbnROb2RlKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGNvbnN0cnVjdCAnXCIrYytcIic6IFRoZSBjb25zdHJ1Y3RlZCBlbGVtZW50IG11c3Qgbm90IGhhdmUgYSBwYXJlbnQgbm9kZS5cIik7aWYoZi5vd25lckRvY3VtZW50IT09Yil0aHJvdyBFcnJvcihcIkZhaWxlZCB0byBjb25zdHJ1Y3QgJ1wiK2MrXCInOiBUaGUgY29uc3RydWN0ZWQgZWxlbWVudCdzIG93bmVyIGRvY3VtZW50IGlzIGluY29ycmVjdC5cIik7aWYoZi5sb2NhbE5hbWUhPT1jKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGNvbnN0cnVjdCAnXCIrYytcIic6IFRoZSBjb25zdHJ1Y3RlZCBlbGVtZW50J3MgbG9jYWwgbmFtZSBpcyBpbmNvcnJlY3QuXCIpO1xucmV0dXJuIGZ9Y2F0Y2goZyl7cmV0dXJuIEZnKGcpLGI9bnVsbD09PWQ/SGYuY2FsbChiLGMpOklmLmNhbGwoYixkLGMpLE9iamVjdC5zZXRQcm90b3R5cGVPZihiLEhUTUxVbmtub3duRWxlbWVudC5wcm90b3R5cGUpLGIuX19DRV9zdGF0ZT0yLGIuX19DRV9kZWZpbml0aW9uPXZvaWQgMCx6ZyhhLGIpLGJ9Yj1udWxsPT09ZD9IZi5jYWxsKGIsYyk6SWYuY2FsbChiLGQsYyk7emcoYSxiKTtyZXR1cm4gYn1cbmZ1bmN0aW9uIEZnKGEpe3ZhciBiPWEubWVzc2FnZSxjPWEuc291cmNlVVJMfHxhLmZpbGVOYW1lfHxcIlwiLGQ9YS5saW5lfHxhLmxpbmVOdW1iZXJ8fDAsZT1hLmNvbHVtbnx8YS5jb2x1bW5OdW1iZXJ8fDAsZj12b2lkIDA7dm9pZCAwPT09RXJyb3JFdmVudC5wcm90b3R5cGUuaW5pdEVycm9yRXZlbnQ/Zj1uZXcgRXJyb3JFdmVudChcImVycm9yXCIse2NhbmNlbGFibGU6ITAsbWVzc2FnZTpiLGZpbGVuYW1lOmMsbGluZW5vOmQsY29sbm86ZSxlcnJvcjphfSk6KGY9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJFcnJvckV2ZW50XCIpLGYuaW5pdEVycm9yRXZlbnQoXCJlcnJvclwiLCExLCEwLGIsYyxkKSxmLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsXCJkZWZhdWx0UHJldmVudGVkXCIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH19KX0pO3ZvaWQgMD09PWYuZXJyb3ImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLFwiZXJyb3JcIixcbntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTt3aW5kb3cuZGlzcGF0Y2hFdmVudChmKTtmLmRlZmF1bHRQcmV2ZW50ZWR8fGNvbnNvbGUuZXJyb3IoYSl9O2Z1bmN0aW9uIEhnKCl7dmFyIGE9dGhpczt0aGlzLkk9dm9pZCAwO3RoaXMuSGE9bmV3IFByb21pc2UoZnVuY3Rpb24oYil7YS5nPWJ9KX1IZy5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihhKXtpZih0aGlzLkkpdGhyb3cgRXJyb3IoXCJBbHJlYWR5IHJlc29sdmVkLlwiKTt0aGlzLkk9YTt0aGlzLmcoYSl9O2Z1bmN0aW9uIElnKGEpe3ZhciBiPWRvY3VtZW50O3RoaXMuWD12b2lkIDA7dGhpcy5TPWE7dGhpcy5nPWI7RGcodGhpcy5TLHRoaXMuZyk7XCJsb2FkaW5nXCI9PT10aGlzLmcucmVhZHlTdGF0ZSYmKHRoaXMuWD1uZXcgTXV0YXRpb25PYnNlcnZlcih0aGlzLmguYmluZCh0aGlzKSksdGhpcy5YLm9ic2VydmUodGhpcy5nLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pKX1mdW5jdGlvbiBKZyhhKXthLlgmJmEuWC5kaXNjb25uZWN0KCl9SWcucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nLnJlYWR5U3RhdGU7XCJpbnRlcmFjdGl2ZVwiIT09YiYmXCJjb21wbGV0ZVwiIT09Ynx8SmcodGhpcyk7Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKylmb3IodmFyIGM9YVtiXS5hZGRlZE5vZGVzLGQ9MDtkPGMubGVuZ3RoO2QrKylEZyh0aGlzLlMsY1tkXSl9O2Z1bmN0aW9uIFUoYSl7dGhpcy5rYT1uZXcgTWFwO3RoaXMubGE9bmV3IE1hcDt0aGlzLkNhPW5ldyBNYXA7dGhpcy50YT0hMTt0aGlzLndhPW5ldyBNYXA7dGhpcy5qYT1mdW5jdGlvbihiKXtyZXR1cm4gYigpfTt0aGlzLlY9ITE7dGhpcy5tYT1bXTt0aGlzLlM9YTt0aGlzLkRhPWEubmI/bmV3IElnKGEpOnZvaWQgMH12PVUucHJvdG90eXBlO3YuZWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2lmKCEoYiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ3VzdG9tIGVsZW1lbnQgY29uc3RydWN0b3IgZ2V0dGVycyBtdXN0IGJlIGZ1bmN0aW9ucy5cIik7S2codGhpcyxhKTt0aGlzLmthLnNldChhLGIpO3RoaXMubWEucHVzaChhKTt0aGlzLlZ8fCh0aGlzLlY9ITAsdGhpcy5qYShmdW5jdGlvbigpe3JldHVybiBMZyhjKX0pKX07XG52LmRlZmluZT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXM7aWYoIShiIGluc3RhbmNlb2YgRnVuY3Rpb24pKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDdXN0b20gZWxlbWVudCBjb25zdHJ1Y3RvcnMgbXVzdCBiZSBmdW5jdGlvbnMuXCIpO0tnKHRoaXMsYSk7TWcodGhpcyxhLGIpO3RoaXMubWEucHVzaChhKTt0aGlzLlZ8fCh0aGlzLlY9ITAsdGhpcy5qYShmdW5jdGlvbigpe3JldHVybiBMZyhjKX0pKX07ZnVuY3Rpb24gS2coYSxiKXtpZighb2coYikpdGhyb3cgbmV3IFN5bnRheEVycm9yKFwiVGhlIGVsZW1lbnQgbmFtZSAnXCIrYitcIicgaXMgbm90IHZhbGlkLlwiKTtpZihFZyhhLGIpKXRocm93IEVycm9yKFwiQSBjdXN0b20gZWxlbWVudCB3aXRoIG5hbWUgJ1wiKyhiK1wiJyBoYXMgYWxyZWFkeSBiZWVuIGRlZmluZWQuXCIpKTtpZihhLnRhKXRocm93IEVycm9yKFwiQSBjdXN0b20gZWxlbWVudCBpcyBhbHJlYWR5IGJlaW5nIGRlZmluZWQuXCIpO31cbmZ1bmN0aW9uIE1nKGEsYixjKXthLnRhPSEwO3ZhciBkO3RyeXt2YXIgZT1jLnByb3RvdHlwZTtpZighKGUgaW5zdGFuY2VvZiBPYmplY3QpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJUaGUgY3VzdG9tIGVsZW1lbnQgY29uc3RydWN0b3IncyBwcm90b3R5cGUgaXMgbm90IGFuIG9iamVjdC5cIik7dmFyIGY9ZnVuY3Rpb24obSl7dmFyIHE9ZVttXTtpZih2b2lkIDAhPT1xJiYhKHEgaW5zdGFuY2VvZiBGdW5jdGlvbikpdGhyb3cgRXJyb3IoXCJUaGUgJ1wiK20rXCInIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbi5cIik7cmV0dXJuIHF9O3ZhciBnPWYoXCJjb25uZWN0ZWRDYWxsYmFja1wiKTt2YXIgaD1mKFwiZGlzY29ubmVjdGVkQ2FsbGJhY2tcIik7dmFyIGs9ZihcImFkb3B0ZWRDYWxsYmFja1wiKTt2YXIgbD0oZD1mKFwiYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrXCIpKSYmYy5vYnNlcnZlZEF0dHJpYnV0ZXN8fFtdfWNhdGNoKG0pe3Rocm93IG07fWZpbmFsbHl7YS50YT0hMX1jPXtsb2NhbE5hbWU6YixcbmNvbnN0cnVjdG9yRnVuY3Rpb246Yyxjb25uZWN0ZWRDYWxsYmFjazpnLGRpc2Nvbm5lY3RlZENhbGxiYWNrOmgsYWRvcHRlZENhbGxiYWNrOmssYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrOmQsb2JzZXJ2ZWRBdHRyaWJ1dGVzOmwsY29uc3RydWN0aW9uU3RhY2s6W119O2EubGEuc2V0KGIsYyk7YS5DYS5zZXQoYy5jb25zdHJ1Y3RvckZ1bmN0aW9uLGMpO3JldHVybiBjfXYudXBncmFkZT1mdW5jdGlvbihhKXtEZyh0aGlzLlMsYSl9O1xuZnVuY3Rpb24gTGcoYSl7aWYoITEhPT1hLlYpe2EuVj0hMTtmb3IodmFyIGI9W10sYz1hLm1hLGQ9bmV3IE1hcCxlPTA7ZTxjLmxlbmd0aDtlKyspZC5zZXQoY1tlXSxbXSk7RGcoYS5TLGRvY3VtZW50LHt1cGdyYWRlOmZ1bmN0aW9uKGspe2lmKHZvaWQgMD09PWsuX19DRV9zdGF0ZSl7dmFyIGw9ay5sb2NhbE5hbWUsbT1kLmdldChsKTttP20ucHVzaChrKTphLmxhLmhhcyhsKSYmYi5wdXNoKGspfX19KTtmb3IoZT0wO2U8Yi5sZW5ndGg7ZSsrKUJnKGEuUyxiW2VdKTtmb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKXtmb3IodmFyIGY9Y1tlXSxnPWQuZ2V0KGYpLGg9MDtoPGcubGVuZ3RoO2grKylCZyhhLlMsZ1toXSk7KGY9YS53YS5nZXQoZikpJiZmLnJlc29sdmUodm9pZCAwKX1jLmxlbmd0aD0wfX12LmdldD1mdW5jdGlvbihhKXtpZihhPUVnKHRoaXMsYSkpcmV0dXJuIGEuY29uc3RydWN0b3JGdW5jdGlvbn07XG52LndoZW5EZWZpbmVkPWZ1bmN0aW9uKGEpe2lmKCFvZyhhKSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IFN5bnRheEVycm9yKFwiJ1wiK2ErXCInIGlzIG5vdCBhIHZhbGlkIGN1c3RvbSBlbGVtZW50IG5hbWUuXCIpKTt2YXIgYj10aGlzLndhLmdldChhKTtpZihiKXJldHVybiBiLkhhO2I9bmV3IEhnO3RoaXMud2Euc2V0KGEsYik7dmFyIGM9dGhpcy5sYS5oYXMoYSl8fHRoaXMua2EuaGFzKGEpO2E9LTE9PT10aGlzLm1hLmluZGV4T2YoYSk7YyYmYSYmYi5yZXNvbHZlKHZvaWQgMCk7cmV0dXJuIGIuSGF9O3YucG9seWZpbGxXcmFwRmx1c2hDYWxsYmFjaz1mdW5jdGlvbihhKXt0aGlzLkRhJiZKZyh0aGlzLkRhKTt2YXIgYj10aGlzLmphO3RoaXMuamE9ZnVuY3Rpb24oYyl7cmV0dXJuIGEoZnVuY3Rpb24oKXtyZXR1cm4gYihjKX0pfX07XG5mdW5jdGlvbiBFZyhhLGIpe3ZhciBjPWEubGEuZ2V0KGIpO2lmKGMpcmV0dXJuIGM7aWYoYz1hLmthLmdldChiKSl7YS5rYS5kZWxldGUoYik7dHJ5e3JldHVybiBNZyhhLGIsYygpKX1jYXRjaChkKXtGZyhkKX19fXdpbmRvdy5DdXN0b21FbGVtZW50UmVnaXN0cnk9VTtVLnByb3RvdHlwZS5kZWZpbmU9VS5wcm90b3R5cGUuZGVmaW5lO1UucHJvdG90eXBlLnVwZ3JhZGU9VS5wcm90b3R5cGUudXBncmFkZTtVLnByb3RvdHlwZS5nZXQ9VS5wcm90b3R5cGUuZ2V0O1UucHJvdG90eXBlLndoZW5EZWZpbmVkPVUucHJvdG90eXBlLndoZW5EZWZpbmVkO1UucHJvdG90eXBlLnBvbHlmaWxsRGVmaW5lTGF6eT1VLnByb3RvdHlwZS5lYjtVLnByb3RvdHlwZS5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrPVUucHJvdG90eXBlLnBvbHlmaWxsV3JhcEZsdXNoQ2FsbGJhY2s7ZnVuY3Rpb24gTmcoYSxiLGMpe2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2Zvcih2YXIgZz1bXSxoPTA7aDxhcmd1bWVudHMubGVuZ3RoOysraClnW2hdPWFyZ3VtZW50c1toXTtoPVtdO2Zvcih2YXIgaz1bXSxsPTA7bDxnLmxlbmd0aDtsKyspe3ZhciBtPWdbbF07bSBpbnN0YW5jZW9mIEVsZW1lbnQmJlQobSkmJmsucHVzaChtKTtpZihtIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudClmb3IobT1tLmZpcnN0Q2hpbGQ7bTttPW0ubmV4dFNpYmxpbmcpaC5wdXNoKG0pO2Vsc2UgaC5wdXNoKG0pfWUuYXBwbHkodGhpcyxnKTtmb3IoZz0wO2c8ay5sZW5ndGg7ZysrKUNnKGEsa1tnXSk7aWYoVCh0aGlzKSlmb3IoZz0wO2c8aC5sZW5ndGg7ZysrKWs9aFtnXSxrIGluc3RhbmNlb2YgRWxlbWVudCYmQWcoYSxrKX19dm9pZCAwIT09Yy5wcmVwZW5kJiYoYi5wcmVwZW5kPWQoYy5wcmVwZW5kKSk7dm9pZCAwIT09Yy5hcHBlbmQmJihiLmFwcGVuZD1kKGMuYXBwZW5kKSl9XG47ZnVuY3Rpb24gT2coYSl7RG9jdW1lbnQucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oYil7cmV0dXJuIEdnKGEsdGhpcyxiLG51bGwpfTtEb2N1bWVudC5wcm90b3R5cGUuaW1wb3J0Tm9kZT1mdW5jdGlvbihiLGMpe2I9SmYuY2FsbCh0aGlzLGIsISFjKTt0aGlzLl9fQ0VfcmVnaXN0cnk/RGcoYSxiKTp5ZyhhLGIpO3JldHVybiBifTtEb2N1bWVudC5wcm90b3R5cGUuY3JlYXRlRWxlbWVudE5TPWZ1bmN0aW9uKGIsYyl7cmV0dXJuIEdnKGEsdGhpcyxjLGIpfTtOZyhhLERvY3VtZW50LnByb3RvdHlwZSx7cHJlcGVuZDpLZixhcHBlbmQ6TGZ9KX07ZnVuY3Rpb24gUGcoYSl7ZnVuY3Rpb24gYihkKXtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciBmPVtdLGc9MDtnPGFyZ3VtZW50cy5sZW5ndGg7KytnKWZbZ109YXJndW1lbnRzW2ddO2c9W107Zm9yKHZhciBoPVtdLGs9MDtrPGYubGVuZ3RoO2srKyl7dmFyIGw9ZltrXTtsIGluc3RhbmNlb2YgRWxlbWVudCYmVChsKSYmaC5wdXNoKGwpO2lmKGwgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KWZvcihsPWwuZmlyc3RDaGlsZDtsO2w9bC5uZXh0U2libGluZylnLnB1c2gobCk7ZWxzZSBnLnB1c2gobCl9ZC5hcHBseSh0aGlzLGYpO2ZvcihmPTA7ZjxoLmxlbmd0aDtmKyspQ2coYSxoW2ZdKTtpZihUKHRoaXMpKWZvcihmPTA7ZjxnLmxlbmd0aDtmKyspaD1nW2ZdLGggaW5zdGFuY2VvZiBFbGVtZW50JiZBZyhhLGgpfX12YXIgYz1FbGVtZW50LnByb3RvdHlwZTt2b2lkIDAhPT1mZyYmKGMuYmVmb3JlPWIoZmcpKTt2b2lkIDAhPT1nZyYmKGMuYWZ0ZXI9YihnZykpO3ZvaWQgMCE9PVxuaGcmJihjLnJlcGxhY2VXaXRoPWZ1bmN0aW9uKGQpe2Zvcih2YXIgZT1bXSxmPTA7Zjxhcmd1bWVudHMubGVuZ3RoOysrZillW2ZdPWFyZ3VtZW50c1tmXTtmPVtdO2Zvcih2YXIgZz1bXSxoPTA7aDxlLmxlbmd0aDtoKyspe3ZhciBrPWVbaF07ayBpbnN0YW5jZW9mIEVsZW1lbnQmJlQoaykmJmcucHVzaChrKTtpZihrIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudClmb3Ioaz1rLmZpcnN0Q2hpbGQ7aztrPWsubmV4dFNpYmxpbmcpZi5wdXNoKGspO2Vsc2UgZi5wdXNoKGspfWg9VCh0aGlzKTtoZy5hcHBseSh0aGlzLGUpO2ZvcihlPTA7ZTxnLmxlbmd0aDtlKyspQ2coYSxnW2VdKTtpZihoKWZvcihDZyhhLHRoaXMpLGU9MDtlPGYubGVuZ3RoO2UrKylnPWZbZV0sZyBpbnN0YW5jZW9mIEVsZW1lbnQmJkFnKGEsZyl9KTt2b2lkIDAhPT1pZyYmKGMucmVtb3ZlPWZ1bmN0aW9uKCl7dmFyIGQ9VCh0aGlzKTtpZy5jYWxsKHRoaXMpO2QmJkNnKGEsdGhpcyl9KX07ZnVuY3Rpb24gUWcoYSl7ZnVuY3Rpb24gYihlLGYpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiaW5uZXJIVE1MXCIse2VudW1lcmFibGU6Zi5lbnVtZXJhYmxlLGNvbmZpZ3VyYWJsZTohMCxnZXQ6Zi5nZXQsc2V0OmZ1bmN0aW9uKGcpe3ZhciBoPXRoaXMsaz12b2lkIDA7VCh0aGlzKSYmKGs9W10sdmcoYSx0aGlzLGZ1bmN0aW9uKHEpe3EhPT1oJiZrLnB1c2gocSl9KSk7Zi5zZXQuY2FsbCh0aGlzLGcpO2lmKGspZm9yKHZhciBsPTA7bDxrLmxlbmd0aDtsKyspe3ZhciBtPWtbbF07MT09PW0uX19DRV9zdGF0ZSYmYS5kaXNjb25uZWN0ZWRDYWxsYmFjayhtKX10aGlzLm93bmVyRG9jdW1lbnQuX19DRV9yZWdpc3RyeT9EZyhhLHRoaXMpOnlnKGEsdGhpcyk7cmV0dXJuIGd9fSl9ZnVuY3Rpb24gYyhlLGYpe2UuaW5zZXJ0QWRqYWNlbnRFbGVtZW50PWZ1bmN0aW9uKGcsaCl7dmFyIGs9VChoKTtnPWYuY2FsbCh0aGlzLGcsaCk7ayYmQ2coYSxoKTtUKGcpJiZBZyhhLGgpO3JldHVybiBnfX1cbmZ1bmN0aW9uIGQoZSxmKXtmdW5jdGlvbiBnKGgsayl7Zm9yKHZhciBsPVtdO2ghPT1rO2g9aC5uZXh0U2libGluZylsLnB1c2goaCk7Zm9yKGs9MDtrPGwubGVuZ3RoO2srKylEZyhhLGxba10pfWUuaW5zZXJ0QWRqYWNlbnRIVE1MPWZ1bmN0aW9uKGgsayl7aD1oLnRvTG93ZXJDYXNlKCk7aWYoXCJiZWZvcmViZWdpblwiPT09aCl7dmFyIGw9dGhpcy5wcmV2aW91c1NpYmxpbmc7Zi5jYWxsKHRoaXMsaCxrKTtnKGx8fHRoaXMucGFyZW50Tm9kZS5maXJzdENoaWxkLHRoaXMpfWVsc2UgaWYoXCJhZnRlcmJlZ2luXCI9PT1oKWw9dGhpcy5maXJzdENoaWxkLGYuY2FsbCh0aGlzLGgsayksZyh0aGlzLmZpcnN0Q2hpbGQsbCk7ZWxzZSBpZihcImJlZm9yZWVuZFwiPT09aClsPXRoaXMubGFzdENoaWxkLGYuY2FsbCh0aGlzLGgsayksZyhsfHx0aGlzLmZpcnN0Q2hpbGQsbnVsbCk7ZWxzZSBpZihcImFmdGVyZW5kXCI9PT1oKWw9dGhpcy5uZXh0U2libGluZyxmLmNhbGwodGhpcyxoLGspLGcodGhpcy5uZXh0U2libGluZyxcbmwpO2Vsc2UgdGhyb3cgbmV3IFN5bnRheEVycm9yKFwiVGhlIHZhbHVlIHByb3ZpZGVkIChcIitTdHJpbmcoaCkrXCIpIGlzIG5vdCBvbmUgb2YgJ2JlZm9yZWJlZ2luJywgJ2FmdGVyYmVnaW4nLCAnYmVmb3JlZW5kJywgb3IgJ2FmdGVyZW5kJy5cIik7fX1VZiYmKEVsZW1lbnQucHJvdG90eXBlLmF0dGFjaFNoYWRvdz1mdW5jdGlvbihlKXtlPVVmLmNhbGwodGhpcyxlKTtpZihhLlcmJiFlLl9fQ0VfcGF0Y2hlZCl7ZS5fX0NFX3BhdGNoZWQ9ITA7Zm9yKHZhciBmPTA7ZjxhLmNhLmxlbmd0aDtmKyspYS5jYVtmXShlKX1yZXR1cm4gdGhpcy5fX0NFX3NoYWRvd1Jvb3Q9ZX0pO1ZmJiZWZi5nZXQ/YihFbGVtZW50LnByb3RvdHlwZSxWZik6a2cmJmtnLmdldD9iKEhUTUxFbGVtZW50LnByb3RvdHlwZSxrZyk6eGcoYSxmdW5jdGlvbihlKXtiKGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBPZi5jYWxsKHRoaXMsITApLmlubmVySFRNTH0sc2V0OmZ1bmN0aW9uKGYpe3ZhciBnPVxuXCJ0ZW1wbGF0ZVwiPT09dGhpcy5sb2NhbE5hbWUsaD1nP3RoaXMuY29udGVudDp0aGlzLGs9SWYuY2FsbChkb2N1bWVudCx0aGlzLm5hbWVzcGFjZVVSSSx0aGlzLmxvY2FsTmFtZSk7Zm9yKGsuaW5uZXJIVE1MPWY7MDxoLmNoaWxkTm9kZXMubGVuZ3RoOylSZi5jYWxsKGgsaC5jaGlsZE5vZGVzWzBdKTtmb3IoZj1nP2suY29udGVudDprOzA8Zi5jaGlsZE5vZGVzLmxlbmd0aDspUGYuY2FsbChoLGYuY2hpbGROb2Rlc1swXSl9fSl9KTtFbGVtZW50LnByb3RvdHlwZS5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24oZSxmKXtpZigxIT09dGhpcy5fX0NFX3N0YXRlKXJldHVybiBYZi5jYWxsKHRoaXMsZSxmKTt2YXIgZz1XZi5jYWxsKHRoaXMsZSk7WGYuY2FsbCh0aGlzLGUsZik7Zj1XZi5jYWxsKHRoaXMsZSk7YS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodGhpcyxlLGcsZixudWxsKX07RWxlbWVudC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTlM9ZnVuY3Rpb24oZSxmLGcpe2lmKDEhPT10aGlzLl9fQ0Vfc3RhdGUpcmV0dXJuICRmLmNhbGwodGhpcyxcbmUsZixnKTt2YXIgaD1aZi5jYWxsKHRoaXMsZSxmKTskZi5jYWxsKHRoaXMsZSxmLGcpO2c9WmYuY2FsbCh0aGlzLGUsZik7YS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodGhpcyxmLGgsZyxlKX07RWxlbWVudC5wcm90b3R5cGUucmVtb3ZlQXR0cmlidXRlPWZ1bmN0aW9uKGUpe2lmKDEhPT10aGlzLl9fQ0Vfc3RhdGUpcmV0dXJuIFlmLmNhbGwodGhpcyxlKTt2YXIgZj1XZi5jYWxsKHRoaXMsZSk7WWYuY2FsbCh0aGlzLGUpO251bGwhPT1mJiZhLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0aGlzLGUsZixudWxsLG51bGwpfTtFbGVtZW50LnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGVOUz1mdW5jdGlvbihlLGYpe2lmKDEhPT10aGlzLl9fQ0Vfc3RhdGUpcmV0dXJuIGFnLmNhbGwodGhpcyxlLGYpO3ZhciBnPVpmLmNhbGwodGhpcyxlLGYpO2FnLmNhbGwodGhpcyxlLGYpO3ZhciBoPVpmLmNhbGwodGhpcyxlLGYpO2chPT1oJiZhLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0aGlzLFxuZixnLGgsZSl9O2xnP2MoSFRNTEVsZW1lbnQucHJvdG90eXBlLGxnKTpiZyYmYyhFbGVtZW50LnByb3RvdHlwZSxiZyk7bWc/ZChIVE1MRWxlbWVudC5wcm90b3R5cGUsbWcpOmNnJiZkKEVsZW1lbnQucHJvdG90eXBlLGNnKTtOZyhhLEVsZW1lbnQucHJvdG90eXBlLHtwcmVwZW5kOmRnLGFwcGVuZDplZ30pO1BnKGEpfTt2YXIgUmc9e307ZnVuY3Rpb24gU2coYSl7ZnVuY3Rpb24gYigpe3ZhciBjPXRoaXMuY29uc3RydWN0b3I7dmFyIGQ9ZG9jdW1lbnQuX19DRV9yZWdpc3RyeS5DYS5nZXQoYyk7aWYoIWQpdGhyb3cgRXJyb3IoXCJGYWlsZWQgdG8gY29uc3RydWN0IGEgY3VzdG9tIGVsZW1lbnQ6IFRoZSBjb25zdHJ1Y3RvciB3YXMgbm90IHJlZ2lzdGVyZWQgd2l0aCBgY3VzdG9tRWxlbWVudHNgLlwiKTt2YXIgZT1kLmNvbnN0cnVjdGlvblN0YWNrO2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gZT1IZi5jYWxsKGRvY3VtZW50LGQubG9jYWxOYW1lKSxPYmplY3Quc2V0UHJvdG90eXBlT2YoZSxjLnByb3RvdHlwZSksZS5fX0NFX3N0YXRlPTEsZS5fX0NFX2RlZmluaXRpb249ZCx6ZyhhLGUpLGU7dmFyIGY9ZS5sZW5ndGgtMSxnPWVbZl07aWYoZz09PVJnKXRocm93IEVycm9yKFwiRmFpbGVkIHRvIGNvbnN0cnVjdCAnXCIrZC5sb2NhbE5hbWUrXCInOiBUaGlzIGVsZW1lbnQgd2FzIGFscmVhZHkgY29uc3RydWN0ZWQuXCIpO2VbZl09XG5SZztPYmplY3Quc2V0UHJvdG90eXBlT2YoZyxjLnByb3RvdHlwZSk7emcoYSxnKTtyZXR1cm4gZ31iLnByb3RvdHlwZT1qZy5wcm90b3R5cGU7T2JqZWN0LmRlZmluZVByb3BlcnR5KEhUTUxFbGVtZW50LnByb3RvdHlwZSxcImNvbnN0cnVjdG9yXCIse3dyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHZhbHVlOmJ9KTt3aW5kb3cuSFRNTEVsZW1lbnQ9Yn07ZnVuY3Rpb24gVGcoYSl7ZnVuY3Rpb24gYihjLGQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShjLFwidGV4dENvbnRlbnRcIix7ZW51bWVyYWJsZTpkLmVudW1lcmFibGUsY29uZmlndXJhYmxlOiEwLGdldDpkLmdldCxzZXQ6ZnVuY3Rpb24oZSl7aWYodGhpcy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKWQuc2V0LmNhbGwodGhpcyxlKTtlbHNle3ZhciBmPXZvaWQgMDtpZih0aGlzLmZpcnN0Q2hpbGQpe3ZhciBnPXRoaXMuY2hpbGROb2RlcyxoPWcubGVuZ3RoO2lmKDA8aCYmVCh0aGlzKSl7Zj1BcnJheShoKTtmb3IodmFyIGs9MDtrPGg7aysrKWZba109Z1trXX19ZC5zZXQuY2FsbCh0aGlzLGUpO2lmKGYpZm9yKGU9MDtlPGYubGVuZ3RoO2UrKylDZyhhLGZbZV0pfX19KX1Ob2RlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmU9ZnVuY3Rpb24oYyxkKXtpZihjIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCl7dmFyIGU9cWcoYyk7Yz1RZi5jYWxsKHRoaXMsYyxkKTtpZihUKHRoaXMpKWZvcihkPVxuMDtkPGUubGVuZ3RoO2QrKylBZyhhLGVbZF0pO3JldHVybiBjfWU9YyBpbnN0YW5jZW9mIEVsZW1lbnQmJlQoYyk7ZD1RZi5jYWxsKHRoaXMsYyxkKTtlJiZDZyhhLGMpO1QodGhpcykmJkFnKGEsYyk7cmV0dXJuIGR9O05vZGUucHJvdG90eXBlLmFwcGVuZENoaWxkPWZ1bmN0aW9uKGMpe2lmKGMgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KXt2YXIgZD1xZyhjKTtjPVBmLmNhbGwodGhpcyxjKTtpZihUKHRoaXMpKWZvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKUFnKGEsZFtlXSk7cmV0dXJuIGN9ZD1jIGluc3RhbmNlb2YgRWxlbWVudCYmVChjKTtlPVBmLmNhbGwodGhpcyxjKTtkJiZDZyhhLGMpO1QodGhpcykmJkFnKGEsYyk7cmV0dXJuIGV9O05vZGUucHJvdG90eXBlLmNsb25lTm9kZT1mdW5jdGlvbihjKXtjPU9mLmNhbGwodGhpcywhIWMpO3RoaXMub3duZXJEb2N1bWVudC5fX0NFX3JlZ2lzdHJ5P0RnKGEsYyk6eWcoYSxjKTtyZXR1cm4gY307Tm9kZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGQ9XG5mdW5jdGlvbihjKXt2YXIgZD1jIGluc3RhbmNlb2YgRWxlbWVudCYmVChjKSxlPVJmLmNhbGwodGhpcyxjKTtkJiZDZyhhLGMpO3JldHVybiBlfTtOb2RlLnByb3RvdHlwZS5yZXBsYWNlQ2hpbGQ9ZnVuY3Rpb24oYyxkKXtpZihjIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCl7dmFyIGU9cWcoYyk7Yz1TZi5jYWxsKHRoaXMsYyxkKTtpZihUKHRoaXMpKWZvcihDZyhhLGQpLGQ9MDtkPGUubGVuZ3RoO2QrKylBZyhhLGVbZF0pO3JldHVybiBjfWU9YyBpbnN0YW5jZW9mIEVsZW1lbnQmJlQoYyk7dmFyIGY9U2YuY2FsbCh0aGlzLGMsZCksZz1UKHRoaXMpO2cmJkNnKGEsZCk7ZSYmQ2coYSxjKTtnJiZBZyhhLGMpO3JldHVybiBmfTtUZiYmVGYuZ2V0P2IoTm9kZS5wcm90b3R5cGUsVGYpOndnKGEsZnVuY3Rpb24oYyl7YihjLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIGQ9W10sZT10aGlzLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpZS5ub2RlVHlwZSE9PVxuTm9kZS5DT01NRU5UX05PREUmJmQucHVzaChlLnRleHRDb250ZW50KTtyZXR1cm4gZC5qb2luKFwiXCIpfSxzZXQ6ZnVuY3Rpb24oZCl7Zm9yKDt0aGlzLmZpcnN0Q2hpbGQ7KVJmLmNhbGwodGhpcyx0aGlzLmZpcnN0Q2hpbGQpO251bGwhPWQmJlwiXCIhPT1kJiZQZi5jYWxsKHRoaXMsZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZCkpfX0pfSl9O3ZhciB1Zz13aW5kb3cuY3VzdG9tRWxlbWVudHM7ZnVuY3Rpb24gVWcoKXt2YXIgYT1uZXcgdGc7U2coYSk7T2coYSk7TmcoYSxEb2N1bWVudEZyYWdtZW50LnByb3RvdHlwZSx7cHJlcGVuZDpNZixhcHBlbmQ6TmZ9KTtUZyhhKTtRZyhhKTthPW5ldyBVKGEpO2RvY3VtZW50Ll9fQ0VfcmVnaXN0cnk9YTtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LFwiY3VzdG9tRWxlbWVudHNcIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6YX0pfXVnJiYhdWcuZm9yY2VQb2x5ZmlsbCYmXCJmdW5jdGlvblwiPT10eXBlb2YgdWcuZGVmaW5lJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiB1Zy5nZXR8fFVnKCk7d2luZG93Ll9fQ0VfaW5zdGFsbFBvbHlmaWxsPVVnOy8qXG5cbkNvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG5UaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0XG5UaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dFxuVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0XG5Db2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzb1xuc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHRcbiovXG5mdW5jdGlvbiBWZygpe3RoaXMuZW5kPXRoaXMuc3RhcnQ9MDt0aGlzLnJ1bGVzPXRoaXMucGFyZW50PXRoaXMucHJldmlvdXM9bnVsbDt0aGlzLmNzc1RleHQ9dGhpcy5wYXJzZWRDc3NUZXh0PVwiXCI7dGhpcy5hdFJ1bGU9ITE7dGhpcy50eXBlPTA7dGhpcy5wYXJzZWRTZWxlY3Rvcj10aGlzLnNlbGVjdG9yPXRoaXMua2V5ZnJhbWVzTmFtZT1cIlwifVxuZnVuY3Rpb24gV2coYSl7dmFyIGI9YT1hLnJlcGxhY2UoWGcsXCJcIikucmVwbGFjZShZZyxcIlwiKSxjPW5ldyBWZztjLnN0YXJ0PTA7Yy5lbmQ9Yi5sZW5ndGg7Zm9yKHZhciBkPWMsZT0wLGY9Yi5sZW5ndGg7ZTxmO2UrKylpZihcIntcIj09PWJbZV0pe2QucnVsZXN8fChkLnJ1bGVzPVtdKTt2YXIgZz1kLGg9Zy5ydWxlc1tnLnJ1bGVzLmxlbmd0aC0xXXx8bnVsbDtkPW5ldyBWZztkLnN0YXJ0PWUrMTtkLnBhcmVudD1nO2QucHJldmlvdXM9aDtnLnJ1bGVzLnB1c2goZCl9ZWxzZVwifVwiPT09YltlXSYmKGQuZW5kPWUrMSxkPWQucGFyZW50fHxjKTtyZXR1cm4gWmcoYyxhKX1cbmZ1bmN0aW9uIFpnKGEsYil7dmFyIGM9Yi5zdWJzdHJpbmcoYS5zdGFydCxhLmVuZC0xKTthLnBhcnNlZENzc1RleHQ9YS5jc3NUZXh0PWMudHJpbSgpO2EucGFyZW50JiYoYz1iLnN1YnN0cmluZyhhLnByZXZpb3VzP2EucHJldmlvdXMuZW5kOmEucGFyZW50LnN0YXJ0LGEuc3RhcnQtMSksYz0kZyhjKSxjPWMucmVwbGFjZShhaCxcIiBcIiksYz1jLnN1YnN0cmluZyhjLmxhc3RJbmRleE9mKFwiO1wiKSsxKSxjPWEucGFyc2VkU2VsZWN0b3I9YS5zZWxlY3Rvcj1jLnRyaW0oKSxhLmF0UnVsZT0wPT09Yy5pbmRleE9mKFwiQFwiKSxhLmF0UnVsZT8wPT09Yy5pbmRleE9mKFwiQG1lZGlhXCIpP2EudHlwZT1iaDpjLm1hdGNoKGNoKSYmKGEudHlwZT1kaCxhLmtleWZyYW1lc05hbWU9YS5zZWxlY3Rvci5zcGxpdChhaCkucG9wKCkpOmEudHlwZT0wPT09Yy5pbmRleE9mKFwiLS1cIik/ZWg6ZmgpO2lmKGM9YS5ydWxlcylmb3IodmFyIGQ9MCxlPWMubGVuZ3RoLGY9dm9pZCAwO2Q8ZSYmKGY9Y1tkXSk7ZCsrKVpnKGYsXG5iKTtyZXR1cm4gYX1mdW5jdGlvbiAkZyhhKXtyZXR1cm4gYS5yZXBsYWNlKC9cXFxcKFswLTlhLWZdezEsNn0pXFxzL2dpLGZ1bmN0aW9uKGIsYyl7Yj1jO2ZvcihjPTYtYi5sZW5ndGg7Yy0tOyliPVwiMFwiK2I7cmV0dXJuXCJcXFxcXCIrYn0pfVxuZnVuY3Rpb24gZ2goYSxiLGMpe2M9dm9pZCAwPT09Yz9cIlwiOmM7dmFyIGQ9XCJcIjtpZihhLmNzc1RleHR8fGEucnVsZXMpe3ZhciBlPWEucnVsZXMsZjtpZihmPWUpZj1lWzBdLGY9IShmJiZmLnNlbGVjdG9yJiYwPT09Zi5zZWxlY3Rvci5pbmRleE9mKFwiLS1cIikpO2lmKGYpe2Y9MDtmb3IodmFyIGc9ZS5sZW5ndGgsaD12b2lkIDA7ZjxnJiYoaD1lW2ZdKTtmKyspZD1naChoLGIsZCl9ZWxzZSBiP2I9YS5jc3NUZXh0OihiPWEuY3NzVGV4dCxiPWIucmVwbGFjZShoaCxcIlwiKS5yZXBsYWNlKGloLFwiXCIpLGI9Yi5yZXBsYWNlKGpoLFwiXCIpLnJlcGxhY2Uoa2gsXCJcIikpLChkPWIudHJpbSgpKSYmKGQ9XCIgIFwiK2QrXCJcXG5cIil9ZCYmKGEuc2VsZWN0b3ImJihjKz1hLnNlbGVjdG9yK1wiIHtcXG5cIiksYys9ZCxhLnNlbGVjdG9yJiYoYys9XCJ9XFxuXFxuXCIpKTtyZXR1cm4gY31cbnZhciBmaD0xLGRoPTcsYmg9NCxlaD0xRTMsWGc9L1xcL1xcKlteKl0qXFwqKyhbXi8qXVteKl0qXFwqKykqXFwvL2dpbSxZZz0vQGltcG9ydFteO10qOy9naW0saGg9Lyg/Ol5bXjtcXC1cXHN9XSspPy0tW147e31dKj86W157fTtdKj8oPzpbO1xcbl18JCkvZ2ltLGloPS8oPzpeW147XFwtXFxzfV0rKT8tLVteO3t9XSo/Oltee307XSo/e1tefV0qP30oPzpbO1xcbl18JCk/L2dpbSxqaD0vQGFwcGx5XFxzKlxcKD9bXik7XSpcXCk/XFxzKig/Ols7XFxuXXwkKT8vZ2ltLGtoPS9bXjs6XSo/OlteO10qP3ZhclxcKFteO10qXFwpKD86WztcXG5dfCQpPy9naW0sY2g9L15AW15cXHNdKmtleWZyYW1lcy8sYWg9L1xccysvZzt2YXIgVj0hKHdpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmluVXNlKSxsaDtmdW5jdGlvbiBtaChhKXtsaD1hJiZhLnNoaW1jc3Nwcm9wZXJ0aWVzPyExOlZ8fCEobmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQXBwbGVXZWJLaXRcXC82MDF8RWRnZVxcLzE1Lyl8fCF3aW5kb3cuQ1NTfHwhQ1NTLnN1cHBvcnRzfHwhQ1NTLnN1cHBvcnRzKFwiYm94LXNoYWRvd1wiLFwiMCAwIDAgdmFyKC0tZm9vKVwiKSl9dmFyIG5oO3dpbmRvdy5TaGFkeUNTUyYmdm9pZCAwIT09d2luZG93LlNoYWR5Q1NTLmNzc0J1aWxkJiYobmg9d2luZG93LlNoYWR5Q1NTLmNzc0J1aWxkKTt2YXIgb2g9ISghd2luZG93LlNoYWR5Q1NTfHwhd2luZG93LlNoYWR5Q1NTLmRpc2FibGVSdW50aW1lKTtcbndpbmRvdy5TaGFkeUNTUyYmdm9pZCAwIT09d2luZG93LlNoYWR5Q1NTLm5hdGl2ZUNzcz9saD13aW5kb3cuU2hhZHlDU1MubmF0aXZlQ3NzOndpbmRvdy5TaGFkeUNTUz8obWgod2luZG93LlNoYWR5Q1NTKSx3aW5kb3cuU2hhZHlDU1M9dm9pZCAwKTptaCh3aW5kb3cuV2ViQ29tcG9uZW50cyYmd2luZG93LldlYkNvbXBvbmVudHMuZmxhZ3MpO3ZhciBYPWxoO3ZhciBwaD0vKD86XnxbO1xcc3tdXFxzKikoLS1bXFx3LV0qPylcXHMqOlxccyooPzooKD86Jyg/OlxcXFwnfC4pKj8nfFwiKD86XFxcXFwifC4pKj9cInxcXChbXildKj9cXCl8W159O3tdKSspfFxceyhbXn1dKilcXH0oPzooPz1bO1xcc31dKXwkKSkvZ2kscWg9Lyg/Ol58XFxXKylAYXBwbHlcXHMqXFwoPyhbXik7XFxuXSopXFwpPy9naSxyaD0vKC0tW1xcdy1dKylcXHMqKFs6LDspXXwkKS9naSxzaD0vKGFuaW1hdGlvblxccyo6KXwoYW5pbWF0aW9uLW5hbWVcXHMqOikvLHRoPS9AbWVkaWFcXHMoLiopLyx1aD0vXFx7W159XSpcXH0vZzt2YXIgdmg9bmV3IFNldDtmdW5jdGlvbiB3aChhLGIpe2lmKCFhKXJldHVyblwiXCI7XCJzdHJpbmdcIj09PXR5cGVvZiBhJiYoYT1XZyhhKSk7YiYmeGgoYSxiKTtyZXR1cm4gZ2goYSxYKX1mdW5jdGlvbiB5aChhKXshYS5fX2Nzc1J1bGVzJiZhLnRleHRDb250ZW50JiYoYS5fX2Nzc1J1bGVzPVdnKGEudGV4dENvbnRlbnQpKTtyZXR1cm4gYS5fX2Nzc1J1bGVzfHxudWxsfWZ1bmN0aW9uIHpoKGEpe3JldHVybiEhYS5wYXJlbnQmJmEucGFyZW50LnR5cGU9PT1kaH1mdW5jdGlvbiB4aChhLGIsYyxkKXtpZihhKXt2YXIgZT0hMSxmPWEudHlwZTtpZihkJiZmPT09Ymgpe3ZhciBnPWEuc2VsZWN0b3IubWF0Y2godGgpO2cmJih3aW5kb3cubWF0Y2hNZWRpYShnWzFdKS5tYXRjaGVzfHwoZT0hMCkpfWY9PT1maD9iKGEpOmMmJmY9PT1kaD9jKGEpOmY9PT1laCYmKGU9ITApO2lmKChhPWEucnVsZXMpJiYhZSlmb3IoZT0wLGY9YS5sZW5ndGgsZz12b2lkIDA7ZTxmJiYoZz1hW2VdKTtlKyspeGgoZyxiLGMsZCl9fVxuZnVuY3Rpb24gQWgoYSxiLGMsZCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO2ImJmUuc2V0QXR0cmlidXRlKFwic2NvcGVcIixiKTtlLnRleHRDb250ZW50PWE7Q2goZSxjLGQpO3JldHVybiBlfXZhciBEaD1udWxsO2Z1bmN0aW9uIEVoKGEpe2E9ZG9jdW1lbnQuY3JlYXRlQ29tbWVudChcIiBTaGFkeSBET00gc3R5bGVzIGZvciBcIithK1wiIFwiKTt2YXIgYj1kb2N1bWVudC5oZWFkO2IuaW5zZXJ0QmVmb3JlKGEsKERoP0RoLm5leHRTaWJsaW5nOm51bGwpfHxiLmZpcnN0Q2hpbGQpO3JldHVybiBEaD1hfWZ1bmN0aW9uIENoKGEsYixjKXtiPWJ8fGRvY3VtZW50LmhlYWQ7Yi5pbnNlcnRCZWZvcmUoYSxjJiZjLm5leHRTaWJsaW5nfHxiLmZpcnN0Q2hpbGQpO0RoP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oRGgpPT09Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcmJihEaD1hKTpEaD1hfVxuZnVuY3Rpb24gRmgoYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2I8ZDtiKyspaWYoXCIoXCI9PT1hW2JdKWMrKztlbHNlIGlmKFwiKVwiPT09YVtiXSYmMD09PS0tYylyZXR1cm4gYjtyZXR1cm4tMX1mdW5jdGlvbiBHaChhLGIpe3ZhciBjPWEuaW5kZXhPZihcInZhcihcIik7aWYoLTE9PT1jKXJldHVybiBiKGEsXCJcIixcIlwiLFwiXCIpO3ZhciBkPUZoKGEsYyszKSxlPWEuc3Vic3RyaW5nKGMrNCxkKTtjPWEuc3Vic3RyaW5nKDAsYyk7YT1HaChhLnN1YnN0cmluZyhkKzEpLGIpO2Q9ZS5pbmRleE9mKFwiLFwiKTtyZXR1cm4tMT09PWQ/YihjLGUudHJpbSgpLFwiXCIsYSk6YihjLGUuc3Vic3RyaW5nKDAsZCkudHJpbSgpLGUuc3Vic3RyaW5nKGQrMSkudHJpbSgpLGEpfWZ1bmN0aW9uIEhoKGEsYil7Vj9hLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsYik6d2luZG93LlNoYWR5RE9NLm5hdGl2ZU1ldGhvZHMuc2V0QXR0cmlidXRlLmNhbGwoYSxcImNsYXNzXCIsYil9XG52YXIgSWg9d2luZG93LlNoYWR5RE9NJiZ3aW5kb3cuU2hhZHlET00ud3JhcHx8ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2Z1bmN0aW9uIEpoKGEpe3ZhciBiPWEubG9jYWxOYW1lLGM9XCJcIjtiPy0xPGIuaW5kZXhPZihcIi1cIil8fChjPWIsYj1hLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoXCJpc1wiKXx8XCJcIik6KGI9YS5pcyxjPWEuZXh0ZW5kcyk7cmV0dXJue2lzOmIsaGE6Y319ZnVuY3Rpb24gS2goYSl7Zm9yKHZhciBiPVtdLGM9XCJcIixkPTA7MDw9ZCYmZDxhLmxlbmd0aDtkKyspaWYoXCIoXCI9PT1hW2RdKXt2YXIgZT1GaChhLGQpO2MrPWEuc2xpY2UoZCxlKzEpO2Q9ZX1lbHNlXCIsXCI9PT1hW2RdPyhiLnB1c2goYyksYz1cIlwiKTpjKz1hW2RdO2MmJmIucHVzaChjKTtyZXR1cm4gYn1cbmZ1bmN0aW9uIExoKGEpe2lmKHZvaWQgMCE9PW5oKXJldHVybiBuaDtpZih2b2lkIDA9PT1hLl9fY3NzQnVpbGQpe3ZhciBiPWEuZ2V0QXR0cmlidXRlKFwiY3NzLWJ1aWxkXCIpO2lmKGIpYS5fX2Nzc0J1aWxkPWI7ZWxzZXthOntiPVwidGVtcGxhdGVcIj09PWEubG9jYWxOYW1lP2EuY29udGVudC5maXJzdENoaWxkOmEuZmlyc3RDaGlsZDtpZihiIGluc3RhbmNlb2YgQ29tbWVudCYmKGI9Yi50ZXh0Q29udGVudC50cmltKCkuc3BsaXQoXCI6XCIpLFwiY3NzLWJ1aWxkXCI9PT1iWzBdKSl7Yj1iWzFdO2JyZWFrIGF9Yj1cIlwifWlmKFwiXCIhPT1iKXt2YXIgYz1cInRlbXBsYXRlXCI9PT1hLmxvY2FsTmFtZT9hLmNvbnRlbnQuZmlyc3RDaGlsZDphLmZpcnN0Q2hpbGQ7Yy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpfWEuX19jc3NCdWlsZD1ifX1yZXR1cm4gYS5fX2Nzc0J1aWxkfHxcIlwifVxuZnVuY3Rpb24gTWgoYSl7YT12b2lkIDA9PT1hP1wiXCI6YTtyZXR1cm5cIlwiIT09YSYmWD9WP1wic2hhZG93XCI9PT1hOlwic2hhZHlcIj09PWE6ITF9O2Z1bmN0aW9uIE5oKCl7fWZ1bmN0aW9uIE9oKGEsYil7UGgoUWgsYSxmdW5jdGlvbihjKXtSaChjLGJ8fFwiXCIpfSl9ZnVuY3Rpb24gUGgoYSxiLGMpe2Iubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmYyhiKTt2YXIgZDtcInRlbXBsYXRlXCI9PT1iLmxvY2FsTmFtZT9kPShiLmNvbnRlbnR8fGIuX2NvbnRlbnR8fGIpLmNoaWxkTm9kZXM6ZD1iLmNoaWxkcmVufHxiLmNoaWxkTm9kZXM7aWYoZClmb3IoYj0wO2I8ZC5sZW5ndGg7YisrKVBoKGEsZFtiXSxjKX1cbmZ1bmN0aW9uIFJoKGEsYixjKXtpZihiKWlmKGEuY2xhc3NMaXN0KWM/KGEuY2xhc3NMaXN0LnJlbW92ZShcInN0eWxlLXNjb3BlXCIpLGEuY2xhc3NMaXN0LnJlbW92ZShiKSk6KGEuY2xhc3NMaXN0LmFkZChcInN0eWxlLXNjb3BlXCIpLGEuY2xhc3NMaXN0LmFkZChiKSk7ZWxzZSBpZihhLmdldEF0dHJpYnV0ZSl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKTtjP2QmJihiPWQucmVwbGFjZShcInN0eWxlLXNjb3BlXCIsXCJcIikucmVwbGFjZShiLFwiXCIpLEhoKGEsYikpOkhoKGEsKGQ/ZCtcIiBcIjpcIlwiKStcInN0eWxlLXNjb3BlIFwiK2IpfX1mdW5jdGlvbiBTaChhLGIsYyl7UGgoUWgsYSxmdW5jdGlvbihkKXtSaChkLGIsITApO1JoKGQsYyl9KX1mdW5jdGlvbiBUaChhLGIpe1BoKFFoLGEsZnVuY3Rpb24oYyl7UmgoYyxifHxcIlwiLCEwKX0pfVxuZnVuY3Rpb24gVWgoYSxiLGMsZCxlKXt2YXIgZj1RaDtlPXZvaWQgMD09PWU/XCJcIjplO1wiXCI9PT1lJiYoVnx8XCJzaGFkeVwiPT09KHZvaWQgMD09PWQ/XCJcIjpkKT9lPXdoKGIsYyk6KGE9SmgoYSksZT1WaChmLGIsYS5pcyxhLmhhLGMpK1wiXFxuXFxuXCIpKTtyZXR1cm4gZS50cmltKCl9ZnVuY3Rpb24gVmgoYSxiLGMsZCxlKXt2YXIgZj1XaChjLGQpO2M9Yz9cIi5cIitjOlwiXCI7cmV0dXJuIHdoKGIsZnVuY3Rpb24oZyl7Zy5pfHwoZy5zZWxlY3Rvcj1nLkY9WGgoYSxnLGEuaCxjLGYpLGcuaT0hMCk7ZSYmZShnLGMsZil9KX1mdW5jdGlvbiBXaChhLGIpe3JldHVybiBiP1wiW2lzPVwiK2ErXCJdXCI6YX1cbmZ1bmN0aW9uIFhoKGEsYixjLGQsZSl7dmFyIGY9S2goYi5zZWxlY3Rvcik7aWYoIXpoKGIpKXtiPTA7Zm9yKHZhciBnPWYubGVuZ3RoLGg9dm9pZCAwO2I8ZyYmKGg9ZltiXSk7YisrKWZbYl09Yy5jYWxsKGEsaCxkLGUpfXJldHVybiBmLmZpbHRlcihmdW5jdGlvbihrKXtyZXR1cm4hIWt9KS5qb2luKFwiLFwiKX1mdW5jdGlvbiBZaChhKXtyZXR1cm4gYS5yZXBsYWNlKFpoLGZ1bmN0aW9uKGIsYyxkKXstMTxkLmluZGV4T2YoXCIrXCIpP2Q9ZC5yZXBsYWNlKC9cXCsvZyxcIl9fX1wiKTotMTxkLmluZGV4T2YoXCJfX19cIikmJihkPWQucmVwbGFjZSgvX19fL2csXCIrXCIpKTtyZXR1cm5cIjpcIitjK1wiKFwiK2QrXCIpXCJ9KX1cbmZ1bmN0aW9uICRoKGEpe2Zvcih2YXIgYj1bXSxjO2M9YS5tYXRjaChhaSk7KXt2YXIgZD1jLmluZGV4LGU9RmgoYSxkKTtpZigtMT09PWUpdGhyb3cgRXJyb3IoYy5pbnB1dCtcIiBzZWxlY3RvciBtaXNzaW5nICcpJ1wiKTtjPWEuc2xpY2UoZCxlKzEpO2E9YS5yZXBsYWNlKGMsXCJcXHVlMDAwXCIpO2IucHVzaChjKX1yZXR1cm57QmE6YSxtYXRjaGVzOmJ9fWZ1bmN0aW9uIGJpKGEsYil7dmFyIGM9YS5zcGxpdChcIlxcdWUwMDBcIik7cmV0dXJuIGIucmVkdWNlKGZ1bmN0aW9uKGQsZSxmKXtyZXR1cm4gZCtlK2NbZisxXX0sY1swXSl9XG5OaC5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7YT1hLnRyaW0oKTt2YXIgZT1aaC50ZXN0KGEpO2UmJihhPWEucmVwbGFjZShaaCxmdW5jdGlvbihoLGssbCl7cmV0dXJuXCI6XCIraytcIihcIitsLnJlcGxhY2UoL1xccy9nLFwiXCIpK1wiKVwifSksYT1ZaChhKSk7dmFyIGY9YWkudGVzdChhKTtpZihmKXt2YXIgZz0kaChhKTthPWcuQmE7Zz1nLm1hdGNoZXN9YT1hLnJlcGxhY2UoY2ksXCI6aG9zdCAkMVwiKTthPWEucmVwbGFjZShkaSxmdW5jdGlvbihoLGssbCl7ZHx8KGg9ZWkobCxrLGIsYyksZD1kfHxoLnN0b3Asaz1oLlVhLGw9aC52YWx1ZSk7cmV0dXJuIGsrbH0pO2YmJihhPWJpKGEsZykpO2UmJihhPVloKGEpKTtyZXR1cm4gYT1hLnJlcGxhY2UoZmksZnVuY3Rpb24oaCxrLGwsbSl7cmV0dXJuJ1tkaXI9XCInK2wrJ1wiXSAnK2srbStcIiwgXCIraysnW2Rpcj1cIicrbCsnXCJdJyttfSl9O1xuZnVuY3Rpb24gZWkoYSxiLGMsZCl7dmFyIGU9YS5pbmRleE9mKFwiOjpzbG90dGVkXCIpOzA8PWEuaW5kZXhPZihcIjpob3N0XCIpP2E9Z2koYSxkKTowIT09ZSYmKGE9Yz9oaShhLGMpOmEpO2M9ITE7MDw9ZSYmKGI9XCJcIixjPSEwKTtpZihjKXt2YXIgZj0hMDtjJiYoYT1hLnJlcGxhY2UoaWksZnVuY3Rpb24oZyxoKXtyZXR1cm5cIiA+IFwiK2h9KSl9cmV0dXJue3ZhbHVlOmEsVWE6YixzdG9wOmZ9fWZ1bmN0aW9uIGhpKGEsYil7YT1hLnNwbGl0KC8oXFxbLis/XFxdKS8pO2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspaWYoMT09PWQlMiljLnB1c2goYVtkXSk7ZWxzZXt2YXIgZT1hW2RdO2lmKFwiXCIhPT1lfHxkIT09YS5sZW5ndGgtMSllPWUuc3BsaXQoXCI6XCIpLGVbMF0rPWIsYy5wdXNoKGUuam9pbihcIjpcIikpfXJldHVybiBjLmpvaW4oXCJcIil9XG5mdW5jdGlvbiBnaShhLGIpe3ZhciBjPWEubWF0Y2goamkpO3JldHVybihjPWMmJmNbMl0udHJpbSgpfHxcIlwiKT9jWzBdLm1hdGNoKGtpKT9hLnJlcGxhY2UoamksZnVuY3Rpb24oZCxlLGYpe3JldHVybiBiK2Z9KTpjLnNwbGl0KGtpKVswXT09PWI/YzpcInNob3VsZF9ub3RfbWF0Y2hcIjphLnJlcGxhY2UoXCI6aG9zdFwiLGIpfWZ1bmN0aW9uIGxpKGEpe1wiOnJvb3RcIj09PWEuc2VsZWN0b3ImJihhLnNlbGVjdG9yPVwiaHRtbFwiKX1OaC5wcm90b3R5cGUuaT1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXRjaChcIjpob3N0XCIpP1wiXCI6YS5tYXRjaChcIjo6c2xvdHRlZFwiKT90aGlzLmgoYSxcIjpub3QoLnN0eWxlLXNjb3BlKVwiKTpoaShhLnRyaW0oKSxcIjpub3QoLnN0eWxlLXNjb3BlKVwiKX07ZWEuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTmgucHJvdG90eXBlLHtnOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cInN0eWxlLXNjb3BlXCJ9fX0pO1xudmFyIFpoPS86KG50aFstXFx3XSspXFwoKFteKV0rKVxcKS8sZGk9LyhefFtcXHM+K35dKykoKD86XFxbLis/XFxdfFteXFxzPit+PVtdKSspL2csa2k9L1tbLjojKl0vLGNpPS9eKDo6c2xvdHRlZCkvLGppPS8oOmhvc3QpKD86XFwoKCg/OlxcKFteKShdKlxcKXxbXikoXSopKz8pXFwpKS8saWk9Lyg/Ojo6c2xvdHRlZCkoPzpcXCgoKD86XFwoW14pKF0qXFwpfFteKShdKikrPylcXCkpLyxmaT0vKC4qKTpkaXJcXCgoPzoobHRyfHJ0bCkpXFwpKC4qKS8sYWk9LzooPzptYXRjaGVzfGFueXwtKD86d2Via2l0fG1veiktYW55KS8sUWg9bmV3IE5oO2Z1bmN0aW9uIG1pKGEsYixjLGQsZSl7dGhpcy5NPWF8fG51bGw7dGhpcy5oPWJ8fG51bGw7dGhpcy56YT1jfHxbXTt0aGlzLks9bnVsbDt0aGlzLmNzc0J1aWxkPWV8fFwiXCI7dGhpcy5oYT1kfHxcIlwiO3RoaXMuZz10aGlzLkw9dGhpcy5SPW51bGx9ZnVuY3Rpb24gbmkoYSl7cmV0dXJuIGE/YS5fX3N0eWxlSW5mbzpudWxsfWZ1bmN0aW9uIG9pKGEsYil7cmV0dXJuIGEuX19zdHlsZUluZm89Yn1taS5wcm90b3R5cGUuaT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk19O21pLnByb3RvdHlwZS5fZ2V0U3R5bGVSdWxlcz1taS5wcm90b3R5cGUuaTtmdW5jdGlvbiBwaShhKXt2YXIgYj10aGlzLm1hdGNoZXN8fHRoaXMubWF0Y2hlc1NlbGVjdG9yfHx0aGlzLm1vek1hdGNoZXNTZWxlY3Rvcnx8dGhpcy5tc01hdGNoZXNTZWxlY3Rvcnx8dGhpcy5vTWF0Y2hlc1NlbGVjdG9yfHx0aGlzLndlYmtpdE1hdGNoZXNTZWxlY3RvcjtyZXR1cm4gYiYmYi5jYWxsKHRoaXMsYSl9dmFyIHFpPS86aG9zdFxccyo+XFxzKi8scmk9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaChcIlRyaWRlbnRcIik7ZnVuY3Rpb24gc2koKXt9ZnVuY3Rpb24gdGkoYSl7dmFyIGI9e30sYz1bXSxkPTA7eGgoYSxmdW5jdGlvbihmKXt1aShmKTtmLmluZGV4PWQrKztmPWYuRC5jc3NUZXh0O2Zvcih2YXIgZztnPXJoLmV4ZWMoZik7KXt2YXIgaD1nWzFdO1wiOlwiIT09Z1syXSYmKGJbaF09ITApfX0sZnVuY3Rpb24oZil7Yy5wdXNoKGYpfSk7YS5oPWM7YT1bXTtmb3IodmFyIGUgaW4gYilhLnB1c2goZSk7cmV0dXJuIGF9XG5mdW5jdGlvbiB1aShhKXtpZighYS5EKXt2YXIgYj17fSxjPXt9O3ZpKGEsYykmJihiLlA9YyxhLnJ1bGVzPW51bGwpO2IuY3NzVGV4dD1hLnBhcnNlZENzc1RleHQucmVwbGFjZSh1aCxcIlwiKS5yZXBsYWNlKHBoLFwiXCIpO2EuRD1ifX1mdW5jdGlvbiB2aShhLGIpe3ZhciBjPWEuRDtpZihjKXtpZihjLlApcmV0dXJuIE9iamVjdC5hc3NpZ24oYixjLlApLCEwfWVsc2V7Yz1hLnBhcnNlZENzc1RleHQ7Zm9yKHZhciBkO2E9cGguZXhlYyhjKTspe2Q9KGFbMl18fGFbM10pLnRyaW0oKTtpZihcImluaGVyaXRcIiE9PWR8fFwidW5zZXRcIiE9PWQpYlthWzFdLnRyaW0oKV09ZDtkPSEwfXJldHVybiBkfX1cbmZ1bmN0aW9uIHdpKGEsYixjKXtiJiYoYj0wPD1iLmluZGV4T2YoXCI7XCIpP3hpKGEsYixjKTpHaChiLGZ1bmN0aW9uKGQsZSxmLGcpe2lmKCFlKXJldHVybiBkK2c7KGU9d2koYSxjW2VdLGMpKSYmXCJpbml0aWFsXCIhPT1lP1wiYXBwbHktc2hpbS1pbmhlcml0XCI9PT1lJiYoZT1cImluaGVyaXRcIik6ZT13aShhLGNbZl18fGYsYyl8fGY7cmV0dXJuIGQrKGV8fFwiXCIpK2d9KSk7cmV0dXJuIGImJmIudHJpbSgpfHxcIlwifVxuZnVuY3Rpb24geGkoYSxiLGMpe2I9Yi5zcGxpdChcIjtcIik7Zm9yKHZhciBkPTAsZSxmO2Q8Yi5sZW5ndGg7ZCsrKWlmKGU9YltkXSl7cWgubGFzdEluZGV4PTA7aWYoZj1xaC5leGVjKGUpKWU9d2koYSxjW2ZbMV1dLGMpO2Vsc2UgaWYoZj1lLmluZGV4T2YoXCI6XCIpLC0xIT09Zil7dmFyIGc9ZS5zdWJzdHJpbmcoZik7Zz1nLnRyaW0oKTtnPXdpKGEsZyxjKXx8ZztlPWUuc3Vic3RyaW5nKDAsZikrZ31iW2RdPWUmJmUubGFzdEluZGV4T2YoXCI7XCIpPT09ZS5sZW5ndGgtMT9lLnNsaWNlKDAsLTEpOmV8fFwiXCJ9cmV0dXJuIGIuam9pbihcIjtcIil9XG5mdW5jdGlvbiB5aShhLGIpe3ZhciBjPXt9LGQ9W107eGgoYSxmdW5jdGlvbihlKXtlLkR8fHVpKGUpO3ZhciBmPWUuRnx8ZS5wYXJzZWRTZWxlY3RvcjtiJiZlLkQuUCYmZiYmcGkuY2FsbChiLGYpJiYodmkoZSxjKSxlPWUuaW5kZXgsZj1wYXJzZUludChlLzMyLDEwKSxkW2ZdPShkW2ZdfHwwKXwxPDxlJTMyKX0sbnVsbCwhMCk7cmV0dXJue1A6YyxrZXk6ZH19XG5mdW5jdGlvbiB6aShhLGIsYyxkKXtiLkR8fHVpKGIpO2lmKGIuRC5QKXt2YXIgZT1KaChhKTthPWUuaXM7ZT1lLmhhO2U9YT9XaChhLGUpOlwiaHRtbFwiO3ZhciBmPWIucGFyc2VkU2VsZWN0b3I7dmFyIGc9ISFmLm1hdGNoKHFpKXx8XCJodG1sXCI9PT1lJiYtMTxmLmluZGV4T2YoXCJodG1sXCIpO3ZhciBoPTA9PT1mLmluZGV4T2YoXCI6aG9zdFwiKSYmIWc7XCJzaGFkeVwiPT09YyYmKGc9Zj09PWUrXCIgPiAqLlwiK2V8fC0xIT09Zi5pbmRleE9mKFwiaHRtbFwiKSxoPSFnJiYwPT09Zi5pbmRleE9mKGUpKTtpZihnfHxoKWM9ZSxoJiYoYi5GfHwoYi5GPVhoKFFoLGIsUWguaCxhP1wiLlwiK2E6XCJcIixlKSksYz1iLkZ8fGUpLGcmJlwiaHRtbFwiPT09ZSYmKGM9Yi5GfHxiLk8pLGQoe0JhOmMsYWI6aCxxYjpnfSl9fVxuZnVuY3Rpb24gQWkoYSxiLGMpe3ZhciBkPXt9LGU9e307eGgoYixmdW5jdGlvbihmKXt6aShhLGYsYyxmdW5jdGlvbihnKXtwaS5jYWxsKGEuX2VsZW1lbnR8fGEsZy5CYSkmJihnLmFiP3ZpKGYsZCk6dmkoZixlKSl9KX0sbnVsbCwhMCk7cmV0dXJue2hiOmUsWmE6ZH19XG5mdW5jdGlvbiBCaShhLGIsYyxkKXt2YXIgZT1KaChiKSxmPVdoKGUuaXMsZS5oYSksZz1uZXcgUmVnRXhwKFwiKD86XnxbXi4jWzpdKVwiKyhiLmV4dGVuZHM/XCJcXFxcXCIrZi5zbGljZSgwLC0xKStcIlxcXFxdXCI6ZikrXCIoJHxbLjpbXFxcXHM+K35dKVwiKSxoPW5pKGIpO2U9aC5NO2g9aC5jc3NCdWlsZDt2YXIgaz1DaShlLGQpO3JldHVybiBVaChiLGUsZnVuY3Rpb24obCl7dmFyIG09XCJcIjtsLkR8fHVpKGwpO2wuRC5jc3NUZXh0JiYobT14aShhLGwuRC5jc3NUZXh0LGMpKTtsLmNzc1RleHQ9bTtpZighViYmIXpoKGwpJiZsLmNzc1RleHQpe3ZhciBxPW09bC5jc3NUZXh0O251bGw9PWwuSWEmJihsLklhPXNoLnRlc3QobSkpO2lmKGwuSWEpaWYobnVsbD09bC5wYSl7bC5wYT1bXTtmb3IodmFyIEggaW4gaylxPWtbSF0scT1xKG0pLG0hPT1xJiYobT1xLGwucGEucHVzaChIKSl9ZWxzZXtmb3IoSD0wO0g8bC5wYS5sZW5ndGg7KytIKXE9a1tsLnBhW0hdXSxtPXEobSk7cT1tfWwuY3NzVGV4dD1xO2wuRj1cbmwuRnx8bC5zZWxlY3RvcjttPVwiLlwiK2Q7SD1LaChsLkYpO3E9MDtmb3IodmFyIEM9SC5sZW5ndGgsdD12b2lkIDA7cTxDJiYodD1IW3FdKTtxKyspSFtxXT10Lm1hdGNoKGcpP3QucmVwbGFjZShmLG0pOm0rXCIgXCIrdDtsLnNlbGVjdG9yPUguam9pbihcIixcIil9fSxoKX1mdW5jdGlvbiBDaShhLGIpe2E9YS5oO3ZhciBjPXt9O2lmKCFWJiZhKWZvcih2YXIgZD0wLGU9YVtkXTtkPGEubGVuZ3RoO2U9YVsrK2RdKXt2YXIgZj1lLGc9YjtmLnU9bmV3IFJlZ0V4cChcIlxcXFxiXCIrZi5rZXlmcmFtZXNOYW1lK1wiKD8hXFxcXEJ8LSlcIixcImdcIik7Zi5nPWYua2V5ZnJhbWVzTmFtZStcIi1cIitnO2YuRj1mLkZ8fGYuc2VsZWN0b3I7Zi5zZWxlY3Rvcj1mLkYucmVwbGFjZShmLmtleWZyYW1lc05hbWUsZi5nKTtjW2Uua2V5ZnJhbWVzTmFtZV09RGkoZSl9cmV0dXJuIGN9ZnVuY3Rpb24gRGkoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBiLnJlcGxhY2UoYS51LGEuZyl9fVxuZnVuY3Rpb24gRWkoYSxiKXt2YXIgYz1GaSxkPXloKGEpO2EudGV4dENvbnRlbnQ9d2goZCxmdW5jdGlvbihlKXt2YXIgZj1lLmNzc1RleHQ9ZS5wYXJzZWRDc3NUZXh0O2UuRCYmZS5ELmNzc1RleHQmJihmPWYucmVwbGFjZShoaCxcIlwiKS5yZXBsYWNlKGloLFwiXCIpLGUuY3NzVGV4dD14aShjLGYsYikpfSl9ZWEuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoc2kucHJvdG90eXBlLHtnOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIngtc2NvcGVcIn19fSk7dmFyIEZpPW5ldyBzaTt2YXIgR2k9e30sSGk9d2luZG93LmN1c3RvbUVsZW1lbnRzO2lmKEhpJiYhViYmIW9oKXt2YXIgSWk9SGkuZGVmaW5lO0hpLmRlZmluZT1mdW5jdGlvbihhLGIsYyl7R2lbYV18fChHaVthXT1FaChhKSk7SWkuY2FsbChIaSxhLGIsYyl9fTtmdW5jdGlvbiBKaSgpe3RoaXMuY2FjaGU9e319SmkucHJvdG90eXBlLnN0b3JlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuY2FjaGVbYV18fFtdO2UucHVzaCh7UDpiLHN0eWxlRWxlbWVudDpjLEw6ZH0pOzEwMDxlLmxlbmd0aCYmZS5zaGlmdCgpO3RoaXMuY2FjaGVbYV09ZX07ZnVuY3Rpb24gS2koKXt9dmFyIExpPW5ldyBSZWdFeHAoUWguZytcIlxcXFxzKihbXlxcXFxzXSopXCIpO2Z1bmN0aW9uIE1pKGEpe3JldHVybihhPShhLmNsYXNzTGlzdCYmYS5jbGFzc0xpc3QudmFsdWU/YS5jbGFzc0xpc3QudmFsdWU6YS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIikubWF0Y2goTGkpKT9hWzFdOlwiXCJ9ZnVuY3Rpb24gTmkoYSl7dmFyIGI9SWgoYSkuZ2V0Um9vdE5vZGUoKTtyZXR1cm4gYj09PWF8fGI9PT1hLm93bmVyRG9jdW1lbnQ/XCJcIjooYT1iLmhvc3QpP0poKGEpLmlzOlwiXCJ9XG5mdW5jdGlvbiBPaShhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXTtpZihjLnRhcmdldCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYy50YXJnZXQhPT1kb2N1bWVudC5oZWFkKWZvcih2YXIgZD0wO2Q8Yy5hZGRlZE5vZGVzLmxlbmd0aDtkKyspe3ZhciBlPWMuYWRkZWROb2Rlc1tkXTtpZihlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBmPWUuZ2V0Um9vdE5vZGUoKSxnPU1pKGUpO2lmKGcmJmY9PT1lLm93bmVyRG9jdW1lbnQmJihcInN0eWxlXCIhPT1lLmxvY2FsTmFtZSYmXCJ0ZW1wbGF0ZVwiIT09ZS5sb2NhbE5hbWV8fFwiXCI9PT1MaChlKSkpVGgoZSxnKTtlbHNlIGlmKGYgaW5zdGFuY2VvZiBTaGFkb3dSb290KWZvcihmPU5pKGUpLGYhPT1nJiZTaChlLGcsZiksZT13aW5kb3cuU2hhZHlET00ubmF0aXZlTWV0aG9kcy5xdWVyeVNlbGVjdG9yQWxsLmNhbGwoZSxcIjpub3QoLlwiK1FoLmcrXCIpXCIpLGc9MDtnPGUubGVuZ3RoO2crKyl7Zj1lW2ddO1xudmFyIGg9TmkoZik7aCYmUmgoZixoKX19fX19XG5pZighKFZ8fHdpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmhhbmRsZXNEeW5hbWljU2NvcGluZykpe3ZhciBQaT1uZXcgTXV0YXRpb25PYnNlcnZlcihPaSksUWk9ZnVuY3Rpb24oYSl7UGkub2JzZXJ2ZShhLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pfTtpZih3aW5kb3cuY3VzdG9tRWxlbWVudHMmJiF3aW5kb3cuY3VzdG9tRWxlbWVudHMucG9seWZpbGxXcmFwRmx1c2hDYWxsYmFjaylRaShkb2N1bWVudCk7ZWxzZXt2YXIgUmk9ZnVuY3Rpb24oKXtRaShkb2N1bWVudC5ib2R5KX07d2luZG93LkhUTUxJbXBvcnRzP3dpbmRvdy5IVE1MSW1wb3J0cy53aGVuUmVhZHkoUmkpOnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2lmKFwibG9hZGluZ1wiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSl7dmFyIGE9ZnVuY3Rpb24oKXtSaSgpO2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZWFkeXN0YXRlY2hhbmdlXCIsYSl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJyZWFkeXN0YXRlY2hhbmdlXCIsXG5hKX1lbHNlIFJpKCl9KX1LaT1mdW5jdGlvbigpe09pKFBpLnRha2VSZWNvcmRzKCkpfX07dmFyIFNpPXt9O3ZhciBUaT1Qcm9taXNlLnJlc29sdmUoKTtmdW5jdGlvbiBVaShhKXtpZihhPVNpW2FdKWEuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uPWEuX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9ufHwwLGEuX2FwcGx5U2hpbVZhbGlkYXRpbmdWZXJzaW9uPWEuX2FwcGx5U2hpbVZhbGlkYXRpbmdWZXJzaW9ufHwwLGEuX2FwcGx5U2hpbU5leHRWZXJzaW9uPShhLl9hcHBseVNoaW1OZXh0VmVyc2lvbnx8MCkrMX1mdW5jdGlvbiBWaShhKXtyZXR1cm4gYS5fYXBwbHlTaGltQ3VycmVudFZlcnNpb249PT1hLl9hcHBseVNoaW1OZXh0VmVyc2lvbn1mdW5jdGlvbiBXaShhKXthLl9hcHBseVNoaW1WYWxpZGF0aW5nVmVyc2lvbj1hLl9hcHBseVNoaW1OZXh0VmVyc2lvbjthLl92YWxpZGF0aW5nfHwoYS5fdmFsaWRhdGluZz0hMCxUaS50aGVuKGZ1bmN0aW9uKCl7YS5fYXBwbHlTaGltQ3VycmVudFZlcnNpb249YS5fYXBwbHlTaGltTmV4dFZlcnNpb247YS5fdmFsaWRhdGluZz0hMX0pKX07dmFyIFhpPXt9LFlpPW5ldyBKaTtmdW5jdGlvbiBZKCl7dGhpcy5kYT17fTt0aGlzLmk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3ZhciBhPW5ldyBWZzthLnJ1bGVzPVtdO3RoaXMudT1vaSh0aGlzLmksbmV3IG1pKGEpKTt0aGlzLk89ITE7dGhpcy5nPXRoaXMuaD1udWxsfXY9WS5wcm90b3R5cGU7di5mbHVzaD1mdW5jdGlvbigpe0tpKCl9O3YuWGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHloKGEpfTt2LmxiPWZ1bmN0aW9uKGEpe3JldHVybiB3aChhKX07di5wcmVwYXJlVGVtcGxhdGU9ZnVuY3Rpb24oYSxiLGMpe3RoaXMucHJlcGFyZVRlbXBsYXRlRG9tKGEsYik7dGhpcy5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoYSxiLGMpfTtcbnYucHJlcGFyZVRlbXBsYXRlU3R5bGVzPWZ1bmN0aW9uKGEsYixjKXtpZighYS5fcHJlcGFyZWQmJiFvaCl7Vnx8R2lbYl18fChHaVtiXT1FaChiKSk7YS5fcHJlcGFyZWQ9ITA7YS5uYW1lPWI7YS5leHRlbmRzPWM7U2lbYl09YTt2YXIgZD1MaChhKSxlPU1oKGQpO2M9e2lzOmIsZXh0ZW5kczpjfTtmb3IodmFyIGY9W10sZz1hLmNvbnRlbnQucXVlcnlTZWxlY3RvckFsbChcInN0eWxlXCIpLGg9MDtoPGcubGVuZ3RoO2grKyl7dmFyIGs9Z1toXTtpZihrLmhhc0F0dHJpYnV0ZShcInNoYWR5LXVuc2NvcGVkXCIpKXtpZighVil7dmFyIGw9ay50ZXh0Q29udGVudDtpZighdmguaGFzKGwpKXt2aC5hZGQobCk7dmFyIG09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO20uc2V0QXR0cmlidXRlKFwic2hhZHktdW5zY29wZWRcIixcIlwiKTttLnRleHRDb250ZW50PWw7ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChtKX1rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoayl9fWVsc2UgZi5wdXNoKGsudGV4dENvbnRlbnQpLFxuay5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGspfWY9Zi5qb2luKFwiXCIpLnRyaW0oKSsoWGlbYl18fFwiXCIpO1ppKHRoaXMpO2lmKCFlKXtpZihnPSFkKWc9cWgudGVzdChmKXx8cGgudGVzdChmKSxxaC5sYXN0SW5kZXg9MCxwaC5sYXN0SW5kZXg9MDtoPVdnKGYpO2cmJlgmJnRoaXMuaCYmdGhpcy5oLnRyYW5zZm9ybVJ1bGVzKGgsYik7YS5fc3R5bGVBc3Q9aH1nPVtdO1h8fChnPXRpKGEuX3N0eWxlQXN0KSk7aWYoIWcubGVuZ3RofHxYKWg9Vj9hLmNvbnRlbnQ6bnVsbCxiPUdpW2JdfHxudWxsLGQ9VWgoYyxhLl9zdHlsZUFzdCxudWxsLGQsZT9mOlwiXCIpLGQ9ZC5sZW5ndGg/QWgoZCxjLmlzLGgsYik6bnVsbCxhLl9zdHlsZT1kO2EuZz1nfX07di5mYj1mdW5jdGlvbihhLGIpe1hpW2JdPWEuam9pbihcIiBcIil9O1xudi5wcmVwYXJlVGVtcGxhdGVEb209ZnVuY3Rpb24oYSxiKXtpZighb2gpe3ZhciBjPUxoKGEpO1Z8fFwic2hhZHlcIj09PWN8fGEuX2RvbVByZXBhcmVkfHwoYS5fZG9tUHJlcGFyZWQ9ITAsT2goYS5jb250ZW50LGIpKX19O2Z1bmN0aW9uICRpKGEpe3ZhciBiPUpoKGEpLGM9Yi5pcztiPWIuaGE7dmFyIGQ9R2lbY118fG51bGwsZT1TaVtjXTtpZihlKXtjPWUuX3N0eWxlQXN0O3ZhciBmPWUuZztlPUxoKGUpO2I9bmV3IG1pKGMsZCxmLGIsZSk7b2koYSxiKTtyZXR1cm4gYn19XG5mdW5jdGlvbiBhaihhKXshYS5nJiZ3aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5DdXN0b21TdHlsZUludGVyZmFjZSYmKGEuZz13aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2UsYS5nLnRyYW5zZm9ybUNhbGxiYWNrPWZ1bmN0aW9uKGIpe2EuTWEoYil9LGEuZy52YWxpZGF0ZUNhbGxiYWNrPWZ1bmN0aW9uKCl7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7KGEuZy5lbnF1ZXVlZHx8YS5PKSYmYS5mbHVzaEN1c3RvbVN0eWxlcygpfSl9KX1mdW5jdGlvbiBaaShhKXtpZighYS5oJiZ3aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5BcHBseVNoaW0pe2EuaD13aW5kb3cuU2hhZHlDU1MuQXBwbHlTaGltO2EuaC5pbnZhbGlkQ2FsbGJhY2s9VWk7dmFyIGI9ITB9ZWxzZSBiPSExO2FqKGEpO3JldHVybiBifVxudi5mbHVzaEN1c3RvbVN0eWxlcz1mdW5jdGlvbigpe2lmKCFvaCl7dmFyIGE9WmkodGhpcyk7aWYodGhpcy5nKXt2YXIgYj10aGlzLmcucHJvY2Vzc1N0eWxlcygpO2lmKChhfHx0aGlzLmcuZW5xdWV1ZWQpJiYhTWgodGhpcy51LmNzc0J1aWxkKSl7aWYoWCl7aWYoIXRoaXMudS5jc3NCdWlsZClmb3IoYT0wO2E8Yi5sZW5ndGg7YSsrKXt2YXIgYz10aGlzLmcuZ2V0U3R5bGVGb3JDdXN0b21TdHlsZShiW2FdKTtpZihjJiZYJiZ0aGlzLmgpe3ZhciBkPXloKGMpO1ppKHRoaXMpO3RoaXMuaC50cmFuc2Zvcm1SdWxlcyhkKTtjLnRleHRDb250ZW50PXdoKGQpfX19ZWxzZXtiaih0aGlzLGIpO2NqKHRoaXMsdGhpcy5pLHRoaXMudSk7Zm9yKGE9MDthPGIubGVuZ3RoO2ErKykoYz10aGlzLmcuZ2V0U3R5bGVGb3JDdXN0b21TdHlsZShiW2FdKSkmJkVpKGMsdGhpcy51LlIpO3RoaXMuTyYmdGhpcy5zdHlsZURvY3VtZW50KCl9dGhpcy5nLmVucXVldWVkPSExfX19fTtcbmZ1bmN0aW9uIGJqKGEsYil7Yj1iLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYS5nLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGUoYyl9KS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuISFjfSk7Yi5zb3J0KGZ1bmN0aW9uKGMsZCl7Yz1kLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGMpO3JldHVybiBjJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HPzE6YyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORz8tMTowfSk7YS51Lk0ucnVsZXM9Yi5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIHloKGMpfSl9XG52LnN0eWxlRWxlbWVudD1mdW5jdGlvbihhLGIpe2lmKG9oKXtpZihiKXtuaShhKXx8b2koYSxuZXcgbWkobnVsbCkpO3ZhciBjPW5pKGEpO2MuSz1jLkt8fHt9O09iamVjdC5hc3NpZ24oYy5LLGIpO2RqKHRoaXMsYSxjKX19ZWxzZSBpZihjPW5pKGEpfHwkaShhKSlpZihhIT09dGhpcy5pJiYodGhpcy5PPSEwKSxiJiYoYy5LPWMuS3x8e30sT2JqZWN0LmFzc2lnbihjLkssYikpLFgpZGoodGhpcyxhLGMpO2Vsc2UgaWYodGhpcy5mbHVzaCgpLGNqKHRoaXMsYSxjKSxjLnphJiZjLnphLmxlbmd0aCl7Yj1KaChhKS5pczt2YXIgZDthOntpZihkPVlpLmNhY2hlW2JdKWZvcih2YXIgZT1kLmxlbmd0aC0xOzA8PWU7ZS0tKXt2YXIgZj1kW2VdO2I6e3ZhciBnPWMuemE7Zm9yKHZhciBoPTA7aDxnLmxlbmd0aDtoKyspe3ZhciBrPWdbaF07aWYoZi5QW2tdIT09Yy5SW2tdKXtnPSExO2JyZWFrIGJ9fWc9ITB9aWYoZyl7ZD1mO2JyZWFrIGF9fWQ9dm9pZCAwfWc9ZD9kLnN0eWxlRWxlbWVudDpcbm51bGw7ZT1jLkw7KGY9ZCYmZC5MKXx8KGY9dGhpcy5kYVtiXT0odGhpcy5kYVtiXXx8MCkrMSxmPWIrXCItXCIrZik7Yy5MPWY7Zj1jLkw7aD1GaTtoPWc/Zy50ZXh0Q29udGVudHx8XCJcIjpCaShoLGEsYy5SLGYpO2s9bmkoYSk7dmFyIGw9ay5nO2wmJiFWJiZsIT09ZyYmKGwuX3VzZUNvdW50LS0sMD49bC5fdXNlQ291bnQmJmwucGFyZW50Tm9kZSYmbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGwpKTtWP2suZz8oay5nLnRleHRDb250ZW50PWgsZz1rLmcpOmgmJihnPUFoKGgsZixhLnNoYWRvd1Jvb3Qsay5oKSk6Zz9nLnBhcmVudE5vZGV8fChyaSYmLTE8aC5pbmRleE9mKFwiQG1lZGlhXCIpJiYoZy50ZXh0Q29udGVudD1oKSxDaChnLG51bGwsay5oKSk6aCYmKGc9QWgoaCxmLG51bGwsay5oKSk7ZyYmKGcuX3VzZUNvdW50PWcuX3VzZUNvdW50fHwwLGsuZyE9ZyYmZy5fdXNlQ291bnQrKyxrLmc9Zyk7Zj1nO1Z8fChnPWMuTCxrPWg9YS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIixlJiZcbihrPWgucmVwbGFjZShuZXcgUmVnRXhwKFwiXFxcXHMqeC1zY29wZVxcXFxzKlwiK2UrXCJcXFxccypcIixcImdcIiksXCIgXCIpKSxrKz0oaz9cIiBcIjpcIlwiKStcIngtc2NvcGUgXCIrZyxoIT09ayYmSGgoYSxrKSk7ZHx8WWkuc3RvcmUoYixjLlIsZixjLkwpfX07XG5mdW5jdGlvbiBkaihhLGIsYyl7dmFyIGQ9SmgoYikuaXM7aWYoYy5LKXt2YXIgZT1jLkssZjtmb3IoZiBpbiBlKW51bGw9PT1mP2Iuc3R5bGUucmVtb3ZlUHJvcGVydHkoZik6Yi5zdHlsZS5zZXRQcm9wZXJ0eShmLGVbZl0pfWU9U2lbZF07aWYoISghZSYmYiE9PWEuaXx8ZSYmXCJcIiE9PUxoKGUpKSYmZSYmZS5fc3R5bGUmJiFWaShlKSl7aWYoVmkoZSl8fGUuX2FwcGx5U2hpbVZhbGlkYXRpbmdWZXJzaW9uIT09ZS5fYXBwbHlTaGltTmV4dFZlcnNpb24pWmkoYSksYS5oJiZhLmgudHJhbnNmb3JtUnVsZXMoZS5fc3R5bGVBc3QsZCksZS5fc3R5bGUudGV4dENvbnRlbnQ9VWgoYixjLk0pLFdpKGUpO1YmJihhPWIuc2hhZG93Um9vdCkmJihhPWEucXVlcnlTZWxlY3RvcihcInN0eWxlXCIpKSYmKGEudGV4dENvbnRlbnQ9VWgoYixjLk0pKTtjLk09ZS5fc3R5bGVBc3R9fVxuZnVuY3Rpb24gZWooYSxiKXtyZXR1cm4oYj1JaChiKS5nZXRSb290Tm9kZSgpLmhvc3QpP25pKGIpfHwkaShiKT9iOmVqKGEsYik6YS5pfWZ1bmN0aW9uIGNqKGEsYixjKXt2YXIgZD1laihhLGIpLGU9bmkoZCksZj1lLlI7ZD09PWEuaXx8Znx8KGNqKGEsZCxlKSxmPWUuUik7YT1PYmplY3QuY3JlYXRlKGZ8fG51bGwpO2Q9QWkoYixjLk0sYy5jc3NCdWlsZCk7Yj15aShlLk0sYikuUDtPYmplY3QuYXNzaWduKGEsZC5aYSxiLGQuaGIpO2I9Yy5LO2Zvcih2YXIgZyBpbiBiKWlmKChlPWJbZ10pfHwwPT09ZSlhW2ddPWU7Zz1GaTtiPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGEpO2ZvcihlPTA7ZTxiLmxlbmd0aDtlKyspZD1iW2VdLGFbZF09d2koZyxhW2RdLGEpO2MuUj1hfXYuc3R5bGVEb2N1bWVudD1mdW5jdGlvbihhKXt0aGlzLnN0eWxlU3VidHJlZSh0aGlzLmksYSl9O1xudi5zdHlsZVN1YnRyZWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1JaChhKSxkPWMuc2hhZG93Um9vdCxlPWE9PT10aGlzLmk7KGR8fGUpJiZ0aGlzLnN0eWxlRWxlbWVudChhLGIpO2lmKGE9ZT9jOmQpZm9yKGE9QXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwoXCIqXCIpKS5maWx0ZXIoZnVuY3Rpb24oZil7cmV0dXJuIEloKGYpLnNoYWRvd1Jvb3R9KSxiPTA7YjxhLmxlbmd0aDtiKyspdGhpcy5zdHlsZVN1YnRyZWUoYVtiXSl9O1xudi5NYT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9TGgoYSk7YyE9PXRoaXMudS5jc3NCdWlsZCYmKHRoaXMudS5jc3NCdWlsZD1jKTtpZighTWgoYykpe3ZhciBkPXloKGEpO3hoKGQsZnVuY3Rpb24oZSl7aWYoVilsaShlKTtlbHNle3ZhciBmPVFoO2Uuc2VsZWN0b3I9ZS5wYXJzZWRTZWxlY3RvcjtsaShlKTtlLnNlbGVjdG9yPWUuRj1YaChmLGUsZi5pLHZvaWQgMCx2b2lkIDApfVgmJlwiXCI9PT1jJiYoWmkoYiksYi5oJiZiLmgudHJhbnNmb3JtUnVsZShlKSl9KTtYP2EudGV4dENvbnRlbnQ9d2goZCk6dGhpcy51Lk0ucnVsZXMucHVzaChkKX19O3YuZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlPWZ1bmN0aW9uKGEsYil7dmFyIGM7WHx8KGM9KG5pKGEpfHxuaShlaih0aGlzLGEpKSkuUltiXSk7cmV0dXJuKGM9Y3x8d2luZG93LmdldENvbXB1dGVkU3R5bGUoYSkuZ2V0UHJvcGVydHlWYWx1ZShiKSk/Yy50cmltKCk6XCJcIn07XG52LmtiPWZ1bmN0aW9uKGEsYil7dmFyIGM9SWgoYSkuZ2V0Um9vdE5vZGUoKTtiPWI/KFwic3RyaW5nXCI9PT10eXBlb2YgYj9iOlN0cmluZyhiKSkuc3BsaXQoL1xccy8pOltdO2M9Yy5ob3N0JiZjLmhvc3QubG9jYWxOYW1lO2lmKCFjKXt2YXIgZD1hLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpO2lmKGQpe2Q9ZC5zcGxpdCgvXFxzLyk7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDtlKyspaWYoZFtlXT09PVFoLmcpe2M9ZFtlKzFdO2JyZWFrfX19YyYmYi5wdXNoKFFoLmcsYyk7WHx8KGM9bmkoYSkpJiZjLkwmJmIucHVzaChGaS5nLGMuTCk7SGgoYSxiLmpvaW4oXCIgXCIpKX07di5UYT1mdW5jdGlvbihhKXtyZXR1cm4gbmkoYSl9O3YuamI9ZnVuY3Rpb24oYSxiKXtSaChhLGIpfTt2Lm1iPWZ1bmN0aW9uKGEsYil7UmgoYSxiLCEwKX07di5pYj1mdW5jdGlvbihhKXtyZXR1cm4gTmkoYSl9O3YuVmE9ZnVuY3Rpb24oYSl7cmV0dXJuIE1pKGEpfTtZLnByb3RvdHlwZS5mbHVzaD1ZLnByb3RvdHlwZS5mbHVzaDtcblkucHJvdG90eXBlLnByZXBhcmVUZW1wbGF0ZT1ZLnByb3RvdHlwZS5wcmVwYXJlVGVtcGxhdGU7WS5wcm90b3R5cGUuc3R5bGVFbGVtZW50PVkucHJvdG90eXBlLnN0eWxlRWxlbWVudDtZLnByb3RvdHlwZS5zdHlsZURvY3VtZW50PVkucHJvdG90eXBlLnN0eWxlRG9jdW1lbnQ7WS5wcm90b3R5cGUuc3R5bGVTdWJ0cmVlPVkucHJvdG90eXBlLnN0eWxlU3VidHJlZTtZLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlVmFsdWU9WS5wcm90b3R5cGUuZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlO1kucHJvdG90eXBlLnNldEVsZW1lbnRDbGFzcz1ZLnByb3RvdHlwZS5rYjtZLnByb3RvdHlwZS5fc3R5bGVJbmZvRm9yTm9kZT1ZLnByb3RvdHlwZS5UYTtZLnByb3RvdHlwZS50cmFuc2Zvcm1DdXN0b21TdHlsZUZvckRvY3VtZW50PVkucHJvdG90eXBlLk1hO1kucHJvdG90eXBlLmdldFN0eWxlQXN0PVkucHJvdG90eXBlLlhhO1kucHJvdG90eXBlLnN0eWxlQXN0VG9TdHJpbmc9WS5wcm90b3R5cGUubGI7XG5ZLnByb3RvdHlwZS5mbHVzaEN1c3RvbVN0eWxlcz1ZLnByb3RvdHlwZS5mbHVzaEN1c3RvbVN0eWxlcztZLnByb3RvdHlwZS5zY29wZU5vZGU9WS5wcm90b3R5cGUuamI7WS5wcm90b3R5cGUudW5zY29wZU5vZGU9WS5wcm90b3R5cGUubWI7WS5wcm90b3R5cGUuc2NvcGVGb3JOb2RlPVkucHJvdG90eXBlLmliO1kucHJvdG90eXBlLmN1cnJlbnRTY29wZUZvck5vZGU9WS5wcm90b3R5cGUuVmE7WS5wcm90b3R5cGUucHJlcGFyZUFkb3B0ZWRDc3NUZXh0PVkucHJvdG90eXBlLmZiO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFkucHJvdG90eXBlLHtuYXRpdmVTaGFkb3c6e2dldDpmdW5jdGlvbigpe3JldHVybiBWfX0sbmF0aXZlQ3NzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWH19fSk7dmFyIFo9bmV3IFksZmosZ2o7d2luZG93LlNoYWR5Q1NTJiYoZmo9d2luZG93LlNoYWR5Q1NTLkFwcGx5U2hpbSxnaj13aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2UpO1xud2luZG93LlNoYWR5Q1NTPXtTY29waW5nU2hpbTpaLHByZXBhcmVUZW1wbGF0ZTpmdW5jdGlvbihhLGIsYyl7Wi5mbHVzaEN1c3RvbVN0eWxlcygpO1oucHJlcGFyZVRlbXBsYXRlKGEsYixjKX0scHJlcGFyZVRlbXBsYXRlRG9tOmZ1bmN0aW9uKGEsYil7Wi5wcmVwYXJlVGVtcGxhdGVEb20oYSxiKX0scHJlcGFyZVRlbXBsYXRlU3R5bGVzOmZ1bmN0aW9uKGEsYixjKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoYSxiLGMpfSxzdHlsZVN1YnRyZWU6ZnVuY3Rpb24oYSxiKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5zdHlsZVN1YnRyZWUoYSxiKX0sc3R5bGVFbGVtZW50OmZ1bmN0aW9uKGEpe1ouZmx1c2hDdXN0b21TdHlsZXMoKTtaLnN0eWxlRWxlbWVudChhKX0sc3R5bGVEb2N1bWVudDpmdW5jdGlvbihhKXtaLmZsdXNoQ3VzdG9tU3R5bGVzKCk7Wi5zdHlsZURvY3VtZW50KGEpfSxmbHVzaEN1c3RvbVN0eWxlczpmdW5jdGlvbigpe1ouZmx1c2hDdXN0b21TdHlsZXMoKX0sXG5nZXRDb21wdXRlZFN0eWxlVmFsdWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gWi5nZXRDb21wdXRlZFN0eWxlVmFsdWUoYSxiKX0sbmF0aXZlQ3NzOlgsbmF0aXZlU2hhZG93OlYsY3NzQnVpbGQ6bmgsZGlzYWJsZVJ1bnRpbWU6b2h9O2ZqJiYod2luZG93LlNoYWR5Q1NTLkFwcGx5U2hpbT1maik7Z2omJih3aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2U9Z2opOyhmdW5jdGlvbihhKXtmdW5jdGlvbiBiKHQpe1wiXCI9PXQmJihmLmNhbGwodGhpcyksdGhpcy5tPSEwKTtyZXR1cm4gdC50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGModCl7dmFyIEY9dC5jaGFyQ29kZUF0KDApO3JldHVybiAzMjxGJiYxMjc+RiYmLTE9PVszNCwzNSw2MCw2Miw2Myw5Nl0uaW5kZXhPZihGKT90OmVuY29kZVVSSUNvbXBvbmVudCh0KX1mdW5jdGlvbiBkKHQpe3ZhciBGPXQuY2hhckNvZGVBdCgwKTtyZXR1cm4gMzI8RiYmMTI3PkYmJi0xPT1bMzQsMzUsNjAsNjIsOTZdLmluZGV4T2YoRik/dDplbmNvZGVVUklDb21wb25lbnQodCl9ZnVuY3Rpb24gZSh0LEYsRSl7ZnVuY3Rpb24gTShmYSl7c2EucHVzaChmYSl9dmFyIHk9Rnx8XCJzY2hlbWUgc3RhcnRcIixXPTAsdz1cIlwiLHRhPSExLGhhPSExLHNhPVtdO2E6Zm9yKDsodm9pZCAwIT10W1ctMV18fDA9PVcpJiYhdGhpcy5tOyl7dmFyIG49dFtXXTtzd2l0Y2goeSl7Y2FzZSBcInNjaGVtZSBzdGFydFwiOmlmKG4mJnEudGVzdChuKSl3Kz1cbm4udG9Mb3dlckNhc2UoKSx5PVwic2NoZW1lXCI7ZWxzZSBpZihGKXtNKFwiSW52YWxpZCBzY2hlbWUuXCIpO2JyZWFrIGF9ZWxzZXt3PVwiXCI7eT1cIm5vIHNjaGVtZVwiO2NvbnRpbnVlfWJyZWFrO2Nhc2UgXCJzY2hlbWVcIjppZihuJiZILnRlc3Qobikpdys9bi50b0xvd2VyQ2FzZSgpO2Vsc2UgaWYoXCI6XCI9PW4pe3RoaXMubD13O3c9XCJcIjtpZihGKWJyZWFrIGE7dm9pZCAwIT09bFt0aGlzLmxdJiYodGhpcy5HPSEwKTt5PVwiZmlsZVwiPT10aGlzLmw/XCJyZWxhdGl2ZVwiOnRoaXMuRyYmRSYmRS5sPT10aGlzLmw/XCJyZWxhdGl2ZSBvciBhdXRob3JpdHlcIjp0aGlzLkc/XCJhdXRob3JpdHkgZmlyc3Qgc2xhc2hcIjpcInNjaGVtZSBkYXRhXCJ9ZWxzZSBpZihGKXt2b2lkIDAhPW4mJk0oXCJDb2RlIHBvaW50IG5vdCBhbGxvd2VkIGluIHNjaGVtZTogXCIrbik7YnJlYWsgYX1lbHNle3c9XCJcIjtXPTA7eT1cIm5vIHNjaGVtZVwiO2NvbnRpbnVlfWJyZWFrO2Nhc2UgXCJzY2hlbWUgZGF0YVwiOlwiP1wiPT1uPyh0aGlzLkE9XCI/XCIsXG55PVwicXVlcnlcIik6XCIjXCI9PW4/KHRoaXMuQz1cIiNcIix5PVwiZnJhZ21lbnRcIik6dm9pZCAwIT1uJiZcIlxcdFwiIT1uJiZcIlxcblwiIT1uJiZcIlxcclwiIT1uJiYodGhpcy52YSs9YyhuKSk7YnJlYWs7Y2FzZSBcIm5vIHNjaGVtZVwiOmlmKEUmJnZvaWQgMCE9PWxbRS5sXSl7eT1cInJlbGF0aXZlXCI7Y29udGludWV9ZWxzZSBNKFwiTWlzc2luZyBzY2hlbWUuXCIpLGYuY2FsbCh0aGlzKSx0aGlzLm09ITA7YnJlYWs7Y2FzZSBcInJlbGF0aXZlIG9yIGF1dGhvcml0eVwiOmlmKFwiL1wiPT1uJiZcIi9cIj09dFtXKzFdKXk9XCJhdXRob3JpdHkgaWdub3JlIHNsYXNoZXNcIjtlbHNle00oXCJFeHBlY3RlZCAvLCBnb3Q6IFwiK24pO3k9XCJyZWxhdGl2ZVwiO2NvbnRpbnVlfWJyZWFrO2Nhc2UgXCJyZWxhdGl2ZVwiOnRoaXMuRz0hMDtcImZpbGVcIiE9dGhpcy5sJiYodGhpcy5sPUUubCk7aWYodm9pZCAwPT1uKXt0aGlzLm89RS5vO3RoaXMudj1FLnY7dGhpcy5zPUUucy5zbGljZSgpO3RoaXMuQT1FLkE7dGhpcy5CPUUuQjt0aGlzLmo9RS5qO1xuYnJlYWsgYX1lbHNlIGlmKFwiL1wiPT1ufHxcIlxcXFxcIj09bilcIlxcXFxcIj09biYmTShcIlxcXFwgaXMgYW4gaW52YWxpZCBjb2RlIHBvaW50LlwiKSx5PVwicmVsYXRpdmUgc2xhc2hcIjtlbHNlIGlmKFwiP1wiPT1uKXRoaXMubz1FLm8sdGhpcy52PUUudix0aGlzLnM9RS5zLnNsaWNlKCksdGhpcy5BPVwiP1wiLHRoaXMuQj1FLkIsdGhpcy5qPUUuaix5PVwicXVlcnlcIjtlbHNlIGlmKFwiI1wiPT1uKXRoaXMubz1FLm8sdGhpcy52PUUudix0aGlzLnM9RS5zLnNsaWNlKCksdGhpcy5BPUUuQSx0aGlzLkM9XCIjXCIsdGhpcy5CPUUuQix0aGlzLmo9RS5qLHk9XCJmcmFnbWVudFwiO2Vsc2V7eT10W1crMV07dmFyIEo9dFtXKzJdO2lmKFwiZmlsZVwiIT10aGlzLmx8fCFxLnRlc3Qobil8fFwiOlwiIT15JiZcInxcIiE9eXx8dm9pZCAwIT1KJiZcIi9cIiE9SiYmXCJcXFxcXCIhPUomJlwiP1wiIT1KJiZcIiNcIiE9Sil0aGlzLm89RS5vLHRoaXMudj1FLnYsdGhpcy5CPUUuQix0aGlzLmo9RS5qLHRoaXMucz1FLnMuc2xpY2UoKSx0aGlzLnMucG9wKCk7eT1cblwicmVsYXRpdmUgcGF0aFwiO2NvbnRpbnVlfWJyZWFrO2Nhc2UgXCJyZWxhdGl2ZSBzbGFzaFwiOmlmKFwiL1wiPT1ufHxcIlxcXFxcIj09bilcIlxcXFxcIj09biYmTShcIlxcXFwgaXMgYW4gaW52YWxpZCBjb2RlIHBvaW50LlwiKSx5PVwiZmlsZVwiPT10aGlzLmw/XCJmaWxlIGhvc3RcIjpcImF1dGhvcml0eSBpZ25vcmUgc2xhc2hlc1wiO2Vsc2V7XCJmaWxlXCIhPXRoaXMubCYmKHRoaXMubz1FLm8sdGhpcy52PUUudix0aGlzLkI9RS5CLHRoaXMuaj1FLmopO3k9XCJyZWxhdGl2ZSBwYXRoXCI7Y29udGludWV9YnJlYWs7Y2FzZSBcImF1dGhvcml0eSBmaXJzdCBzbGFzaFwiOmlmKFwiL1wiPT1uKXk9XCJhdXRob3JpdHkgc2Vjb25kIHNsYXNoXCI7ZWxzZXtNKFwiRXhwZWN0ZWQgJy8nLCBnb3Q6IFwiK24pO3k9XCJhdXRob3JpdHkgaWdub3JlIHNsYXNoZXNcIjtjb250aW51ZX1icmVhaztjYXNlIFwiYXV0aG9yaXR5IHNlY29uZCBzbGFzaFwiOnk9XCJhdXRob3JpdHkgaWdub3JlIHNsYXNoZXNcIjtpZihcIi9cIiE9bil7TShcIkV4cGVjdGVkICcvJywgZ290OiBcIitcbm4pO2NvbnRpbnVlfWJyZWFrO2Nhc2UgXCJhdXRob3JpdHkgaWdub3JlIHNsYXNoZXNcIjppZihcIi9cIiE9biYmXCJcXFxcXCIhPW4pe3k9XCJhdXRob3JpdHlcIjtjb250aW51ZX1lbHNlIE0oXCJFeHBlY3RlZCBhdXRob3JpdHksIGdvdDogXCIrbik7YnJlYWs7Y2FzZSBcImF1dGhvcml0eVwiOmlmKFwiQFwiPT1uKXt0YSYmKE0oXCJAIGFscmVhZHkgc2Vlbi5cIiksdys9XCIlNDBcIik7dGE9ITA7Zm9yKG49MDtuPHcubGVuZ3RoO24rKylKPXdbbl0sXCJcXHRcIj09Snx8XCJcXG5cIj09Snx8XCJcXHJcIj09Sj9NKFwiSW52YWxpZCB3aGl0ZXNwYWNlIGluIGF1dGhvcml0eS5cIik6XCI6XCI9PUomJm51bGw9PT10aGlzLmo/dGhpcy5qPVwiXCI6KEo9YyhKKSxudWxsIT09dGhpcy5qP3RoaXMuais9Sjp0aGlzLkIrPUopO3c9XCJcIn1lbHNlIGlmKHZvaWQgMD09bnx8XCIvXCI9PW58fFwiXFxcXFwiPT1ufHxcIj9cIj09bnx8XCIjXCI9PW4pe1ctPXcubGVuZ3RoO3c9XCJcIjt5PVwiaG9zdFwiO2NvbnRpbnVlfWVsc2Ugdys9bjticmVhaztjYXNlIFwiZmlsZSBob3N0XCI6aWYodm9pZCAwPT1cbm58fFwiL1wiPT1ufHxcIlxcXFxcIj09bnx8XCI/XCI9PW58fFwiI1wiPT1uKXsyIT13Lmxlbmd0aHx8IXEudGVzdCh3WzBdKXx8XCI6XCIhPXdbMV0mJlwifFwiIT13WzFdPygwIT13Lmxlbmd0aCYmKHRoaXMubz1iLmNhbGwodGhpcyx3KSx3PVwiXCIpLHk9XCJyZWxhdGl2ZSBwYXRoIHN0YXJ0XCIpOnk9XCJyZWxhdGl2ZSBwYXRoXCI7Y29udGludWV9ZWxzZVwiXFx0XCI9PW58fFwiXFxuXCI9PW58fFwiXFxyXCI9PW4/TShcIkludmFsaWQgd2hpdGVzcGFjZSBpbiBmaWxlIGhvc3QuXCIpOncrPW47YnJlYWs7Y2FzZSBcImhvc3RcIjpjYXNlIFwiaG9zdG5hbWVcIjppZihcIjpcIiE9bnx8aGEpaWYodm9pZCAwPT1ufHxcIi9cIj09bnx8XCJcXFxcXCI9PW58fFwiP1wiPT1ufHxcIiNcIj09bil7dGhpcy5vPWIuY2FsbCh0aGlzLHcpO3c9XCJcIjt5PVwicmVsYXRpdmUgcGF0aCBzdGFydFwiO2lmKEYpYnJlYWsgYTtjb250aW51ZX1lbHNlXCJcXHRcIiE9biYmXCJcXG5cIiE9biYmXCJcXHJcIiE9bj8oXCJbXCI9PW4/aGE9ITA6XCJdXCI9PW4mJihoYT0hMSksdys9bik6TShcIkludmFsaWQgY29kZSBwb2ludCBpbiBob3N0L2hvc3RuYW1lOiBcIitcbm4pO2Vsc2UgaWYodGhpcy5vPWIuY2FsbCh0aGlzLHcpLHc9XCJcIix5PVwicG9ydFwiLFwiaG9zdG5hbWVcIj09RilicmVhayBhO2JyZWFrO2Nhc2UgXCJwb3J0XCI6aWYoL1swLTldLy50ZXN0KG4pKXcrPW47ZWxzZSBpZih2b2lkIDA9PW58fFwiL1wiPT1ufHxcIlxcXFxcIj09bnx8XCI/XCI9PW58fFwiI1wiPT1ufHxGKXtcIlwiIT13JiYodz1wYXJzZUludCh3LDEwKSx3IT1sW3RoaXMubF0mJih0aGlzLnY9dytcIlwiKSx3PVwiXCIpO2lmKEYpYnJlYWsgYTt5PVwicmVsYXRpdmUgcGF0aCBzdGFydFwiO2NvbnRpbnVlfWVsc2VcIlxcdFwiPT1ufHxcIlxcblwiPT1ufHxcIlxcclwiPT1uP00oXCJJbnZhbGlkIGNvZGUgcG9pbnQgaW4gcG9ydDogXCIrbik6KGYuY2FsbCh0aGlzKSx0aGlzLm09ITApO2JyZWFrO2Nhc2UgXCJyZWxhdGl2ZSBwYXRoIHN0YXJ0XCI6XCJcXFxcXCI9PW4mJk0oXCInXFxcXCcgbm90IGFsbG93ZWQgaW4gcGF0aC5cIik7eT1cInJlbGF0aXZlIHBhdGhcIjtpZihcIi9cIiE9biYmXCJcXFxcXCIhPW4pY29udGludWU7YnJlYWs7Y2FzZSBcInJlbGF0aXZlIHBhdGhcIjppZih2b2lkIDAhPVxubiYmXCIvXCIhPW4mJlwiXFxcXFwiIT1uJiYoRnx8XCI/XCIhPW4mJlwiI1wiIT1uKSlcIlxcdFwiIT1uJiZcIlxcblwiIT1uJiZcIlxcclwiIT1uJiYodys9YyhuKSk7ZWxzZXtcIlxcXFxcIj09biYmTShcIlxcXFwgbm90IGFsbG93ZWQgaW4gcmVsYXRpdmUgcGF0aC5cIik7aWYoSj1tW3cudG9Mb3dlckNhc2UoKV0pdz1KO1wiLi5cIj09dz8odGhpcy5zLnBvcCgpLFwiL1wiIT1uJiZcIlxcXFxcIiE9biYmdGhpcy5zLnB1c2goXCJcIikpOlwiLlwiPT13JiZcIi9cIiE9biYmXCJcXFxcXCIhPW4/dGhpcy5zLnB1c2goXCJcIik6XCIuXCIhPXcmJihcImZpbGVcIj09dGhpcy5sJiYwPT10aGlzLnMubGVuZ3RoJiYyPT13Lmxlbmd0aCYmcS50ZXN0KHdbMF0pJiZcInxcIj09d1sxXSYmKHc9d1swXStcIjpcIiksdGhpcy5zLnB1c2godykpO3c9XCJcIjtcIj9cIj09bj8odGhpcy5BPVwiP1wiLHk9XCJxdWVyeVwiKTpcIiNcIj09biYmKHRoaXMuQz1cIiNcIix5PVwiZnJhZ21lbnRcIil9YnJlYWs7Y2FzZSBcInF1ZXJ5XCI6Rnx8XCIjXCIhPW4/dm9pZCAwIT1uJiZcIlxcdFwiIT1uJiZcIlxcblwiIT1uJiZcIlxcclwiIT1uJiYodGhpcy5BKz1cbmQobikpOih0aGlzLkM9XCIjXCIseT1cImZyYWdtZW50XCIpO2JyZWFrO2Nhc2UgXCJmcmFnbWVudFwiOnZvaWQgMCE9biYmXCJcXHRcIiE9biYmXCJcXG5cIiE9biYmXCJcXHJcIiE9biYmKHRoaXMuQys9bil9VysrfX1mdW5jdGlvbiBmKCl7dGhpcy5CPXRoaXMudmE9dGhpcy5sPVwiXCI7dGhpcy5qPW51bGw7dGhpcy52PXRoaXMubz1cIlwiO3RoaXMucz1bXTt0aGlzLkM9dGhpcy5BPVwiXCI7dGhpcy5HPXRoaXMubT0hMX1mdW5jdGlvbiBnKHQsRil7dm9pZCAwPT09Rnx8RiBpbnN0YW5jZW9mIGd8fChGPW5ldyBnKFN0cmluZyhGKSkpO3RoaXMuZz10O2YuY2FsbCh0aGlzKTtlLmNhbGwodGhpcyx0aGlzLmcucmVwbGFjZSgvXlsgXFx0XFxyXFxuXFxmXSt8WyBcXHRcXHJcXG5cXGZdKyQvZyxcIlwiKSxudWxsLEYpfXZhciBoPSExO3RyeXt2YXIgaz1uZXcgVVJMKFwiYlwiLFwiaHR0cDovL2FcIik7ay5wYXRobmFtZT1cImMlMjBkXCI7aD1cImh0dHA6Ly9hL2MlMjBkXCI9PT1rLmhyZWZ9Y2F0Y2godCl7fWlmKCFoKXt2YXIgbD1PYmplY3QuY3JlYXRlKG51bGwpO1xubC5mdHA9MjE7bC5maWxlPTA7bC5nb3BoZXI9NzA7bC5odHRwPTgwO2wuaHR0cHM9NDQzO2wud3M9ODA7bC53c3M9NDQzO3ZhciBtPU9iamVjdC5jcmVhdGUobnVsbCk7bVtcIiUyZVwiXT1cIi5cIjttW1wiLiUyZVwiXT1cIi4uXCI7bVtcIiUyZS5cIl09XCIuLlwiO21bXCIlMmUlMmVcIl09XCIuLlwiO3ZhciBxPS9bYS16QS1aXS8sSD0vW2EtekEtWjAtOStcXC0uXS87Zy5wcm90b3R5cGU9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaHJlZn0sZ2V0IGhyZWYoKXtpZih0aGlzLm0pcmV0dXJuIHRoaXMuZzt2YXIgdD1cIlwiO2lmKFwiXCIhPXRoaXMuQnx8bnVsbCE9dGhpcy5qKXQ9dGhpcy5CKyhudWxsIT10aGlzLmo/XCI6XCIrdGhpcy5qOlwiXCIpK1wiQFwiO3JldHVybiB0aGlzLnByb3RvY29sKyh0aGlzLkc/XCIvL1wiK3QrdGhpcy5ob3N0OlwiXCIpK3RoaXMucGF0aG5hbWUrdGhpcy5BK3RoaXMuQ30sc2V0IGhyZWYodCl7Zi5jYWxsKHRoaXMpO2UuY2FsbCh0aGlzLHQpfSxnZXQgcHJvdG9jb2woKXtyZXR1cm4gdGhpcy5sK1xuXCI6XCJ9LHNldCBwcm90b2NvbCh0KXt0aGlzLm18fGUuY2FsbCh0aGlzLHQrXCI6XCIsXCJzY2hlbWUgc3RhcnRcIil9LGdldCBob3N0KCl7cmV0dXJuIHRoaXMubT9cIlwiOnRoaXMudj90aGlzLm8rXCI6XCIrdGhpcy52OnRoaXMub30sc2V0IGhvc3QodCl7IXRoaXMubSYmdGhpcy5HJiZlLmNhbGwodGhpcyx0LFwiaG9zdFwiKX0sZ2V0IGhvc3RuYW1lKCl7cmV0dXJuIHRoaXMub30sc2V0IGhvc3RuYW1lKHQpeyF0aGlzLm0mJnRoaXMuRyYmZS5jYWxsKHRoaXMsdCxcImhvc3RuYW1lXCIpfSxnZXQgcG9ydCgpe3JldHVybiB0aGlzLnZ9LHNldCBwb3J0KHQpeyF0aGlzLm0mJnRoaXMuRyYmZS5jYWxsKHRoaXMsdCxcInBvcnRcIil9LGdldCBwYXRobmFtZSgpe3JldHVybiB0aGlzLm0/XCJcIjp0aGlzLkc/XCIvXCIrdGhpcy5zLmpvaW4oXCIvXCIpOnRoaXMudmF9LHNldCBwYXRobmFtZSh0KXshdGhpcy5tJiZ0aGlzLkcmJih0aGlzLnM9W10sZS5jYWxsKHRoaXMsdCxcInJlbGF0aXZlIHBhdGggc3RhcnRcIikpfSxnZXQgc2VhcmNoKCl7cmV0dXJuIHRoaXMubXx8XG4hdGhpcy5BfHxcIj9cIj09dGhpcy5BP1wiXCI6dGhpcy5BfSxzZXQgc2VhcmNoKHQpeyF0aGlzLm0mJnRoaXMuRyYmKHRoaXMuQT1cIj9cIixcIj9cIj09dFswXSYmKHQ9dC5zbGljZSgxKSksZS5jYWxsKHRoaXMsdCxcInF1ZXJ5XCIpKX0sZ2V0IGhhc2goKXtyZXR1cm4gdGhpcy5tfHwhdGhpcy5DfHxcIiNcIj09dGhpcy5DP1wiXCI6dGhpcy5DfSxzZXQgaGFzaCh0KXt0aGlzLm18fCh0Pyh0aGlzLkM9XCIjXCIsXCIjXCI9PXRbMF0mJih0PXQuc2xpY2UoMSkpLGUuY2FsbCh0aGlzLHQsXCJmcmFnbWVudFwiKSk6dGhpcy5DPVwiXCIpfSxnZXQgb3JpZ2luKCl7dmFyIHQ7aWYodGhpcy5tfHwhdGhpcy5sKXJldHVyblwiXCI7c3dpdGNoKHRoaXMubCl7Y2FzZSBcImRhdGFcIjpjYXNlIFwiZmlsZVwiOmNhc2UgXCJqYXZhc2NyaXB0XCI6Y2FzZSBcIm1haWx0b1wiOnJldHVyblwibnVsbFwifXJldHVybih0PXRoaXMuaG9zdCk/dGhpcy5sK1wiOi8vXCIrdDpcIlwifX07dmFyIEM9YS5VUkw7QyYmKGcuY3JlYXRlT2JqZWN0VVJMPWZ1bmN0aW9uKHQpe3JldHVybiBDLmNyZWF0ZU9iamVjdFVSTC5hcHBseShDLFxuYXJndW1lbnRzKX0sZy5yZXZva2VPYmplY3RVUkw9ZnVuY3Rpb24odCl7Qy5yZXZva2VPYmplY3RVUkwodCl9KTthLlVSTD1nfX0pKHdpbmRvdyk7LypcblxuQ29weXJpZ2h0IChjKSAyMDE4IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cblRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHRcblRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0XG5UaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHRcbkNvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvXG5zdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dFxuKi9cbnZhciBoaj13aW5kb3cuY3VzdG9tRWxlbWVudHMsaWo9ITEsamo9bnVsbDtoai5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrJiZoai5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKGZ1bmN0aW9uKGEpe2pqPWE7aWomJmEoKX0pO2Z1bmN0aW9uIGtqKCl7d2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQuYm9vdHN0cmFwJiZ3aW5kb3cuSFRNTFRlbXBsYXRlRWxlbWVudC5ib290c3RyYXAod2luZG93LmRvY3VtZW50KTtqaiYmamooKTtpaj0hMDt3aW5kb3cuV2ViQ29tcG9uZW50cy5yZWFkeT0hMDtkb2N1bWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChcIldlYkNvbXBvbmVudHNSZWFkeVwiLHtidWJibGVzOiEwfSkpfVxuXCJjb21wbGV0ZVwiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZT8od2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsa2opLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLGZ1bmN0aW9uKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsa2opO2tqKCl9KSk6a2ooKTt9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD13ZWJjb21wb25lbnRzLWJ1bmRsZS5qcy5tYXBcbiIsIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoYykgMjAxOCBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0XG4gKiBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dFxuICogVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0XG4gKiBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzb1xuICogc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHRcbiAqL1xuXG4oZnVuY3Rpb24gKCkge1xuICAndXNlIHN0cmljdCc7XG5cbiAgLyoqXG4gICAqIEJhc2ljIGZsb3cgb2YgdGhlIGxvYWRlciBwcm9jZXNzXG4gICAqXG4gICAqIFRoZXJlIGFyZSA0IGZsb3dzIHRoZSBsb2FkZXIgY2FuIHRha2Ugd2hlbiBib290aW5nIHVwXG4gICAqXG4gICAqIC0gU3luY2hyb25vdXMgc2NyaXB0LCBubyBwb2x5ZmlsbHMgbmVlZGVkXG4gICAqICAgLSB3YWl0IGZvciBgRE9NQ29udGVudExvYWRlZGBcbiAgICogICAtIGZpcmUgV0NSIGV2ZW50LCBhcyB0aGVyZSBjb3VsZCBub3QgYmUgYW55IGNhbGxiYWNrcyBwYXNzZWQgdG8gYHdhaXRGb3JgXG4gICAqXG4gICAqIC0gU3luY2hyb25vdXMgc2NyaXB0LCBwb2x5ZmlsbHMgbmVlZGVkXG4gICAqICAgLSBkb2N1bWVudC53cml0ZSB0aGUgcG9seWZpbGwgYnVuZGxlXG4gICAqICAgLSB3YWl0IG9uIHRoZSBgbG9hZGAgZXZlbnQgb2YgdGhlIGJ1bmRsZSB0byBiYXRjaCBDdXN0b20gRWxlbWVudCB1cGdyYWRlc1xuICAgKiAgIC0gd2FpdCBmb3IgYERPTUNvbnRlbnRMb2FkZWRgXG4gICAqICAgLSBydW4gY2FsbGJhY2tzIHBhc3NlZCB0byBgd2FpdEZvcmBcbiAgICogICAtIGZpcmUgV0NSIGV2ZW50XG4gICAqXG4gICAqIC0gQXN5bmNocm9ub3VzIHNjcmlwdCwgbm8gcG9seWZpbGxzIG5lZWRlZFxuICAgKiAgIC0gd2FpdCBmb3IgYERPTUNvbnRlbnRMb2FkZWRgXG4gICAqICAgLSBydW4gY2FsbGJhY2tzIHBhc3NlZCB0byBgd2FpdEZvcmBcbiAgICogICAtIGZpcmUgV0NSIGV2ZW50XG4gICAqXG4gICAqIC0gQXN5bmNocm9ub3VzIHNjcmlwdCwgcG9seWZpbGxzIG5lZWRlZFxuICAgKiAgIC0gQXBwZW5kIHRoZSBwb2x5ZmlsbCBidW5kbGUgc2NyaXB0XG4gICAqICAgLSB3YWl0IGZvciBgbG9hZGAgZXZlbnQgb2YgdGhlIGJ1bmRsZVxuICAgKiAgIC0gYmF0Y2ggQ3VzdG9tIEVsZW1lbnQgVXBncmFkZXNcbiAgICogICAtIHJ1biBjYWxsYmFja3MgcGFzcyB0byBgd2FpdEZvcmBcbiAgICogICAtIGZpcmUgV0NSIGV2ZW50XG4gICAqL1xuXG4gIHZhciBwb2x5ZmlsbHNMb2FkZWQgPSBmYWxzZTtcbiAgdmFyIHdoZW5Mb2FkZWRGbnMgPSBbXTtcbiAgdmFyIGFsbG93VXBncmFkZXMgPSBmYWxzZTtcbiAgdmFyIGZsdXNoRm47XG5cbiAgZnVuY3Rpb24gZmlyZUV2ZW50KCkge1xuICAgIHdpbmRvdy5XZWJDb21wb25lbnRzLnJlYWR5ID0gdHJ1ZTtcbiAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50KCdXZWJDb21wb25lbnRzUmVhZHknLCB7YnViYmxlczogdHJ1ZX0pXG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGJhdGNoQ3VzdG9tRWxlbWVudHMoKSB7XG4gICAgaWYgKHdpbmRvdy5jdXN0b21FbGVtZW50cyAmJiBjdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrKGZ1bmN0aW9uIChmbHVzaENhbGxiYWNrKSB7XG4gICAgICAgIGZsdXNoRm4gPSBmbHVzaENhbGxiYWNrO1xuICAgICAgICBpZiAoYWxsb3dVcGdyYWRlcykge1xuICAgICAgICAgIGZsdXNoRm4oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYXN5bmNSZWFkeSgpIHtcbiAgICBiYXRjaEN1c3RvbUVsZW1lbnRzKCk7XG4gICAgcmVhZHkoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlYWR5KCkge1xuICAgIC8vIGJvb3RzdHJhcCA8dGVtcGxhdGU+IGVsZW1lbnRzIGJlZm9yZSBjdXN0b20gZWxlbWVudHNcbiAgICBpZiAod2luZG93LkhUTUxUZW1wbGF0ZUVsZW1lbnQgJiYgSFRNTFRlbXBsYXRlRWxlbWVudC5ib290c3RyYXApIHtcbiAgICAgIEhUTUxUZW1wbGF0ZUVsZW1lbnQuYm9vdHN0cmFwKHdpbmRvdy5kb2N1bWVudCk7XG4gICAgfVxuICAgIHBvbHlmaWxsc0xvYWRlZCA9IHRydWU7XG4gICAgcnVuV2hlbkxvYWRlZEZucygpLnRoZW4oZmlyZUV2ZW50KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJ1bldoZW5Mb2FkZWRGbnMoKSB7XG4gICAgYWxsb3dVcGdyYWRlcyA9IGZhbHNlO1xuICAgIHZhciBmbnNNYXAgPSB3aGVuTG9hZGVkRm5zLm1hcChmdW5jdGlvbiAoZm4pIHtcbiAgICAgIHJldHVybiBmbiBpbnN0YW5jZW9mIEZ1bmN0aW9uID8gZm4oKSA6IGZuO1xuICAgIH0pO1xuICAgIHdoZW5Mb2FkZWRGbnMgPSBbXTtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoZm5zTWFwKVxuICAgICAgLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICBhbGxvd1VwZ3JhZGVzID0gdHJ1ZTtcbiAgICAgICAgZmx1c2hGbiAmJiBmbHVzaEZuKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgfSk7XG4gIH1cblxuICB3aW5kb3cuV2ViQ29tcG9uZW50cyA9IHdpbmRvdy5XZWJDb21wb25lbnRzIHx8IHt9O1xuICB3aW5kb3cuV2ViQ29tcG9uZW50cy5yZWFkeSA9IHdpbmRvdy5XZWJDb21wb25lbnRzLnJlYWR5IHx8IGZhbHNlO1xuICB3aW5kb3cuV2ViQ29tcG9uZW50cy53YWl0Rm9yID1cbiAgICB3aW5kb3cuV2ViQ29tcG9uZW50cy53YWl0Rm9yIHx8XG4gICAgZnVuY3Rpb24gKHdhaXRGbikge1xuICAgICAgaWYgKCF3YWl0Rm4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgd2hlbkxvYWRlZEZucy5wdXNoKHdhaXRGbik7XG4gICAgICBpZiAocG9seWZpbGxzTG9hZGVkKSB7XG4gICAgICAgIHJ1bldoZW5Mb2FkZWRGbnMoKTtcbiAgICAgIH1cbiAgICB9O1xuICB3aW5kb3cuV2ViQ29tcG9uZW50cy5fYmF0Y2hDdXN0b21FbGVtZW50cyA9IGJhdGNoQ3VzdG9tRWxlbWVudHM7XG5cbiAgdmFyIG5hbWUgPSAnd2ViY29tcG9uZW50cy1sb2FkZXIuanMnO1xuICAvLyBGZWF0dXJlIGRldGVjdCB3aGljaCBwb2x5ZmlsbCBuZWVkcyB0byBiZSBpbXBvcnRlZC5cbiAgdmFyIHBvbHlmaWxscyA9IFtdO1xuICBpZiAoXG4gICAgIShcbiAgICAgICdhdHRhY2hTaGFkb3cnIGluIEVsZW1lbnQucHJvdG90eXBlICYmICdnZXRSb290Tm9kZScgaW4gRWxlbWVudC5wcm90b3R5cGVcbiAgICApIHx8XG4gICAgKHdpbmRvdy5TaGFkeURPTSAmJiB3aW5kb3cuU2hhZHlET00uZm9yY2UpXG4gICkge1xuICAgIHBvbHlmaWxscy5wdXNoKCdzZCcpO1xuICB9XG4gIGlmICghd2luZG93LmN1c3RvbUVsZW1lbnRzIHx8IHdpbmRvdy5jdXN0b21FbGVtZW50cy5mb3JjZVBvbHlmaWxsKSB7XG4gICAgcG9seWZpbGxzLnB1c2goJ2NlJyk7XG4gIH1cblxuICB2YXIgbmVlZHNUZW1wbGF0ZSA9IChmdW5jdGlvbiAoKSB7XG4gICAgLy8gbm8gcmVhbCA8dGVtcGxhdGU+IGJlY2F1c2Ugbm8gYGNvbnRlbnRgIHByb3BlcnR5IChJRSBhbmQgb2xkZXIgYnJvd3NlcnMpXG4gICAgdmFyIHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZW1wbGF0ZScpO1xuICAgIGlmICghKCdjb250ZW50JyBpbiB0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIGJyb2tlbiBkb2MgZnJhZ21lbnQgKG9sZGVyIEVkZ2UpXG4gICAgaWYgKCEodC5jb250ZW50LmNsb25lTm9kZSgpIGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBicm9rZW4gPHRlbXBsYXRlPiBjbG9uaW5nIChFZGdlIHVwIHRvIGF0IGxlYXN0IHZlcnNpb24gMTcpXG4gICAgdmFyIHQyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTtcbiAgICB0Mi5jb250ZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcbiAgICB0LmNvbnRlbnQuYXBwZW5kQ2hpbGQodDIpO1xuICAgIHZhciBjbG9uZSA9IHQuY2xvbmVOb2RlKHRydWUpO1xuICAgIHJldHVybiAoXG4gICAgICBjbG9uZS5jb250ZW50LmNoaWxkTm9kZXMubGVuZ3RoID09PSAwIHx8XG4gICAgICBjbG9uZS5jb250ZW50LmZpcnN0Q2hpbGQuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMFxuICAgICk7XG4gIH0pKCk7XG5cbiAgLy8gTk9URTogYW55IGJyb3dzZXIgdGhhdCBkb2VzIG5vdCBoYXZlIHRlbXBsYXRlIG9yIEVTNiBmZWF0dXJlc1xuICAvLyBtdXN0IGxvYWQgdGhlIGZ1bGwgc3VpdGUgb2YgcG9seWZpbGxzLlxuICBpZiAoXG4gICAgIXdpbmRvdy5Qcm9taXNlIHx8XG4gICAgIUFycmF5LmZyb20gfHxcbiAgICAhd2luZG93LlVSTCB8fFxuICAgICF3aW5kb3cuU3ltYm9sIHx8XG4gICAgbmVlZHNUZW1wbGF0ZVxuICApIHtcbiAgICBwb2x5ZmlsbHMgPSBbJ3NkLWNlLXBmJ107XG4gIH1cblxuICBpZiAocG9seWZpbGxzLmxlbmd0aCkge1xuICAgIHZhciB1cmw7XG4gICAgdmFyIHBvbHlmaWxsRmlsZSA9ICdidW5kbGVzL3dlYmNvbXBvbmVudHMtJyArIHBvbHlmaWxscy5qb2luKCctJykgKyAnLmpzJztcblxuICAgIC8vIExvYWQgaXQgZnJvbSB0aGUgcmlnaHQgcGxhY2UuXG4gICAgaWYgKHdpbmRvdy5XZWJDb21wb25lbnRzLnJvb3QpIHtcbiAgICAgIHVybCA9IHdpbmRvdy5XZWJDb21wb25lbnRzLnJvb3QgKyBwb2x5ZmlsbEZpbGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzY3JpcHRbc3JjKj1cIicgKyBuYW1lICsgJ1wiXScpO1xuICAgICAgLy8gTG9hZCBpdCBmcm9tIHRoZSByaWdodCBwbGFjZS5cbiAgICAgIHVybCA9IHNjcmlwdC5zcmMucmVwbGFjZShuYW1lLCBwb2x5ZmlsbEZpbGUpO1xuICAgIH1cblxuICAgIHZhciBuZXdTY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBuZXdTY3JpcHQuc3JjID0gdXJsO1xuICAgIC8vIGlmIHJlYWR5U3RhdGUgaXMgJ2xvYWRpbmcnLCB0aGlzIHNjcmlwdCBpcyBzeW5jaHJvbm91c1xuICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnbG9hZGluZycpIHtcbiAgICAgIC8vIG1ha2Ugc3VyZSBjdXN0b20gZWxlbWVudHMgYXJlIGJhdGNoZWQgd2hlbmV2ZXIgcGFyc2VyIGdldHMgdG8gdGhlIGluamVjdGVkIHNjcmlwdFxuICAgICAgbmV3U2NyaXB0LnNldEF0dHJpYnV0ZShcbiAgICAgICAgJ29ubG9hZCcsXG4gICAgICAgICd3aW5kb3cuV2ViQ29tcG9uZW50cy5fYmF0Y2hDdXN0b21FbGVtZW50cygpJ1xuICAgICAgKTtcbiAgICAgIGRvY3VtZW50LndyaXRlKG5ld1NjcmlwdC5vdXRlckhUTUwpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIHJlYWR5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3U2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFzeW5jUmVhZHkoKTtcbiAgICAgIH0pO1xuICAgICAgbmV3U2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgZnVuY3Rpb24gKCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBsb2FkIHBvbHlmaWxsIGJ1bmRsZScgKyB1cmwpO1xuICAgICAgfSk7XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG5ld1NjcmlwdCk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIGlmIHJlYWR5U3RhdGUgaXMgJ2NvbXBsZXRlJywgc2NyaXB0IGlzIGxvYWRlZCBpbXBlcmF0aXZlbHkgb24gYSBzcGVjLWNvbXBsaWFudCBicm93c2VyLCBzbyBqdXN0IGZpcmUgV0NSXG4gICAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScpIHtcbiAgICAgIHBvbHlmaWxsc0xvYWRlZCA9IHRydWU7XG4gICAgICBmaXJlRXZlbnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhpcyBzY3JpcHQgbWF5IGNvbWUgYmV0d2VlbiBEQ0wgYW5kIGxvYWQsIHNvIGxpc3RlbiBmb3IgYm90aCwgYW5kIGNhbmNlbCBsb2FkIGxpc3RlbmVyIGlmIERDTCBmaXJlc1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZWFkeSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZWFkeSk7XG4gICAgICAgIHJlYWR5KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn0pKCk7XG4iLCIvKlxuICogSW50ZXJuYXRpb25hbCBUZWxlcGhvbmUgSW5wdXQgdjE2LjEuMFxuICogaHR0cHM6Ly9naXRodWIuY29tL2phY2tvY25yL2ludGwtdGVsLWlucHV0LmdpdFxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKi9cblxuLy8gd3JhcCBpbiBVTURcbihmdW5jdGlvbihmYWN0b3J5KSB7XG4gICAgaWYgKHR5cGVvZiBtb2R1bGUgPT09IFwib2JqZWN0XCIgJiYgbW9kdWxlLmV4cG9ydHMpIG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpOyBlbHNlIHdpbmRvdy5pbnRsVGVsSW5wdXQgPSBmYWN0b3J5KCk7XG59KShmdW5jdGlvbih1bmRlZmluZWQpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIEFycmF5IG9mIGNvdW50cnkgb2JqZWN0cyBmb3IgdGhlIGZsYWcgZHJvcGRvd24uXG4gICAgICAgIC8vIEhlcmUgaXMgdGhlIGNyaXRlcmlhIGZvciB0aGUgcGx1Z2luIHRvIHN1cHBvcnQgYSBnaXZlbiBjb3VudHJ5L3RlcnJpdG9yeVxuICAgICAgICAvLyAtIEl0IGhhcyBhbiBpc28yIGNvZGU6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT18zMTY2LTFfYWxwaGEtMlxuICAgICAgICAvLyAtIEl0IGhhcyBpdCdzIG93biBjb3VudHJ5IGNhbGxpbmcgY29kZSAoaXQgaXMgbm90IGEgc3ViLXJlZ2lvbiBvZiBhbm90aGVyIGNvdW50cnkpOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaXN0X29mX2NvdW50cnlfY2FsbGluZ19jb2Rlc1xuICAgICAgICAvLyAtIEl0IGhhcyBhIGZsYWcgaW4gdGhlIHJlZ2lvbi1mbGFncyBwcm9qZWN0OiBodHRwczovL2dpdGh1Yi5jb20vYmVoZGFkL3JlZ2lvbi1mbGFncy90cmVlL2doLXBhZ2VzL3BuZ1xuICAgICAgICAvLyAtIEl0IGlzIHN1cHBvcnRlZCBieSBsaWJwaG9uZW51bWJlciAoaXQgbXVzdCBiZSBsaXN0ZWQgb24gdGhpcyBwYWdlKTogaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZWkxOG4vbGlicGhvbmVudW1iZXIvYmxvYi9tYXN0ZXIvcmVzb3VyY2VzL1Nob3J0TnVtYmVyTWV0YWRhdGEueG1sXG4gICAgICAgIC8vIEVhY2ggY291bnRyeSBhcnJheSBoYXMgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjpcbiAgICAgICAgLy8gW1xuICAgICAgICAvLyAgICBDb3VudHJ5IG5hbWUsXG4gICAgICAgIC8vICAgIGlzbzIgY29kZSxcbiAgICAgICAgLy8gICAgSW50ZXJuYXRpb25hbCBkaWFsIGNvZGUsXG4gICAgICAgIC8vICAgIE9yZGVyIChpZiA+MSBjb3VudHJ5IHdpdGggc2FtZSBkaWFsIGNvZGUpLFxuICAgICAgICAvLyAgICBBcmVhIGNvZGVzXG4gICAgICAgIC8vIF1cbiAgICAgICAgdmFyIGFsbENvdW50cmllcyA9IFsgWyBcIkFmZ2hhbmlzdGFuICjigKvYp9mB2LrYp9mG2LPYqtin2YbigKzigI4pXCIsIFwiYWZcIiwgXCI5M1wiIF0sIFsgXCJBbGJhbmlhIChTaHFpcMOrcmkpXCIsIFwiYWxcIiwgXCIzNTVcIiBdLCBbIFwiQWxnZXJpYSAo4oCr2KfZhNis2LLYp9im2LHigKzigI4pXCIsIFwiZHpcIiwgXCIyMTNcIiBdLCBbIFwiQW1lcmljYW4gU2Ftb2FcIiwgXCJhc1wiLCBcIjFcIiwgNSwgWyBcIjY4NFwiIF0gXSwgWyBcIkFuZG9ycmFcIiwgXCJhZFwiLCBcIjM3NlwiIF0sIFsgXCJBbmdvbGFcIiwgXCJhb1wiLCBcIjI0NFwiIF0sIFsgXCJBbmd1aWxsYVwiLCBcImFpXCIsIFwiMVwiLCA2LCBbIFwiMjY0XCIgXSBdLCBbIFwiQW50aWd1YSBhbmQgQmFyYnVkYVwiLCBcImFnXCIsIFwiMVwiLCA3LCBbIFwiMjY4XCIgXSBdLCBbIFwiQXJnZW50aW5hXCIsIFwiYXJcIiwgXCI1NFwiIF0sIFsgXCJBcm1lbmlhICjVgNWh1bXVodW91b/VodW2KVwiLCBcImFtXCIsIFwiMzc0XCIgXSwgWyBcIkFydWJhXCIsIFwiYXdcIiwgXCIyOTdcIiBdLCBbIFwiQXVzdHJhbGlhXCIsIFwiYXVcIiwgXCI2MVwiLCAwIF0sIFsgXCJBdXN0cmlhICjDlnN0ZXJyZWljaClcIiwgXCJhdFwiLCBcIjQzXCIgXSwgWyBcIkF6ZXJiYWlqYW4gKEF6yZlyYmF5Y2FuKVwiLCBcImF6XCIsIFwiOTk0XCIgXSwgWyBcIkJhaGFtYXNcIiwgXCJic1wiLCBcIjFcIiwgOCwgWyBcIjI0MlwiIF0gXSwgWyBcIkJhaHJhaW4gKOKAq9in2YTYqNit2LHZitmG4oCs4oCOKVwiLCBcImJoXCIsIFwiOTczXCIgXSwgWyBcIkJhbmdsYWRlc2ggKOCmrOCmvuCmguCmsuCmvuCmpuCnh+CmtilcIiwgXCJiZFwiLCBcIjg4MFwiIF0sIFsgXCJCYXJiYWRvc1wiLCBcImJiXCIsIFwiMVwiLCA5LCBbIFwiMjQ2XCIgXSBdLCBbIFwiQmVsYXJ1cyAo0JHQtdC70LDRgNGD0YHRjClcIiwgXCJieVwiLCBcIjM3NVwiIF0sIFsgXCJCZWxnaXVtIChCZWxnacOrKVwiLCBcImJlXCIsIFwiMzJcIiBdLCBbIFwiQmVsaXplXCIsIFwiYnpcIiwgXCI1MDFcIiBdLCBbIFwiQmVuaW4gKELDqW5pbilcIiwgXCJialwiLCBcIjIyOVwiIF0sIFsgXCJCZXJtdWRhXCIsIFwiYm1cIiwgXCIxXCIsIDEwLCBbIFwiNDQxXCIgXSBdLCBbIFwiQmh1dGFuICjgvaDgvZbgvrLgvbTgvYIpXCIsIFwiYnRcIiwgXCI5NzVcIiBdLCBbIFwiQm9saXZpYVwiLCBcImJvXCIsIFwiNTkxXCIgXSwgWyBcIkJvc25pYSBhbmQgSGVyemVnb3ZpbmEgKNCR0L7RgdC90LAg0Lgg0KXQtdGA0YbQtdCz0L7QstC40L3QsClcIiwgXCJiYVwiLCBcIjM4N1wiIF0sIFsgXCJCb3Rzd2FuYVwiLCBcImJ3XCIsIFwiMjY3XCIgXSwgWyBcIkJyYXppbCAoQnJhc2lsKVwiLCBcImJyXCIsIFwiNTVcIiBdLCBbIFwiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5XCIsIFwiaW9cIiwgXCIyNDZcIiBdLCBbIFwiQnJpdGlzaCBWaXJnaW4gSXNsYW5kc1wiLCBcInZnXCIsIFwiMVwiLCAxMSwgWyBcIjI4NFwiIF0gXSwgWyBcIkJydW5laVwiLCBcImJuXCIsIFwiNjczXCIgXSwgWyBcIkJ1bGdhcmlhICjQkdGK0LvQs9Cw0YDQuNGPKVwiLCBcImJnXCIsIFwiMzU5XCIgXSwgWyBcIkJ1cmtpbmEgRmFzb1wiLCBcImJmXCIsIFwiMjI2XCIgXSwgWyBcIkJ1cnVuZGkgKFVidXJ1bmRpKVwiLCBcImJpXCIsIFwiMjU3XCIgXSwgWyBcIkNhbWJvZGlhICjhnoDhnpjhn5LhnpbhnrvhnofhnrYpXCIsIFwia2hcIiwgXCI4NTVcIiBdLCBbIFwiQ2FtZXJvb24gKENhbWVyb3VuKVwiLCBcImNtXCIsIFwiMjM3XCIgXSwgWyBcIkNhbmFkYVwiLCBcImNhXCIsIFwiMVwiLCAxLCBbIFwiMjA0XCIsIFwiMjI2XCIsIFwiMjM2XCIsIFwiMjQ5XCIsIFwiMjUwXCIsIFwiMjg5XCIsIFwiMzA2XCIsIFwiMzQzXCIsIFwiMzY1XCIsIFwiMzg3XCIsIFwiNDAzXCIsIFwiNDE2XCIsIFwiNDE4XCIsIFwiNDMxXCIsIFwiNDM3XCIsIFwiNDM4XCIsIFwiNDUwXCIsIFwiNTA2XCIsIFwiNTE0XCIsIFwiNTE5XCIsIFwiNTQ4XCIsIFwiNTc5XCIsIFwiNTgxXCIsIFwiNTg3XCIsIFwiNjA0XCIsIFwiNjEzXCIsIFwiNjM5XCIsIFwiNjQ3XCIsIFwiNjcyXCIsIFwiNzA1XCIsIFwiNzA5XCIsIFwiNzQyXCIsIFwiNzc4XCIsIFwiNzgwXCIsIFwiNzgyXCIsIFwiODA3XCIsIFwiODE5XCIsIFwiODI1XCIsIFwiODY3XCIsIFwiODczXCIsIFwiOTAyXCIsIFwiOTA1XCIgXSBdLCBbIFwiQ2FwZSBWZXJkZSAoS2FidSBWZXJkaSlcIiwgXCJjdlwiLCBcIjIzOFwiIF0sIFsgXCJDYXJpYmJlYW4gTmV0aGVybGFuZHNcIiwgXCJicVwiLCBcIjU5OVwiLCAxLCBbIFwiM1wiLCBcIjRcIiwgXCI3XCIgXSBdLCBbIFwiQ2F5bWFuIElzbGFuZHNcIiwgXCJreVwiLCBcIjFcIiwgMTIsIFsgXCIzNDVcIiBdIF0sIFsgXCJDZW50cmFsIEFmcmljYW4gUmVwdWJsaWMgKFLDqXB1YmxpcXVlIGNlbnRyYWZyaWNhaW5lKVwiLCBcImNmXCIsIFwiMjM2XCIgXSwgWyBcIkNoYWQgKFRjaGFkKVwiLCBcInRkXCIsIFwiMjM1XCIgXSwgWyBcIkNoaWxlXCIsIFwiY2xcIiwgXCI1NlwiIF0sIFsgXCJDaGluYSAo5Lit5Zu9KVwiLCBcImNuXCIsIFwiODZcIiBdLCBbIFwiQ2hyaXN0bWFzIElzbGFuZFwiLCBcImN4XCIsIFwiNjFcIiwgMiBdLCBbIFwiQ29jb3MgKEtlZWxpbmcpIElzbGFuZHNcIiwgXCJjY1wiLCBcIjYxXCIsIDEgXSwgWyBcIkNvbG9tYmlhXCIsIFwiY29cIiwgXCI1N1wiIF0sIFsgXCJDb21vcm9zICjigKvYrNiy2LEg2KfZhNmC2YXYseKArOKAjilcIiwgXCJrbVwiLCBcIjI2OVwiIF0sIFsgXCJDb25nbyAoRFJDKSAoSmFtaHVyaSB5YSBLaWRlbW9rcmFzaWEgeWEgS29uZ28pXCIsIFwiY2RcIiwgXCIyNDNcIiBdLCBbIFwiQ29uZ28gKFJlcHVibGljKSAoQ29uZ28tQnJhenphdmlsbGUpXCIsIFwiY2dcIiwgXCIyNDJcIiBdLCBbIFwiQ29vayBJc2xhbmRzXCIsIFwiY2tcIiwgXCI2ODJcIiBdLCBbIFwiQ29zdGEgUmljYVwiLCBcImNyXCIsIFwiNTA2XCIgXSwgWyBcIkPDtHRlIGTigJlJdm9pcmVcIiwgXCJjaVwiLCBcIjIyNVwiIF0sIFsgXCJDcm9hdGlhIChIcnZhdHNrYSlcIiwgXCJoclwiLCBcIjM4NVwiIF0sIFsgXCJDdWJhXCIsIFwiY3VcIiwgXCI1M1wiIF0sIFsgXCJDdXJhw6dhb1wiLCBcImN3XCIsIFwiNTk5XCIsIDAgXSwgWyBcIkN5cHJ1cyAozprPjc+Az4HOv8+CKVwiLCBcImN5XCIsIFwiMzU3XCIgXSwgWyBcIkN6ZWNoIFJlcHVibGljICjEjGVza8OhIHJlcHVibGlrYSlcIiwgXCJjelwiLCBcIjQyMFwiIF0sIFsgXCJEZW5tYXJrIChEYW5tYXJrKVwiLCBcImRrXCIsIFwiNDVcIiBdLCBbIFwiRGppYm91dGlcIiwgXCJkalwiLCBcIjI1M1wiIF0sIFsgXCJEb21pbmljYVwiLCBcImRtXCIsIFwiMVwiLCAxMywgWyBcIjc2N1wiIF0gXSwgWyBcIkRvbWluaWNhbiBSZXB1YmxpYyAoUmVww7pibGljYSBEb21pbmljYW5hKVwiLCBcImRvXCIsIFwiMVwiLCAyLCBbIFwiODA5XCIsIFwiODI5XCIsIFwiODQ5XCIgXSBdLCBbIFwiRWN1YWRvclwiLCBcImVjXCIsIFwiNTkzXCIgXSwgWyBcIkVneXB0ICjigKvZhdi12LHigKzigI4pXCIsIFwiZWdcIiwgXCIyMFwiIF0sIFsgXCJFbCBTYWx2YWRvclwiLCBcInN2XCIsIFwiNTAzXCIgXSwgWyBcIkVxdWF0b3JpYWwgR3VpbmVhIChHdWluZWEgRWN1YXRvcmlhbClcIiwgXCJncVwiLCBcIjI0MFwiIF0sIFsgXCJFcml0cmVhXCIsIFwiZXJcIiwgXCIyOTFcIiBdLCBbIFwiRXN0b25pYSAoRWVzdGkpXCIsIFwiZWVcIiwgXCIzNzJcIiBdLCBbIFwiRXRoaW9waWFcIiwgXCJldFwiLCBcIjI1MVwiIF0sIFsgXCJGYWxrbGFuZCBJc2xhbmRzIChJc2xhcyBNYWx2aW5hcylcIiwgXCJma1wiLCBcIjUwMFwiIF0sIFsgXCJGYXJvZSBJc2xhbmRzIChGw7hyb3lhcilcIiwgXCJmb1wiLCBcIjI5OFwiIF0sIFsgXCJGaWppXCIsIFwiZmpcIiwgXCI2NzlcIiBdLCBbIFwiRmlubGFuZCAoU3VvbWkpXCIsIFwiZmlcIiwgXCIzNThcIiwgMCBdLCBbIFwiRnJhbmNlXCIsIFwiZnJcIiwgXCIzM1wiIF0sIFsgXCJGcmVuY2ggR3VpYW5hIChHdXlhbmUgZnJhbsOnYWlzZSlcIiwgXCJnZlwiLCBcIjU5NFwiIF0sIFsgXCJGcmVuY2ggUG9seW5lc2lhIChQb2x5bsOpc2llIGZyYW7Dp2Fpc2UpXCIsIFwicGZcIiwgXCI2ODlcIiBdLCBbIFwiR2Fib25cIiwgXCJnYVwiLCBcIjI0MVwiIF0sIFsgXCJHYW1iaWFcIiwgXCJnbVwiLCBcIjIyMFwiIF0sIFsgXCJHZW9yZ2lhICjhg6Hhg5Dhg6Xhg5Dhg6Dhg5fhg5Xhg5Thg5rhg50pXCIsIFwiZ2VcIiwgXCI5OTVcIiBdLCBbIFwiR2VybWFueSAoRGV1dHNjaGxhbmQpXCIsIFwiZGVcIiwgXCI0OVwiIF0sIFsgXCJHaGFuYSAoR2FhbmEpXCIsIFwiZ2hcIiwgXCIyMzNcIiBdLCBbIFwiR2licmFsdGFyXCIsIFwiZ2lcIiwgXCIzNTBcIiBdLCBbIFwiR3JlZWNlICjOlc67zrvOrM60zrEpXCIsIFwiZ3JcIiwgXCIzMFwiIF0sIFsgXCJHcmVlbmxhbmQgKEthbGFhbGxpdCBOdW5hYXQpXCIsIFwiZ2xcIiwgXCIyOTlcIiBdLCBbIFwiR3JlbmFkYVwiLCBcImdkXCIsIFwiMVwiLCAxNCwgWyBcIjQ3M1wiIF0gXSwgWyBcIkd1YWRlbG91cGVcIiwgXCJncFwiLCBcIjU5MFwiLCAwIF0sIFsgXCJHdWFtXCIsIFwiZ3VcIiwgXCIxXCIsIDE1LCBbIFwiNjcxXCIgXSBdLCBbIFwiR3VhdGVtYWxhXCIsIFwiZ3RcIiwgXCI1MDJcIiBdLCBbIFwiR3Vlcm5zZXlcIiwgXCJnZ1wiLCBcIjQ0XCIsIDEsIFsgXCIxNDgxXCIsIFwiNzc4MVwiLCBcIjc4MzlcIiwgXCI3OTExXCIgXSBdLCBbIFwiR3VpbmVhIChHdWluw6llKVwiLCBcImduXCIsIFwiMjI0XCIgXSwgWyBcIkd1aW5lYS1CaXNzYXUgKEd1aW7DqSBCaXNzYXUpXCIsIFwiZ3dcIiwgXCIyNDVcIiBdLCBbIFwiR3V5YW5hXCIsIFwiZ3lcIiwgXCI1OTJcIiBdLCBbIFwiSGFpdGlcIiwgXCJodFwiLCBcIjUwOVwiIF0sIFsgXCJIb25kdXJhc1wiLCBcImhuXCIsIFwiNTA0XCIgXSwgWyBcIkhvbmcgS29uZyAo6aaZ5rivKVwiLCBcImhrXCIsIFwiODUyXCIgXSwgWyBcIkh1bmdhcnkgKE1hZ3lhcm9yc3rDoWcpXCIsIFwiaHVcIiwgXCIzNlwiIF0sIFsgXCJJY2VsYW5kICjDjXNsYW5kKVwiLCBcImlzXCIsIFwiMzU0XCIgXSwgWyBcIkluZGlhICjgpK3gpL7gpLDgpKQpXCIsIFwiaW5cIiwgXCI5MVwiIF0sIFsgXCJJbmRvbmVzaWFcIiwgXCJpZFwiLCBcIjYyXCIgXSwgWyBcIklyYW4gKOKAq9in24zYsdin2YbigKzigI4pXCIsIFwiaXJcIiwgXCI5OFwiIF0sIFsgXCJJcmFxICjigKvYp9mE2LnYsdin2YLigKzigI4pXCIsIFwiaXFcIiwgXCI5NjRcIiBdLCBbIFwiSXJlbGFuZFwiLCBcImllXCIsIFwiMzUzXCIgXSwgWyBcIklzbGUgb2YgTWFuXCIsIFwiaW1cIiwgXCI0NFwiLCAyLCBbIFwiMTYyNFwiLCBcIjc0NTc2XCIsIFwiNzUyNFwiLCBcIjc5MjRcIiwgXCI3NjI0XCIgXSBdLCBbIFwiSXNyYWVsICjigKvXmdep16jXkNec4oCs4oCOKVwiLCBcImlsXCIsIFwiOTcyXCIgXSwgWyBcIkl0YWx5IChJdGFsaWEpXCIsIFwiaXRcIiwgXCIzOVwiLCAwIF0sIFsgXCJKYW1haWNhXCIsIFwiam1cIiwgXCIxXCIsIDQsIFsgXCI4NzZcIiwgXCI2NThcIiBdIF0sIFsgXCJKYXBhbiAo5pel5pysKVwiLCBcImpwXCIsIFwiODFcIiBdLCBbIFwiSmVyc2V5XCIsIFwiamVcIiwgXCI0NFwiLCAzLCBbIFwiMTUzNFwiLCBcIjc1MDlcIiwgXCI3NzAwXCIsIFwiNzc5N1wiLCBcIjc4MjlcIiwgXCI3OTM3XCIgXSBdLCBbIFwiSm9yZGFuICjigKvYp9mE2KPYsdiv2YbigKzigI4pXCIsIFwiam9cIiwgXCI5NjJcIiBdLCBbIFwiS2F6YWtoc3RhbiAo0JrQsNC30LDRhdGB0YLQsNC9KVwiLCBcImt6XCIsIFwiN1wiLCAxLCBbIFwiMzNcIiwgXCI3XCIgXSBdLCBbIFwiS2VueWFcIiwgXCJrZVwiLCBcIjI1NFwiIF0sIFsgXCJLaXJpYmF0aVwiLCBcImtpXCIsIFwiNjg2XCIgXSwgWyBcIktvc292b1wiLCBcInhrXCIsIFwiMzgzXCIgXSwgWyBcIkt1d2FpdCAo4oCr2KfZhNmD2YjZitiq4oCs4oCOKVwiLCBcImt3XCIsIFwiOTY1XCIgXSwgWyBcIkt5cmd5enN0YW4gKNCa0YvRgNCz0YvQt9GB0YLQsNC9KVwiLCBcImtnXCIsIFwiOTk2XCIgXSwgWyBcIkxhb3MgKOC6peC6suC6pylcIiwgXCJsYVwiLCBcIjg1NlwiIF0sIFsgXCJMYXR2aWEgKExhdHZpamEpXCIsIFwibHZcIiwgXCIzNzFcIiBdLCBbIFwiTGViYW5vbiAo4oCr2YTYqNmG2KfZhuKArOKAjilcIiwgXCJsYlwiLCBcIjk2MVwiIF0sIFsgXCJMZXNvdGhvXCIsIFwibHNcIiwgXCIyNjZcIiBdLCBbIFwiTGliZXJpYVwiLCBcImxyXCIsIFwiMjMxXCIgXSwgWyBcIkxpYnlhICjigKvZhNmK2KjZitin4oCs4oCOKVwiLCBcImx5XCIsIFwiMjE4XCIgXSwgWyBcIkxpZWNodGVuc3RlaW5cIiwgXCJsaVwiLCBcIjQyM1wiIF0sIFsgXCJMaXRodWFuaWEgKExpZXR1dmEpXCIsIFwibHRcIiwgXCIzNzBcIiBdLCBbIFwiTHV4ZW1ib3VyZ1wiLCBcImx1XCIsIFwiMzUyXCIgXSwgWyBcIk1hY2F1ICjmvrPploApXCIsIFwibW9cIiwgXCI4NTNcIiBdLCBbIFwiTWFjZWRvbmlhIChGWVJPTSkgKNCc0LDQutC10LTQvtC90LjRmNCwKVwiLCBcIm1rXCIsIFwiMzg5XCIgXSwgWyBcIk1hZGFnYXNjYXIgKE1hZGFnYXNpa2FyYSlcIiwgXCJtZ1wiLCBcIjI2MVwiIF0sIFsgXCJNYWxhd2lcIiwgXCJtd1wiLCBcIjI2NVwiIF0sIFsgXCJNYWxheXNpYVwiLCBcIm15XCIsIFwiNjBcIiBdLCBbIFwiTWFsZGl2ZXNcIiwgXCJtdlwiLCBcIjk2MFwiIF0sIFsgXCJNYWxpXCIsIFwibWxcIiwgXCIyMjNcIiBdLCBbIFwiTWFsdGFcIiwgXCJtdFwiLCBcIjM1NlwiIF0sIFsgXCJNYXJzaGFsbCBJc2xhbmRzXCIsIFwibWhcIiwgXCI2OTJcIiBdLCBbIFwiTWFydGluaXF1ZVwiLCBcIm1xXCIsIFwiNTk2XCIgXSwgWyBcIk1hdXJpdGFuaWEgKOKAq9mF2YjYsdmK2KrYp9mG2YrYp+KArOKAjilcIiwgXCJtclwiLCBcIjIyMlwiIF0sIFsgXCJNYXVyaXRpdXMgKE1vcmlzKVwiLCBcIm11XCIsIFwiMjMwXCIgXSwgWyBcIk1heW90dGVcIiwgXCJ5dFwiLCBcIjI2MlwiLCAxLCBbIFwiMjY5XCIsIFwiNjM5XCIgXSBdLCBbIFwiTWV4aWNvIChNw6l4aWNvKVwiLCBcIm14XCIsIFwiNTJcIiBdLCBbIFwiTWljcm9uZXNpYVwiLCBcImZtXCIsIFwiNjkxXCIgXSwgWyBcIk1vbGRvdmEgKFJlcHVibGljYSBNb2xkb3ZhKVwiLCBcIm1kXCIsIFwiMzczXCIgXSwgWyBcIk1vbmFjb1wiLCBcIm1jXCIsIFwiMzc3XCIgXSwgWyBcIk1vbmdvbGlhICjQnNC+0L3Qs9C+0LspXCIsIFwibW5cIiwgXCI5NzZcIiBdLCBbIFwiTW9udGVuZWdybyAoQ3JuYSBHb3JhKVwiLCBcIm1lXCIsIFwiMzgyXCIgXSwgWyBcIk1vbnRzZXJyYXRcIiwgXCJtc1wiLCBcIjFcIiwgMTYsIFsgXCI2NjRcIiBdIF0sIFsgXCJNb3JvY2NvICjigKvYp9mE2YXYutix2KjigKzigI4pXCIsIFwibWFcIiwgXCIyMTJcIiwgMCBdLCBbIFwiTW96YW1iaXF1ZSAoTW/Dp2FtYmlxdWUpXCIsIFwibXpcIiwgXCIyNThcIiBdLCBbIFwiTXlhbm1hciAoQnVybWEpICjhgJnhgLzhgJThgLrhgJnhgKwpXCIsIFwibW1cIiwgXCI5NVwiIF0sIFsgXCJOYW1pYmlhIChOYW1pYmnDqylcIiwgXCJuYVwiLCBcIjI2NFwiIF0sIFsgXCJOYXVydVwiLCBcIm5yXCIsIFwiNjc0XCIgXSwgWyBcIk5lcGFsICjgpKjgpYfgpKrgpL7gpLIpXCIsIFwibnBcIiwgXCI5NzdcIiBdLCBbIFwiTmV0aGVybGFuZHMgKE5lZGVybGFuZClcIiwgXCJubFwiLCBcIjMxXCIgXSwgWyBcIk5ldyBDYWxlZG9uaWEgKE5vdXZlbGxlLUNhbMOpZG9uaWUpXCIsIFwibmNcIiwgXCI2ODdcIiBdLCBbIFwiTmV3IFplYWxhbmRcIiwgXCJuelwiLCBcIjY0XCIgXSwgWyBcIk5pY2FyYWd1YVwiLCBcIm5pXCIsIFwiNTA1XCIgXSwgWyBcIk5pZ2VyIChOaWphcilcIiwgXCJuZVwiLCBcIjIyN1wiIF0sIFsgXCJOaWdlcmlhXCIsIFwibmdcIiwgXCIyMzRcIiBdLCBbIFwiTml1ZVwiLCBcIm51XCIsIFwiNjgzXCIgXSwgWyBcIk5vcmZvbGsgSXNsYW5kXCIsIFwibmZcIiwgXCI2NzJcIiBdLCBbIFwiTm9ydGggS29yZWEgKOyhsOyEoCDrr7zso7zso7zsnZgg7J2466+8IOqzte2ZlOq1rSlcIiwgXCJrcFwiLCBcIjg1MFwiIF0sIFsgXCJOb3J0aGVybiBNYXJpYW5hIElzbGFuZHNcIiwgXCJtcFwiLCBcIjFcIiwgMTcsIFsgXCI2NzBcIiBdIF0sIFsgXCJOb3J3YXkgKE5vcmdlKVwiLCBcIm5vXCIsIFwiNDdcIiwgMCBdLCBbIFwiT21hbiAo4oCr2LnZj9mF2KfZhuKArOKAjilcIiwgXCJvbVwiLCBcIjk2OFwiIF0sIFsgXCJQYWtpc3RhbiAo4oCr2b7Yp9qp2LPYqtin2YbigKzigI4pXCIsIFwicGtcIiwgXCI5MlwiIF0sIFsgXCJQYWxhdVwiLCBcInB3XCIsIFwiNjgwXCIgXSwgWyBcIlBhbGVzdGluZSAo4oCr2YHZhNiz2LfZitmG4oCs4oCOKVwiLCBcInBzXCIsIFwiOTcwXCIgXSwgWyBcIlBhbmFtYSAoUGFuYW3DoSlcIiwgXCJwYVwiLCBcIjUwN1wiIF0sIFsgXCJQYXB1YSBOZXcgR3VpbmVhXCIsIFwicGdcIiwgXCI2NzVcIiBdLCBbIFwiUGFyYWd1YXlcIiwgXCJweVwiLCBcIjU5NVwiIF0sIFsgXCJQZXJ1IChQZXLDuilcIiwgXCJwZVwiLCBcIjUxXCIgXSwgWyBcIlBoaWxpcHBpbmVzXCIsIFwicGhcIiwgXCI2M1wiIF0sIFsgXCJQb2xhbmQgKFBvbHNrYSlcIiwgXCJwbFwiLCBcIjQ4XCIgXSwgWyBcIlBvcnR1Z2FsXCIsIFwicHRcIiwgXCIzNTFcIiBdLCBbIFwiUHVlcnRvIFJpY29cIiwgXCJwclwiLCBcIjFcIiwgMywgWyBcIjc4N1wiLCBcIjkzOVwiIF0gXSwgWyBcIlFhdGFyICjigKvZgti32LHigKzigI4pXCIsIFwicWFcIiwgXCI5NzRcIiBdLCBbIFwiUsOpdW5pb24gKExhIFLDqXVuaW9uKVwiLCBcInJlXCIsIFwiMjYyXCIsIDAgXSwgWyBcIlJvbWFuaWEgKFJvbcOibmlhKVwiLCBcInJvXCIsIFwiNDBcIiBdLCBbIFwiUnVzc2lhICjQoNC+0YHRgdC40Y8pXCIsIFwicnVcIiwgXCI3XCIsIDAgXSwgWyBcIlJ3YW5kYVwiLCBcInJ3XCIsIFwiMjUwXCIgXSwgWyBcIlNhaW50IEJhcnRow6lsZW15XCIsIFwiYmxcIiwgXCI1OTBcIiwgMSBdLCBbIFwiU2FpbnQgSGVsZW5hXCIsIFwic2hcIiwgXCIyOTBcIiBdLCBbIFwiU2FpbnQgS2l0dHMgYW5kIE5ldmlzXCIsIFwia25cIiwgXCIxXCIsIDE4LCBbIFwiODY5XCIgXSBdLCBbIFwiU2FpbnQgTHVjaWFcIiwgXCJsY1wiLCBcIjFcIiwgMTksIFsgXCI3NThcIiBdIF0sIFsgXCJTYWludCBNYXJ0aW4gKFNhaW50LU1hcnRpbiAocGFydGllIGZyYW7Dp2Fpc2UpKVwiLCBcIm1mXCIsIFwiNTkwXCIsIDIgXSwgWyBcIlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24gKFNhaW50LVBpZXJyZS1ldC1NaXF1ZWxvbilcIiwgXCJwbVwiLCBcIjUwOFwiIF0sIFsgXCJTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lc1wiLCBcInZjXCIsIFwiMVwiLCAyMCwgWyBcIjc4NFwiIF0gXSwgWyBcIlNhbW9hXCIsIFwid3NcIiwgXCI2ODVcIiBdLCBbIFwiU2FuIE1hcmlub1wiLCBcInNtXCIsIFwiMzc4XCIgXSwgWyBcIlPDo28gVG9tw6kgYW5kIFByw61uY2lwZSAoU8OjbyBUb23DqSBlIFByw61uY2lwZSlcIiwgXCJzdFwiLCBcIjIzOVwiIF0sIFsgXCJTYXVkaSBBcmFiaWEgKOKAq9in2YTZhdmF2YTZg9ipINin2YTYudix2KjZitipINin2YTYs9i52YjYr9mK2KnigKzigI4pXCIsIFwic2FcIiwgXCI5NjZcIiBdLCBbIFwiU2VuZWdhbCAoU8OpbsOpZ2FsKVwiLCBcInNuXCIsIFwiMjIxXCIgXSwgWyBcIlNlcmJpYSAo0KHRgNCx0LjRmNCwKVwiLCBcInJzXCIsIFwiMzgxXCIgXSwgWyBcIlNleWNoZWxsZXNcIiwgXCJzY1wiLCBcIjI0OFwiIF0sIFsgXCJTaWVycmEgTGVvbmVcIiwgXCJzbFwiLCBcIjIzMlwiIF0sIFsgXCJTaW5nYXBvcmVcIiwgXCJzZ1wiLCBcIjY1XCIgXSwgWyBcIlNpbnQgTWFhcnRlblwiLCBcInN4XCIsIFwiMVwiLCAyMSwgWyBcIjcyMVwiIF0gXSwgWyBcIlNsb3Zha2lhIChTbG92ZW5za28pXCIsIFwic2tcIiwgXCI0MjFcIiBdLCBbIFwiU2xvdmVuaWEgKFNsb3ZlbmlqYSlcIiwgXCJzaVwiLCBcIjM4NlwiIF0sIFsgXCJTb2xvbW9uIElzbGFuZHNcIiwgXCJzYlwiLCBcIjY3N1wiIF0sIFsgXCJTb21hbGlhIChTb29tYWFsaXlhKVwiLCBcInNvXCIsIFwiMjUyXCIgXSwgWyBcIlNvdXRoIEFmcmljYVwiLCBcInphXCIsIFwiMjdcIiBdLCBbIFwiU291dGggS29yZWEgKOuMgO2VnOuvvOq1rSlcIiwgXCJrclwiLCBcIjgyXCIgXSwgWyBcIlNvdXRoIFN1ZGFuICjigKvYrNmG2YjYqCDYp9mE2LPZiNiv2KfZhuKArOKAjilcIiwgXCJzc1wiLCBcIjIxMVwiIF0sIFsgXCJTcGFpbiAoRXNwYcOxYSlcIiwgXCJlc1wiLCBcIjM0XCIgXSwgWyBcIlNyaSBMYW5rYSAo4LeB4LeK4oCN4La74LeTIOC2veC2guC2muC3j+C3gClcIiwgXCJsa1wiLCBcIjk0XCIgXSwgWyBcIlN1ZGFuICjigKvYp9mE2LPZiNiv2KfZhuKArOKAjilcIiwgXCJzZFwiLCBcIjI0OVwiIF0sIFsgXCJTdXJpbmFtZVwiLCBcInNyXCIsIFwiNTk3XCIgXSwgWyBcIlN2YWxiYXJkIGFuZCBKYW4gTWF5ZW5cIiwgXCJzalwiLCBcIjQ3XCIsIDEsIFsgXCI3OVwiIF0gXSwgWyBcIlN3YXppbGFuZFwiLCBcInN6XCIsIFwiMjY4XCIgXSwgWyBcIlN3ZWRlbiAoU3ZlcmlnZSlcIiwgXCJzZVwiLCBcIjQ2XCIgXSwgWyBcIlN3aXR6ZXJsYW5kIChTY2h3ZWl6KVwiLCBcImNoXCIsIFwiNDFcIiBdLCBbIFwiU3lyaWEgKOKAq9iz2YjYsdmK2KfigKzigI4pXCIsIFwic3lcIiwgXCI5NjNcIiBdLCBbIFwiVGFpd2FuICjlj7DngaMpXCIsIFwidHdcIiwgXCI4ODZcIiBdLCBbIFwiVGFqaWtpc3RhblwiLCBcInRqXCIsIFwiOTkyXCIgXSwgWyBcIlRhbnphbmlhXCIsIFwidHpcIiwgXCIyNTVcIiBdLCBbIFwiVGhhaWxhbmQgKOC5hOC4l+C4oilcIiwgXCJ0aFwiLCBcIjY2XCIgXSwgWyBcIlRpbW9yLUxlc3RlXCIsIFwidGxcIiwgXCI2NzBcIiBdLCBbIFwiVG9nb1wiLCBcInRnXCIsIFwiMjI4XCIgXSwgWyBcIlRva2VsYXVcIiwgXCJ0a1wiLCBcIjY5MFwiIF0sIFsgXCJUb25nYVwiLCBcInRvXCIsIFwiNjc2XCIgXSwgWyBcIlRyaW5pZGFkIGFuZCBUb2JhZ29cIiwgXCJ0dFwiLCBcIjFcIiwgMjIsIFsgXCI4NjhcIiBdIF0sIFsgXCJUdW5pc2lhICjigKvYqtmI2YbYs+KArOKAjilcIiwgXCJ0blwiLCBcIjIxNlwiIF0sIFsgXCJUdXJrZXkgKFTDvHJraXllKVwiLCBcInRyXCIsIFwiOTBcIiBdLCBbIFwiVHVya21lbmlzdGFuXCIsIFwidG1cIiwgXCI5OTNcIiBdLCBbIFwiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzXCIsIFwidGNcIiwgXCIxXCIsIDIzLCBbIFwiNjQ5XCIgXSBdLCBbIFwiVHV2YWx1XCIsIFwidHZcIiwgXCI2ODhcIiBdLCBbIFwiVS5TLiBWaXJnaW4gSXNsYW5kc1wiLCBcInZpXCIsIFwiMVwiLCAyNCwgWyBcIjM0MFwiIF0gXSwgWyBcIlVnYW5kYVwiLCBcInVnXCIsIFwiMjU2XCIgXSwgWyBcIlVrcmFpbmUgKNCj0LrRgNCw0ZfQvdCwKVwiLCBcInVhXCIsIFwiMzgwXCIgXSwgWyBcIlVuaXRlZCBBcmFiIEVtaXJhdGVzICjigKvYp9mE2KXZhdin2LHYp9iqINin2YTYudix2KjZitipINin2YTZhdiq2K3Yr9ip4oCs4oCOKVwiLCBcImFlXCIsIFwiOTcxXCIgXSwgWyBcIlVuaXRlZCBLaW5nZG9tXCIsIFwiZ2JcIiwgXCI0NFwiLCAwIF0sIFsgXCJVbml0ZWQgU3RhdGVzXCIsIFwidXNcIiwgXCIxXCIsIDAgXSwgWyBcIlVydWd1YXlcIiwgXCJ1eVwiLCBcIjU5OFwiIF0sIFsgXCJVemJla2lzdGFuIChPyrt6YmVraXN0b24pXCIsIFwidXpcIiwgXCI5OThcIiBdLCBbIFwiVmFudWF0dVwiLCBcInZ1XCIsIFwiNjc4XCIgXSwgWyBcIlZhdGljYW4gQ2l0eSAoQ2l0dMOgIGRlbCBWYXRpY2FubylcIiwgXCJ2YVwiLCBcIjM5XCIsIDEsIFsgXCIwNjY5OFwiIF0gXSwgWyBcIlZlbmV6dWVsYVwiLCBcInZlXCIsIFwiNThcIiBdLCBbIFwiVmlldG5hbSAoVmnhu4d0IE5hbSlcIiwgXCJ2blwiLCBcIjg0XCIgXSwgWyBcIldhbGxpcyBhbmQgRnV0dW5hIChXYWxsaXMtZXQtRnV0dW5hKVwiLCBcIndmXCIsIFwiNjgxXCIgXSwgWyBcIldlc3Rlcm4gU2FoYXJhICjigKvYp9mE2LXYrdix2KfYoSDYp9mE2LrYsdio2YrYqeKArOKAjilcIiwgXCJlaFwiLCBcIjIxMlwiLCAxLCBbIFwiNTI4OFwiLCBcIjUyODlcIiBdIF0sIFsgXCJZZW1lbiAo4oCr2KfZhNmK2YXZhuKArOKAjilcIiwgXCJ5ZVwiLCBcIjk2N1wiIF0sIFsgXCJaYW1iaWFcIiwgXCJ6bVwiLCBcIjI2MFwiIF0sIFsgXCJaaW1iYWJ3ZVwiLCBcInp3XCIsIFwiMjYzXCIgXSwgWyBcIsOFbGFuZCBJc2xhbmRzXCIsIFwiYXhcIiwgXCIzNThcIiwgMSwgWyBcIjE4XCIgXSBdIF07XG4gICAgICAgIC8vIGxvb3Agb3ZlciBhbGwgb2YgdGhlIGNvdW50cmllcyBhYm92ZSwgcmVzdHJ1Y3R1cmluZyB0aGUgZGF0YSB0byBiZSBvYmplY3RzIHdpdGggbmFtZWQga2V5c1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbENvdW50cmllcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIGMgPSBhbGxDb3VudHJpZXNbaV07XG4gICAgICAgICAgICBhbGxDb3VudHJpZXNbaV0gPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogY1swXSxcbiAgICAgICAgICAgICAgICBpc28yOiBjWzFdLFxuICAgICAgICAgICAgICAgIGRpYWxDb2RlOiBjWzJdLFxuICAgICAgICAgICAgICAgIHByaW9yaXR5OiBjWzNdIHx8IDAsXG4gICAgICAgICAgICAgICAgYXJlYUNvZGVzOiBjWzRdIHx8IG51bGxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgICAgIGZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgICAgICAgICAgIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHtcbiAgICAgICAgICAgIGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpO1xuICAgICAgICAgICAgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpO1xuICAgICAgICAgICAgcmV0dXJuIENvbnN0cnVjdG9yO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpbnRsVGVsSW5wdXRHbG9iYWxzID0ge1xuICAgICAgICAgICAgZ2V0SW5zdGFuY2U6IGZ1bmN0aW9uIGdldEluc3RhbmNlKGlucHV0KSB7XG4gICAgICAgICAgICAgICAgdmFyIGlkID0gaW5wdXQuZ2V0QXR0cmlidXRlKFwiZGF0YS1pbnRsLXRlbC1pbnB1dC1pZFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuaW5zdGFuY2VzW2lkXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbnN0YW5jZXM6IHt9XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSB3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscyA9IGludGxUZWxJbnB1dEdsb2JhbHM7XG4gICAgICAgIC8vIHRoZXNlIHZhcnMgcGVyc2lzdCB0aHJvdWdoIGFsbCBpbnN0YW5jZXMgb2YgdGhlIHBsdWdpblxuICAgICAgICB2YXIgaWQgPSAwO1xuICAgICAgICB2YXIgZGVmYXVsdHMgPSB7XG4gICAgICAgICAgICAvLyB3aGV0aGVyIG9yIG5vdCB0byBhbGxvdyB0aGUgZHJvcGRvd25cbiAgICAgICAgICAgIGFsbG93RHJvcGRvd246IHRydWUsXG4gICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBqdXN0IGEgZGlhbCBjb2RlIGluIHRoZSBpbnB1dDogcmVtb3ZlIGl0IG9uIGJsdXJcbiAgICAgICAgICAgIGF1dG9IaWRlRGlhbENvZGU6IHRydWUsXG4gICAgICAgICAgICAvLyBhZGQgYSBwbGFjZWhvbGRlciBpbiB0aGUgaW5wdXQgd2l0aCBhbiBleGFtcGxlIG51bWJlciBmb3IgdGhlIHNlbGVjdGVkIGNvdW50cnlcbiAgICAgICAgICAgIGF1dG9QbGFjZWhvbGRlcjogXCJwb2xpdGVcIixcbiAgICAgICAgICAgIC8vIG1vZGlmeSB0aGUgcGFyZW50Q2xhc3NcbiAgICAgICAgICAgIGN1c3RvbUNvbnRhaW5lcjogXCJcIixcbiAgICAgICAgICAgIC8vIG1vZGlmeSB0aGUgYXV0byBwbGFjZWhvbGRlclxuICAgICAgICAgICAgY3VzdG9tUGxhY2Vob2xkZXI6IG51bGwsXG4gICAgICAgICAgICAvLyBhcHBlbmQgbWVudSB0byBzcGVjaWZpZWQgZWxlbWVudFxuICAgICAgICAgICAgZHJvcGRvd25Db250YWluZXI6IG51bGwsXG4gICAgICAgICAgICAvLyBkb24ndCBkaXNwbGF5IHRoZXNlIGNvdW50cmllc1xuICAgICAgICAgICAgZXhjbHVkZUNvdW50cmllczogW10sXG4gICAgICAgICAgICAvLyBmb3JtYXQgdGhlIGlucHV0IHZhbHVlIGR1cmluZyBpbml0aWFsaXNhdGlvbiBhbmQgb24gc2V0TnVtYmVyXG4gICAgICAgICAgICBmb3JtYXRPbkRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICAvLyBnZW9JcCBsb29rdXAgZnVuY3Rpb25cbiAgICAgICAgICAgIGdlb0lwTG9va3VwOiBudWxsLFxuICAgICAgICAgICAgLy8gaW5qZWN0IGEgaGlkZGVuIGlucHV0IHdpdGggdGhpcyBuYW1lLCBhbmQgb24gc3VibWl0LCBwb3B1bGF0ZSBpdCB3aXRoIHRoZSByZXN1bHQgb2YgZ2V0TnVtYmVyXG4gICAgICAgICAgICBoaWRkZW5JbnB1dDogXCJcIixcbiAgICAgICAgICAgIC8vIGluaXRpYWwgY291bnRyeVxuICAgICAgICAgICAgaW5pdGlhbENvdW50cnk6IFwiXCIsXG4gICAgICAgICAgICAvLyBsb2NhbGl6ZWQgY291bnRyeSBuYW1lcyBlLmcuIHsgJ2RlJzogJ0RldXRzY2hsYW5kJyB9XG4gICAgICAgICAgICBsb2NhbGl6ZWRDb3VudHJpZXM6IG51bGwsXG4gICAgICAgICAgICAvLyBkb24ndCBpbnNlcnQgaW50ZXJuYXRpb25hbCBkaWFsIGNvZGVzXG4gICAgICAgICAgICBuYXRpb25hbE1vZGU6IHRydWUsXG4gICAgICAgICAgICAvLyBkaXNwbGF5IG9ubHkgdGhlc2UgY291bnRyaWVzXG4gICAgICAgICAgICBvbmx5Q291bnRyaWVzOiBbXSxcbiAgICAgICAgICAgIC8vIG51bWJlciB0eXBlIHRvIHVzZSBmb3IgcGxhY2Vob2xkZXJzXG4gICAgICAgICAgICBwbGFjZWhvbGRlck51bWJlclR5cGU6IFwiTU9CSUxFXCIsXG4gICAgICAgICAgICAvLyB0aGUgY291bnRyaWVzIGF0IHRoZSB0b3Agb2YgdGhlIGxpc3QuIGRlZmF1bHRzIHRvIHVuaXRlZCBzdGF0ZXMgYW5kIHVuaXRlZCBraW5nZG9tXG4gICAgICAgICAgICBwcmVmZXJyZWRDb3VudHJpZXM6IFsgXCJ1c1wiLCBcImdiXCIgXSxcbiAgICAgICAgICAgIC8vIGRpc3BsYXkgdGhlIGNvdW50cnkgZGlhbCBjb2RlIG5leHQgdG8gdGhlIHNlbGVjdGVkIGZsYWcgc28gaXQncyBub3QgcGFydCBvZiB0aGUgdHlwZWQgbnVtYmVyXG4gICAgICAgICAgICBzZXBhcmF0ZURpYWxDb2RlOiBmYWxzZSxcbiAgICAgICAgICAgIC8vIHNwZWNpZnkgdGhlIHBhdGggdG8gdGhlIGxpYnBob25lbnVtYmVyIHNjcmlwdCB0byBlbmFibGUgdmFsaWRhdGlvbi9mb3JtYXR0aW5nXG4gICAgICAgICAgICB1dGlsc1NjcmlwdDogXCJcIlxuICAgICAgICB9O1xuICAgICAgICAvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaXN0X29mX05vcnRoX0FtZXJpY2FuX051bWJlcmluZ19QbGFuX2FyZWFfY29kZXMjTm9uLWdlb2dyYXBoaWNfYXJlYV9jb2Rlc1xuICAgICAgICB2YXIgcmVnaW9ubGVzc05hbnBOdW1iZXJzID0gWyBcIjgwMFwiLCBcIjgyMlwiLCBcIjgzM1wiLCBcIjg0NFwiLCBcIjg1NVwiLCBcIjg2NlwiLCBcIjg3N1wiLCBcIjg4MFwiLCBcIjg4MVwiLCBcIjg4MlwiLCBcIjg4M1wiLCBcIjg4NFwiLCBcIjg4NVwiLCBcIjg4NlwiLCBcIjg4N1wiLCBcIjg4OFwiLCBcIjg4OVwiIF07XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICAvLyBrZWVwIHRyYWNrIG9mIGlmIHRoZSB3aW5kb3cubG9hZCBldmVudCBoYXMgZmlyZWQgYXMgaW1wb3NzaWJsZSB0byBjaGVjayBhZnRlciB0aGUgZmFjdFxuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIC8vIFVQREFURTogdXNlIGEgcHVibGljIHN0YXRpYyBmaWVsZCBzbyB3ZSBjYW4gZnVkZ2UgaXQgaW4gdGhlIHRlc3RzXG4gICAgICAgICAgICAgICAgd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMud2luZG93TG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIHV0aWxpdHkgZnVuY3Rpb24gdG8gaXRlcmF0ZSBvdmVyIGFuIG9iamVjdC4gY2FuJ3QgdXNlIE9iamVjdC5lbnRyaWVzIG9yIG5hdGl2ZSBmb3JFYWNoIGJlY2F1c2VcbiAgICAgICAgLy8gb2YgSUUxMVxuICAgICAgICB2YXIgZm9yRWFjaFByb3AgPSBmdW5jdGlvbiBmb3JFYWNoUHJvcChvYmosIGNhbGxiYWNrKSB7XG4gICAgICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjYWxsYmFjayhrZXlzW2ldLCBvYmpba2V5c1tpXV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICAvLyBydW4gYSBtZXRob2Qgb24gZWFjaCBpbnN0YW5jZSBvZiB0aGUgcGx1Z2luXG4gICAgICAgIHZhciBmb3JFYWNoSW5zdGFuY2UgPSBmdW5jdGlvbiBmb3JFYWNoSW5zdGFuY2UobWV0aG9kKSB7XG4gICAgICAgICAgICBmb3JFYWNoUHJvcCh3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5pbnN0YW5jZXMsIGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLmluc3RhbmNlc1trZXldW21ldGhvZF0oKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICAvLyB0aGlzIGlzIG91ciBwbHVnaW4gY2xhc3MgdGhhdCB3ZSB3aWxsIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgdmFyIEl0aSA9IC8qI19fUFVSRV9fKi9cbiAgICAgICAgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBmdW5jdGlvbiBJdGkoaW5wdXQsIG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJdGkpO1xuICAgICAgICAgICAgICAgIHRoaXMuaWQgPSBpZCsrO1xuICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQgPSBpbnB1dDtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUl0ZW0gPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMuaGlnaGxpZ2h0ZWRJdGVtID0gbnVsbDtcbiAgICAgICAgICAgICAgICAvLyBwcm9jZXNzIHNwZWNpZmllZCBvcHRpb25zIC8gZGVmYXVsdHNcbiAgICAgICAgICAgICAgICAvLyBhbHRlcm5hdGl2ZSB0byBPYmplY3QuYXNzaWduLCB3aGljaCBpc24ndCBzdXBwb3J0ZWQgYnkgSUUxMVxuICAgICAgICAgICAgICAgIHZhciBjdXN0b21PcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB7fTtcbiAgICAgICAgICAgICAgICBmb3JFYWNoUHJvcChkZWZhdWx0cywgZnVuY3Rpb24oa2V5LCB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5vcHRpb25zW2tleV0gPSBjdXN0b21PcHRpb25zLmhhc093blByb3BlcnR5KGtleSkgPyBjdXN0b21PcHRpb25zW2tleV0gOiB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhZEluaXRpYWxQbGFjZWhvbGRlciA9IEJvb2xlYW4oaW5wdXQuZ2V0QXR0cmlidXRlKFwicGxhY2Vob2xkZXJcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgX2NyZWF0ZUNsYXNzKEl0aSwgWyB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9pbml0XCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9pbml0KCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3RoaXMyID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgaW4gbmF0aW9uYWxNb2RlLCBkaXNhYmxlIG9wdGlvbnMgcmVsYXRpbmcgdG8gZGlhbCBjb2Rlc1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm5hdGlvbmFsTW9kZSkgdGhpcy5vcHRpb25zLmF1dG9IaWRlRGlhbENvZGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgc2VwYXJhdGVEaWFsQ29kZSB0aGVuIGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBBKSBpbnNlcnQgZGlhbCBjb2RlIGludG8gaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgLy8gKGF1dG9IaWRlRGlhbENvZGUpLCBhbmQgQikgZGlzcGxheSBuYXRpb25hbCBudW1iZXJzIChiZWNhdXNlIHdlJ3JlIGRpc3BsYXlpbmcgdGhlIGNvdW50cnlcbiAgICAgICAgICAgICAgICAgICAgLy8gZGlhbCBjb2RlIG5leHQgdG8gdGhlbSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5zZXBhcmF0ZURpYWxDb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMuYXV0b0hpZGVEaWFsQ29kZSA9IHRoaXMub3B0aW9ucy5uYXRpb25hbE1vZGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyB3ZSBjYW5ub3QganVzdCB0ZXN0IHNjcmVlbiBzaXplIGFzIHNvbWUgc21hcnRwaG9uZXMvd2Vic2l0ZSBtZXRhIHRhZ3Mgd2lsbCByZXBvcnQgZGVza3RvcFxuICAgICAgICAgICAgICAgICAgICAvLyByZXNvbHV0aW9uc1xuICAgICAgICAgICAgICAgICAgICAvLyBOb3RlOiBmb3Igc29tZSByZWFzb24gamFzbWluZSBicmVha3MgaWYgeW91IHB1dCB0aGlzIGluIHRoZSBtYWluIFBsdWdpbiBmdW5jdGlvbiB3aXRoIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyByZXN0IG9mIHRoZXNlIGRlY2xhcmF0aW9uc1xuICAgICAgICAgICAgICAgICAgICAvLyBOb3RlOiB0byB0YXJnZXQgQW5kcm9pZCBNb2JpbGVzIChhbmQgbm90IFRhYmxldHMpLCB3ZSBtdXN0IGZpbmQgJ0FuZHJvaWQnIGFuZCAnTW9iaWxlJ1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlID0gL0FuZHJvaWQuK01vYmlsZXx3ZWJPU3xpUGhvbmV8aVBvZHxCbGFja0JlcnJ5fElFTW9iaWxlfE9wZXJhIE1pbmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJpZ2dlciB0aGUgbW9iaWxlIGRyb3Bkb3duIGNzc1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKFwiaXRpLW1vYmlsZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9uIG1vYmlsZSwgd2Ugd2FudCBhIGZ1bGwgc2NyZWVuIGRyb3Bkb3duLCBzbyB3ZSBtdXN0IGFwcGVuZCBpdCB0byB0aGUgYm9keVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZHJvcGRvd25Db250YWluZXIpIHRoaXMub3B0aW9ucy5kcm9wZG93bkNvbnRhaW5lciA9IGRvY3VtZW50LmJvZHk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlc2UgcHJvbWlzZXMgZ2V0IHJlc29sdmVkIHdoZW4gdGhlaXIgaW5kaXZpZHVhbCByZXF1ZXN0cyBjb21wbGV0ZVxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIHdheSB0aGUgZGV2IGNhbiBkbyBzb21ldGhpbmcgbGlrZSBpdGkucHJvbWlzZS50aGVuKC4uLikgdG8ga25vdyB3aGVuIGFsbCByZXF1ZXN0cyBhcmVcbiAgICAgICAgICAgICAgICAgICAgLy8gY29tcGxldGVcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBQcm9taXNlICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYXV0b0NvdW50cnlQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMyLnJlc29sdmVBdXRvQ291bnRyeVByb21pc2UgPSByZXNvbHZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzMi5yZWplY3RBdXRvQ291bnRyeVByb21pc2UgPSByZWplY3Q7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1dGlsc1NjcmlwdFByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpczIucmVzb2x2ZVV0aWxzU2NyaXB0UHJvbWlzZSA9IHJlc29sdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMyLnJlamVjdFV0aWxzU2NyaXB0UHJvbWlzZSA9IHJlamVjdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9taXNlID0gUHJvbWlzZS5hbGwoWyBhdXRvQ291bnRyeVByb21pc2UsIHV0aWxzU2NyaXB0UHJvbWlzZSBdKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgZXJyb3JzIHdoZW4gUHJvbWlzZSBkb2Vzbid0IGV4aXN0XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVBdXRvQ291bnRyeVByb21pc2UgPSB0aGlzLnJlamVjdEF1dG9Db3VudHJ5UHJvbWlzZSA9IGZ1bmN0aW9uKCkge307XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVVdGlsc1NjcmlwdFByb21pc2UgPSB0aGlzLnJlamVjdFV0aWxzU2NyaXB0UHJvbWlzZSA9IGZ1bmN0aW9uKCkge307XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gaW4gdmFyaW91cyBzaXR1YXRpb25zIHRoZXJlIGNvdWxkIGJlIG5vIGNvdW50cnkgc2VsZWN0ZWQgaW5pdGlhbGx5LCBidXQgd2UgbmVlZCB0byBiZSBhYmxlXG4gICAgICAgICAgICAgICAgICAgIC8vIHRvIGFzc3VtZSB0aGlzIHZhcmlhYmxlIGV4aXN0c1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcHJvY2VzcyBhbGwgdGhlIGRhdGE6IG9ubHlDb3VudHJpZXMsIGV4Y2x1ZGVDb3VudHJpZXMsIHByZWZlcnJlZENvdW50cmllcyBldGNcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc0NvdW50cnlEYXRhKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGdlbmVyYXRlIHRoZSBtYXJrdXBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VuZXJhdGVNYXJrdXAoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2V0IHRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBpbnB1dCB2YWx1ZSBhbmQgdGhlIHNlbGVjdGVkIGZsYWdcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0SW5pdGlhbFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHN0YXJ0IGFsbCBvZiB0aGUgZXZlbnQgbGlzdGVuZXJzOiBhdXRvSGlkZURpYWxDb2RlLCBpbnB1dCBrZXlkb3duLCBzZWxlY3RlZEZsYWcgY2xpY2tcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5pdExpc3RlbmVycygpO1xuICAgICAgICAgICAgICAgICAgICAvLyB1dGlscyBzY3JpcHQsIGFuZCBhdXRvIGNvdW50cnlcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5pdFJlcXVlc3RzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfcHJvY2Vzc0NvdW50cnlEYXRhXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9wcm9jZXNzQ291bnRyeURhdGEoKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHByb2Nlc3Mgb25seUNvdW50cmllcyBvciBleGNsdWRlQ291bnRyaWVzIGFycmF5IGlmIHByZXNlbnRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc0FsbENvdW50cmllcygpO1xuICAgICAgICAgICAgICAgICAgICAvLyBwcm9jZXNzIHRoZSBjb3VudHJ5Q29kZXMgbWFwXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NDb3VudHJ5Q29kZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcHJvY2VzcyB0aGUgcHJlZmVycmVkQ291bnRyaWVzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NQcmVmZXJyZWRDb3VudHJpZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdHJhbnNsYXRlIGNvdW50cmllcyBhY2NvcmRpbmcgdG8gbG9jYWxpemVkQ291bnRyaWVzIG9wdGlvblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmxvY2FsaXplZENvdW50cmllcykgdGhpcy5fdHJhbnNsYXRlQ291bnRyaWVzQnlMb2NhbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc29ydCBjb3VudHJpZXMgYnkgbmFtZVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9ubHlDb3VudHJpZXMubGVuZ3RoIHx8IHRoaXMub3B0aW9ucy5sb2NhbGl6ZWRDb3VudHJpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyaWVzLnNvcnQodGhpcy5fY291bnRyeU5hbWVTb3J0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2FkZENvdW50cnlDb2RlXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9hZGRDb3VudHJ5Q29kZShpc28yLCBkaWFsQ29kZSwgcHJpb3JpdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRpYWxDb2RlLmxlbmd0aCA+IHRoaXMuZGlhbENvZGVNYXhMZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbENvZGVNYXhMZW4gPSBkaWFsQ29kZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNvdW50cnlDb2Rlcy5oYXNPd25Qcm9wZXJ0eShkaWFsQ29kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUNvZGVzW2RpYWxDb2RlXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGJhaWwgaWYgd2UgYWxyZWFkeSBoYXZlIHRoaXMgY291bnRyeSBmb3IgdGhpcyBkaWFsQ29kZVxuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY291bnRyeUNvZGVzW2RpYWxDb2RlXS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY291bnRyeUNvZGVzW2RpYWxDb2RlXVtpXSA9PT0gaXNvMikgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGZvciB1bmRlZmluZWQgYXMgMCBpcyBmYWxzeVxuICAgICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBwcmlvcml0eSAhPT0gdW5kZWZpbmVkID8gcHJpb3JpdHkgOiB0aGlzLmNvdW50cnlDb2Rlc1tkaWFsQ29kZV0ubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlDb2Rlc1tkaWFsQ29kZV1baW5kZXhdID0gaXNvMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9wcm9jZXNzQWxsQ291bnRyaWVzXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9wcm9jZXNzQWxsQ291bnRyaWVzKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9ubHlDb3VudHJpZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbG93ZXJDYXNlT25seUNvdW50cmllcyA9IHRoaXMub3B0aW9ucy5vbmx5Q291bnRyaWVzLm1hcChmdW5jdGlvbihjb3VudHJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50cnkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb3VudHJpZXMgPSBhbGxDb3VudHJpZXMuZmlsdGVyKGZ1bmN0aW9uKGNvdW50cnkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG93ZXJDYXNlT25seUNvdW50cmllcy5pbmRleE9mKGNvdW50cnkuaXNvMikgPiAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9ucy5leGNsdWRlQ291bnRyaWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxvd2VyQ2FzZUV4Y2x1ZGVDb3VudHJpZXMgPSB0aGlzLm9wdGlvbnMuZXhjbHVkZUNvdW50cmllcy5tYXAoZnVuY3Rpb24oY291bnRyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb3VudHJ5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyaWVzID0gYWxsQ291bnRyaWVzLmZpbHRlcihmdW5jdGlvbihjb3VudHJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvd2VyQ2FzZUV4Y2x1ZGVDb3VudHJpZXMuaW5kZXhPZihjb3VudHJ5LmlzbzIpID09PSAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb3VudHJpZXMgPSBhbGxDb3VudHJpZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl90cmFuc2xhdGVDb3VudHJpZXNCeUxvY2FsZVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfdHJhbnNsYXRlQ291bnRyaWVzQnlMb2NhbGUoKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jb3VudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc28gPSB0aGlzLmNvdW50cmllc1tpXS5pc28yLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmxvY2FsaXplZENvdW50cmllcy5oYXNPd25Qcm9wZXJ0eShpc28pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb3VudHJpZXNbaV0ubmFtZSA9IHRoaXMub3B0aW9ucy5sb2NhbGl6ZWRDb3VudHJpZXNbaXNvXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2NvdW50cnlOYW1lU29ydFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfY291bnRyeU5hbWVTb3J0KGEsIGIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfcHJvY2Vzc0NvdW50cnlDb2Rlc1wiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfcHJvY2Vzc0NvdW50cnlDb2RlcygpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsQ29kZU1heExlbiA9IDA7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUNvZGVzID0ge307XG4gICAgICAgICAgICAgICAgICAgIC8vIGZpcnN0OiBhZGQgZGlhbCBjb2Rlc1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY291bnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYyA9IHRoaXMuY291bnRyaWVzW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWRkQ291bnRyeUNvZGUoYy5pc28yLCBjLmRpYWxDb2RlLCBjLnByaW9yaXR5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBuZXh0OiBhZGQgYXJlYSBjb2Rlc1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIGlzIGEgc2Vjb25kIGxvb3Agb3ZlciBjb3VudHJpZXMsIHRvIG1ha2Ugc3VyZSB3ZSBoYXZlIGFsbCBvZiB0aGUgXCJyb290XCIgY291bnRyaWVzXG4gICAgICAgICAgICAgICAgICAgIC8vIGFscmVhZHkgaW4gdGhlIG1hcCwgc28gdGhhdCB3ZSBjYW4gYWNjZXNzIHRoZW0sIGFzIGVhY2ggdGltZSB3ZSBhZGQgYW4gYXJlYSBjb2RlIHN1YnN0cmluZ1xuICAgICAgICAgICAgICAgICAgICAvLyB0byB0aGUgbWFwLCB3ZSBhbHNvIG5lZWQgdG8gaW5jbHVkZSB0aGUgXCJyb290XCIgY291bnRyeSdzIGNvZGUsIGFzIHRoYXQgYWxzbyBtYXRjaGVzXG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCB0aGlzLmNvdW50cmllcy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYyA9IHRoaXMuY291bnRyaWVzW19pXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFyZWEgY29kZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfYy5hcmVhQ29kZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcm9vdENvdW50cnlDb2RlID0gdGhpcy5jb3VudHJ5Q29kZXNbX2MuZGlhbENvZGVdWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvciBlYWNoIGFyZWEgY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgX2MuYXJlYUNvZGVzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhcmVhQ29kZSA9IF9jLmFyZWFDb2Rlc1tqXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9yIGVhY2ggZGlnaXQgaW4gdGhlIGFyZWEgY29kZSB0byBhZGQgYWxsIHBhcnRpYWwgbWF0Y2hlcyBhcyB3ZWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGsgPSAxOyBrIDwgYXJlYUNvZGUubGVuZ3RoOyBrKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwYXJ0aWFsRGlhbENvZGUgPSBfYy5kaWFsQ29kZSArIGFyZWFDb2RlLnN1YnN0cigwLCBrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0YXJ0IHdpdGggdGhlIHJvb3QgY291bnRyeSwgYXMgdGhhdCBhbHNvIG1hdGNoZXMgdGhpcyBkaWFsIGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FkZENvdW50cnlDb2RlKHJvb3RDb3VudHJ5Q29kZSwgcGFydGlhbERpYWxDb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FkZENvdW50cnlDb2RlKF9jLmlzbzIsIHBhcnRpYWxEaWFsQ29kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIHRoZSBmdWxsIGFyZWEgY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hZGRDb3VudHJ5Q29kZShfYy5pc28yLCBfYy5kaWFsQ29kZSArIGFyZWFDb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9wcm9jZXNzUHJlZmVycmVkQ291bnRyaWVzXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9wcm9jZXNzUHJlZmVycmVkQ291bnRyaWVzKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZWZlcnJlZENvdW50cmllcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub3B0aW9ucy5wcmVmZXJyZWRDb3VudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudHJ5Q29kZSA9IHRoaXMub3B0aW9ucy5wcmVmZXJyZWRDb3VudHJpZXNbaV0udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjb3VudHJ5RGF0YSA9IHRoaXMuX2dldENvdW50cnlEYXRhKGNvdW50cnlDb2RlLCBmYWxzZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnRyeURhdGEpIHRoaXMucHJlZmVycmVkQ291bnRyaWVzLnB1c2goY291bnRyeURhdGEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfY3JlYXRlRWxcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2NyZWF0ZUVsKG5hbWUsIGF0dHJzLCBjb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGF0dHJzKSBmb3JFYWNoUHJvcChhdHRycywgZnVuY3Rpb24oa2V5LCB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVsLnNldEF0dHJpYnV0ZShrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250YWluZXIpIGNvbnRhaW5lci5hcHBlbmRDaGlsZChlbCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9nZW5lcmF0ZU1hcmt1cFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2VuZXJhdGVNYXJrdXAoKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIGF1dG9jb21wbGV0ZSBkb2VzIG5vdCBleGlzdCBvbiB0aGUgZWxlbWVudCBhbmQgaXRzIGZvcm0sIHRoZW5cbiAgICAgICAgICAgICAgICAgICAgLy8gcHJldmVudCBhdXRvY29tcGxldGUgYXMgdGhlcmUncyBubyBzYWZlLCBjcm9zcy1icm93c2VyIGV2ZW50IHdlIGNhbiByZWFjdCB0bywgc28gaXQgY2FuXG4gICAgICAgICAgICAgICAgICAgIC8vIGVhc2lseSBwdXQgdGhlIHBsdWdpbiBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUgZS5nLiB0aGUgd3JvbmcgZmxhZyBzZWxlY3RlZCBmb3IgdGhlXG4gICAgICAgICAgICAgICAgICAgIC8vIGF1dG9jb21wbGV0ZWQgbnVtYmVyLCB3aGljaCBvbiBzdWJtaXQgY291bGQgbWVhbiB3cm9uZyBudW1iZXIgaXMgc2F2ZWQgKGVzcCBpbiBuYXRpb25hbE1vZGUpXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy50ZWxJbnB1dC5oYXNBdHRyaWJ1dGUoXCJhdXRvY29tcGxldGVcIikgJiYgISh0aGlzLnRlbElucHV0LmZvcm0gJiYgdGhpcy50ZWxJbnB1dC5mb3JtLmhhc0F0dHJpYnV0ZShcImF1dG9jb21wbGV0ZVwiKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQuc2V0QXR0cmlidXRlKFwiYXV0b2NvbXBsZXRlXCIsIFwib2ZmXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnRhaW5lcnMgKG1vc3RseSBmb3IgcG9zaXRpb25pbmcpXG4gICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnRDbGFzcyA9IFwiaXRpXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYWxsb3dEcm9wZG93bikgcGFyZW50Q2xhc3MgKz0gXCIgaXRpLS1hbGxvdy1kcm9wZG93blwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUpIHBhcmVudENsYXNzICs9IFwiIGl0aS0tc2VwYXJhdGUtZGlhbC1jb2RlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuY3VzdG9tQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRDbGFzcyArPSBcIiBcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudENsYXNzICs9IHRoaXMub3B0aW9ucy5jdXN0b21Db250YWluZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIHdyYXBwZXIgPSB0aGlzLl9jcmVhdGVFbChcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcImNsYXNzXCI6IHBhcmVudENsYXNzXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdyYXBwZXIsIHRoaXMudGVsSW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZsYWdzQ29udGFpbmVyID0gdGhpcy5fY3JlYXRlRWwoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJjbGFzc1wiOiBcIml0aV9fZmxhZy1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICB9LCB3cmFwcGVyKTtcbiAgICAgICAgICAgICAgICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZCh0aGlzLnRlbElucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2VsZWN0ZWQgZmxhZyAoZGlzcGxheWVkIHRvIGxlZnQgb2YgaW5wdXQpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbGFnID0gdGhpcy5fY3JlYXRlRWwoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJjbGFzc1wiOiBcIml0aV9fc2VsZWN0ZWQtZmxhZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZTogXCJjb21ib2JveFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJhcmlhLW93bnNcIjogXCJjb3VudHJ5LWxpc3Rib3hcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJpYS1leHBhbmRlZFwiOiBcImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5mbGFnc0NvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbGFnSW5uZXIgPSB0aGlzLl9jcmVhdGVFbChcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcImNsYXNzXCI6IFwiaXRpX19mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5zZWxlY3RlZEZsYWcpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREaWFsQ29kZSA9IHRoaXMuX2NyZWF0ZUVsKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNsYXNzXCI6IFwiaXRpX19zZWxlY3RlZC1kaWFsLWNvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5zZWxlY3RlZEZsYWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYWxsb3dEcm9wZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFrZSBlbGVtZW50IGZvY3VzYWJsZSBhbmQgdGFiIG5hdmlnYWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZsYWcuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCIwXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bkFycm93ID0gdGhpcy5fY3JlYXRlRWwoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY2xhc3NcIjogXCJpdGlfX2Fycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHRoaXMuc2VsZWN0ZWRGbGFnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvdW50cnkgZHJvcGRvd246IHByZWZlcnJlZCBjb3VudHJpZXMsIHRoZW4gZGl2aWRlciwgdGhlbiBhbGwgY291bnRyaWVzXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlMaXN0ID0gdGhpcy5fY3JlYXRlRWwoXCJ1bFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjbGFzc1wiOiBcIml0aV9fY291bnRyeS1saXN0IGl0aV9faGlkZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcImNvdW50cnktbGlzdGJveFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6IFwibGlzdGJveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByZWZlcnJlZENvdW50cmllcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hcHBlbmRMaXN0SXRlbXModGhpcy5wcmVmZXJyZWRDb3VudHJpZXMsIFwiaXRpX19wcmVmZXJyZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY3JlYXRlRWwoXCJsaVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY2xhc3NcIjogXCJpdGlfX2RpdmlkZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZTogXCJzZXBhcmF0b3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWRpc2FibGVkXCI6IFwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5jb3VudHJ5TGlzdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hcHBlbmRMaXN0SXRlbXModGhpcy5jb3VudHJpZXMsIFwiaXRpX19zdGFuZGFyZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBkcm9wZG93bkNvbnRhaW5lciBtYXJrdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZHJvcGRvd25Db250YWluZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duID0gdGhpcy5fY3JlYXRlRWwoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNsYXNzXCI6IFwiaXRpIGl0aS0tY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duLmFwcGVuZENoaWxkKHRoaXMuY291bnRyeUxpc3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZsYWdzQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuY291bnRyeUxpc3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuaGlkZGVuSW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBoaWRkZW5JbnB1dE5hbWUgPSB0aGlzLm9wdGlvbnMuaGlkZGVuSW5wdXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZSA9IHRoaXMudGVsSW5wdXQuZ2V0QXR0cmlidXRlKFwibmFtZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBuYW1lLmxhc3RJbmRleE9mKFwiW1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBpbnB1dCBuYW1lIGNvbnRhaW5zIHNxdWFyZSBicmFja2V0cywgdGhlbiBnaXZlIHRoZSBoaWRkZW4gaW5wdXQgdGhlIHNhbWUgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZXBsYWNpbmcgdGhlIGNvbnRlbnRzIG9mIHRoZSBsYXN0IHNldCBvZiBicmFja2V0cyB3aXRoIHRoZSBnaXZlbiBoaWRkZW5JbnB1dCBuYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgIT09IC0xKSBoaWRkZW5JbnB1dE5hbWUgPSBcIlwiLmNvbmNhdChuYW1lLnN1YnN0cigwLCBpKSwgXCJbXCIpLmNvbmNhdChoaWRkZW5JbnB1dE5hbWUsIFwiXVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZGVuSW5wdXQgPSB0aGlzLl9jcmVhdGVFbChcImlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImhpZGRlblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGhpZGRlbklucHV0TmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuaGlkZGVuSW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfYXBwZW5kTGlzdEl0ZW1zXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9hcHBlbmRMaXN0SXRlbXMoY291bnRyaWVzLCBjbGFzc05hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgY3JlYXRlIHNvIG1hbnkgRE9NIGVsZW1lbnRzLCBpdCBpcyBmYXN0ZXIgdG8gYnVpbGQgYSB0ZW1wIHN0cmluZ1xuICAgICAgICAgICAgICAgICAgICAvLyBhbmQgdGhlbiBhZGQgZXZlcnl0aGluZyB0byB0aGUgRE9NIGluIG9uZSBnbyBhdCB0aGUgZW5kXG4gICAgICAgICAgICAgICAgICAgIHZhciB0bXAgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAvLyBmb3IgZWFjaCBjb3VudHJ5XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYyA9IGNvdW50cmllc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZW4gdGhlIGxpc3QgaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wICs9IFwiPGxpIGNsYXNzPSdpdGlfX2NvdW50cnkgXCIuY29uY2F0KGNsYXNzTmFtZSwgXCInIHRhYkluZGV4PSctMScgaWQ9J2l0aS1pdGVtLVwiKS5jb25jYXQoYy5pc28yLCBcIicgcm9sZT0nb3B0aW9uJyBkYXRhLWRpYWwtY29kZT0nXCIpLmNvbmNhdChjLmRpYWxDb2RlLCBcIicgZGF0YS1jb3VudHJ5LWNvZGU9J1wiKS5jb25jYXQoYy5pc28yLCBcIic+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIHRoZSBmbGFnXG4gICAgICAgICAgICAgICAgICAgICAgICB0bXAgKz0gXCI8ZGl2IGNsYXNzPSdpdGlfX2ZsYWctYm94Jz48ZGl2IGNsYXNzPSdpdGlfX2ZsYWcgaXRpX19cIi5jb25jYXQoYy5pc28yLCBcIic+PC9kaXY+PC9kaXY+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIHRoZSBjb3VudHJ5IG5hbWUgYW5kIGRpYWwgY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wICs9IFwiPHNwYW4gY2xhc3M9J2l0aV9fY291bnRyeS1uYW1lJz5cIi5jb25jYXQoYy5uYW1lLCBcIjwvc3Bhbj5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0bXAgKz0gXCI8c3BhbiBjbGFzcz0naXRpX19kaWFsLWNvZGUnPitcIi5jb25jYXQoYy5kaWFsQ29kZSwgXCI8L3NwYW4+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2xvc2UgdGhlIGxpc3QgaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgdG1wICs9IFwiPC9saT5cIjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlMaXN0Lmluc2VydEFkamFjZW50SFRNTChcImJlZm9yZWVuZFwiLCB0bXApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3NldEluaXRpYWxTdGF0ZVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfc2V0SW5pdGlhbFN0YXRlKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdmFsID0gdGhpcy50ZWxJbnB1dC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRpYWxDb2RlID0gdGhpcy5fZ2V0RGlhbENvZGUodmFsKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGlzUmVnaW9ubGVzc05hbnAgPSB0aGlzLl9pc1JlZ2lvbmxlc3NOYW5wKHZhbCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfdGhpcyRvcHRpb25zID0gdGhpcy5vcHRpb25zLCBpbml0aWFsQ291bnRyeSA9IF90aGlzJG9wdGlvbnMuaW5pdGlhbENvdW50cnksIG5hdGlvbmFsTW9kZSA9IF90aGlzJG9wdGlvbnMubmF0aW9uYWxNb2RlLCBhdXRvSGlkZURpYWxDb2RlID0gX3RoaXMkb3B0aW9ucy5hdXRvSGlkZURpYWxDb2RlLCBzZXBhcmF0ZURpYWxDb2RlID0gX3RoaXMkb3B0aW9ucy5zZXBhcmF0ZURpYWxDb2RlO1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiB3ZSBhbHJlYWR5IGhhdmUgYSBkaWFsIGNvZGUsIGFuZCBpdCdzIG5vdCBhIHJlZ2lvbmxlc3NOYW5wLCB3ZSBjYW4gZ28gYWhlYWQgYW5kIHNldCB0aGVcbiAgICAgICAgICAgICAgICAgICAgLy8gZmxhZywgZWxzZSBmYWxsIGJhY2sgdG8gdGhlIGRlZmF1bHQgY291bnRyeVxuICAgICAgICAgICAgICAgICAgICBpZiAoZGlhbENvZGUgJiYgIWlzUmVnaW9ubGVzc05hbnApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUZsYWdGcm9tTnVtYmVyKHZhbCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5pdGlhbENvdW50cnkgIT09IFwiYXV0b1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzZWUgaWYgd2Ugc2hvdWxkIHNlbGVjdCBhIGZsYWdcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbml0aWFsQ291bnRyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldEZsYWcoaW5pdGlhbENvdW50cnkudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkaWFsQ29kZSAmJiBpc1JlZ2lvbmxlc3NOYW5wKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhcyBpbnRsIGRpYWwgY29kZSwgaXMgcmVnaW9ubGVzcyBuYW5wLCBhbmQgbm8gaW5pdGlhbENvdW50cnksIHNvIGRlZmF1bHQgdG8gVVNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0RmxhZyhcInVzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vIGRpYWwgY29kZSBhbmQgbm8gaW5pdGlhbENvdW50cnksIHNvIGRlZmF1bHQgdG8gZmlyc3QgaW4gbGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5ID0gdGhpcy5wcmVmZXJyZWRDb3VudHJpZXMubGVuZ3RoID8gdGhpcy5wcmVmZXJyZWRDb3VudHJpZXNbMF0uaXNvMiA6IHRoaXMuY291bnRyaWVzWzBdLmlzbzI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdmFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZXRGbGFnKHRoaXMuZGVmYXVsdENvdW50cnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgZW1wdHkgYW5kIG5vIG5hdGlvbmFsTW9kZSBhbmQgbm8gYXV0b0hpZGVEaWFsQ29kZSB0aGVuIGluc2VydCB0aGUgZGVmYXVsdCBkaWFsIGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdmFsICYmICFuYXRpb25hbE1vZGUgJiYgIWF1dG9IaWRlRGlhbENvZGUgJiYgIXNlcGFyYXRlRGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnZhbHVlID0gXCIrXCIuY29uY2F0KHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5kaWFsQ29kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogaWYgaW5pdGlhbENvdW50cnkgaXMgc2V0IHRvIGF1dG8sIHRoYXQgd2lsbCBiZSBoYW5kbGVkIHNlcGFyYXRlbHlcbiAgICAgICAgICAgICAgICAgICAgLy8gZm9ybWF0IC0gbm90ZSB0aGlzIHdvbnQgYmUgcnVuIGFmdGVyIF91cGRhdGVEaWFsQ29kZSBhcyB0aGF0J3Mgb25seSBjYWxsZWQgaWYgbm8gdmFsXG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWwpIHRoaXMuX3VwZGF0ZVZhbEZyb21OdW1iZXIodmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9pbml0TGlzdGVuZXJzXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9pbml0TGlzdGVuZXJzKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbml0S2V5TGlzdGVuZXJzKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXV0b0hpZGVEaWFsQ29kZSkgdGhpcy5faW5pdEJsdXJMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd0Ryb3Bkb3duKSB0aGlzLl9pbml0RHJvcGRvd25MaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGlkZGVuSW5wdXQpIHRoaXMuX2luaXRIaWRkZW5JbnB1dExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfaW5pdEhpZGRlbklucHV0TGlzdGVuZXJcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2luaXRIaWRkZW5JbnB1dExpc3RlbmVyKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3RoaXMzID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlSGlkZGVuSW5wdXRTdWJtaXQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzMy5oaWRkZW5JbnB1dC52YWx1ZSA9IF90aGlzMy5nZXROdW1iZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudGVsSW5wdXQuZm9ybSkgdGhpcy50ZWxJbnB1dC5mb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgdGhpcy5faGFuZGxlSGlkZGVuSW5wdXRTdWJtaXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2dldENsb3Nlc3RMYWJlbFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0Q2xvc2VzdExhYmVsKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZWwgPSB0aGlzLnRlbElucHV0O1xuICAgICAgICAgICAgICAgICAgICB3aGlsZSAoZWwgJiYgZWwudGFnTmFtZSAhPT0gXCJMQUJFTFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbCA9IGVsLnBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2luaXREcm9wZG93bkxpc3RlbmVyc1wiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfaW5pdERyb3Bkb3duTGlzdGVuZXJzKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3RoaXM0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgLy8gaGFjayBmb3IgaW5wdXQgbmVzdGVkIGluc2lkZSBsYWJlbCAod2hpY2ggaXMgdmFsaWQgbWFya3VwKTogY2xpY2tpbmcgdGhlIHNlbGVjdGVkLWZsYWcgdG9cbiAgICAgICAgICAgICAgICAgICAgLy8gb3BlbiB0aGUgZHJvcGRvd24gd291bGQgdGhlbiBhdXRvbWF0aWNhbGx5IHRyaWdnZXIgYSAybmQgY2xpY2sgb24gdGhlIGlucHV0IHdoaWNoIHdvdWxkXG4gICAgICAgICAgICAgICAgICAgIC8vIGNsb3NlIGl0IGFnYWluXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUxhYmVsQ2xpY2sgPSBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB0aGUgZHJvcGRvd24gaXMgY2xvc2VkLCB0aGVuIGZvY3VzIHRoZSBpbnB1dCwgZWxzZSBpZ25vcmUgdGhlIGNsaWNrXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX3RoaXM0LmNvdW50cnlMaXN0LmNsYXNzTGlzdC5jb250YWlucyhcIml0aV9faGlkZVwiKSkgX3RoaXM0LnRlbElucHV0LmZvY3VzKCk7IGVsc2UgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB2YXIgbGFiZWwgPSB0aGlzLl9nZXRDbG9zZXN0TGFiZWwoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxhYmVsKSBsYWJlbC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5faGFuZGxlTGFiZWxDbGljayk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRvZ2dsZSBjb3VudHJ5IGRyb3Bkb3duIG9uIGNsaWNrXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUNsaWNrU2VsZWN0ZWRGbGFnID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IGludGVyY2VwdCB0aGlzIGV2ZW50IGlmIHdlJ3JlIG9wZW5pbmcgdGhlIGRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlbHNlIGxldCBpdCBidWJibGUgdXAgdG8gdGhlIHRvcCAoXCJjbGljay1vZmYtdG8tY2xvc2VcIiBsaXN0ZW5lcilcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdlIGNhbm5vdCBqdXN0IHN0b3BQcm9wYWdhdGlvbiBhcyBpdCBtYXkgYmUgbmVlZGVkIHRvIGNsb3NlIGFub3RoZXIgaW5zdGFuY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfdGhpczQuY291bnRyeUxpc3QuY2xhc3NMaXN0LmNvbnRhaW5zKFwiaXRpX19oaWRlXCIpICYmICFfdGhpczQudGVsSW5wdXQuZGlzYWJsZWQgJiYgIV90aGlzNC50ZWxJbnB1dC5yZWFkT25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzNC5fc2hvd0Ryb3Bkb3duKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbGFnLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLl9oYW5kbGVDbGlja1NlbGVjdGVkRmxhZyk7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9wZW4gZHJvcGRvd24gbGlzdCBpZiBjdXJyZW50bHkgZm9jdXNlZFxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVGbGFnc0NvbnRhaW5lcktleWRvd24gPSBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXNEcm9wZG93bkhpZGRlbiA9IF90aGlzNC5jb3VudHJ5TGlzdC5jbGFzc0xpc3QuY29udGFpbnMoXCJpdGlfX2hpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNEcm9wZG93bkhpZGRlbiAmJiBbIFwiQXJyb3dVcFwiLCBcIlVwXCIsIFwiQXJyb3dEb3duXCIsIFwiRG93blwiLCBcIiBcIiwgXCJFbnRlclwiIF0uaW5kZXhPZihlLmtleSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcHJldmVudCBmb3JtIGZyb20gYmVpbmcgc3VibWl0dGVkIGlmIFwiRU5URVJcIiB3YXMgcHJlc3NlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IGV2ZW50IGZyb20gYmVpbmcgaGFuZGxlZCBhZ2FpbiBieSBkb2N1bWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoaXM0Ll9zaG93RHJvcGRvd24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFsbG93IG5hdmlnYXRpb24gZnJvbSBkcm9wZG93biB0byBpbnB1dCBvbiBUQUJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gXCJUYWJcIikgX3RoaXM0Ll9jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmxhZ3NDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5faGFuZGxlRmxhZ3NDb250YWluZXJLZXlkb3duKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9pbml0UmVxdWVzdHNcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2luaXRSZXF1ZXN0cygpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF90aGlzNSA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSB1c2VyIGhhcyBzcGVjaWZpZWQgdGhlIHBhdGggdG8gdGhlIHV0aWxzIHNjcmlwdCwgZmV0Y2ggaXQgb24gd2luZG93LmxvYWQsIGVsc2UgcmVzb2x2ZVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnV0aWxzU2NyaXB0ICYmICF3aW5kb3cuaW50bFRlbElucHV0VXRpbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBwbHVnaW4gaXMgYmVpbmcgaW5pdGlhbGlzZWQgYWZ0ZXIgdGhlIHdpbmRvdy5sb2FkIGV2ZW50IGhhcyBhbHJlYWR5IGJlZW4gZmlyZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy53aW5kb3dMb2FkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5sb2FkVXRpbHModGhpcy5vcHRpb25zLnV0aWxzU2NyaXB0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2FpdCB1bnRpbCB0aGUgbG9hZCBldmVudCBzbyB3ZSBkb24ndCBibG9jayBhbnkgb3RoZXIgcmVxdWVzdHMgZS5nLiB0aGUgZmxhZ3MgaW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLmxvYWRVdGlscyhfdGhpczUub3B0aW9ucy51dGlsc1NjcmlwdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB0aGlzLnJlc29sdmVVdGlsc1NjcmlwdFByb21pc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5pbml0aWFsQ291bnRyeSA9PT0gXCJhdXRvXCIpIHRoaXMuX2xvYWRBdXRvQ291bnRyeSgpOyBlbHNlIHRoaXMucmVzb2x2ZUF1dG9Db3VudHJ5UHJvbWlzZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2xvYWRBdXRvQ291bnRyeVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfbG9hZEF1dG9Db3VudHJ5KCkge1xuICAgICAgICAgICAgICAgICAgICAvLyAzIG9wdGlvbnM6XG4gICAgICAgICAgICAgICAgICAgIC8vIDEpIGFscmVhZHkgbG9hZGVkICh3ZSdyZSBkb25lKVxuICAgICAgICAgICAgICAgICAgICAvLyAyKSBub3QgYWxyZWFkeSBzdGFydGVkIGxvYWRpbmcgKHN0YXJ0KVxuICAgICAgICAgICAgICAgICAgICAvLyAzKSBhbHJlYWR5IHN0YXJ0ZWQgbG9hZGluZyAoZG8gbm90aGluZyAtIGp1c3Qgd2FpdCBmb3IgbG9hZGluZyBjYWxsYmFjayB0byBmaXJlKVxuICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuYXV0b0NvdW50cnkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0b0NvdW50cnkoKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuc3RhcnRlZExvYWRpbmdBdXRvQ291bnRyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZG9uJ3QgZG8gdGhpcyB0d2ljZSFcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLnN0YXJ0ZWRMb2FkaW5nQXV0b0NvdW50cnkgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuZ2VvSXBMb29rdXAgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5nZW9JcExvb2t1cChmdW5jdGlvbihjb3VudHJ5Q29kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5hdXRvQ291bnRyeSA9IGNvdW50cnlDb2RlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRlbGwgYWxsIGluc3RhbmNlcyB0aGUgYXV0byBjb3VudHJ5IGlzIHJlYWR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IHRoaXMgc2hvdWxkIGp1c3QgYmUgdGhlIGN1cnJlbnQgaW5zdGFuY2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVQREFURTogdXNlIHNldFRpbWVvdXQgaW4gY2FzZSB0aGVpciBnZW9JcExvb2t1cCBmdW5jdGlvbiBjYWxscyB0aGlzIGNhbGxiYWNrIHN0cmFpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGF3YXkgKGUuZy4gaWYgdGhleSBoYXZlIGFscmVhZHkgZG9uZSB0aGUgZ2VvIGlwIGxvb2t1cCBzb21ld2hlcmUgZWxzZSkuIFVzaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNldFRpbWVvdXQgbWVhbnMgdGhhdCB0aGUgY3VycmVudCB0aHJlYWQgb2YgZXhlY3V0aW9uIHdpbGwgZmluaXNoIGJlZm9yZSBleGVjdXRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcywgd2hpY2ggYWxsb3dzIHRoZSBwbHVnaW4gdG8gZmluaXNoIGluaXRpYWxpc2luZy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmb3JFYWNoSW5zdGFuY2UoXCJoYW5kbGVBdXRvQ291bnRyeVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmb3JFYWNoSW5zdGFuY2UoXCJyZWplY3RBdXRvQ291bnRyeVByb21pc2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9pbml0S2V5TGlzdGVuZXJzXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9pbml0S2V5TGlzdGVuZXJzKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3RoaXM2ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIGZsYWcgb24ga2V5dXBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlS2V5dXBFdmVudCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF90aGlzNi5fdXBkYXRlRmxhZ0Zyb21OdW1iZXIoX3RoaXM2LnRlbElucHV0LnZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzNi5fdHJpZ2dlckNvdW50cnlDaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC5hZGRFdmVudExpc3RlbmVyKFwia2V5dXBcIiwgdGhpcy5faGFuZGxlS2V5dXBFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSBmbGFnIG9uIGN1dC9wYXN0ZSBldmVudHMgKG5vdyBzdXBwb3J0ZWQgaW4gYWxsIG1ham9yIGJyb3dzZXJzKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVDbGlwYm9hcmRFdmVudCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFjayBiZWNhdXNlIFwicGFzdGVcIiBldmVudCBpcyBmaXJlZCBiZWZvcmUgaW5wdXQgaXMgdXBkYXRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChfdGhpczYuX2hhbmRsZUtleXVwRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LmFkZEV2ZW50TGlzdGVuZXIoXCJjdXRcIiwgdGhpcy5faGFuZGxlQ2xpcGJvYXJkRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LmFkZEV2ZW50TGlzdGVuZXIoXCJwYXN0ZVwiLCB0aGlzLl9oYW5kbGVDbGlwYm9hcmRFdmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfY2FwXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9jYXAobnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSB0aGlzLnRlbElucHV0LmdldEF0dHJpYnV0ZShcIm1heGxlbmd0aFwiKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1heCAmJiBudW1iZXIubGVuZ3RoID4gbWF4ID8gbnVtYmVyLnN1YnN0cigwLCBtYXgpIDogbnVtYmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2luaXRCbHVyTGlzdGVuZXJzXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9pbml0Qmx1ckxpc3RlbmVycygpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF90aGlzNyA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIG9uIGJsdXIgb3IgZm9ybSBzdWJtaXQ6IGlmIGp1c3QgYSBkaWFsIGNvZGUgdGhlbiByZW1vdmUgaXRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlU3VibWl0T3JCbHVyRXZlbnQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzNy5fcmVtb3ZlRW1wdHlEaWFsQ29kZSgpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50ZWxJbnB1dC5mb3JtKSB0aGlzLnRlbElucHV0LmZvcm0uYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCB0aGlzLl9oYW5kbGVTdWJtaXRPckJsdXJFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcihcImJsdXJcIiwgdGhpcy5faGFuZGxlU3VibWl0T3JCbHVyRXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3JlbW92ZUVtcHR5RGlhbENvZGVcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3JlbW92ZUVtcHR5RGlhbENvZGUoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRlbElucHV0LnZhbHVlLmNoYXJBdCgwKSA9PT0gXCIrXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBudW1lcmljID0gdGhpcy5fZ2V0TnVtZXJpYyh0aGlzLnRlbElucHV0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIGp1c3QgYSBwbHVzLCBvciBpZiBqdXN0IGEgZGlhbCBjb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW51bWVyaWMgfHwgdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmRpYWxDb2RlID09PSBudW1lcmljKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9nZXROdW1lcmljXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXROdW1lcmljKHMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHMucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3RyaWdnZXJcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3RyaWdnZXIobmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBoYXZlIHRvIHVzZSBvbGQgc2Nob29sIGRvY3VtZW50LmNyZWF0ZUV2ZW50IGFzIElFMTEgZG9lc24ndCBzdXBwb3J0IGBuZXcgRXZlbnQoKWAgc3ludGF4XG4gICAgICAgICAgICAgICAgICAgIHZhciBlID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJFdmVudFwiKTtcbiAgICAgICAgICAgICAgICAgICAgZS5pbml0RXZlbnQobmFtZSwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNhbiBidWJibGUsIGFuZCBpcyBjYW5jZWxsYWJsZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LmRpc3BhdGNoRXZlbnQoZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfc2hvd0Ryb3Bkb3duXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9zaG93RHJvcGRvd24oKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUxpc3QuY2xhc3NMaXN0LnJlbW92ZShcIml0aV9faGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZsYWcuc2V0QXR0cmlidXRlKFwiYXJpYS1leHBhbmRlZFwiLCBcInRydWVcIik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldERyb3Bkb3duUG9zaXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIGhpZ2hsaWdodGluZyBhbmQgc2Nyb2xsIHRvIGFjdGl2ZSBsaXN0IGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlSXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0TGlzdEl0ZW0odGhpcy5hY3RpdmVJdGVtLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zY3JvbGxUbyh0aGlzLmFjdGl2ZUl0ZW0sIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGJpbmQgYWxsIHRoZSBkcm9wZG93bi1yZWxhdGVkIGxpc3RlbmVyczogbW91c2VvdmVyLCBjbGljaywgY2xpY2stb2ZmLCBrZXlkb3duXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2JpbmREcm9wZG93bkxpc3RlbmVycygpO1xuICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgdGhlIGFycm93XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcGRvd25BcnJvdy5jbGFzc0xpc3QuYWRkKFwiaXRpX19hcnJvdy0tdXBcIik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoXCJvcGVuOmNvdW50cnlkcm9wZG93blwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl90b2dnbGVDbGFzc1wiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfdG9nZ2xlQ2xhc3MoZWwsIGNsYXNzTmFtZSwgc2hvdWxkSGF2ZUNsYXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzaG91bGRIYXZlQ2xhc3MgJiYgIWVsLmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSBlbC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7IGVsc2UgaWYgKCFzaG91bGRIYXZlQ2xhc3MgJiYgZWwuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSkpIGVsLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9zZXREcm9wZG93blBvc2l0aW9uXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9zZXREcm9wZG93blBvc2l0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX3RoaXM4ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5kcm9wZG93bkNvbnRhaW5lcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmRyb3Bkb3duQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuZHJvcGRvd24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBvcyA9IHRoaXMudGVsSW5wdXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3aW5kb3dUb3AgZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTQzODQwOTEvMjE3ODY2XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgd2luZG93VG9wID0gd2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaW5wdXRUb3AgPSBwb3MudG9wICsgd2luZG93VG9wO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRyb3Bkb3duSGVpZ2h0ID0gdGhpcy5jb3VudHJ5TGlzdC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBkcm9wZG93bkZpdHNCZWxvdyA9IChkcm9wZG93bkJvdHRvbSA8IHdpbmRvd0JvdHRvbSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkcm9wZG93bkZpdHNCZWxvdyA9IGlucHV0VG9wICsgdGhpcy50ZWxJbnB1dC5vZmZzZXRIZWlnaHQgKyBkcm9wZG93bkhlaWdodCA8IHdpbmRvd1RvcCArIHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkcm9wZG93bkZpdHNBYm92ZSA9IGlucHV0VG9wIC0gZHJvcGRvd25IZWlnaHQgPiB3aW5kb3dUb3A7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBieSBkZWZhdWx0LCB0aGUgZHJvcGRvd24gd2lsbCBiZSBiZWxvdyB0aGUgaW5wdXQuIElmIHdlIHdhbnQgdG8gcG9zaXRpb24gaXQgYWJvdmUgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpbnB1dCwgd2UgYWRkIHRoZSBkcm9wdXAgY2xhc3MuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90b2dnbGVDbGFzcyh0aGlzLmNvdW50cnlMaXN0LCBcIml0aV9fY291bnRyeS1saXN0LS1kcm9wdXBcIiwgIWRyb3Bkb3duRml0c0JlbG93ICYmIGRyb3Bkb3duRml0c0Fib3ZlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIGRyb3Bkb3duQ29udGFpbmVyIGlzIGVuYWJsZWQsIGNhbGN1bGF0ZSBwb3N0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmRyb3Bkb3duQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnkgZGVmYXVsdCB0aGUgZHJvcGRvd24gd2lsbCBiZSBkaXJlY3RseSBvdmVyIHRoZSBpbnB1dCBiZWNhdXNlIGl0J3Mgbm90IGluIHRoZSBmbG93LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHdlIHdhbnQgdG8gcG9zaXRpb24gaXQgYmVsb3csIHdlIG5lZWQgdG8gYWRkIHNvbWUgZXh0cmEgdG9wIHZhbHVlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBleHRyYVRvcCA9ICFkcm9wZG93bkZpdHNCZWxvdyAmJiBkcm9wZG93bkZpdHNBYm92ZSA/IDAgOiB0aGlzLnRlbElucHV0Lm9mZnNldEhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjYWxjdWxhdGUgcGxhY2VtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5zdHlsZS50b3AgPSBcIlwiLmNvbmNhdChpbnB1dFRvcCArIGV4dHJhVG9wLCBcInB4XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcGRvd24uc3R5bGUubGVmdCA9IFwiXCIuY29uY2F0KHBvcy5sZWZ0ICsgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0LCBcInB4XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNsb3NlIG1lbnUgb24gd2luZG93IHNjcm9sbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZVdpbmRvd1Njcm9sbCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3RoaXM4Ll9jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLl9oYW5kbGVXaW5kb3dTY3JvbGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfZ2V0Q2xvc2VzdExpc3RJdGVtXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXRDbG9zZXN0TGlzdEl0ZW0odGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBlbCA9IHRhcmdldDtcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGVsICYmIGVsICE9PSB0aGlzLmNvdW50cnlMaXN0ICYmICFlbC5jbGFzc0xpc3QuY29udGFpbnMoXCJpdGlfX2NvdW50cnlcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsID0gZWwucGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBpZiB3ZSByZWFjaGVkIHRoZSBjb3VudHJ5TGlzdCBlbGVtZW50LCB0aGVuIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbCA9PT0gdGhpcy5jb3VudHJ5TGlzdCA/IG51bGwgOiBlbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9iaW5kRHJvcGRvd25MaXN0ZW5lcnNcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2JpbmREcm9wZG93bkxpc3RlbmVycygpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF90aGlzOSA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gbW91c2Ugb3ZlciBhIGxpc3QgaXRlbSwganVzdCBoaWdobGlnaHQgdGhhdCBvbmVcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgYWRkIHRoZSBjbGFzcyBcImhpZ2hsaWdodFwiLCBzbyBpZiB0aGV5IGhpdCBcImVudGVyXCIgd2Uga25vdyB3aGljaCBvbmUgdG8gc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZU1vdXNlb3ZlckNvdW50cnlMaXN0ID0gZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFuZGxlIGV2ZW50IGRlbGVnYXRpb24sIGFzIHdlJ3JlIGxpc3RlbmluZyBmb3IgdGhpcyBldmVudCBvbiB0aGUgY291bnRyeUxpc3RcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXN0SXRlbSA9IF90aGlzOS5fZ2V0Q2xvc2VzdExpc3RJdGVtKGUudGFyZ2V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0SXRlbSkgX3RoaXM5Ll9oaWdobGlnaHRMaXN0SXRlbShsaXN0SXRlbSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlMaXN0LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW92ZXJcIiwgdGhpcy5faGFuZGxlTW91c2VvdmVyQ291bnRyeUxpc3QpO1xuICAgICAgICAgICAgICAgICAgICAvLyBsaXN0ZW4gZm9yIGNvdW50cnkgc2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUNsaWNrQ291bnRyeUxpc3QgPSBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdEl0ZW0gPSBfdGhpczkuX2dldENsb3Nlc3RMaXN0SXRlbShlLnRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGlzdEl0ZW0pIF90aGlzOS5fc2VsZWN0TGlzdEl0ZW0obGlzdEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnlMaXN0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLl9oYW5kbGVDbGlja0NvdW50cnlMaXN0KTtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2xpY2sgb2ZmIHRvIGNsb3NlXG4gICAgICAgICAgICAgICAgICAgIC8vIChleGNlcHQgd2hlbiB0aGlzIGluaXRpYWwgb3BlbmluZyBjbGljayBpcyBidWJibGluZyB1cClcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgY2Fubm90IGp1c3Qgc3RvcFByb3BhZ2F0aW9uIGFzIGl0IG1heSBiZSBuZWVkZWQgdG8gY2xvc2UgYW5vdGhlciBpbnN0YW5jZVxuICAgICAgICAgICAgICAgICAgICB2YXIgaXNPcGVuaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlQ2xpY2tPZmZUb0Nsb3NlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzT3BlbmluZykgX3RoaXM5Ll9jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLl9oYW5kbGVDbGlja09mZlRvQ2xvc2UpO1xuICAgICAgICAgICAgICAgICAgICAvLyBsaXN0ZW4gZm9yIHVwL2Rvd24gc2Nyb2xsaW5nLCBlbnRlciB0byBzZWxlY3QsIG9yIGxldHRlcnMgdG8ganVtcCB0byBjb3VudHJ5IG5hbWUuXG4gICAgICAgICAgICAgICAgICAgIC8vIHVzZSBrZXlkb3duIGFzIGtleXByZXNzIGRvZXNuJ3QgZmlyZSBmb3Igbm9uLWNoYXIga2V5cyBhbmQgd2Ugd2FudCB0byBjYXRjaCBpZiB0aGV5XG4gICAgICAgICAgICAgICAgICAgIC8vIGp1c3QgaGl0IGRvd24gYW5kIGhvbGQgaXQgdG8gc2Nyb2xsIGRvd24gKG5vIGtleXVwIGV2ZW50KS5cbiAgICAgICAgICAgICAgICAgICAgLy8gbGlzdGVuIG9uIHRoZSBkb2N1bWVudCBiZWNhdXNlIHRoYXQncyB3aGVyZSBrZXkgZXZlbnRzIGFyZSB0cmlnZ2VyZWQgaWYgbm8gaW5wdXQgaGFzIGZvY3VzXG4gICAgICAgICAgICAgICAgICAgIHZhciBxdWVyeSA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHZhciBxdWVyeVRpbWVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlS2V5ZG93bk9uRHJvcGRvd24gPSBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IGRvd24ga2V5IGZyb20gc2Nyb2xsaW5nIHRoZSB3aG9sZSBwYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIGVudGVyIGtleSBmcm9tIHN1Ym1pdHRpbmcgYSBmb3JtIGV0Y1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdXAgYW5kIGRvd24gdG8gbmF2aWdhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gXCJBcnJvd1VwXCIgfHwgZS5rZXkgPT09IFwiVXBcIiB8fCBlLmtleSA9PT0gXCJBcnJvd0Rvd25cIiB8fCBlLmtleSA9PT0gXCJEb3duXCIpIF90aGlzOS5faGFuZGxlVXBEb3duS2V5KGUua2V5KTsgZWxzZSBpZiAoZS5rZXkgPT09IFwiRW50ZXJcIikgX3RoaXM5Ll9oYW5kbGVFbnRlcktleSgpOyBlbHNlIGlmIChlLmtleSA9PT0gXCJFc2NhcGVcIikgX3RoaXM5Ll9jbG9zZURyb3Bkb3duKCk7IGVsc2UgaWYgKC9eW2EtekEtWsOALcO/0LAt0Y/QkC3QryBdJC8udGVzdChlLmtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBqdW1wIHRvIGNvdW50cmllcyB0aGF0IHN0YXJ0IHdpdGggdGhlIHF1ZXJ5IHN0cmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxdWVyeVRpbWVyKSBjbGVhclRpbWVvdXQocXVlcnlUaW1lcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnkgKz0gZS5rZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpczkuX3NlYXJjaEZvckNvdW50cnkocXVlcnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSB0aW1lciBoaXRzIDEgc2Vjb25kLCByZXNldCB0aGUgcXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnkgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDFlMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMuX2hhbmRsZUtleWRvd25PbkRyb3Bkb3duKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9oYW5kbGVVcERvd25LZXlcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2hhbmRsZVVwRG93bktleShrZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5leHQgPSBrZXkgPT09IFwiQXJyb3dVcFwiIHx8IGtleSA9PT0gXCJVcFwiID8gdGhpcy5oaWdobGlnaHRlZEl0ZW0ucHJldmlvdXNFbGVtZW50U2libGluZyA6IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtLm5leHRFbGVtZW50U2libGluZztcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNraXAgdGhlIGRpdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXh0LmNsYXNzTGlzdC5jb250YWlucyhcIml0aV9fZGl2aWRlclwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHQgPSBrZXkgPT09IFwiQXJyb3dVcFwiIHx8IGtleSA9PT0gXCJVcFwiID8gbmV4dC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIDogbmV4dC5uZXh0RWxlbWVudFNpYmxpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9oaWdobGlnaHRMaXN0SXRlbShuZXh0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2hhbmRsZUVudGVyS2V5XCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9oYW5kbGVFbnRlcktleSgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGlnaGxpZ2h0ZWRJdGVtKSB0aGlzLl9zZWxlY3RMaXN0SXRlbSh0aGlzLmhpZ2hsaWdodGVkSXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfc2VhcmNoRm9yQ291bnRyeVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfc2VhcmNoRm9yQ291bnRyeShxdWVyeSkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY291bnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fc3RhcnRzV2l0aCh0aGlzLmNvdW50cmllc1tpXS5uYW1lLCBxdWVyeSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdEl0ZW0gPSB0aGlzLmNvdW50cnlMaXN0LnF1ZXJ5U2VsZWN0b3IoXCIjaXRpLWl0ZW0tXCIuY29uY2F0KHRoaXMuY291bnRyaWVzW2ldLmlzbzIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgaGlnaGxpZ2h0aW5nIGFuZCBzY3JvbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9oaWdobGlnaHRMaXN0SXRlbShsaXN0SXRlbSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Njcm9sbFRvKGxpc3RJdGVtLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3N0YXJ0c1dpdGhcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3N0YXJ0c1dpdGgoYSwgYikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS5zdWJzdHIoMCwgYi5sZW5ndGgpLnRvTG93ZXJDYXNlKCkgPT09IGI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfdXBkYXRlVmFsRnJvbU51bWJlclwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfdXBkYXRlVmFsRnJvbU51bWJlcihvcmlnaW5hbE51bWJlcikge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbnVtYmVyID0gb3JpZ2luYWxOdW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZm9ybWF0T25EaXNwbGF5ICYmIHdpbmRvdy5pbnRsVGVsSW5wdXRVdGlscyAmJiB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1c2VOYXRpb25hbCA9ICF0aGlzLm9wdGlvbnMuc2VwYXJhdGVEaWFsQ29kZSAmJiAodGhpcy5vcHRpb25zLm5hdGlvbmFsTW9kZSB8fCBudW1iZXIuY2hhckF0KDApICE9PSBcIitcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2ludGxUZWxJbnB1dFV0aWxzJG51ID0gaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0LCBOQVRJT05BTCA9IF9pbnRsVGVsSW5wdXRVdGlscyRudS5OQVRJT05BTCwgSU5URVJOQVRJT05BTCA9IF9pbnRsVGVsSW5wdXRVdGlscyRudS5JTlRFUk5BVElPTkFMO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZvcm1hdCA9IHVzZU5hdGlvbmFsID8gTkFUSU9OQUwgOiBJTlRFUk5BVElPTkFMO1xuICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gaW50bFRlbElucHV0VXRpbHMuZm9ybWF0TnVtYmVyKG51bWJlciwgdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzIsIGZvcm1hdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gdGhpcy5fYmVmb3JlU2V0TnVtYmVyKG51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQudmFsdWUgPSBudW1iZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfdXBkYXRlRmxhZ0Zyb21OdW1iZXJcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3VwZGF0ZUZsYWdGcm9tTnVtYmVyKG9yaWdpbmFsTnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHdlJ3JlIGluIG5hdGlvbmFsTW9kZSBhbmQgd2UgYWxyZWFkeSBoYXZlIFVTL0NhbmFkYSBzZWxlY3RlZCwgbWFrZSBzdXJlIHRoZSBudW1iZXIgc3RhcnRzXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpdGggYSArMSBzbyBfZ2V0RGlhbENvZGUgd2lsbCBiZSBhYmxlIHRvIGV4dHJhY3QgdGhlIGFyZWEgY29kZVxuICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGU6IGlmIHdlIGRvbnQgeWV0IGhhdmUgc2VsZWN0ZWRDb3VudHJ5RGF0YSwgYnV0IHdlJ3JlIGhlcmUgKHRyeWluZyB0byB1cGRhdGUgdGhlIGZsYWdcbiAgICAgICAgICAgICAgICAgICAgLy8gZnJvbSB0aGUgbnVtYmVyKSwgdGhhdCBtZWFucyB3ZSdyZSBpbml0aWFsaXNpbmcgdGhlIHBsdWdpbiB3aXRoIGEgbnVtYmVyIHRoYXQgYWxyZWFkeSBoYXMgYVxuICAgICAgICAgICAgICAgICAgICAvLyBkaWFsIGNvZGUsIHNvIGZpbmUgdG8gaWdub3JlIHRoaXMgYml0XG4gICAgICAgICAgICAgICAgICAgIHZhciBudW1iZXIgPSBvcmlnaW5hbE51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkRGlhbENvZGUgPSB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGU7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpc05hbnAgPSBzZWxlY3RlZERpYWxDb2RlID09PSBcIjFcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG51bWJlciAmJiB0aGlzLm9wdGlvbnMubmF0aW9uYWxNb2RlICYmIGlzTmFucCAmJiBudW1iZXIuY2hhckF0KDApICE9PSBcIitcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bWJlci5jaGFyQXQoMCkgIT09IFwiMVwiKSBudW1iZXIgPSBcIjFcIi5jb25jYXQobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciA9IFwiK1wiLmNvbmNhdChudW1iZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSBmbGFnIGlmIHVzZXIgdHlwZXMgYXJlYSBjb2RlIGZvciBhbm90aGVyIGNvdW50cnlcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5zZXBhcmF0ZURpYWxDb2RlICYmIHNlbGVjdGVkRGlhbENvZGUgJiYgbnVtYmVyLmNoYXJBdCgwKSAhPT0gXCIrXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciA9IFwiK1wiLmNvbmNhdChzZWxlY3RlZERpYWxDb2RlKS5jb25jYXQobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyB0cnkgYW5kIGV4dHJhY3QgdmFsaWQgZGlhbCBjb2RlIGZyb20gaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRpYWxDb2RlID0gdGhpcy5fZ2V0RGlhbENvZGUobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG51bWVyaWMgPSB0aGlzLl9nZXROdW1lcmljKG51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb3VudHJ5Q29kZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkaWFsQ29kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50cnlDb2RlcyA9IHRoaXMuY291bnRyeUNvZGVzW3RoaXMuX2dldE51bWVyaWMoZGlhbENvZGUpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZSByaWdodCBjb3VudHJ5IGlzIGFscmVhZHkgc2VsZWN0ZWQuIHRoaXMgc2hvdWxkIGJlIGZhbHNlIGlmIHRoZSBudW1iZXIgaXNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvbmdlciB0aGFuIHRoZSBtYXRjaGVkIGRpYWwgY29kZSBiZWNhdXNlIGluIHRoaXMgY2FzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGVyZSBhcmUgbXVsdGlwbGUgY291bnRyeSBtYXRjaGVzLCB0aGF0IHRoZSBmaXJzdCBvbmUgaXMgc2VsZWN0ZWQgKG5vdGU6IHdlIGNvdWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBqdXN0IGNoZWNrIHRoYXQgaGVyZSwgYnV0IGl0IHJlcXVpcmVzIHRoZSBzYW1lIGxvb3AgdGhhdCB3ZSBhbHJlYWR5IGhhdmUgbGF0ZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYWxyZWFkeVNlbGVjdGVkID0gY291bnRyeUNvZGVzLmluZGV4T2YodGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzIpICE9PSAtMSAmJiBudW1lcmljLmxlbmd0aCA8PSBkaWFsQ29kZS5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzUmVnaW9ubGVzc05hbnBOdW1iZXIgPSBzZWxlY3RlZERpYWxDb2RlID09PSBcIjFcIiAmJiB0aGlzLl9pc1JlZ2lvbmxlc3NOYW5wKG51bWVyaWMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSB1cGRhdGUgdGhlIGZsYWcgaWY6XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBKSBOT1QgKHdlIGN1cnJlbnRseSBoYXZlIGEgTkFOUCBmbGFnIHNlbGVjdGVkLCBhbmQgdGhlIG51bWJlciBpcyBhIHJlZ2lvbmxlc3NOYW5wKVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQU5EXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBCKSB0aGUgcmlnaHQgY291bnRyeSBpcyBub3QgYWxyZWFkeSBzZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1JlZ2lvbmxlc3NOYW5wTnVtYmVyICYmICFhbHJlYWR5U2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB1c2luZyBvbmx5Q291bnRyaWVzIG9wdGlvbiwgY291bnRyeUNvZGVzWzBdIG1heSBiZSBlbXB0eSwgc28gd2UgbXVzdCBmaW5kIHRoZSBmaXJzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vbi1lbXB0eSBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgY291bnRyeUNvZGVzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudHJ5Q29kZXNbal0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50cnlDb2RlID0gY291bnRyeUNvZGVzW2pdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobnVtYmVyLmNoYXJBdCgwKSA9PT0gXCIrXCIgJiYgbnVtZXJpYy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGludmFsaWQgZGlhbCBjb2RlLCBzbyBlbXB0eVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm90ZTogdXNlIGdldE51bWVyaWMgaGVyZSBiZWNhdXNlIHRoZSBudW1iZXIgaGFzIG5vdCBiZWVuIGZvcm1hdHRlZCB5ZXQsIHNvIGNvdWxkIGNvbnRhaW5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJhZCBjaGFyc1xuICAgICAgICAgICAgICAgICAgICAgICAgY291bnRyeUNvZGUgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFudW1iZXIgfHwgbnVtYmVyID09PSBcIitcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZW1wdHksIG9yIGp1c3QgYSBwbHVzLCBzbyBkZWZhdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZSA9IHRoaXMuZGVmYXVsdENvdW50cnk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50cnlDb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fc2V0RmxhZyhjb3VudHJ5Q29kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2lzUmVnaW9ubGVzc05hbnBcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2lzUmVnaW9ubGVzc05hbnAobnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBudW1lcmljID0gdGhpcy5fZ2V0TnVtZXJpYyhudW1iZXIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobnVtZXJpYy5jaGFyQXQoMCkgPT09IFwiMVwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYXJlYUNvZGUgPSBudW1lcmljLnN1YnN0cigxLCAzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWdpb25sZXNzTmFucE51bWJlcnMuaW5kZXhPZihhcmVhQ29kZSkgIT09IC0xO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9oaWdobGlnaHRMaXN0SXRlbVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfaGlnaGxpZ2h0TGlzdEl0ZW0obGlzdEl0ZW0sIHNob3VsZEZvY3VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwcmV2SXRlbSA9IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldkl0ZW0pIHByZXZJdGVtLmNsYXNzTGlzdC5yZW1vdmUoXCJpdGlfX2hpZ2hsaWdodFwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWdobGlnaHRlZEl0ZW0gPSBsaXN0SXRlbTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWdobGlnaHRlZEl0ZW0uY2xhc3NMaXN0LmFkZChcIml0aV9faGlnaGxpZ2h0XCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2hvdWxkRm9jdXMpIHRoaXMuaGlnaGxpZ2h0ZWRJdGVtLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfZ2V0Q291bnRyeURhdGFcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2dldENvdW50cnlEYXRhKGNvdW50cnlDb2RlLCBpZ25vcmVPbmx5Q291bnRyaWVzT3B0aW9uLCBhbGxvd0ZhaWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50cnlMaXN0ID0gaWdub3JlT25seUNvdW50cmllc09wdGlvbiA/IGFsbENvdW50cmllcyA6IHRoaXMuY291bnRyaWVzO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50cnlMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnRyeUxpc3RbaV0uaXNvMiA9PT0gY291bnRyeUNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY291bnRyeUxpc3RbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGFsbG93RmFpbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gY291bnRyeSBkYXRhIGZvciAnXCIuY29uY2F0KGNvdW50cnlDb2RlLCBcIidcIikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3NldEZsYWdcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3NldEZsYWcoY291bnRyeUNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHByZXZDb3VudHJ5ID0gdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzIgPyB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEgOiB7fTtcbiAgICAgICAgICAgICAgICAgICAgLy8gZG8gdGhpcyBmaXJzdCBhcyBpdCB3aWxsIHRocm93IGFuIGVycm9yIGFuZCBzdG9wIGlmIGNvdW50cnlDb2RlIGlzIGludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhID0gY291bnRyeUNvZGUgPyB0aGlzLl9nZXRDb3VudHJ5RGF0YShjb3VudHJ5Q29kZSwgZmFsc2UsIGZhbHNlKSA6IHt9O1xuICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgdGhlIGRlZmF1bHRDb3VudHJ5IC0gd2Ugb25seSBuZWVkIHRoZSBpc28yIGZyb20gbm93IG9uLCBzbyBqdXN0IHN0b3JlIHRoYXRcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5pc28yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5ID0gdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZsYWdJbm5lci5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBcIml0aV9fZmxhZyBpdGlfX1wiLmNvbmNhdChjb3VudHJ5Q29kZSkpO1xuICAgICAgICAgICAgICAgICAgICAvLyB1cGRhdGUgdGhlIHNlbGVjdGVkIGNvdW50cnkncyB0aXRsZSBhdHRyaWJ1dGVcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gY291bnRyeUNvZGUgPyBcIlwiLmNvbmNhdCh0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEubmFtZSwgXCI6ICtcIikuY29uY2F0KHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5kaWFsQ29kZSkgOiBcIlVua25vd25cIjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZsYWcuc2V0QXR0cmlidXRlKFwidGl0bGVcIiwgdGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkaWFsQ29kZSA9IHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5kaWFsQ29kZSA/IFwiK1wiLmNvbmNhdCh0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGUpIDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREaWFsQ29kZS5pbm5lckhUTUwgPSBkaWFsQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9mZnNldFdpZHRoIGlzIHplcm8gaWYgaW5wdXQgaXMgaW4gYSBoaWRkZW4gY29udGFpbmVyIGR1cmluZyBpbml0aWFsaXNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkRmxhZ1dpZHRoID0gdGhpcy5zZWxlY3RlZEZsYWcub2Zmc2V0V2lkdGggfHwgdGhpcy5fZ2V0SGlkZGVuU2VsZWN0ZWRGbGFnV2lkdGgoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCA2cHggb2YgcGFkZGluZyBhZnRlciB0aGUgZ3JleSBzZWxlY3RlZC1kaWFsLWNvZGUgYm94LCBhcyB0aGlzIGlzIHdoYXQgd2UgdXNlIGluIHRoZSBjc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQuc3R5bGUucGFkZGluZ0xlZnQgPSBcIlwiLmNvbmNhdChzZWxlY3RlZEZsYWdXaWR0aCArIDYsIFwicHhcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gYW5kIHRoZSBpbnB1dCdzIHBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVBsYWNlaG9sZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgYWN0aXZlIGxpc3QgaXRlbVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmFsbG93RHJvcGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwcmV2SXRlbSA9IHRoaXMuYWN0aXZlSXRlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmV2SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZJdGVtLmNsYXNzTGlzdC5yZW1vdmUoXCJpdGlfX2FjdGl2ZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2SXRlbS5zZXRBdHRyaWJ1dGUoXCJhcmlhLXNlbGVjdGVkXCIsIFwiZmFsc2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnRyeUNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbmV4dEl0ZW0gPSB0aGlzLmNvdW50cnlMaXN0LnF1ZXJ5U2VsZWN0b3IoXCIjaXRpLWl0ZW0tXCIuY29uY2F0KGNvdW50cnlDb2RlKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dEl0ZW0uc2V0QXR0cmlidXRlKFwiYXJpYS1zZWxlY3RlZFwiLCBcInRydWVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dEl0ZW0uY2xhc3NMaXN0LmFkZChcIml0aV9fYWN0aXZlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSXRlbSA9IG5leHRJdGVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGbGFnLnNldEF0dHJpYnV0ZShcImFyaWEtYWN0aXZlZGVzY2VuZGFudFwiLCBuZXh0SXRlbS5nZXRBdHRyaWJ1dGUoXCJpZFwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gcmV0dXJuIGlmIHRoZSBmbGFnIGhhcyBjaGFuZ2VkIG9yIG5vdFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldkNvdW50cnkuaXNvMiAhPT0gY291bnRyeUNvZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfZ2V0SGlkZGVuU2VsZWN0ZWRGbGFnV2lkdGhcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2dldEhpZGRlblNlbGVjdGVkRmxhZ1dpZHRoKCkge1xuICAgICAgICAgICAgICAgICAgICAvLyB0byBnZXQgdGhlIHJpZ2h0IHN0eWxpbmcgdG8gYXBwbHksIGFsbCB3ZSBuZWVkIGlzIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGUgY29udGFpbmVyLFxuICAgICAgICAgICAgICAgICAgICAvLyBhbmQgdGhlbiB0byBpbmplY3QgYSBkZWVwIGNsb25lIG9mIHRoZSBzZWxlY3RlZEZsYWcgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICB2YXIgY29udGFpbmVyQ2xvbmUgPSB0aGlzLnRlbElucHV0LnBhcmVudE5vZGUuY2xvbmVOb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lckNsb25lLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lckNsb25lKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkRmxhZ0Nsb25lID0gdGhpcy5zZWxlY3RlZEZsYWcuY2xvbmVOb2RlKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJDbG9uZS5hcHBlbmRDaGlsZChzZWxlY3RlZEZsYWdDbG9uZSk7XG4gICAgICAgICAgICAgICAgICAgIHZhciB3aWR0aCA9IHNlbGVjdGVkRmxhZ0Nsb25lLm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJDbG9uZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNvbnRhaW5lckNsb25lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3VwZGF0ZVBsYWNlaG9sZGVyXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF91cGRhdGVQbGFjZWhvbGRlcigpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNob3VsZFNldFBsYWNlaG9sZGVyID0gdGhpcy5vcHRpb25zLmF1dG9QbGFjZWhvbGRlciA9PT0gXCJhZ2dyZXNzaXZlXCIgfHwgIXRoaXMuaGFkSW5pdGlhbFBsYWNlaG9sZGVyICYmIHRoaXMub3B0aW9ucy5hdXRvUGxhY2Vob2xkZXIgPT09IFwicG9saXRlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50bFRlbElucHV0VXRpbHMgJiYgc2hvdWxkU2V0UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBudW1iZXJUeXBlID0gaW50bFRlbElucHV0VXRpbHMubnVtYmVyVHlwZVt0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXJOdW1iZXJUeXBlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwbGFjZWhvbGRlciA9IHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5pc28yID8gaW50bFRlbElucHV0VXRpbHMuZ2V0RXhhbXBsZU51bWJlcih0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuaXNvMiwgdGhpcy5vcHRpb25zLm5hdGlvbmFsTW9kZSwgbnVtYmVyVHlwZSkgOiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLl9iZWZvcmVTZXROdW1iZXIocGxhY2Vob2xkZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuY3VzdG9tUGxhY2Vob2xkZXIgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gdGhpcy5vcHRpb25zLmN1c3RvbVBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyLCB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC5zZXRBdHRyaWJ1dGUoXCJwbGFjZWhvbGRlclwiLCBwbGFjZWhvbGRlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9zZWxlY3RMaXN0SXRlbVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfc2VsZWN0TGlzdEl0ZW0obGlzdEl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIHNlbGVjdGVkIGZsYWcgYW5kIGFjdGl2ZSBsaXN0IGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgdmFyIGZsYWdDaGFuZ2VkID0gdGhpcy5fc2V0RmxhZyhsaXN0SXRlbS5nZXRBdHRyaWJ1dGUoXCJkYXRhLWNvdW50cnktY29kZVwiKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlRGlhbENvZGUobGlzdEl0ZW0uZ2V0QXR0cmlidXRlKFwiZGF0YS1kaWFsLWNvZGVcIiksIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBmb2N1cyB0aGUgaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAvLyBwdXQgY3Vyc29yIGF0IGVuZCAtIHRoaXMgZml4IGlzIHJlcXVpcmVkIGZvciBGRiBhbmQgSUUxMSAod2l0aCBuYXRpb25hbE1vZGU9ZmFsc2UgaS5lLiBhdXRvXG4gICAgICAgICAgICAgICAgICAgIC8vIGluc2VydGluZyBkaWFsIGNvZGUpLCB3aG8gdHJ5IHRvIHB1dCB0aGUgY3Vyc29yIGF0IHRoZSBiZWdpbm5pbmcgdGhlIGZpcnN0IHRpbWVcbiAgICAgICAgICAgICAgICAgICAgdmFyIGxlbiA9IHRoaXMudGVsSW5wdXQudmFsdWUubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnNldFNlbGVjdGlvblJhbmdlKGxlbiwgbGVuKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZsYWdDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyQ291bnRyeUNoYW5nZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfY2xvc2VEcm9wZG93blwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfY2xvc2VEcm9wZG93bigpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5TGlzdC5jbGFzc0xpc3QuYWRkKFwiaXRpX19oaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmxhZy5zZXRBdHRyaWJ1dGUoXCJhcmlhLWV4cGFuZGVkXCIsIFwiZmFsc2VcIik7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgYXJyb3dcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bkFycm93LmNsYXNzTGlzdC5yZW1vdmUoXCJpdGlfX2Fycm93LS11cFwiKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdW5iaW5kIGtleSBldmVudHNcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5faGFuZGxlS2V5ZG93bk9uRHJvcGRvd24pO1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuX2hhbmRsZUNsaWNrT2ZmVG9DbG9zZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUxpc3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlb3ZlclwiLCB0aGlzLl9oYW5kbGVNb3VzZW92ZXJDb3VudHJ5TGlzdCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeUxpc3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuX2hhbmRsZUNsaWNrQ291bnRyeUxpc3QpO1xuICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgbWVudSBmcm9tIGNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmRyb3Bkb3duQ29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHRoaXMuX2hhbmRsZVdpbmRvd1Njcm9sbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kcm9wZG93bi5wYXJlbnROb2RlKSB0aGlzLmRyb3Bkb3duLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5kcm9wZG93bik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcihcImNsb3NlOmNvdW50cnlkcm9wZG93blwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9zY3JvbGxUb1wiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfc2Nyb2xsVG8oZWxlbWVudCwgbWlkZGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb250YWluZXIgPSB0aGlzLmNvdW50cnlMaXN0O1xuICAgICAgICAgICAgICAgICAgICAvLyB3aW5kb3dUb3AgZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTQzODQwOTEvMjE3ODY2XG4gICAgICAgICAgICAgICAgICAgIHZhciB3aW5kb3dUb3AgPSB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbnRhaW5lckhlaWdodCA9IGNvbnRhaW5lci5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb250YWluZXJUb3AgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93VG9wO1xuICAgICAgICAgICAgICAgICAgICB2YXIgY29udGFpbmVyQm90dG9tID0gY29udGFpbmVyVG9wICsgY29udGFpbmVySGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudEhlaWdodCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudFRvcCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93VG9wO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudEJvdHRvbSA9IGVsZW1lbnRUb3AgKyBlbGVtZW50SGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmV3U2Nyb2xsVG9wID0gZWxlbWVudFRvcCAtIGNvbnRhaW5lclRvcCArIGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gICAgICAgICAgICAgICAgICAgIHZhciBtaWRkbGVPZmZzZXQgPSBjb250YWluZXJIZWlnaHQgLyAyIC0gZWxlbWVudEhlaWdodCAvIDI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50VG9wIDwgY29udGFpbmVyVG9wKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzY3JvbGwgdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtaWRkbGUpIG5ld1Njcm9sbFRvcCAtPSBtaWRkbGVPZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gbmV3U2Nyb2xsVG9wO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnRCb3R0b20gPiBjb250YWluZXJCb3R0b20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNjcm9sbCBkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWlkZGxlKSBuZXdTY3JvbGxUb3AgKz0gbWlkZGxlT2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhlaWdodERpZmZlcmVuY2UgPSBjb250YWluZXJIZWlnaHQgLSBlbGVtZW50SGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLnNjcm9sbFRvcCA9IG5ld1Njcm9sbFRvcCAtIGhlaWdodERpZmZlcmVuY2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl91cGRhdGVEaWFsQ29kZVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfdXBkYXRlRGlhbENvZGUobmV3RGlhbENvZGVCYXJlLCBoYXNTZWxlY3RlZExpc3RJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpbnB1dFZhbCA9IHRoaXMudGVsSW5wdXQudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIHNhdmUgaGF2aW5nIHRvIHBhc3MgdGhpcyBldmVyeSB0aW1lXG4gICAgICAgICAgICAgICAgICAgIHZhciBuZXdEaWFsQ29kZSA9IFwiK1wiLmNvbmNhdChuZXdEaWFsQ29kZUJhcmUpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmV3TnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXRWYWwuY2hhckF0KDApID09PSBcIitcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlcmUncyBhIHBsdXMgc28gd2UncmUgZGVhbGluZyB3aXRoIGEgcmVwbGFjZW1lbnQgKGRvZXNuJ3QgbWF0dGVyIGlmIG5hdGlvbmFsTW9kZSBvciBub3QpXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJldkRpYWxDb2RlID0gdGhpcy5fZ2V0RGlhbENvZGUoaW5wdXRWYWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZEaWFsQ29kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGN1cnJlbnQgbnVtYmVyIGNvbnRhaW5zIGEgdmFsaWQgZGlhbCBjb2RlLCBzbyByZXBsYWNlIGl0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3TnVtYmVyID0gaW5wdXRWYWwucmVwbGFjZShwcmV2RGlhbENvZGUsIG5ld0RpYWxDb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY3VycmVudCBudW1iZXIgY29udGFpbnMgYW4gaW52YWxpZCBkaWFsIGNvZGUsIHNvIGRpdGNoIGl0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gKG5vIHdheSB0byBkZXRlcm1pbmUgd2hlcmUgdGhlIGludmFsaWQgZGlhbCBjb2RlIGVuZHMgYW5kIHRoZSByZXN0IG9mIHRoZSBudW1iZXIgYmVnaW5zKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld051bWJlciA9IG5ld0RpYWxDb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9ucy5uYXRpb25hbE1vZGUgfHwgdGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRvbid0IGRvIGFueXRoaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBuYXRpb25hbE1vZGUgaXMgZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dFZhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoZXJlIGlzIGFuIGV4aXN0aW5nIHZhbHVlIHdpdGggbm8gZGlhbCBjb2RlOiBwcmVmaXggdGhlIG5ldyBkaWFsIGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdOdW1iZXIgPSBuZXdEaWFsQ29kZSArIGlucHV0VmFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNTZWxlY3RlZExpc3RJdGVtIHx8ICF0aGlzLm9wdGlvbnMuYXV0b0hpZGVEaWFsQ29kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vIGV4aXN0aW5nIHZhbHVlIGFuZCBlaXRoZXIgdGhleSd2ZSBqdXN0IHNlbGVjdGVkIGEgbGlzdCBpdGVtLCBvciBhdXRvSGlkZURpYWxDb2RlIGlzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGlzYWJsZWQ6IGluc2VydCBuZXcgZGlhbCBjb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3TnVtYmVyID0gbmV3RGlhbENvZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnZhbHVlID0gbmV3TnVtYmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX2dldERpYWxDb2RlXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXREaWFsQ29kZShudW1iZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRpYWxDb2RlID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpbnRlcmVzdGVkIGluIGludGVybmF0aW9uYWwgbnVtYmVycyAoc3RhcnRpbmcgd2l0aCBhIHBsdXMpXG4gICAgICAgICAgICAgICAgICAgIGlmIChudW1iZXIuY2hhckF0KDApID09PSBcIitcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG51bWVyaWNDaGFycyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpdGVyYXRlIG92ZXIgY2hhcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtYmVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGMgPSBudW1iZXIuY2hhckF0KGkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIGNoYXIgaXMgbnVtYmVyIChodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvODkzNTY0OS8yMTc4NjYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc05hTihwYXJzZUludChjLCAxMCkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWVyaWNDaGFycyArPSBjO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBjdXJyZW50IG51bWVyaWNDaGFycyBtYWtlIGEgdmFsaWQgZGlhbCBjb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvdW50cnlDb2Rlc1tudW1lcmljQ2hhcnNdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzdG9yZSB0aGUgYWN0dWFsIHJhdyBzdHJpbmcgKHVzZWZ1bCBmb3IgbWF0Y2hpbmcgbGF0ZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFsQ29kZSA9IG51bWJlci5zdWJzdHIoMCwgaSArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW1lcmljQ2hhcnMubGVuZ3RoID09PSB0aGlzLmRpYWxDb2RlTWF4TGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGlhbENvZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJfZ2V0RnVsbE51bWJlclwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0RnVsbE51bWJlcigpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9IHRoaXMudGVsSW5wdXQudmFsdWUudHJpbSgpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZGlhbENvZGUgPSB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGU7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwcmVmaXg7XG4gICAgICAgICAgICAgICAgICAgIHZhciBudW1lcmljVmFsID0gdGhpcy5fZ2V0TnVtZXJpYyh2YWwpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnNlcGFyYXRlRGlhbENvZGUgJiYgdmFsLmNoYXJBdCgwKSAhPT0gXCIrXCIgJiYgZGlhbENvZGUgJiYgbnVtZXJpY1ZhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB1c2luZyBzZXBhcmF0ZURpYWxDb2RlLCBpdCBpcyB2aXNpYmxlIHNvIGlzIGVmZmVjdGl2ZWx5IHBhcnQgb2YgdGhlIHR5cGVkIG51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4ID0gXCIrXCIuY29uY2F0KGRpYWxDb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZpeCArIHZhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcIl9iZWZvcmVTZXROdW1iZXJcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2JlZm9yZVNldE51bWJlcihvcmlnaW5hbE51bWJlcikge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbnVtYmVyID0gb3JpZ2luYWxOdW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuc2VwYXJhdGVEaWFsQ29kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRpYWxDb2RlID0gdGhpcy5fZ2V0RGlhbENvZGUobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIGEgdmFsaWQgZGlhbCBjb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIF9nZXREaWFsQ29kZSByZXR1cm5lZCBhbiBhcmVhIGNvZGUgYXMgd2VsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWxDb2RlID0gXCIrXCIuY29uY2F0KHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5kaWFsQ29kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBsb3Qgb2YgbnVtYmVycyB3aWxsIGhhdmUgYSBzcGFjZSBzZXBhcmF0aW5nIHRoZSBkaWFsIGNvZGUgYW5kIHRoZSBtYWluIG51bWJlciwgYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc29tZSBOQU5QIG51bWJlcnMgd2lsbCBoYXZlIGEgaHlwaGVuIGUuZy4gKzEgNjg0LTczMy0xMjM0IC0gaW4gYm90aCBjYXNlcyB3ZSB3YW50IHRvIGdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJpZCBvZiBpdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6IGRvbid0IGp1c3QgdHJpbSBhbGwgbm9uLW51bWVyaWNzIGFzIG1heSB3YW50IHRvIHByZXNlcnZlIGFuIG9wZW4gcGFyZW50aGVzaXMgZXRjXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHN0YXJ0ID0gbnVtYmVyW2RpYWxDb2RlLmxlbmd0aF0gPT09IFwiIFwiIHx8IG51bWJlcltkaWFsQ29kZS5sZW5ndGhdID09PSBcIi1cIiA/IGRpYWxDb2RlLmxlbmd0aCArIDEgOiBkaWFsQ29kZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyLnN1YnN0cihzdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NhcChudW1iZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiX3RyaWdnZXJDb3VudHJ5Q2hhbmdlXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF90cmlnZ2VyQ291bnRyeUNoYW5nZSgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcihcImNvdW50cnljaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJoYW5kbGVBdXRvQ291bnRyeVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBoYW5kbGVBdXRvQ291bnRyeSgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5pbml0aWFsQ291bnRyeSA9PT0gXCJhdXRvXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdlIG11c3Qgc2V0IHRoaXMgZXZlbiBpZiB0aGVyZSBpcyBhbiBpbml0aWFsIHZhbCBpbiB0aGUgaW5wdXQ6IGluIGNhc2UgdGhlIGluaXRpYWwgdmFsIGlzXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpbnZhbGlkIGFuZCB0aGV5IGRlbGV0ZSBpdCAtIHRoZXkgc2hvdWxkIHNlZSB0aGVpciBhdXRvIGNvdW50cnlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvdW50cnkgPSB3aW5kb3cuaW50bFRlbElucHV0R2xvYmFscy5hdXRvQ291bnRyeTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlJ3Mgbm8gaW5pdGlhbCB2YWx1ZSBpbiB0aGUgaW5wdXQsIHRoZW4gdXBkYXRlIHRoZSBmbGFnXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGVsSW5wdXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldENvdW50cnkodGhpcy5kZWZhdWx0Q291bnRyeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc29sdmVBdXRvQ291bnRyeVByb21pc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiaGFuZGxlVXRpbHNcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gaGFuZGxlVXRpbHMoKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZSByZXF1ZXN0IHdhcyBzdWNjZXNzZnVsXG4gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50bFRlbElucHV0VXRpbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlJ3MgYW4gaW5pdGlhbCB2YWx1ZSBpbiB0aGUgaW5wdXQsIHRoZW4gZm9ybWF0IGl0XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50ZWxJbnB1dC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVZhbEZyb21OdW1iZXIodGhpcy50ZWxJbnB1dC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVQbGFjZWhvbGRlcigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzb2x2ZVV0aWxzU2NyaXB0UHJvbWlzZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiZGVzdHJveVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybSA9IHRoaXMudGVsSW5wdXQuZm9ybTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5hbGxvd0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhlIGRyb3Bkb3duIGlzIGNsb3NlZCAoYW5kIHVuYmluZCBsaXN0ZW5lcnMpXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmxhZy5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5faGFuZGxlQ2xpY2tTZWxlY3RlZEZsYWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mbGFnc0NvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLl9oYW5kbGVGbGFnc0NvbnRhaW5lcktleWRvd24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGFiZWwgY2xpY2sgaGFja1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxhYmVsID0gdGhpcy5fZ2V0Q2xvc2VzdExhYmVsKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGFiZWwpIGxhYmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLl9oYW5kbGVMYWJlbENsaWNrKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyB1bmJpbmQgaGlkZGVuSW5wdXQgbGlzdGVuZXJzXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmhpZGRlbklucHV0ICYmIGZvcm0pIGZvcm0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCB0aGlzLl9oYW5kbGVIaWRkZW5JbnB1dFN1Ym1pdCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHVuYmluZCBhdXRvSGlkZURpYWxDb2RlIGxpc3RlbmVyc1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmF1dG9IaWRlRGlhbENvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmb3JtKSBmb3JtLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgdGhpcy5faGFuZGxlU3VibWl0T3JCbHVyRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKFwiYmx1clwiLCB0aGlzLl9oYW5kbGVTdWJtaXRPckJsdXJFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gdW5iaW5kIGtleSBldmVudHMsIGFuZCBjdXQvcGFzdGUgZXZlbnRzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVsSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleXVwXCIsIHRoaXMuX2hhbmRsZUtleXVwRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjdXRcIiwgdGhpcy5faGFuZGxlQ2xpcGJvYXJkRXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbElucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwYXN0ZVwiLCB0aGlzLl9oYW5kbGVDbGlwYm9hcmRFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBhdHRyaWJ1dGUgb2YgaWQgaW5zdGFuY2U6IGRhdGEtaW50bC10ZWwtaW5wdXQtaWRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZWxJbnB1dC5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLWludGwtdGVsLWlucHV0LWlkXCIpO1xuICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgbWFya3VwIChidXQgbGVhdmUgdGhlIG9yaWdpbmFsIGlucHV0KVxuICAgICAgICAgICAgICAgICAgICB2YXIgd3JhcHBlciA9IHRoaXMudGVsSW5wdXQucGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgd3JhcHBlci5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLnRlbElucHV0LCB3cmFwcGVyKTtcbiAgICAgICAgICAgICAgICAgICAgd3JhcHBlci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHdyYXBwZXIpO1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuaW5zdGFuY2VzW3RoaXMuaWRdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiZ2V0RXh0ZW5zaW9uXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGdldEV4dGVuc2lvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRsVGVsSW5wdXRVdGlscykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGludGxUZWxJbnB1dFV0aWxzLmdldEV4dGVuc2lvbih0aGlzLl9nZXRGdWxsTnVtYmVyKCksIHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YS5pc28yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcImdldE51bWJlclwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBnZXROdW1iZXIoZm9ybWF0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50bFRlbElucHV0VXRpbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc28yID0gdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzI7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW50bFRlbElucHV0VXRpbHMuZm9ybWF0TnVtYmVyKHRoaXMuX2dldEZ1bGxOdW1iZXIoKSwgaXNvMiwgZm9ybWF0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcImdldE51bWJlclR5cGVcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0TnVtYmVyVHlwZSgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRsVGVsSW5wdXRVdGlscykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGludGxUZWxJbnB1dFV0aWxzLmdldE51bWJlclR5cGUodGhpcy5fZ2V0RnVsbE51bWJlcigpLCB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuaXNvMik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC05OTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcImdldFNlbGVjdGVkQ291bnRyeURhdGFcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0U2VsZWN0ZWRDb3VudHJ5RGF0YSgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcImdldFZhbGlkYXRpb25FcnJvclwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRWYWxpZGF0aW9uRXJyb3IoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50bFRlbElucHV0VXRpbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc28yID0gdGhpcy5zZWxlY3RlZENvdW50cnlEYXRhLmlzbzI7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW50bFRlbElucHV0VXRpbHMuZ2V0VmFsaWRhdGlvbkVycm9yKHRoaXMuX2dldEZ1bGxOdW1iZXIoKSwgaXNvMik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC05OTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcImlzVmFsaWROdW1iZXJcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gaXNWYWxpZE51bWJlcigpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9IHRoaXMuX2dldEZ1bGxOdW1iZXIoKS50cmltKCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb3VudHJ5Q29kZSA9IHRoaXMub3B0aW9ucy5uYXRpb25hbE1vZGUgPyB0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuaXNvMiA6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB3aW5kb3cuaW50bFRlbElucHV0VXRpbHMgPyBpbnRsVGVsSW5wdXRVdGlscy5pc1ZhbGlkTnVtYmVyKHZhbCwgY291bnRyeUNvZGUpIDogbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcInNldENvdW50cnlcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gc2V0Q291bnRyeShvcmlnaW5hbENvdW50cnlDb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb3VudHJ5Q29kZSA9IG9yaWdpbmFsQ291bnRyeUNvZGUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgYWxyZWFkeSBzZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRGbGFnSW5uZXIuY2xhc3NMaXN0LmNvbnRhaW5zKFwiaXRpX19cIi5jb25jYXQoY291bnRyeUNvZGUpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0RmxhZyhjb3VudHJ5Q29kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVEaWFsQ29kZSh0aGlzLnNlbGVjdGVkQ291bnRyeURhdGEuZGlhbENvZGUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJDb3VudHJ5Q2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2V5OiBcInNldE51bWJlclwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBzZXROdW1iZXIobnVtYmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdlIG11c3QgdXBkYXRlIHRoZSBmbGFnIGZpcnN0LCB3aGljaCB1cGRhdGVzIHRoaXMuc2VsZWN0ZWRDb3VudHJ5RGF0YSwgd2hpY2ggaXMgdXNlZCBmb3JcbiAgICAgICAgICAgICAgICAgICAgLy8gZm9ybWF0dGluZyB0aGUgbnVtYmVyIGJlZm9yZSBkaXNwbGF5aW5nIGl0XG4gICAgICAgICAgICAgICAgICAgIHZhciBmbGFnQ2hhbmdlZCA9IHRoaXMuX3VwZGF0ZUZsYWdGcm9tTnVtYmVyKG51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVZhbEZyb21OdW1iZXIobnVtYmVyKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZsYWdDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyQ291bnRyeUNoYW5nZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtleTogXCJzZXRQbGFjZWhvbGRlck51bWJlclR5cGVcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gc2V0UGxhY2Vob2xkZXJOdW1iZXJUeXBlKHR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyTnVtYmVyVHlwZSA9IHR5cGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVBsYWNlaG9sZGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBdKTtcbiAgICAgICAgICAgIHJldHVybiBJdGk7XG4gICAgICAgIH0oKTtcbiAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqXG4gKiAgU1RBVElDIE1FVEhPRFNcbiAqKioqKioqKioqKioqKioqKioqKi9cbiAgICAgICAgLy8gZ2V0IHRoZSBjb3VudHJ5IGRhdGEgb2JqZWN0XG4gICAgICAgIGludGxUZWxJbnB1dEdsb2JhbHMuZ2V0Q291bnRyeURhdGEgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJldHVybiBhbGxDb3VudHJpZXM7XG4gICAgICAgIH07XG4gICAgICAgIC8vIGluamVjdCBhIDxzY3JpcHQ+IGVsZW1lbnQgdG8gbG9hZCB1dGlscy5qc1xuICAgICAgICB2YXIgaW5qZWN0U2NyaXB0ID0gZnVuY3Rpb24gaW5qZWN0U2NyaXB0KHBhdGgsIGhhbmRsZVN1Y2Nlc3MsIGhhbmRsZUZhaWx1cmUpIHtcbiAgICAgICAgICAgIC8vIGluamVjdCBhIG5ldyBzY3JpcHQgZWxlbWVudCBpbnRvIHRoZSBwYWdlXG4gICAgICAgICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICAgICAgICAgIHNjcmlwdC5vbmxvYWQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICBmb3JFYWNoSW5zdGFuY2UoXCJoYW5kbGVVdGlsc1wiKTtcbiAgICAgICAgICAgICAgICBpZiAoaGFuZGxlU3VjY2VzcykgaGFuZGxlU3VjY2VzcygpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHNjcmlwdC5vbmVycm9yID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgZm9yRWFjaEluc3RhbmNlKFwicmVqZWN0VXRpbHNTY3JpcHRQcm9taXNlXCIpO1xuICAgICAgICAgICAgICAgIGlmIChoYW5kbGVGYWlsdXJlKSBoYW5kbGVGYWlsdXJlKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgc2NyaXB0LmNsYXNzTmFtZSA9IFwiaXRpLWxvYWQtdXRpbHNcIjtcbiAgICAgICAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICAgICAgICBzY3JpcHQuc3JjID0gcGF0aDtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gbG9hZCB0aGUgdXRpbHMgc2NyaXB0XG4gICAgICAgIGludGxUZWxJbnB1dEdsb2JhbHMubG9hZFV0aWxzID0gZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICAgICAgLy8gMiBvcHRpb25zOlxuICAgICAgICAgICAgLy8gMSkgbm90IGFscmVhZHkgc3RhcnRlZCBsb2FkaW5nIChzdGFydClcbiAgICAgICAgICAgIC8vIDIpIGFscmVhZHkgc3RhcnRlZCBsb2FkaW5nIChkbyBub3RoaW5nIC0ganVzdCB3YWl0IGZvciB0aGUgb25sb2FkIGNhbGxiYWNrIHRvIGZpcmUsIHdoaWNoIHdpbGxcbiAgICAgICAgICAgIC8vIHRyaWdnZXIgaGFuZGxlVXRpbHMgb24gYWxsIGluc3RhbmNlcywgaW52b2tpbmcgdGhlaXIgcmVzb2x2ZVV0aWxzU2NyaXB0UHJvbWlzZSBmdW5jdGlvbnMpXG4gICAgICAgICAgICBpZiAoIXdpbmRvdy5pbnRsVGVsSW5wdXRVdGlscyAmJiAhd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuc3RhcnRlZExvYWRpbmdVdGlsc1NjcmlwdCkge1xuICAgICAgICAgICAgICAgIC8vIG9ubHkgZG8gdGhpcyBvbmNlXG4gICAgICAgICAgICAgICAgd2luZG93LmludGxUZWxJbnB1dEdsb2JhbHMuc3RhcnRlZExvYWRpbmdVdGlsc1NjcmlwdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgLy8gaWYgd2UgaGF2ZSBwcm9taXNlcywgdGhlbiByZXR1cm4gYSBwcm9taXNlXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBQcm9taXNlICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpbmplY3RTY3JpcHQocGF0aCwgcmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGluamVjdFNjcmlwdChwYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9O1xuICAgICAgICAvLyBkZWZhdWx0IG9wdGlvbnNcbiAgICAgICAgaW50bFRlbElucHV0R2xvYmFscy5kZWZhdWx0cyA9IGRlZmF1bHRzO1xuICAgICAgICAvLyB2ZXJzaW9uXG4gICAgICAgIGludGxUZWxJbnB1dEdsb2JhbHMudmVyc2lvbiA9IFwiMTYuMS4wXCI7XG4gICAgICAgIC8vIGNvbnZlbmllbmNlIHdyYXBwZXJcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGlucHV0LCBvcHRpb25zKSB7XG4gICAgICAgICAgICB2YXIgaXRpID0gbmV3IEl0aShpbnB1dCwgb3B0aW9ucyk7XG4gICAgICAgICAgICBpdGkuX2luaXQoKTtcbiAgICAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZShcImRhdGEtaW50bC10ZWwtaW5wdXQtaWRcIiwgaXRpLmlkKTtcbiAgICAgICAgICAgIHdpbmRvdy5pbnRsVGVsSW5wdXRHbG9iYWxzLmluc3RhbmNlc1tpdGkuaWRdID0gaXRpO1xuICAgICAgICAgICAgcmV0dXJuIGl0aTtcbiAgICAgICAgfTtcbiAgICB9KCk7XG59KTsiLCIvKipcbiAqIEV4cG9zaW5nIGludGwtdGVsLWlucHV0IGFzIGEgY29tcG9uZW50XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4vYnVpbGQvanMvaW50bFRlbElucHV0XCIpO1xuIiwiLy8gc2hpbSBmb3IgdXNpbmcgcHJvY2VzcyBpbiBicm93c2VyXG52YXIgcHJvY2VzcyA9IG1vZHVsZS5leHBvcnRzID0ge307XG5cbi8vIGNhY2hlZCBmcm9tIHdoYXRldmVyIGdsb2JhbCBpcyBwcmVzZW50IHNvIHRoYXQgdGVzdCBydW5uZXJzIHRoYXQgc3R1YiBpdFxuLy8gZG9uJ3QgYnJlYWsgdGhpbmdzLiAgQnV0IHdlIG5lZWQgdG8gd3JhcCBpdCBpbiBhIHRyeSBjYXRjaCBpbiBjYXNlIGl0IGlzXG4vLyB3cmFwcGVkIGluIHN0cmljdCBtb2RlIGNvZGUgd2hpY2ggZG9lc24ndCBkZWZpbmUgYW55IGdsb2JhbHMuICBJdCdzIGluc2lkZSBhXG4vLyBmdW5jdGlvbiBiZWNhdXNlIHRyeS9jYXRjaGVzIGRlb3B0aW1pemUgaW4gY2VydGFpbiBlbmdpbmVzLlxuXG52YXIgY2FjaGVkU2V0VGltZW91dDtcbnZhciBjYWNoZWRDbGVhclRpbWVvdXQ7XG5cbmZ1bmN0aW9uIGRlZmF1bHRTZXRUaW1vdXQoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG5mdW5jdGlvbiBkZWZhdWx0Q2xlYXJUaW1lb3V0ICgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2NsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCcpO1xufVxuKGZ1bmN0aW9uICgpIHtcbiAgICB0cnkge1xuICAgICAgICBpZiAodHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBzZXRUaW1lb3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBkZWZhdWx0U2V0VGltb3V0O1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBpZiAodHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gY2xlYXJUaW1lb3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcbiAgICB9XG59ICgpKVxuZnVuY3Rpb24gcnVuVGltZW91dChmdW4pIHtcbiAgICBpZiAoY2FjaGVkU2V0VGltZW91dCA9PT0gc2V0VGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgLy8gaWYgc2V0VGltZW91dCB3YXNuJ3QgYXZhaWxhYmxlIGJ1dCB3YXMgbGF0dGVyIGRlZmluZWRcbiAgICBpZiAoKGNhY2hlZFNldFRpbWVvdXQgPT09IGRlZmF1bHRTZXRUaW1vdXQgfHwgIWNhY2hlZFNldFRpbWVvdXQpICYmIHNldFRpbWVvdXQpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIC8vIHdoZW4gd2hlbiBzb21lYm9keSBoYXMgc2NyZXdlZCB3aXRoIHNldFRpbWVvdXQgYnV0IG5vIEkuRS4gbWFkZG5lc3NcbiAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9IGNhdGNoKGUpe1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0IHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKG51bGwsIGZ1biwgMCk7XG4gICAgICAgIH0gY2F0Y2goZSl7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvclxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbCh0aGlzLCBmdW4sIDApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cbmZ1bmN0aW9uIHJ1bkNsZWFyVGltZW91dChtYXJrZXIpIHtcbiAgICBpZiAoY2FjaGVkQ2xlYXJUaW1lb3V0ID09PSBjbGVhclRpbWVvdXQpIHtcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9XG4gICAgLy8gaWYgY2xlYXJUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkQ2xlYXJUaW1lb3V0ID09PSBkZWZhdWx0Q2xlYXJUaW1lb3V0IHx8ICFjYWNoZWRDbGVhclRpbWVvdXQpICYmIGNsZWFyVGltZW91dCkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfSBjYXRjaCAoZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgIHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwobnVsbCwgbWFya2VyKTtcbiAgICAgICAgfSBjYXRjaCAoZSl7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvci5cbiAgICAgICAgICAgIC8vIFNvbWUgdmVyc2lvbnMgb2YgSS5FLiBoYXZlIGRpZmZlcmVudCBydWxlcyBmb3IgY2xlYXJUaW1lb3V0IHZzIHNldFRpbWVvdXRcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbCh0aGlzLCBtYXJrZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxufVxudmFyIHF1ZXVlID0gW107XG52YXIgZHJhaW5pbmcgPSBmYWxzZTtcbnZhciBjdXJyZW50UXVldWU7XG52YXIgcXVldWVJbmRleCA9IC0xO1xuXG5mdW5jdGlvbiBjbGVhblVwTmV4dFRpY2soKSB7XG4gICAgaWYgKCFkcmFpbmluZyB8fCAhY3VycmVudFF1ZXVlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBpZiAoY3VycmVudFF1ZXVlLmxlbmd0aCkge1xuICAgICAgICBxdWV1ZSA9IGN1cnJlbnRRdWV1ZS5jb25jYXQocXVldWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHF1ZXVlSW5kZXggPSAtMTtcbiAgICB9XG4gICAgaWYgKHF1ZXVlLmxlbmd0aCkge1xuICAgICAgICBkcmFpblF1ZXVlKCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBkcmFpblF1ZXVlKCkge1xuICAgIGlmIChkcmFpbmluZykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciB0aW1lb3V0ID0gcnVuVGltZW91dChjbGVhblVwTmV4dFRpY2spO1xuICAgIGRyYWluaW5nID0gdHJ1ZTtcblxuICAgIHZhciBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgd2hpbGUobGVuKSB7XG4gICAgICAgIGN1cnJlbnRRdWV1ZSA9IHF1ZXVlO1xuICAgICAgICBxdWV1ZSA9IFtdO1xuICAgICAgICB3aGlsZSAoKytxdWV1ZUluZGV4IDwgbGVuKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudFF1ZXVlKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFF1ZXVlW3F1ZXVlSW5kZXhdLnJ1bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHF1ZXVlSW5kZXggPSAtMTtcbiAgICAgICAgbGVuID0gcXVldWUubGVuZ3RoO1xuICAgIH1cbiAgICBjdXJyZW50UXVldWUgPSBudWxsO1xuICAgIGRyYWluaW5nID0gZmFsc2U7XG4gICAgcnVuQ2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xufVxuXG5wcm9jZXNzLm5leHRUaWNrID0gZnVuY3Rpb24gKGZ1bikge1xuICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggLSAxKTtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGFyZ3NbaSAtIDFdID0gYXJndW1lbnRzW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHF1ZXVlLnB1c2gobmV3IEl0ZW0oZnVuLCBhcmdzKSk7XG4gICAgaWYgKHF1ZXVlLmxlbmd0aCA9PT0gMSAmJiAhZHJhaW5pbmcpIHtcbiAgICAgICAgcnVuVGltZW91dChkcmFpblF1ZXVlKTtcbiAgICB9XG59O1xuXG4vLyB2OCBsaWtlcyBwcmVkaWN0aWJsZSBvYmplY3RzXG5mdW5jdGlvbiBJdGVtKGZ1biwgYXJyYXkpIHtcbiAgICB0aGlzLmZ1biA9IGZ1bjtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG59XG5JdGVtLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5mdW4uYXBwbHkobnVsbCwgdGhpcy5hcnJheSk7XG59O1xucHJvY2Vzcy50aXRsZSA9ICdicm93c2VyJztcbnByb2Nlc3MuYnJvd3NlciA9IHRydWU7XG5wcm9jZXNzLmVudiA9IHt9O1xucHJvY2Vzcy5hcmd2ID0gW107XG5wcm9jZXNzLnZlcnNpb24gPSAnJzsgLy8gZW1wdHkgc3RyaW5nIHRvIGF2b2lkIHJlZ2V4cCBpc3N1ZXNcbnByb2Nlc3MudmVyc2lvbnMgPSB7fTtcblxuZnVuY3Rpb24gbm9vcCgpIHt9XG5cbnByb2Nlc3Mub24gPSBub29wO1xucHJvY2Vzcy5hZGRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLm9uY2UgPSBub29wO1xucHJvY2Vzcy5vZmYgPSBub29wO1xucHJvY2Vzcy5yZW1vdmVMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUFsbExpc3RlbmVycyA9IG5vb3A7XG5wcm9jZXNzLmVtaXQgPSBub29wO1xucHJvY2Vzcy5wcmVwZW5kTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5wcmVwZW5kT25jZUxpc3RlbmVyID0gbm9vcDtcblxucHJvY2Vzcy5saXN0ZW5lcnMgPSBmdW5jdGlvbiAobmFtZSkgeyByZXR1cm4gW10gfVxuXG5wcm9jZXNzLmJpbmRpbmcgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcigncHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5cbnByb2Nlc3MuY3dkID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gJy8nIH07XG5wcm9jZXNzLmNoZGlyID0gZnVuY3Rpb24gKGRpcikge1xuICAgIHRocm93IG5ldyBFcnJvcigncHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkJyk7XG59O1xucHJvY2Vzcy51bWFzayA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gMDsgfTtcbiIsInZhciBuZXh0VGljayA9IHJlcXVpcmUoJ3Byb2Nlc3MvYnJvd3Nlci5qcycpLm5leHRUaWNrO1xudmFyIGFwcGx5ID0gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5O1xudmFyIHNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlO1xudmFyIGltbWVkaWF0ZUlkcyA9IHt9O1xudmFyIG5leHRJbW1lZGlhdGVJZCA9IDA7XG5cbi8vIERPTSBBUElzLCBmb3IgY29tcGxldGVuZXNzXG5cbmV4cG9ydHMuc2V0VGltZW91dCA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRUaW1lb3V0LCB3aW5kb3csIGFyZ3VtZW50cyksIGNsZWFyVGltZW91dCk7XG59O1xuZXhwb3J0cy5zZXRJbnRlcnZhbCA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRJbnRlcnZhbCwgd2luZG93LCBhcmd1bWVudHMpLCBjbGVhckludGVydmFsKTtcbn07XG5leHBvcnRzLmNsZWFyVGltZW91dCA9XG5leHBvcnRzLmNsZWFySW50ZXJ2YWwgPSBmdW5jdGlvbih0aW1lb3V0KSB7IHRpbWVvdXQuY2xvc2UoKTsgfTtcblxuZnVuY3Rpb24gVGltZW91dChpZCwgY2xlYXJGbikge1xuICB0aGlzLl9pZCA9IGlkO1xuICB0aGlzLl9jbGVhckZuID0gY2xlYXJGbjtcbn1cblRpbWVvdXQucHJvdG90eXBlLnVucmVmID0gVGltZW91dC5wcm90b3R5cGUucmVmID0gZnVuY3Rpb24oKSB7fTtcblRpbWVvdXQucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMuX2NsZWFyRm4uY2FsbCh3aW5kb3csIHRoaXMuX2lkKTtcbn07XG5cbi8vIERvZXMgbm90IHN0YXJ0IHRoZSB0aW1lLCBqdXN0IHNldHMgdXAgdGhlIG1lbWJlcnMgbmVlZGVkLlxuZXhwb3J0cy5lbnJvbGwgPSBmdW5jdGlvbihpdGVtLCBtc2Vjcykge1xuICBjbGVhclRpbWVvdXQoaXRlbS5faWRsZVRpbWVvdXRJZCk7XG4gIGl0ZW0uX2lkbGVUaW1lb3V0ID0gbXNlY3M7XG59O1xuXG5leHBvcnRzLnVuZW5yb2xsID0gZnVuY3Rpb24oaXRlbSkge1xuICBjbGVhclRpbWVvdXQoaXRlbS5faWRsZVRpbWVvdXRJZCk7XG4gIGl0ZW0uX2lkbGVUaW1lb3V0ID0gLTE7XG59O1xuXG5leHBvcnRzLl91bnJlZkFjdGl2ZSA9IGV4cG9ydHMuYWN0aXZlID0gZnVuY3Rpb24oaXRlbSkge1xuICBjbGVhclRpbWVvdXQoaXRlbS5faWRsZVRpbWVvdXRJZCk7XG5cbiAgdmFyIG1zZWNzID0gaXRlbS5faWRsZVRpbWVvdXQ7XG4gIGlmIChtc2VjcyA+PSAwKSB7XG4gICAgaXRlbS5faWRsZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gb25UaW1lb3V0KCkge1xuICAgICAgaWYgKGl0ZW0uX29uVGltZW91dClcbiAgICAgICAgaXRlbS5fb25UaW1lb3V0KCk7XG4gICAgfSwgbXNlY3MpO1xuICB9XG59O1xuXG4vLyBUaGF0J3Mgbm90IGhvdyBub2RlLmpzIGltcGxlbWVudHMgaXQgYnV0IHRoZSBleHBvc2VkIGFwaSBpcyB0aGUgc2FtZS5cbmV4cG9ydHMuc2V0SW1tZWRpYXRlID0gdHlwZW9mIHNldEltbWVkaWF0ZSA9PT0gXCJmdW5jdGlvblwiID8gc2V0SW1tZWRpYXRlIDogZnVuY3Rpb24oZm4pIHtcbiAgdmFyIGlkID0gbmV4dEltbWVkaWF0ZUlkKys7XG4gIHZhciBhcmdzID0gYXJndW1lbnRzLmxlbmd0aCA8IDIgPyBmYWxzZSA6IHNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTtcblxuICBpbW1lZGlhdGVJZHNbaWRdID0gdHJ1ZTtcblxuICBuZXh0VGljayhmdW5jdGlvbiBvbk5leHRUaWNrKCkge1xuICAgIGlmIChpbW1lZGlhdGVJZHNbaWRdKSB7XG4gICAgICAvLyBmbi5jYWxsKCkgaXMgZmFzdGVyIHNvIHdlIG9wdGltaXplIGZvciB0aGUgY29tbW9uIHVzZS1jYXNlXG4gICAgICAvLyBAc2VlIGh0dHA6Ly9qc3BlcmYuY29tL2NhbGwtYXBwbHktc2VndVxuICAgICAgaWYgKGFyZ3MpIHtcbiAgICAgICAgZm4uYXBwbHkobnVsbCwgYXJncyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmbi5jYWxsKG51bGwpO1xuICAgICAgfVxuICAgICAgLy8gUHJldmVudCBpZHMgZnJvbSBsZWFraW5nXG4gICAgICBleHBvcnRzLmNsZWFySW1tZWRpYXRlKGlkKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBpZDtcbn07XG5cbmV4cG9ydHMuY2xlYXJJbW1lZGlhdGUgPSB0eXBlb2YgY2xlYXJJbW1lZGlhdGUgPT09IFwiZnVuY3Rpb25cIiA/IGNsZWFySW1tZWRpYXRlIDogZnVuY3Rpb24oaWQpIHtcbiAgZGVsZXRlIGltbWVkaWF0ZUlkc1tpZF07XG59OyIsImltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBGaWxlRmllbGRFbGVtZW50IH0gZnJvbSAnLi9lbGVtZW50cy9GaWxlRmllbGQvRmlsZUZpZWxkRWxlbWVudCc7XG5pbXBvcnQgQXJyYXlVdGlsIGZyb20gJy4vZnJhbWV3b3JrL1V0aWxpdGllcy9BcnJheVV0aWwnO1xuaW1wb3J0IE1ha2VSZXF1ZXN0IGZyb20gJy4vZnJhbWV3b3JrL1V0aWxpdGllcy9NYWtlUmVxdWVzdCc7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21Gb3JtIHtcblx0YWN0aW9uOiBzdHJpbmc7XG5cdG1ldGhvZDogc3RyaW5nO1xuXHRfbmF0aXZlSW5wdXRzOiBIVE1MSW5wdXRFbGVtZW50W107XG5cblx0cHVibGljIG9uc3VibWl0OiAoKHRoaXM6IEN1c3RvbUZvcm0sIHByb21pc2U6IFByb21pc2U8YW55PikgPT4gYW55KSB8IG51bGw7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBmb3JtOiBIVE1MRm9ybUVsZW1lbnQpIHtcblx0XHR0aGlzLmFjdGlvbiA9IGZvcm0uYWN0aW9uIHx8ICcnO1xuXHRcdHRoaXMubWV0aG9kID0gZm9ybS5tZXRob2QgfHwgJ2dldCc7XG5cdFx0dGhpcy5hdHRhY2hGb3JtKCk7XG5cdFx0dGhpcy5iaW5Hcm91cHNUb0RlcGVuZGVuY3koKTtcblx0fVxuXG5cdGdldCBpbnB1dHMoKTogQ3VzdG9tSW5wdXRFbGVtZW50W10ge1xuXHRcdHJldHVybiBBcnJheVV0aWwuRnJvbU5vZGVMaXN0KHRoaXMuZm9ybS5xdWVyeVNlbGVjdG9yQWxsKCcuZ3JvdXAtY29udGFpbmVyOm5vdChbaGlkZGVuXSkgW2N1c3RvbS1pbnB1dF06bm90KFtoaWRkZW5dKScpKTtcblx0fVxuXHRnZXQgbmF0aXZlSW5wdXRzKCk6IEhUTUxJbnB1dEVsZW1lbnRbXSB7XG5cdFx0dGhpcy5fbmF0aXZlSW5wdXRzID1cblx0XHRcdHRoaXMuX25hdGl2ZUlucHV0cyB8fFxuXHRcdFx0QXJyYXlVdGlsLkZyb21Ob2RlTGlzdCh0aGlzLmZvcm0ucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQnKSk7XG5cdFx0cmV0dXJuIHRoaXMuX25hdGl2ZUlucHV0cztcblx0fVxuXG5cdGdldCBoYXNGaWxlcygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5pbnB1dHMuc29tZShpbnB1dCA9PiBpbnB1dCBpbnN0YW5jZW9mIEZpbGVGaWVsZEVsZW1lbnQpO1xuXHR9XG5cblx0YXR0YWNoRm9ybSgpIHtcblx0XHR0aGlzLmZvcm0ub25zdWJtaXQgPSBldmVudCA9PiB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0bGV0IHZhbGlkID0gdGhpcy52YWxpZGF0ZSgpO1xuXHRcdFx0aWYgKHZhbGlkKSB7XG5cdFx0XHRcdGlmICh0aGlzLm9uc3VibWl0KSB7XG5cdFx0XHRcdFx0dGhpcy5vbnN1Ym1pdCh0aGlzLnN1Ym1pdCgpKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdH1cblxuXHR2YWxpZGF0ZSgpOiBib29sZWFuIHtcblx0XHR0aGlzLmlucHV0cy5mb3JFYWNoKGlucHV0ID0+ICg8Q3VzdG9tSW5wdXRFbGVtZW50PmlucHV0KS52YWxpZGF0ZSgpKTtcblx0XHRyZXR1cm4gdGhpcy5pbnB1dHMuZXZlcnkoaW5wdXQgPT4gKDxDdXN0b21JbnB1dEVsZW1lbnQ+aW5wdXQpLnZhbGlkKTtcblx0fVxuXG5cdHN1Ym1pdCgpOiBQcm9taXNlPGFueT4ge1xuXHRcdGxldCBmb3JtRGF0YSA9IHt9O1xuXHRcdGNvbnN0IGhlYWRlcnM6IGFueSA9IHt9O1xuXHRcdHRoaXMuaW5wdXRzLm1hcChpID0+IChmb3JtRGF0YVtpLm5hbWVdID0gaS52YWx1ZSkpO1xuXHRcdGZvcm1EYXRhID0gdGhpcy5leHRyYWN0RGF0YSgpO1xuXHRcdHJldHVybiBuZXcgTWFrZVJlcXVlc3QodGhpcy5hY3Rpb24sIHRoaXMubWV0aG9kLCBoZWFkZXJzKS5zZW5kKFxuXHRcdFx0Zm9ybURhdGEsXG5cdFx0KTtcblx0fVxuXHRwcml2YXRlIGV4dHJhY3REYXRhKCk6IEZvcm1EYXRhIHtcblx0XHRjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblx0XHRmb3IgKGNvbnN0IGlucHV0IG9mIHRoaXMuaW5wdXRzKSB7XG5cdFx0XHRpZiAoaW5wdXQgaW5zdGFuY2VvZiBGaWxlRmllbGRFbGVtZW50KSB7XG5cdFx0XHRcdGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpbnB1dC52YWx1ZS5sZW5ndGg7IGluZGV4KyspIHtcblx0XHRcdFx0XHRjb25zdCBmaWxlID0gaW5wdXQudmFsdWVbaW5kZXhdO1xuXHRcdFx0XHRcdGZvcm1EYXRhLmFwcGVuZChpbnB1dC5uYW1lLCBmaWxlLCBmaWxlLm5hbWUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRmb3JtRGF0YS5hcHBlbmQoYFZhbHVlc1ske2lucHV0Lm5hbWV9XWAsIGlucHV0LnZhbHVlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Zm9yIChjb25zdCBpbnB1dCBvZiB0aGlzLm5hdGl2ZUlucHV0cykge1xuXHRcdFx0aWYgKGlucHV0Lm5hbWUpIHtcblx0XHRcdFx0Zm9ybURhdGEuYXBwZW5kKGlucHV0Lm5hbWUsIGlucHV0LnZhbHVlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGZvcm1EYXRhO1xuXHR9XG5cblx0cHJpdmF0ZSBiaW5Hcm91cHNUb0RlcGVuZGVuY3koKSB7XG5cdFx0bGV0IGdyb3VwQ29udGFpbmVycyA9IHRoaXMuZm9ybS5xdWVyeVNlbGVjdG9yQWxsKCdkaXYuZ3JvdXAtY29udGFpbmVyOm5vdChbZGF0YS1kZXBlbmRzLW9uPVwiXCJdKScsXG5cdFx0KTtcblx0XHRncm91cENvbnRhaW5lcnMuZm9yRWFjaCgoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcblx0XHRcdGxldCBkZXBlbmRlbnRGaWVsZCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWRlcGVuZHMtb24nKTtcblx0XHRcdGxldCBkZXBlbmRlbnRWYWx1ZSA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWRlcGVuZGVudC12YWx1ZScpO1xuXHRcdFx0bGV0IGN1c3RvbUVsZW1lbnQ6IEN1c3RvbUlucHV0RWxlbWVudCA9IGRvY3VtZW50LmZvcm1zWzBdLnF1ZXJ5U2VsZWN0b3IoYFtuYW1lPVwiJHtkZXBlbmRlbnRGaWVsZH1cIl1gKSBhcyBDdXN0b21JbnB1dEVsZW1lbnQ7XG5cdFx0XHRlbGVtZW50LnNldEF0dHJpYnV0ZShcImhpZGRlblwiLCBcIlwiKTtcblx0XHRcdGN1c3RvbUVsZW1lbnQub25DaGFuZ2Uub24oZXZlbnQgPT4ge1xuXHRcdFx0XHRpZiAoZXZlbnQudmFsdWUgPT09IGRlcGVuZGVudFZhbHVlIHx8IGV2ZW50LnZhbHVlLmluZGV4T2YoZGVwZW5kZW50VmFsdWUpID49IDApIHtcblx0XHRcdFx0XHR0aGlzLnNob3dHcm91cEFuZEl0c0RlcGVuZGVuY2llcyhlbGVtZW50KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLmhpZGVHcm91cEFuZEl0c0RlcGVuZGVuY2llcyhlbGVtZW50KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIGhpZGVHcm91cEFuZEl0c0RlcGVuZGVuY2llcyhncm91cDogRWxlbWVudCkge1xuXHRcdGNvbnN0IGlucHV0RWxlbWVudHNJbnNpZGVHcm91cCA9IHRoaXMuaW5wdXRzLmZpbHRlcihpbnB1dCA9PiB0aGlzLmlzRGVzY2VuZGFudChncm91cCwgaW5wdXQpKTtcblx0XHRncm91cC5zZXRBdHRyaWJ1dGUoXCJoaWRkZW5cIiwgXCJcIik7XG5cdFx0bGV0IGdyb3VwQ29udGFpbmVycyA9IHRoaXMuZm9ybS5xdWVyeVNlbGVjdG9yQWxsKCdkaXYuZ3JvdXAtY29udGFpbmVyOm5vdChbZGF0YS1kZXBlbmRzLW9uPVwiXCJdKScpO1xuXHRcdGdyb3VwQ29udGFpbmVycy5mb3JFYWNoKG90aGVyR3JvdXAgPT4ge1xuXHRcdFx0aWYgKG90aGVyR3JvdXAgIT09IGdyb3VwKSB7XG5cdFx0XHRcdGxldCBncm91cERlcGVuZHNPbkZpZWxkID0gb3RoZXJHcm91cC5nZXRBdHRyaWJ1dGUoJ2RhdGEtZGVwZW5kcy1vbicpO1xuXHRcdFx0XHRpbnB1dEVsZW1lbnRzSW5zaWRlR3JvdXAuZm9yRWFjaChpbnB1dCA9PiB7XG5cdFx0XHRcdFx0aWYgKGlucHV0Lm5hbWUgPT09IGdyb3VwRGVwZW5kc09uRmllbGQpIHtcblx0XHRcdFx0XHRcdHRoaXMuaGlkZUdyb3VwQW5kSXRzRGVwZW5kZW5jaWVzKG90aGVyR3JvdXApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cHJpdmF0ZSBzaG93R3JvdXBBbmRJdHNEZXBlbmRlbmNpZXMoZ3JvdXA6IEVsZW1lbnQpIHtcblx0XHRncm91cC5yZW1vdmVBdHRyaWJ1dGUoXCJoaWRkZW5cIik7XG5cdFx0Y29uc3QgaW5wdXRFbGVtZW50c0luc2lkZUdyb3VwID0gdGhpcy5pbnB1dHMuZmlsdGVyKGlucHV0ID0+IHRoaXMuaXNEZXNjZW5kYW50KGdyb3VwLCBpbnB1dCkpO1xuXHRcdGxldCBncm91cENvbnRhaW5lcnMgPSB0aGlzLmZvcm0ucXVlcnlTZWxlY3RvckFsbCgnZGl2Lmdyb3VwLWNvbnRhaW5lcjpub3QoW2RhdGEtZGVwZW5kcy1vbj1cIlwiXSknKTtcblx0XHRncm91cENvbnRhaW5lcnMuZm9yRWFjaChvdGhlckdyb3VwID0+IHtcblx0XHRcdGlmIChvdGhlckdyb3VwICE9PSBncm91cCkge1xuXHRcdFx0XHRsZXQgZ3JvdXBEZXBlbmRzT25GaWVsZCA9IG90aGVyR3JvdXAuZ2V0QXR0cmlidXRlKCdkYXRhLWRlcGVuZHMtb24nKTtcblx0XHRcdFx0bGV0IGRlcGVuZGVudFZhbHVlID0gb3RoZXJHcm91cC5nZXRBdHRyaWJ1dGUoJ2RhdGEtZGVwZW5kZW50LXZhbHVlJyk7XG5cdFx0XHRcdGlucHV0RWxlbWVudHNJbnNpZGVHcm91cC5mb3JFYWNoKGlucHV0ID0+IHtcblx0XHRcdFx0XHRpZiAoaW5wdXQubmFtZSA9PT0gZ3JvdXBEZXBlbmRzT25GaWVsZFxuXHRcdFx0XHRcdFx0JiYgaW5wdXQudmFsdWVcblx0XHRcdFx0XHRcdCYmIChpbnB1dC52YWx1ZSA9PT0gZGVwZW5kZW50VmFsdWVcblx0XHRcdFx0XHRcdFx0fHwgaW5wdXQudmFsdWUuaW5kZXhPZihkZXBlbmRlbnRWYWx1ZSkgPj0gMCkpIHtcblx0XHRcdFx0XHRcdHRoaXMuc2hvd0dyb3VwQW5kSXRzRGVwZW5kZW5jaWVzKG90aGVyR3JvdXApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cHJpdmF0ZSBpc0Rlc2NlbmRhbnQocGFyZW50OiBFbGVtZW50LCBjaGlsZDogRWxlbWVudCkge1xuXHRcdHZhciBub2RlID0gY2hpbGQucGFyZW50Tm9kZTtcblx0XHR3aGlsZSAobm9kZSAhPSBudWxsKSB7XG5cdFx0XHRpZiAobm9kZSA9PT0gcGFyZW50KSB7XG5cdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0fVxuXHRcdFx0bm9kZSA9IG5vZGUucGFyZW50RWxlbWVudDtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tICcuLi8uLi9mcmFtZXdvcmsvTGFuZ3VhZ2UvVHJhbnNsYXRvcic7XG5pbXBvcnQgZ2V0QXR0cmlidXRlTmFtZXNQb2x5ZmlsbCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvUG9seWZpbGxzL2dldEF0dHJpYnV0ZU5hbWVzUG9seWZpbGwnO1xuaW1wb3J0IGRlYm91bmNlciBmcm9tIFwiLi4vLi4vZnJhbWV3b3JrL1V0aWxpdGllcy9kZWJvdW5jZXJcIjtcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ2FkZHJlc3MtZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYWRkcmVzcy13cmFwcGVyXCI+XG5cdFx0XHRcdDxpbnB1dCBjbGFzcz0nYWRkcmVzcy1wYXJ0JyBpZD0nYWRkcmVzcycgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj0nQWRkcmVzcycvPlxuXHRcdFx0XHQ8aW5wdXQgY2xhc3M9J2FkZHJlc3MtcGFydCcgaWQ9J3ppcCcgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj0nWmlwJy8+XG5cdFx0XHRcdDxpbnB1dCBjbGFzcz0nYWRkcmVzcy1wYXJ0JyBpZD0nY2l0eScgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj0nQ2l0eScvPlxuXHRcdFx0XHQ8aW5wdXQgY2xhc3M9J2FkZHJlc3MtcGFydCcgaWQ9J2NvdW50cnknIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9J0NvdW50cnknLz5cblx0XHRcdDwvZGl2PmAsXG5cdHN0eWxlOiBgLmFkZHJlc3Mtd3JhcHBlcntcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHR9XG5cdFx0XHRpbnB1dC5hZGRyZXNzLXBhcnR7XG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcblx0XHRcdFx0bWFyZ2luOiAycHg7XG5cdFx0XHRcdHJlc2l6ZTogbm9uZTtcblx0XHRcdFx0d2lkdGg6MzMlICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0YCxcblx0dGVtcGxhdGVQYXRoOiAnLi9odG1sLmh0bWwnLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFkZHJlc3NFbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0cHJpdmF0ZSBhdXRvQ29tcGxldGVFbmFibGVkID0gZmFsc2U7XG5cdHByaXZhdGUgYWRkcmVzc0F1dG9Db21wbGV0ZTogZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZTtcblx0cHJpdmF0ZSBnb29nbGVQbGFjZXNMaWJyYXJ5RWxlbWVudDogSFRNTFNjcmlwdEVsZW1lbnQ7XG5cdHByaXZhdGUgZ29vZ2xlUGxhY2VzQXBpS2V5OiBzdHJpbmc7XG5cblx0YWRkcmVzczogSFRNTElucHV0RWxlbWVudDtcblx0Y2l0eTogSFRNTElucHV0RWxlbWVudDtcblx0Y291bnRyeTogSFRNTElucHV0RWxlbWVudDtcblx0emlwOiBIVE1MSW5wdXRFbGVtZW50O1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0Z2V0QXR0cmlidXRlTmFtZXNQb2x5ZmlsbCgpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0bGV0IGFkZHJlc3MgPSB0aGlzLmFkZHJlc3MudmFsdWUgfHwgJyc7XG5cdFx0bGV0IGNpdHkgPSB0aGlzLmNpdHkudmFsdWUgPyBgLCR7dGhpcy5jaXR5LnZhbHVlfWAgOiAnJztcblx0XHRsZXQgemlwID0gdGhpcy56aXAudmFsdWUgPyBgLCR7dGhpcy56aXAudmFsdWV9YCA6ICcnO1xuXHRcdGxldCBjb3VudHJ5ID0gdGhpcy5jb3VudHJ5LnZhbHVlID8gYCwke3RoaXMuY291bnRyeS52YWx1ZX1gIDogJyc7XG5cdFx0cmV0dXJuIGAke2FkZHJlc3N9JHtjaXR5fSR7emlwfSR7Y291bnRyeX1gO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHRjb25zdCB2YWx1ZXMgPSB2YWx1ZS5zcGxpdCgnLCcpO1xuXHRcdHRoaXMuYWRkcmVzcy52YWx1ZSA9IHZhbHVlc1swXTtcblx0XHR0aGlzLmNpdHkudmFsdWUgPSB2YWx1ZXNbMV07XG5cdFx0dGhpcy5jb3VudHJ5LnZhbHVlID0gdmFsdWVzWzJdO1xuXHRcdHRoaXMuemlwLnZhbHVlID0gdmFsdWVzWzNdO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAoXG5cdFx0XHR0aGlzLmFkZHJlc3MudmFsaWRpdHkudmFsaWQgJiZcblx0XHRcdHRoaXMuY2l0eS52YWxpZGl0eS52YWxpZCAmJlxuXHRcdFx0dGhpcy5jb3VudHJ5LnZhbGlkaXR5LnZhbGlkICYmXG5cdFx0XHR0aGlzLnppcC52YWxpZGl0eS52YWxpZFxuXHRcdCk7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0Y29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0dGhpcy5pbml0Q2hpbGRJbnB1dHMoKTtcblx0XHR0aGlzLmdldEF0dHJpYnV0ZU5hbWVzKCkuZm9yRWFjaChhdHRyaWJ1dGVOYW1lID0+IHtcblx0XHRcdGxldCBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xuXHRcdFx0dGhpcy5hdHRyaWJ1dGVDaGFuZ2VkKGF0dHJpYnV0ZU5hbWUsIG51bGwsIGF0dHJpYnV0ZVZhbHVlKTtcblx0XHR9KTtcblx0fVxuXG5cdGluaXRDaGlsZElucHV0cygpIHtcblx0XHR0aGlzLmFkZHJlc3MgPSBzdXBlci5nZXRDaGlsZElucHV0KCcjYWRkcmVzcycpO1xuXHRcdHRoaXMuY2l0eSA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNjaXR5Jyk7XG5cdFx0dGhpcy5jb3VudHJ5ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI2NvdW50cnknKTtcblx0XHR0aGlzLnppcCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyN6aXAnKTtcblx0XHRjb25zdCBhZGRyZXNzQ2hhbmVEZWJvdW5jZSA9IGRlYm91bmNlcih0aGlzLmNoYW5nZS5iaW5kKHRoaXMpLCA0MDAsIGZhbHNlKTtcblx0XHR0aGlzLmFkZHJlc3MuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKCkgPT4ge1xuXHRcdFx0YWRkcmVzc0NoYW5lRGVib3VuY2UoKTtcblx0XHR9KTtcblx0XHR0aGlzLmNpdHkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5jaGFuZ2UuYmluZCh0aGlzKSk7XG5cdFx0dGhpcy5jb3VudHJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdHRoaXMuemlwLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMuYWRkcmVzcy5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdFx0dGhpcy5jaXR5LnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0XHR0aGlzLmNvdW50cnkuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHRcdHRoaXMuemlwLnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxuXG5cdGNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcblx0XHRpZiAoIXRoaXMuYWRkcmVzcyB8fCAhdGhpcy5jaXR5IHx8ICF0aGlzLmNvdW50cnkgfHwgIXRoaXMuemlwKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuYWRkcmVzcy5wbGFjZWhvbGRlciA9IFRyYW5zbGF0b3IuVHJhbnNsYXRlKCdBZGRyZXNzRWxlbWVudC5BZGRyZXNzJywgbGFuZ3VhZ2UpO1xuXHRcdHRoaXMuY2l0eS5wbGFjZWhvbGRlciA9IFRyYW5zbGF0b3IuVHJhbnNsYXRlKCdBZGRyZXNzRWxlbWVudC5DaXR5JywgbGFuZ3VhZ2UpO1xuXHRcdHRoaXMuY291bnRyeS5wbGFjZWhvbGRlciA9IFRyYW5zbGF0b3IuVHJhbnNsYXRlKCdBZGRyZXNzRWxlbWVudC5Db3VudHJ5JywgbGFuZ3VhZ2UpO1xuXHRcdHRoaXMuemlwLnBsYWNlaG9sZGVyID0gVHJhbnNsYXRvci5UcmFuc2xhdGUoJ0FkZHJlc3NFbGVtZW50LlppcCcsIGxhbmd1YWdlKTtcblx0fVxuXG5cdGVuYWJsZUF1dG9Db21wbGV0ZSgpIHtcblx0XHRpZiAoIXRoaXMuZ29vZ2xlUGxhY2VzQXBpS2V5IHx8IHRoaXMuZ29vZ2xlUGxhY2VzQXBpS2V5LnRyaW0oKSA9PT0gJycgfHwgIXRoaXMuYXV0b0NvbXBsZXRlRW5hYmxlZCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRcblx0XHR0aGlzLmdvb2dsZVBsYWNlc0xpYnJhcnlFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MU2NyaXB0RWxlbWVudD4oYFtzcmM9XCJodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvanM/a2V5PSR7dGhpcy5nb29nbGVQbGFjZXNBcGlLZXl9JmxpYnJhcmllcz1wbGFjZXNcIl1gKTtcblx0XHRpZiAodGhpcy5nb29nbGVQbGFjZXNMaWJyYXJ5RWxlbWVudCkge1xuXHRcdFx0dGhpcy5nb29nbGVQbGFjZXNMaWJyYXJ5RWxlbWVudEJpbmRMb2FkKCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuZ29vZ2xlUGxhY2VzTGlicmFyeUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcblx0XHR0aGlzLmdvb2dsZVBsYWNlc0xpYnJhcnlFbGVtZW50LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0Jztcblx0XHR0aGlzLmdvb2dsZVBsYWNlc0xpYnJhcnlFbGVtZW50LnNyYyA9IGBodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvanM/a2V5PSR7dGhpcy5nb29nbGVQbGFjZXNBcGlLZXl9JmxpYnJhcmllcz1wbGFjZXNgO1xuXHRcdHdpbmRvdy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRoaXMuZ29vZ2xlUGxhY2VzTGlicmFyeUVsZW1lbnQpO1xuXHRcdHRoaXMuZ29vZ2xlUGxhY2VzTGlicmFyeUVsZW1lbnRCaW5kTG9hZCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBnb29nbGVQbGFjZXNMaWJyYXJ5RWxlbWVudEJpbmRMb2FkKCkge1xuXHRcdHRoaXMuZ29vZ2xlUGxhY2VzTGlicmFyeUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcblx0XHRcdHRoaXMuYmluZEF1dG9Db21wbGV0ZSgpO1xuXHRcdH0pO1xuXHR9XG5cblx0YmluZEF1dG9Db21wbGV0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLmFkZHJlc3NBdXRvQ29tcGxldGUgPSBuZXcgZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZSh0aGlzLmFkZHJlc3MpO1xuXHRcdHRoaXMuYWRkcmVzc0F1dG9Db21wbGV0ZS5hZGRMaXN0ZW5lcihcInBsYWNlX2NoYW5nZWRcIiwgdGhpcy5vbkFkZHJlc3NDaGFuZ2VkSGFuZGxlci5iaW5kKHRoaXMpKTtcblx0fVxuXG5cdG9uQWRkcmVzc0NoYW5nZWRIYW5kbGVyKCkge1xuXHRcdHRoaXMuY2l0eS52YWx1ZSA9ICcnO1xuXHRcdHRoaXMuY291bnRyeS52YWx1ZSA9ICcnO1xuXHRcdHRoaXMuemlwLnZhbHVlID0gJyc7XG5cblx0XHRjb25zdCBwbGFjZSA9IHRoaXMuYWRkcmVzc0F1dG9Db21wbGV0ZS5nZXRQbGFjZSgpO1xuXHRcdGNvbnNvbGUubG9nKHBsYWNlKTtcblx0XHRpZiAoIXBsYWNlLmFkZHJlc3NfY29tcG9uZW50cykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRcblx0XHR0aGlzLmFkZHJlc3MudmFsdWUgPSBwbGFjZS5uYW1lO1xuXG5cdFx0Y29uc3QgY2l0eUNvbXBvbmVudHMgPSBwbGFjZS5hZGRyZXNzX2NvbXBvbmVudHMuZmlsdGVyKGNvbXBvbmVudCA9PiB7XG5cdFx0XHRjb25zdCBjaXR5U3lub255bXMgPSBbJ2FkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMScsICdsb2NhbGl0eSddO1xuXHRcdFx0Y29uc3QgaXNDaXR5Q29tcG9uZW50ID0gY2l0eVN5bm9ueW1zLnNvbWUoY2l0eVN5bm9ueW0gPT4gY29tcG9uZW50LnR5cGVzLmluZGV4T2YoY2l0eVN5bm9ueW0pICE9IC0xKTtcblx0XHRcdHJldHVybiBpc0NpdHlDb21wb25lbnQ7XG5cdFx0fSk7XG5cdFx0aWYgKGNpdHlDb21wb25lbnRzICYmIGNpdHlDb21wb25lbnRzWzBdKSB7XG5cdFx0XHR0aGlzLmNpdHkudmFsdWUgPSBjaXR5Q29tcG9uZW50c1tjaXR5Q29tcG9uZW50cy5sZW5ndGggLSAxXS5sb25nX25hbWU7XG5cdFx0fVxuXG5cdFx0Y29uc3QgY291bnRyeUNvbXBvbmVudHMgPSBwbGFjZS5hZGRyZXNzX2NvbXBvbmVudHMuZmlsdGVyKGNvbXBvbmVudCA9PiBjb21wb25lbnQudHlwZXMuaW5kZXhPZignY291bnRyeScpICE9IC0xKTtcblx0XHRpZiAoY291bnRyeUNvbXBvbmVudHMgJiYgY291bnRyeUNvbXBvbmVudHNbMF0pIHtcblx0XHRcdHRoaXMuY291bnRyeS52YWx1ZSA9IGNvdW50cnlDb21wb25lbnRzW2NvdW50cnlDb21wb25lbnRzLmxlbmd0aCAtIDFdLmxvbmdfbmFtZTtcblx0XHR9XG5cblx0XHRjb25zdCB6aXBDb21wb25lbnRzID0gcGxhY2UuYWRkcmVzc19jb21wb25lbnRzLmZpbHRlcihjb21wb25lbnQgPT4gY29tcG9uZW50LnR5cGVzLmluZGV4T2YoJ3Bvc3RhbF9jb2RlJykgIT0gLTEpO1xuXHRcdGlmICh6aXBDb21wb25lbnRzICYmIHppcENvbXBvbmVudHNbMF0pIHtcblx0XHRcdHRoaXMuemlwLnZhbHVlID0gemlwQ29tcG9uZW50c1swXS5sb25nX25hbWU7XG5cdFx0fVxuXHRcdHRoaXMuY2hhbmdlKG51bGwpO1xuXHR9XG5cblx0c3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKSB7XG5cdFx0cmV0dXJuIFsnbGFuZ3VhZ2UnLCAnZ29vZ2xlLXBsYWNlcy1rZXknLCAnZW5hYmxlLWF1dG8tY29tcGxldGUnXTtcblx0fVxuXHRhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZTogc3RyaW5nLCBvbGRWYWw6IHN0cmluZywgbmV3VmFsOiBzdHJpbmcpIHtcblx0XHR0aGlzLmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgb2xkVmFsLCBuZXdWYWwpO1xuXHR9XG5cdHByaXZhdGUgYXR0cmlidXRlQ2hhbmdlZChuYW1lOiBzdHJpbmcsIG9sZFZhbDogc3RyaW5nLCBuZXdWYWw6IHN0cmluZykge1xuXHRcdHN3aXRjaCAobmFtZSkge1xuXHRcdFx0Y2FzZSAnbGFuZ3VhZ2UnOlxuXHRcdFx0XHR0aGlzLmNoYW5nZUxhbmd1YWdlKG5ld1ZhbClcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdnb29nbGUtcGxhY2VzLWtleSc6XG5cdFx0XHRcdHRoaXMuZ29vZ2xlUGxhY2VzQXBpS2V5ID0gbmV3VmFsO1xuXHRcdFx0XHR0aGlzLmVuYWJsZUF1dG9Db21wbGV0ZSgpXG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnZW5hYmxlLWF1dG8tY29tcGxldGUnOlxuXHRcdFx0XHRpZiAobmV3VmFsICYmIG5ld1ZhbCAhPSAnZmFsc2UnKSB7XG5cdFx0XHRcdFx0dGhpcy5hdXRvQ29tcGxldGVFbmFibGVkID0gdHJ1ZTtcblx0XHRcdFx0XHR0aGlzLmVuYWJsZUF1dG9Db21wbGV0ZSgpXG5cdFx0XHRcdH1cblx0XHRcdFx0YnJlYWs7XG5cblx0XHR9XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgQmFua0FjY291bnRWYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9CYW5rQWNjb3VudCc7XG5pbXBvcnQgQmFua0FjY291bnRSZWdpc3RyYXRpb25OdW1iZXJWYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9CYW5rQWNjb3VudFJlZ2lzdHJhdGlvbk51bWJlcic7XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tICcuLi8uLi9mcmFtZXdvcmsvTGFuZ3VhZ2UvVHJhbnNsYXRvcic7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdiYW5rLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9J3JlZy1udW1iZXItZmllbGQnIHBsYWNlaG9sZGVyPSdCYW5rIEFjY291bnQgUmVnaXN0cmF0aW9uIE51bWJlcicvPlxuXHRcdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiBpZD0nYWNjb3VudC1maWVsZCcgcGxhY2Vob2xkZXI9J0JhbmsgQWNjb3VudCcvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgIH1cbiAgICBpbnB1dHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcbiAgICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgIH1cbiAgICAgICAgICAgYCxcblx0dXNlU2hhZG93OiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBCYW5rRmllbGRFbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0YWNjb3VudDogSFRNTElucHV0RWxlbWVudDtcblx0cmVnTnVtYmVyOiBIVE1MSW5wdXRFbGVtZW50O1xuXHRiYW5rQWNjb3VudFZhbGlkYXRvcjogQmFua0FjY291bnRWYWxpZGF0b3IgPSBuZXcgQmFua0FjY291bnRWYWxpZGF0b3IoKTtcblx0cmVnTnVtYmVyVmFsaWRhdG9yOiBCYW5rQWNjb3VudFJlZ2lzdHJhdGlvbk51bWJlclZhbGlkYXRvciA9IG5ldyBCYW5rQWNjb3VudFJlZ2lzdHJhdGlvbk51bWJlclZhbGlkYXRvcigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRsZXQgYWNjb3VudCA9IHRoaXMuYWNjb3VudC52YWx1ZSB8fCAnJztcblx0XHRsZXQgcmVnTnVtYmVyID0gdGhpcy5yZWdOdW1iZXIudmFsdWUgPyBgLCR7dGhpcy5yZWdOdW1iZXIudmFsdWV9YCA6ICcnO1xuXHRcdHJldHVybiBgJHthY2NvdW50fSR7cmVnTnVtYmVyfWA7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuXHRcdGNvbnN0IHZhbHVlcyA9IHZhbHVlLnNwbGl0KCcsJyk7XG5cdFx0dGhpcy5hY2NvdW50LnZhbHVlID0gdmFsdWVzWzBdO1xuXHRcdHRoaXMucmVnTnVtYmVyLnZhbHVlID0gdmFsdWVzWzFdO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAoXG5cdFx0XHR0aGlzLmJhbmtBY2NvdW50VmFsaWRhdG9yLmlzU2F0aXNmaWVkQnkoXG5cdFx0XHRcdHRoaXMuYWNjb3VudC52YWx1ZSxcblx0XHRcdFx0IXRoaXMucmVxdWlyZWQsXG5cdFx0XHQpICYmXG5cdFx0XHR0aGlzLnJlZ051bWJlclZhbGlkYXRvci5pc1NhdGlzZmllZEJ5KFxuXHRcdFx0XHR0aGlzLnJlZ051bWJlci52YWx1ZSxcblx0XHRcdFx0IXRoaXMucmVxdWlyZWQsXG5cdFx0XHQpICYmXG5cdFx0XHR0aGlzLmFjY291bnQudmFsaWRpdHkudmFsaWQgJiZcblx0XHRcdHRoaXMucmVnTnVtYmVyLnZhbGlkaXR5LnZhbGlkXG5cdFx0KTtcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRjb21wb25lbnREaWRNb3VudCgpIHtcblx0XHR0aGlzLmluaXRDaGlsZElucHV0cygpO1xuXHRcdHRoaXMuZ2V0QXR0cmlidXRlTmFtZXMoKS5mb3JFYWNoKGF0dHJpYnV0ZU5hbWUgPT4ge1xuXHRcdFx0bGV0IGF0dHJpYnV0ZVZhbHVlID0gdGhpcy5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG5cdFx0XHR0aGlzLmF0dHJpYnV0ZUNoYW5nZWQoYXR0cmlidXRlTmFtZSwgbnVsbCwgYXR0cmlidXRlVmFsdWUpO1xuXHRcdH0pO1xuXHR9XG5cblx0Y2hhbmdlTGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xuXHRcdGlmICghdGhpcy5hY2NvdW50IHx8ICF0aGlzLnJlZ051bWJlcikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLmFjY291bnQucGxhY2Vob2xkZXIgPSBUcmFuc2xhdG9yLlRyYW5zbGF0ZSgnQmFua0VsZW1lbnQuQWNjb3VudCcsIGxhbmd1YWdlKTtcblx0XHR0aGlzLnJlZ051bWJlci5wbGFjZWhvbGRlciA9IFRyYW5zbGF0b3IuVHJhbnNsYXRlKCdCYW5rRWxlbWVudC5SZWdpc3RyYXRpb25OdW1iZXInLCBsYW5ndWFnZSk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy5hY2NvdW50ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI2FjY291bnQtZmllbGQnKTtcblx0XHR0aGlzLnJlZ051bWJlciA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNyZWctbnVtYmVyLWZpZWxkJyk7XG5cdFx0dGhpcy5hY2NvdW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdHRoaXMucmVnTnVtYmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLmFjY291bnQuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHRcdHRoaXMucmVnTnVtYmVyLnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxuXG5cdHN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCkge1xuXHRcdHJldHVybiBbJ2xhbmd1YWdlJ107XG5cdH1cblx0YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWU6IHN0cmluZywgb2xkVmFsOiBzdHJpbmcsIG5ld1ZhbDogc3RyaW5nKSB7XG5cdFx0dGhpcy5hdHRyaWJ1dGVDaGFuZ2VkKG5hbWUsIG9sZFZhbCwgbmV3VmFsKTtcblx0fVxuXHRwcml2YXRlIGF0dHJpYnV0ZUNoYW5nZWQobmFtZTogc3RyaW5nLCBvbGRWYWw6IHN0cmluZywgbmV3VmFsOiBzdHJpbmcpIHtcblx0XHRzd2l0Y2ggKG5hbWUpIHtcblx0XHRcdGNhc2UgJ2xhbmd1YWdlJzpcblx0XHRcdFx0dGhpcy5jaGFuZ2VMYW5ndWFnZShuZXdWYWwpXG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxufVxuIiwiaW1wb3J0IEN1c3RvbUVsZW1lbnQgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBDdXN0b21JbnB1dEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tSW5wdXRFbGVtZW50JztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tRXZlbnRzJztcbmltcG9ydCBDcHJWYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9DUFInO1xuXG5AQ3VzdG9tRWxlbWVudCh7XG5cdHNlbGVjdG9yOiAnY3ByLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9J2Nwci1maWVsZCcgcGxhY2Vob2xkZXI9J0RETU1ZWS1TU1NTJy8+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENQUkVsZW1lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dEVsZW1lbnQge1xuXHR0ZXh0OiBIVE1MSW5wdXRFbGVtZW50O1xuXHR2YWxpZGF0b3I6IENwclZhbGlkYXRvciA9IG5ldyBDcHJWYWxpZGF0b3IoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMudGV4dC52YWx1ZX1gO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRleHQudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy52YWxpZGF0b3IuaXNTYXRpc2ZpZWRCeSh0aGlzLnZhbHVlLCAhdGhpcy5yZXF1aXJlZCk7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMudGV4dCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNjcHItZmllbGQnKTtcblx0XHR0aGlzLnRleHQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5jaGFuZ2UuYmluZCh0aGlzKSk7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMudGV4dC5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0fVxuXG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgQ3ByVmFsaWRhdG9yIGZyb20gJy4uLy4uL2ZyYW1ld29yay9WYWxpZGF0aW9uL1ZhbGlkYXRvcnMvQ1BSJztcbmltcG9ydCBDdnJWYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9DVlInO1xuXG5AQ3VzdG9tRWxlbWVudCh7XG5cdHNlbGVjdG9yOiAnY3ZyLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9J2N2ci1maWVsZCcgcGxhY2Vob2xkZXI9J1NTU1NTU1NTJy8+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENWUkVsZW1lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dEVsZW1lbnQge1xuXHR0ZXh0OiBIVE1MSW5wdXRFbGVtZW50O1xuXHR2YWxpZGF0b3I6IEN2clZhbGlkYXRvciA9IG5ldyBDdnJWYWxpZGF0b3IoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMudGV4dC52YWx1ZX1gO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRleHQudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy52YWxpZGF0b3IuaXNTYXRpc2ZpZWRCeSh0aGlzLnZhbHVlLCAhdGhpcy5yZXF1aXJlZCk7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMudGV4dCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNjdnItZmllbGQnKTtcblx0XHR0aGlzLnRleHQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5jaGFuZ2UuYmluZCh0aGlzKSk7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMudGV4dC5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0fVxuXG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1V0aWxpdGllcy9TdHJpbmdVdGlsJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ2NoZWNrYm94LWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdDwvZGl2PmAsXG5cdHN0eWxlOiBgXG5cdFx0XHQ6aG9zdHtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdH1cblx0XHRcdC5jaGVja2JveCB7XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRtYXJnaW46IGF1dG8gM3B4O1xuXHRcdFx0XHRjb2xvcjogcmdiYSg3MiwgNzIsIDcyLCAwLjc1KTtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0fVxuXHRcdFx0aW5wdXRbdHlwZT0nY2hlY2tib3gnXXtcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuXHRcdFx0XHRtYXJnaW46IDJweDtcblx0XHRcdFx0cmVzaXplOiBub25lO1xuXHRcdFx0fVxuXHRcdGAsXG5cdHVzZVNoYWRvdzogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tCb3hFbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0Y2hlY2tib3g6IEhUTUxJbnB1dEVsZW1lbnRbXTtcblx0Y2hlY2tib3hUZW1wbGF0ZSA9IGBcblx0PGRpdiBjbGFzcz0nY2hlY2tib3gnPlxuXHRcdDxpbnB1dCB0eXBlPSdjaGVja2JveCcgbmFtZT0nezB9JyB2YWx1ZT1cInsxfVwiIGlkPVwiezJ9XCIvPlxuXHRcdDxsYWJlbCBmb3I9XCJ7Mn1cIj57MX08L2xhYmVsPlxuXHQ8L2Rpdj5gO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiB0aGlzLmNoZWNrYm94LmZpbHRlcihjID0+IGMuY2hlY2tlZCkubWFwKGMgPT4gYy52YWx1ZSk7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWVzOiBzdHJpbmdbXSkge1xuXHRcdC8vIHRoaXMuY2hlY2tib3gudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRpZiAodGhpcy5yZXF1aXJlZCkge1xuXHRcdFx0cmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoID4gMDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblx0fVxuXG5cdGluaXRDaGlsZElucHV0cygpIHtcblx0XHR0aGlzLmFkZENoZWNrQm94ZXMoKTtcblx0XHR0aGlzLmNoZWNrYm94ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dHMoYFtuYW1lPScke3RoaXMubmFtZX0nXWApO1xuXHRcdHRoaXMuY2hlY2tib3guZm9yRWFjaChjID0+XG5cdFx0XHRjLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpLFxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIGFkZENoZWNrQm94ZXMoKSB7XG5cdFx0Y29uc3Qgd3JhcHBlciA9IHN1cGVyLmdldENoaWxkRWxlbWVudCgnLndyYXBwZXInKTtcblx0XHR3cmFwcGVyLmlubmVySFRNTCA9IFwiXCI7XG5cdFx0dGhpcy5vcHRpb25zLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG5cdFx0XHR3cmFwcGVyLmluc2VydEFkamFjZW50SFRNTChcblx0XHRcdFx0J2JlZm9yZWVuZCcsXG5cdFx0XHRcdFN0cmluZ1V0aWwuU3RyaW5nRm9ybWF0KFxuXHRcdFx0XHRcdHRoaXMuY2hlY2tib3hUZW1wbGF0ZSxcblx0XHRcdFx0XHR0aGlzLm5hbWUsXG5cdFx0XHRcdFx0ZWxlbWVudCxcblx0XHRcdFx0XHRgJHt0aGlzLm5hbWV9LSR7aW5kZXh9YCxcblx0XHRcdFx0KSxcblx0XHRcdCk7XG5cdFx0fSk7XG5cdH1cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxufVxuIiwiaW1wb3J0IEN1c3RvbUVsZW1lbnQgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBDdXN0b21JbnB1dEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tSW5wdXRFbGVtZW50JztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tRXZlbnRzJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ3JlZ2V4LWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9J3JlZ2V4LWZpZWxkJy8+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbVJlZ3VsYXJFeHByZXNzaW9uRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHRleHQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgJHt0aGlzLnRleHQudmFsdWV9YDtcblx0fVxuXG5cdHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy50ZXh0LnZhbHVlID0gdmFsdWU7XG5cdH1cblxuXHRnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMudGV4dC52YWxpZGl0eS52YWxpZDtcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy50ZXh0ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI3JlZ2V4LWZpZWxkJyk7XG5cdFx0dGhpcy50ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLnRleHQuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuY3VzdG9tVmFsdWUpIHtcblx0XHRcdHRoaXMudGV4dC5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm4nLCB0aGlzLmN1c3RvbVZhbHVlKTtcblx0XHR9XG5cdH1cblxuXHQvLyBldmVudHNcblx0cHVibGljIGNoYW5nZSgkZXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHR9XG5cblx0cHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMudmFsaWQ7XG5cdFx0dGhpcy5vblZhbGlkYXRlLmVtaXQoXG5cdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAndmFsaWRhdGUnKSxcblx0XHQpO1xuXHR9XG59XG4iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuXG5AQ3VzdG9tRWxlbWVudCh7XG5cdHNlbGVjdG9yOiAnZGF0ZS1lbGVtZW50Jyxcblx0dGVtcGxhdGU6IGBcblx0XHRcdDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwiZGF0ZVwiIGlkPSdkYXRlLWZpZWxkJy8+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVGaWVsZEVsZW1lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dEVsZW1lbnQge1xuXHRkYXRlOiBIVE1MSW5wdXRFbGVtZW50O1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5kYXRlLnZhbHVlO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLmRhdGUudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5kYXRlLnZhbGlkaXR5LnZhbGlkO1xuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblx0fVxuXG5cdGluaXRDaGlsZElucHV0cygpIHtcblx0XHR0aGlzLmRhdGUgPSBzdXBlci5nZXRDaGlsZElucHV0KCcjZGF0ZS1maWVsZCcpO1xuXHRcdHRoaXMuZGF0ZS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKTtcblx0XHRpZiAodGhpcy5yZXF1aXJlZCkge1xuXHRcdFx0dGhpcy5kYXRlLnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLm1heCkge1xuXHRcdFx0dGhpcy5kYXRlLnNldEF0dHJpYnV0ZSgnbWF4JywgdGhpcy5tYXgpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5taW4pIHtcblx0XHRcdHRoaXMuZGF0ZS5zZXRBdHRyaWJ1dGUoJ21pbicsIHRoaXMubWluKTtcblx0XHR9XG5cdH1cblxuXHQvLyBldmVudHNcblx0cHVibGljIGNoYW5nZSgkZXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHR9XG5cblx0cHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMudmFsaWQ7XG5cdFx0dGhpcy5vblZhbGlkYXRlLmVtaXQoXG5cdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAndmFsaWRhdGUnKSxcblx0XHQpO1xuXHR9XG59XG4iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuaW1wb3J0IHsgU3RyaW5nVXRpbCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9VdGlsaXRpZXMvU3RyaW5nVXRpbCc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdkcm9wLWRvd24tZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG5cdFx0XHQ8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0nc2VsZWN0LWxpc3QnPlxuXHRcdFx0ICAgPG9wdGlvbiBzZWxlY3RlZCBkaXNhYmxlZD4tPC9vcHRpb24+XG4gICAgICAgICAgICAgICA8L3NlbGVjdD5cblx0XHRcdDwvZGl2PmAsXG5cdHN0eWxlOiBgXG4gICAgICAgICAgICA6aG9zdHtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLndyYXBwZXJ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJhZGlvLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDNweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMC4xO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2VsZWN0e1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgIGAsXG5cdHVzZVNoYWRvdzogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcERvd25MaXN0RWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHNlbGVjdDogSFRNTElucHV0RWxlbWVudDtcblx0b3B0aW9uVGVtcGxhdGUgPSBgXG4gICAgPG9wdGlvbiB2YWx1ZT0nezB9Jz5cbiAgICAgICB7MX1cbiAgICA8L29wdGlvbj5gO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYCR7dGhpcy5zZWxlY3QudmFsdWV9YDtcblx0fVxuXG5cdHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5zZWxlY3QudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5zZWxlY3QudmFsaWRpdHkudmFsaWQ7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMuc2VsZWN0ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dChgI3NlbGVjdC1saXN0YCk7XG5cdFx0dGhpcy5hZGRPcHRpb25zKCk7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMuc2VsZWN0LnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLm11bHRpKSB7XG5cdFx0XHR0aGlzLnNlbGVjdC5zZXRBdHRyaWJ1dGUoJ211bHRpcGxlJywgJycpO1xuXHRcdH1cblx0XHR0aGlzLnNlbGVjdC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKTtcblx0fVxuXG5cdHByaXZhdGUgYWRkT3B0aW9ucygpIHtcblx0XHR0aGlzLnNlbGVjdC5pbm5lckhUTUwgPSBcIlwiO1xuXHRcdHRoaXMub3B0aW9ucy5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuXHRcdFx0dGhpcy5zZWxlY3QuaW5zZXJ0QWRqYWNlbnRIVE1MKFxuXHRcdFx0XHQnYmVmb3JlZW5kJyxcblx0XHRcdFx0U3RyaW5nVXRpbC5TdHJpbmdGb3JtYXQodGhpcy5vcHRpb25UZW1wbGF0ZSwgZWxlbWVudCwgZWxlbWVudCksXG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCB7IEFkZHJlc3NFbGVtZW50IH0gZnJvbSAnLi9BZGRyZXNzL0FkZHJlc3NFbGVtZW50JztcbmltcG9ydCB7IFRleHRGaWVsZEVsZW1lbnQgfSBmcm9tICcuL1RleHRGaWVsZC9UZXh0RmllbGRFbGVtZW50JztcbmltcG9ydCB7IEVtYWlsRmllbGRFbGVtZW50IH0gZnJvbSAnLi9FbWFpbEZpZWxkL0VtYWlsRmllbGRFbGVtZW50JztcbmltcG9ydCB7IENoZWNrQm94RWxlbWVudCB9IGZyb20gJy4vQ2hlY2tCb3hFbGVtZW50L0NoZWNrQm94RWxlbWVudCc7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbkdyb3VwRWxlbWVudCB9IGZyb20gJy4vUmFkaW9CdXR0b25Hcm91cC9SYWRpb0J1dHRvbkdyb3VwRWxlbWVudCc7XG5pbXBvcnQgeyBUZXh0QXJlYUVsZW1lbnQgfSBmcm9tICcuL1RleHRBcmVhRWxlbWVudC9UZXh0QXJlYUVsZW1lbnQnO1xuaW1wb3J0IHsgRHJvcERvd25MaXN0RWxlbWVudCB9IGZyb20gJy4vRHJvcERvd25MaXN0L0Ryb3BEb3duTGlzdEVsZW1lbnQnO1xuaW1wb3J0IHsgRmlsZUZpZWxkRWxlbWVudCB9IGZyb20gJy4vRmlsZUZpZWxkL0ZpbGVGaWVsZEVsZW1lbnQnO1xuaW1wb3J0IHsgTnVtZXJpY0ZpZWxkRWxlbWVudCB9IGZyb20gJy4vTnVtZXJpY0ZpZWxkL051bWVyaWNGaWVsZEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tUmVndWxhckV4cHJlc3Npb25FbGVtZW50IH0gZnJvbSAnLi9DdXN0b21SZWd1bGFyRXhwcmVzc2lvbi9DdXN0b21SZWd1bGFyRXhwcmVzc2lvbkVsZW1lbnQnO1xuaW1wb3J0IHsgRGF0ZUZpZWxkRWxlbWVudCB9IGZyb20gJy4vRGF0ZUZpZWxkL0RhdGVGaWVsZEVsZW1lbnQnO1xuaW1wb3J0IHsgSW50UGhvbmVGaWVsZEVsZW1lbnQgfSBmcm9tICcuL0ludGVybmF0aW9uYVBob25lTnVtYmVyL0ludGVybmF0aW9uYVBob25lTnVtYmVyRWxlbWVudCc7XG5pbXBvcnQgeyBDUFJFbGVtZW50IH0gZnJvbSAnLi9DUFJFbGVtZW50L0NQUkVsZW1lbnQnO1xuaW1wb3J0IHsgQ1ZSRWxlbWVudCB9IGZyb20gJy4vQ1ZSRWxlbWVudC9DVlJFbGVtZW50JztcbmltcG9ydCB7IElkZW50aWZpY2F0aW9uRWxlbWVudCB9IGZyb20gJy4vSWRlbnRpZmljYXRpb25FbGVtZW50L0lkZW50aWZpY2F0aW9uRWxlbWVudCc7XG5pbXBvcnQgeyBCYW5rRmllbGRFbGVtZW50IH0gZnJvbSAnLi9CYW5rRmllbGQvQmFua0ZpZWxkRWxlbWVudCc7XG5pbXBvcnQgeyBUeXBlQWhlYWRFbGVtZW50IH0gZnJvbSAnLi9UeXBlQWhlYWQvVHlwZUFoZWFkRWxlbWVudCc7XG5pbXBvcnQgeyBTRVBlcnNvbmFsTnVtYmVyRWxlbWVudCB9IGZyb20gJy4vU0VQZXJzb25hbE51bWJlckVsZW1lbnQvU0VQZXJzb25hbE51bWJlckVsZW1lbnQnO1xuaW1wb3J0IHsgU0VDb21wYW55UmVnaXN0cmF0aW9uRWxlbWVudCB9IGZyb20gJy4vU0VDb21wYW55UmVnaXN0cmF0aW9uRWxlbWVudC9TRUNvbXBhbnlSZWdpc3RyYXRpb25FbGVtZW50JztcblxuZXhwb3J0IHtcblx0QWRkcmVzc0VsZW1lbnQsXG5cdFRleHRGaWVsZEVsZW1lbnQsXG5cdEVtYWlsRmllbGRFbGVtZW50LFxuXHRDaGVja0JveEVsZW1lbnQsXG5cdFJhZGlvQnV0dG9uR3JvdXBFbGVtZW50LFxuXHRUZXh0QXJlYUVsZW1lbnQsXG5cdERyb3BEb3duTGlzdEVsZW1lbnQsXG5cdEZpbGVGaWVsZEVsZW1lbnQsXG5cdE51bWVyaWNGaWVsZEVsZW1lbnQsXG5cdEN1c3RvbVJlZ3VsYXJFeHByZXNzaW9uRWxlbWVudCxcblx0RGF0ZUZpZWxkRWxlbWVudCxcblx0SW50UGhvbmVGaWVsZEVsZW1lbnQsXG5cdENQUkVsZW1lbnQsXG5cdENWUkVsZW1lbnQsXG5cdElkZW50aWZpY2F0aW9uRWxlbWVudCxcblx0QmFua0ZpZWxkRWxlbWVudCxcblx0VHlwZUFoZWFkRWxlbWVudCxcbiAgICBTRVBlcnNvbmFsTnVtYmVyRWxlbWVudCxcbiAgICBTRUNvbXBhbnlSZWdpc3RyYXRpb25FbGVtZW50LFxufTtcbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdlbWFpbC1lbGVtZW50Jyxcblx0dGVtcGxhdGU6IGBcblx0XHRcdDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPSdlbWFpbC1maWVsZCcvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgIH1cbiAgICBpbnB1dHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcbiAgICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgIH1cbiAgICAgICAgICAgYCxcblx0dXNlU2hhZG93OiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFbWFpbEZpZWxkRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdG1haWxSZWdleDogUmVnRXhwID0gbmV3IFJlZ0V4cChcblx0XHQvXihbYS16QS1aMC05w4bDmMOFw6bDuMOlXy4rLV0pK1xcQCgoW2EtekEtWjAtOcOGw5jDhcOmw7jDpS1dKStcXC4pKyhbYS16QS1aMC05w4bDmMOFw6bDuMOlXXsyLDR9KSskLyxcblx0KTtcblxuXHRlbWFpbDogSFRNTElucHV0RWxlbWVudDtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMuZW1haWwudmFsdWV9YDtcblx0fVxuXG5cdHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5lbWFpbC52YWx1ZSA9IHZhbHVlO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdGNvbnN0IHBhdHRlcm5WYWxpZCA9ICF0aGlzLnZhbHVlIHx8IHRoaXMubWFpbFJlZ2V4LnRlc3QodGhpcy52YWx1ZSk7XG5cdFx0cmV0dXJuIHRoaXMuZW1haWwudmFsaWRpdHkudmFsaWQgJiYgcGF0dGVyblZhbGlkO1xuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0dGhpcy5pbml0Q2hpbGRJbnB1dHMoKTtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMuZW1haWwgPSBzdXBlci5nZXRDaGlsZElucHV0KCcjZW1haWwtZmllbGQnKTtcblx0XHR0aGlzLmVtYWlsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLmVtYWlsLnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxufVxuIiwiaW1wb3J0IEN1c3RvbUVsZW1lbnQgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBDdXN0b21JbnB1dEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tSW5wdXRFbGVtZW50JztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tRXZlbnRzJztcbmltcG9ydCBnZXRBdHRyaWJ1dGVOYW1lc1BvbHlmaWxsIGZyb20gJy4uLy4uL2ZyYW1ld29yay9Qb2x5ZmlsbHMvZ2V0QXR0cmlidXRlTmFtZXNQb2x5ZmlsbCc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdmaWxlLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdFx0PGlucHV0IHR5cGU9XCJmaWxlXCIgaWQ9J2ZpbGUtZmllbGQnIGFjY2VwdD1cImltYWdlLyosYXBwbGljYXRpb24vcGRmXCIvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgIH1cbiAgICBpbnB1dHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcbiAgICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgIH1cbiAgICAgICAgICAgYCxcblx0dXNlU2hhZG93OiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRmllbGRFbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0ZmlsZTogSFRNTElucHV0RWxlbWVudDtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHRcdGdldEF0dHJpYnV0ZU5hbWVzUG9seWZpbGwoKTtcblx0fVxuXG5cdGdldCB2YWx1ZSgpOiBGaWxlTGlzdCB7XG5cdFx0cmV0dXJuIHRoaXMuZmlsZS5maWxlcztcblx0fVxuXG5cdHNldCB2YWx1ZShmaWxlczogRmlsZUxpc3QpIHtcblx0XHR0aGlzLmZpbGUuZmlsZXMgPSBmaWxlcztcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5maWxlLnZhbGlkaXR5LnZhbGlkO1xuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0dGhpcy5pbml0Q2hpbGRJbnB1dHMoKTtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0Y29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0dGhpcy5nZXRBdHRyaWJ1dGVOYW1lcygpLmZvckVhY2goYXR0cmlidXRlTmFtZSA9PiB7XG5cdFx0XHRsZXQgYXR0cmlidXRlVmFsdWUgPSB0aGlzLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblx0XHRcdHRoaXMuYXR0cmlidXRlQ2hhbmdlZChhdHRyaWJ1dGVOYW1lLCBudWxsLCBhdHRyaWJ1dGVWYWx1ZSk7XG5cdFx0fSk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy5maWxlID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI2ZpbGUtZmllbGQnKTtcblx0XHR0aGlzLmZpbGUuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5jaGFuZ2UuYmluZCh0aGlzKSk7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMuZmlsZS5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5tdWx0aSkge1xuXHRcdFx0dGhpcy5maWxlLnNldEF0dHJpYnV0ZSgnbXVsdGlwbGUnLCAnJyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxuICAgIFxuICAgIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lOiBzdHJpbmcsIG9sZFZhbDogc3RyaW5nLCBuZXdWYWw6IHN0cmluZykge1xuXHRcdHRoaXMuYXR0cmlidXRlQ2hhbmdlZChuYW1lLCBvbGRWYWwsIG5ld1ZhbCk7XG5cdH1cblx0cHJpdmF0ZSBhdHRyaWJ1dGVDaGFuZ2VkKG5hbWU6IHN0cmluZywgb2xkVmFsOiBzdHJpbmcsIG5ld1ZhbDogc3RyaW5nKSB7XG5cdFx0c3dpdGNoIChuYW1lKSB7XG5cdFx0XHRjYXNlICdhY2NlcHQnOlxuICAgICAgICAgICAgICAgIHRoaXMuZmlsZS5hY2NlcHQgPSBuZXdWYWw7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cdFx0fVxuXHR9XG59XG4iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuaW1wb3J0IENwclZhbGlkYXRvciBmcm9tICcuLi8uLi9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0NQUic7XG5pbXBvcnQgSVZhbGlkYXRvciBmcm9tICcuLi8uLi9mcmFtZXdvcmsvVmFsaWRhdGlvbi9JVmFsaWRhdG9yLmludGVyZmFjZSc7XG5pbXBvcnQgQ3ZyVmFsaWRhdG9yIGZyb20gJy4uLy4uL2ZyYW1ld29yay9WYWxpZGF0aW9uL1ZhbGlkYXRvcnMvQ1ZSJztcbmltcG9ydCBCYW5rSWRTd2VkZW5WYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9CYW5rSWRTd2VkZW4nO1xuaW1wb3J0IEJhbmtJZE5vcndheVZhbGlkYXRvciBmcm9tICcuLi8uLi9mcmFtZXdvcmsvVmFsaWRhdGlvbi9WYWxpZGF0b3JzL0JhbmtJZE5vcndheSc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdpZC1lbGVtZW50Jyxcblx0dGVtcGxhdGU6IGBcblx0XHRcdDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBpZD0naWQtdHlwZSc+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9J2N2cic+RGFuaXNoIENWUjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSdjcHInPkRhbmlzaCBDUFI8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0nc3dlJz5Td2VkZW4gQmFuayBJZDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSdub3InPk5vcndheSBCYW5rIElkPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPSdpZC1maWVsZCcgcGxhY2Vob2xkZXI9JycvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgIH1cbiAgICBpbnB1dCwgc2VsZWN0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWY0ZmY7XG4gICAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG4gICAgaW5wdXR7XG4gICAgICAgICAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHNlbGVjdHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgICAgICAgIGAsXG5cdHVzZVNoYWRvdzogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSWRlbnRpZmljYXRpb25FbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0dHlwZVNlbGVjdG9yOiBIVE1MSW5wdXRFbGVtZW50O1xuXHR0ZXh0OiBIVE1MSW5wdXRFbGVtZW50O1xuXG5cdHR5cGU6IHN0cmluZztcblx0dmFsaWRhdG9yczogeyBbaW5kZXg6IHN0cmluZ106IElWYWxpZGF0b3IgfSA9IHtcblx0XHRjcHI6IG5ldyBDcHJWYWxpZGF0b3IoKSxcblx0XHRjdnI6IG5ldyBDdnJWYWxpZGF0b3IoKSxcblx0XHRzd2U6IG5ldyBCYW5rSWRTd2VkZW5WYWxpZGF0b3IoKSxcblx0XHRub3I6IG5ldyBCYW5rSWROb3J3YXlWYWxpZGF0b3IoKSxcblx0fTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMudGV4dC52YWx1ZX1gO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRleHQudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy52YWxpZGF0b3JzW3RoaXMudHlwZV0uaXNTYXRpc2ZpZWRCeShcblx0XHRcdHRoaXMudmFsdWUsXG5cdFx0XHQhdGhpcy5yZXF1aXJlZCxcblx0XHQpO1xuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblx0fVxuXG5cdGluaXRDaGlsZElucHV0cygpIHtcblx0XHR0aGlzLnRleHQgPSBzdXBlci5nZXRDaGlsZElucHV0KCcjaWQtZmllbGQnKTtcblx0XHR0aGlzLnR5cGVTZWxlY3RvciA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNpZC10eXBlJyk7XG5cdFx0dGhpcy50ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdHRoaXMudHlwZVNlbGVjdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLnRleHQuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHR9XG5cdFx0dGhpcy50eXBlID0gdGhpcy50eXBlU2VsZWN0b3IudmFsdWU7XG5cdH1cblxuXHQvLyBldmVudHNcblx0cHVibGljIGNoYW5nZSgkZXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMudHlwZSA9IHRoaXMudHlwZVNlbGVjdG9yLnZhbHVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHR9XG5cblx0cHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMudmFsaWQ7XG5cdFx0dGhpcy5vblZhbGlkYXRlLmVtaXQoXG5cdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAndmFsaWRhdGUnKSxcblx0XHQpO1xuXHR9XG59XG4iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBHZXRGbGFnc1VybCgpIHtcblx0cmV0dXJuICdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBRmhRQUFBQVBDQVlBQUFDaTIrSGRBQUVVa0VsRVFWUjQydXlkZFp4ZDFmWDJ2M3VmYy8yT2UwYmk3aUZPZ3J0THNlSzB1SlJDa2RMaXBiUkZXclMwMEVLaHVBWjNDQTRoeEpPSlRXd3lHZmVyUi9iN3g3a3ptVWxHa3htazcyLzNRMmN5OTk1OTk5bXk1RmxyUFZ1OGVNbGRxbkRtV083NHBJb1hGOVh3L3BETklBWDdyYzdueUtRR3JqdTRnQzJCYkU3OTUxS01TQlNoU1pRQ0lRQkFLZHEzZGJjNnIrUSswKzRWVGJPdzZsSjQ2TFo3T1ArTTl6RHFOSFROY3Zxd0JESmRVZlB2WERaZE5RSTkzVUJab2wyM2srcS9FQUFLMnZXN0x0WERvY2NQWmwyYVo0ZFhldGp1V3RMeVJlMCtMUUViT0NybzRlN3NJQ0hMUWlRZVZrbEJ3SVFyOXM3ajFXRXB5TGlOTFhibzk0L2ZDSUREM0VucXpYaFRhMy90dmtPQXJYcnd0OFJuRDNNbjhXYThTUUQwZE4xTysrZFM0b2wxazdMOUlDMUw3YlJ1cFVXRGRtVVdPMjBGbXpjS2dOV2s5Mm0vSTZrVkFOLzZKdmFzWDBHUDlzZlVpTE1mWmwvL1hhZnZGZ0xpcGlKdTJnZ2g4TG9FZW1KdTdVNCs5Y1d0VXdUQWIxN1kwS2Z6Y09mUEJpY1c5VHpWOWVNcnBBQ0V4SklhS0FtV0FtSkFJd05vWUErZmgzM0hwekY5WEFaei9uMjNBS2daUGF0UHg1dXg2a3NCOFBicE42bXNPUk81L1cyVEY3NkpzV1Q4MnlBa0V4ZnV6L0VwRzduKytBQWxTWU01NmJhdEdPRUlRc2lFckxIYm5JcTI3U29Cc085ZlN4U0FyZ2xRWU5xN04veVBmajNFbWQvam4yemZrUktrKzV0NStkaS9NdlNKS1BGS0QvR3JtemppalN0WlY1TUxvcHZ2ZmZGVXA5OTNTdnQwZmptNHdPbDM2QU1LQmNHQWk2a1Rzc2xPOXhPd1B1ZnFneDlrVkVFVnl1NzRpRVJNRjJjOWNBYlBmVFlWdERadlduK3gwKytJRzNjZXJ5MDRhODRHSGpqM0sveXkvY3RoVzNEeHd6TjU3TFBCSUR0NDFEVTNPLzFlZEZTSDh5QVZLT0g4Qjg2MENzWE84bmJIOXVDckhjcDFnREVqQWp6NzRIakdqQWhndGV3UENmWW1tOGl0QnZZbWU2ZnQxYkp2NjhhTzc5UDFTbHV4ek5GclN2VnB2MEtJanZ0VmlranhPdXBlZUozNjE5NGh0bjVqQjBxODh6YWxiczMyZmszWWZNdWZxTHI3SHhDTG82V2xvbXdiYkJ1a1FFak4rVXJiY2dTamxBZ3BzZXJxd2VNbTY0cnpLTHIrdCtEYVBsNXVQN2Jqd1NnWUVZend5dFJWakFwRzZPbXgxaWRXYmo4UE8rMWJ4Um5IaitLaFcvZkc1OVhidnhhTkVicjVMOFJlZmdPazdGU09PWHA0REhkOFVyMlRIajRxcVlHckRpNmsyWjlDOGwxM0VBdzFZbXM2UWlYbUJCQlNRN1hab3BPclZ3aUFhTmtoU3BrbFlGV2k3REFJZ2NBTjBvTXpZVEt4Ym5abjI3eGQ4dzJxRUFBcnhoYjE2VDRidTJLekFIaXBZRlNmOW50Y2FiR3piZy9QN3JKZlhTaE0yMWtmWGRxWXFodkJjSzVqUnpKa2xHTHFIQmc0RERRWEhRckUzclEvTy9wSHJlaXAvU1E2c1BBUzFxMVBRSTBOcjBRUWY2enNVTzRJS1JFWFhjeXZ0L3A0NmIzRlBIZmQwZXo1OU4rSkwxbmE0WDd0VE81YzlkemFQbDIzTzA0Y0xnQTIzLyt3UWlscTN2bVFXT25XN1E3RExyYVppejRSQU85bmRXVHZLYVNVR0taRk9HSmdJVkJLb1FrSStGMjROQTNidG5lWWM2Y2RVTFdrUTcrQ1ljUGdyYmVjbnkzTk5CT2JybzJzV0xjT0RqM1UrZGwrZFFXQXZCbGx4MkZ3S3V5VkRSK1VRV2tJcEd1N3JkaWhMNlU2MkNZQU55WCtjcU5TQWdVQ2xDMFFJdkY3Ri90Zm9OQ0VqUm5UUUljalJyL0hyZUlHVXY2em1TRnZsemtmbkhTTEVrQ3FQMHBlYWhNbGxlbEVUVWVPZTVYRjlUVkxPYnA1TXdEemdrWGNtakdCcU5BNlg3akZOemo5UHJCL2ovYVpKc0F5WVA4Y3lYTlRYS1M2SEROVnFNUmNhSUtHLzFhUitidHZPbDYzM3VqSXhPeEdidXlnRHdYYTVETndIZkVRNkw1MkwwWE1PQmQ4K1RpUHIvMnM0MzE5em1QZDZvWWpreHE0N3FBQ3RnUmJmT3NZVXBmWURWRkV3TzBNSVJSSHBIaFJMUnVseGJlZTlWVEh1dXp3SVR4MDlUUjhIbTJYYkFXdU8wTjE1T3djVVZ6SjcrZHZ3R1BaMnlkS2dmQkF3WlZoMGc2TjcremN0dEc5SmFOVFZidDlMUnlScHlVcjdKQkFHYjFidHlHcjZnV0F1U1M3VDJWWGY5c0tqTDZoYjIzOVZiY0lnRWNHSEtEdUNzNWlsVHNmekFqRTQ2QnB1eTV6MTF6cGZIRG1mWDA3M3E4dWRmb2RlNk55UkpkQzdhWmVBR0NGNDBPNFoveGRwVXovR3UvUWRVZ0JWdFRqT0E3UzdsSUxHd3JTWEREYWIvTnhuU1NvT2R1NTlPb1BkOU0yVDBpbkhaNng1YnlkZmV1ejZwYnpEcVlnT3dWYktZVHoybTdiL095R1RPektXT2xTbmlVMzh0c0RCbENXbWt0ZGJpSEpIc0ZqTHkzRzUvTncvdWxUcWFzMWVPU3ByeWtxVE9LWS9jZFFYUi9tbkJPbUNvRGxGVkgxMHNvbVNtcmorSFNKSm1GMzNQWUhqOG9UQUY4RUozVWcxeFdGMTE5TXdUWG5Vdm5mVnltNTlCYVVZWFZrR3V6VVpqY3ZkdDUxOGQ2ZGo4NFdIRGUwaVlubGF5SGpPcGFrTmZEUzRrK2Q4OWhaZTJDKzArLzRjenJ2MTdJNTY4alpQSERUbVhpVnpaWmYvWjdhWjEvcHN0OFdYNDF6OXVoNk5wWE5zT3hDM3JyaWZvWmxGL1o0bjMwUjZGdGZZbmJJOFNYVStyN2R2MkpvWW5XditLNXZ6OFhkRHFiM1hkcUlQdTIzWmQydUM2U3BKNkpOYkxITVBqM0hLek9ucSs5R1dudyt3V0x4U0l1U1BKdjZaSVVsd1cwSTNISFFyZTJRYVZ2OHBhTldlL3lLZnQwUG5qOVA2cnhmSlVHYW9NY1NOcm9IYkIxRTV6SS9kazNpSE8veGowNzdsUW44empZZFhTOTFNMkVHZERFUkM4L3ZWRi9jOWQ4dnVPcmU5MUNXemJSeEJieit0NStUblJib2xWeC84WkxiVk9ITUNkengyU1plWExxTjl3b2FRQXIyTHdsd1pEREd0ZnNNcFdwQUlXOE1ub0ttYVdBckpGWWJYU1N3NVhaNThkQysrYjJLSmJURWdKQVNUS3ZWZ0ZZSzBMV2RZZ2xYdmJxK2IzM0xvNFoyT0wrV3JianBwVFZrUG5BL1IxU3Y0UHJaWi9PcjY0NWh4c0NrM3VuTi9yTDcvbjFXMzhxZGhIOVJjZjZWS3VQb2d5aWRNSjAvUGJXSVJ4LzdsRmhsSTZUNEFNbC9iOWlmMlhmZTRNUWZmbk1McDkzOFB0Z21LQTMvZ0hSK05zakZCZDZ0akV5V3BQM2k1OGdKNHdUQXd2UVJ5bVVwekpBZ0ppVENnTFM5NHdEVXozZDhrOVJPL2wwMzM0MXlnVWZaNkFHRm9RbjJxRjJ6ODdvcDVlQ0ViZlhYNDQvRCtlYzd2Ly9qSDNER0dXMkRWYzRjdDdHUFd0YnRxWTl6N0h2V3BMRzR6dHZxSnU1T2E1RVBYZGw5S2hLbDZZby9FSG55RlFkZk8vVVlrdTcrUGNMbjdYYWY5WmUrNk01T3RZRndlU1VBL3R4c1pBL1BSWWY5MnNwWlErbkVXWlJTQ0NsNjVIUDA5engwMks4TmFZZkdLYmd5alBCc3Q1QUZFTEVsRjY0ZHp4TVZCUjNIYlM1eHpodkQvcVNrVk5nMVNaeDAvSmNzV3pPQWxhc0trQ2xoaEZCWTFja2N2UDlTTEV2dy9zZmowVEliVVVwZzEvdVpNSDR6b3daWDhOeExNNUdaamRpMmhIWFhDb0RSZHgybWNsUGV4TFFsQW51MzUrR1Q4NXdqa0hyV0t5cHFXQXpKRHJMZzl2MzU4N3hpYm5saEZlbEJOMDFSQThPd2UzZFluajh4b1MvdVRPaUxqbkNOUm41N1VENmx3U3hPKytjeTRwRW9TQTJmYnBIaWoxSFpIRUFwUmJzdGxkQVhoLzU5OFU2VGJ5bllmMFFxbCsxZGlGZHZ2Mk9qcHMyOTg3Znd3WnA2dEE2ZTQ2MExKd21BdTRjZW9SYklkRnpZblJxV1R2aFdZSGR5aEFSZ0lKbG0xM0xGK3RjNzNXZktndlJENHhSY0hVYm91NFkvekprN1RRMjU1Q2pNUVRvZmJGcFBSZTFXSUFTYWh0RGNhRUozMEdLbDJzVU9PdGNYYisyTXczUjlRSHNVRTJyQllmb3Jsc3VWaS9wV2I5NDF1V3ZNc0t2bjd1SzFGaHlSUVkvMjdYZzNudTNvNHpGNzlXbS9lNno4cEV0OThkK3ZObkxKazk4U01XM2FBZ28remVEK09ROXoyb2o1SGM2Z21NcHVZN0pkelcvMncrZDBJQjlzVGhxK0ozK2RleFp1YlljRFp4bncxbDlnMlZzZ2QvYVR4YlhPUEVSaVZwK08xK2R4cE5HaXpMRjkybTlMYkZEOVk0KytuZC96Ri9ZcnZ0TmZlbjdvby92MGFiL3J6LzdZaWRrYzk0amEwZFM1NUtBUlhMZnBjOVRYMzdMNDBpczVZMTRKdFkzUkhrR3M5a3UvZE41MTcwR3FJK3psak5FSDhkQytsK0hUUGUwL0Y0Mng1ZFkvVS92eTZ4MzZGMU5XZkMwQU5tUk5Wa0xYeVByM0hmZ1AyY2ZwMWpRUkNReFkyVkZNdWRIUk1Xb1FRbmhCS1pSbElSS3hyUERiODZrNjV5cVVhVEs0YXBHVCsvTXBLaVZGOEhGak1uL2JOb0NQR2xNSVdWcjN1UzFLRU5BczlrMXU0UEs4YmV5VDNFQmpneUo5cm5PTy81VlVxRjZNTmZDWjBVeWpzdnRJUlBSZkRrVlhlS29Rd29GNFczSURoVWo0eEtyYjhaYW5kWk5MSW5hR2s3dHF1WFZPVEZlYjhKOCtuUWRyNlpsZG4yTWJDTmhvQlJZaUxORXliR3lwaUsvV0VTRkpaNDVHeXpuKzFiL0dxMThOYm1adzBBQlRZaW5RZGdjSG43MHA0WGNmMnFONWtDMDRsNkV4SWkzSy9ZV2JXUDNLTnE2NU4wUTRvaEFKdDhadVVZZEhQZEczZXY3VjAzZmF2MHFwMWxoQTI5OTNock03ZjEvci9oMmRwWmhWQUxuQkh1ZEJkdG4rK09rdTRVWkNTaWRHSGJVZG9lcmJRU2NuL0lEQ2VXK3FYRm5EQW5NTVlIYm8wWXZFUXppUEk3cCtwR09uOTZzZXFpa1kxcmM1a3FYckJNQjUzM1l2UkZyeUczVXB1bDNXZjA0VjIrTnZiWHFSMk5pdHAyQVhXaUwrMXZqdUdGVmM3OFpRZ2p3dHhpQTlncWtFMHU4aUZOTUkxVXFVNWNoSG9XMy9MdHQwTER3aEZjb1dlSklza2xJVW5vTlhPZU1kZFlFQzBLVEVzbXoyZEJuYzZtOG1XYWhkR3ZHMHI1L3JWM3ZkZWllalQvdlZEcTdwMTF6Y2YwL3EyMzdQV2V6MHU0MituWWM4bkhtWVA3SnZjekQzWHIyc3orVkRhK3p0b0pjNndLSTB6cGo2TWY4NDVYNjh3dGdCVnBOc3VybVFtdGZUMnAyUmx0YVNuNzdveHZIS1hOd0Ficm56c2QzUmF1bk1paEZBM0VhZmxNTGttNWYxS3diZW1XMm0zbjRkKzg3YklCYnJWYjZDL3VsM08rVW9hRkk0c0hJUHpFQW5IMTVoV1c2dzNReE4yc281aFIveHU4Yy9FZ0RyOWtCbFhRckp4MExvZmRoOEhzUnFuRENIc2tEb01QeFRwNisxYzBHWklEUW5MT0xKZ01KL1F2QUFhSHdacXU2RFlRdWRWY2g4WStkOFJoczQyZC9FSFdtVmVOdktOQUVxQnFWMythbDd5OTJoSGRXeXord0ZQUkdGUFU4UGtOT2NONjhaTkdXN29rMGtYbXZLNXFVQmsvbmR1S09KNzVENzVWWVd0eTJmeDNGbGk3REV6Z01lc1RHeGJ0ZWVvZnB1dE1DZkhuZmUvdXYzVlVmMm5hMFVRbk94dDNjREU3eUtFQllWdG9zM213Wmp4NHgyK1hqdDJsOFBFQUNEOTdzN0JtaWFGS29nTjRXUlF6TFpWdFhFeXJXVkdKWk5mbmF5K09jZmpwWUE1LzErbnIyMXNsRzVORWxoWGdvakJtZXl0YUtSVmV1cnNKMEFvdHJ3NFJVdWdNVUZBL3RVbGswcTNiUnJ0cG1tT1RGZXBSSVR2ME1oVXNJMlUwcXBXSDBqelJXVnBBMFppSFM1ZG82ZmJOak0raFBPSTdaaHMyUHo5UURUcUJ6VnR6b291OWlSTzB0VHAvWnB2eFBxdisxMlczb1FGR3B1OHFRaks3ZlpKbHVzT0RHNjl3bTU0T0FPNUsvRldUTU80SUhUZm9YZjNUNitaRWNpYlA3VjlkUjFrZ3ZTSWg4RTV5V2tvc1loczBxcGFYQ3pZR1YyNG5TWWdDTE5vL2pvWk1qd0NReXJhM0U4K0ovL0ZBQTNUejlFL1duV1FDSXVEYzJ3c09SdVJ0LysrcERUd2JTYlZLdDluOGp2RnJKai9GNEk0ZVI3MVlYSUgxUEUvZWZNWVByenoxSDV3anRvZmk4b21GRDdUYUxmRjNlb1M3U3hEQy9FWGFEWlNFOFlaVHMrUlkvYWd1TUZ3TWJqM0gyeXp3YTlGSGUrK0xkVGQ2cmJ5RXZPNUkwejcySHlnSkd0MktkU0NqMkJiUzRxVzgzaC8va1YyeHFyZDE2ODI3L3R2TDdDdGpsOXdyNDhmT2hGZUxUMjV6bG1HWno3MW9NOHNmU2pqdlBLZi91eTArLzVYL1N0TGYyUDJmMWFWOUJmK2ZTRDlyajlOUTExLy9yVUVSOVBybGtlVyt6TDV1QzZWYnliTmdiN3l3dTc3bVRzalgwN2h3bS83TVhMYmxlRk04Wnp4K2NiZVg3Qk5yNlpWUWRDTXYzVElFZWx4N2hxNzFHRUJ3U1pQdWw2VWwwTm1FcnYwcU51aVZPOWNNbGRxcWlOam5rM29XTU9YSjNQNFR2VW9CcVJLR2pTcVgxSnBLUUliY2RpWGtmSHJNM09Wekk1R1MwdEZhdTJEcG1TVE1ITEw2QVhGZTdTTkhRVXgxWTdTSEFubDE1Z1Z0YXlkcytUTWNxckVDNVhsM0d3Rmwyd09uVm9oMmNxK2VmSGszUDNyVHZsQktoSWxJb3JycWZ4cVJjNzNGc2o2OWYzSzE1eGhEdFozUkRJSVZsb05Db0x2VHRaSnh6N0ZoeTdkOGV0MGRMdkIxK3ZWVmZkczRydnZxdUhKQjNkbzJPYXU0SHZmblZ5dTNWcndiY3E2cXFaOUlzREtLK3BRT291ZWd2N3FvOUsreFV2bm43VmRIVm9HVnh3OUdVcy8rWUQ3b3dzWlVYZXNXcHI4Z0dpalRFTnlrSmk0MUp4YkFXRzVrVW9HNkZzYk5sR0RsODJjOWZ5dERTNVBZRVBCMThCdGIxR0pISGU5dC96RlhYcjhodVkyYkNVUmlBdWRIUmg3M0wrZUxybEZPL2ZGTWhWajBacjJXVEYrMnlLQVRodlorRWtGQ2dOY3NLdzVIbklpVGlQTFhybUZUbjkvcU52OXdQbmkzNnR1ZXRvLzlxR3lhcVgzdVh6T3g2aGFWdFZyL0xKcjl6NmFmL213WTN0dUhiNDlIMksrZnN2NXVOeldidmsrMzR4ZlU3SHRjTzJEUXBzS1ZyemxIclNabi96V2YvR2svNVRvbmIvR0xUcDRzeEVqZm9sMC9wMi85Ni9RQUQ0VG54ZnpScVp5b0sxRFRSRkxaSzhHdE5IcFBCRmNUMlJlTWM1UkpxMEhTd21IQVJwYzl5a0JWeC93Tk0waDdjeDk0aXR6aWYydnIwOTU0WUFPeTU1NXVMMW5EUzdsbmhFUTJJamRZbndDR3BmcUtUcTBXMG9RM1g0bldPS0hkdnVtQ1BIcTE4c2NURzRRWFpmSjk0Ym4rK2lwOVdPNjVEc0N2T2Z2Zi9PTVlNVzhNckdhWnc1LzBJYURYL1BVSXNIVDJtUDYyb2FXc0VBVUFwcjZ6WW41M0UzY04wM0xydFREWm96Z1R1L3FPV3BiNnA0ZDhnVzRxYk40ZXZ6T1RHam1XdjJ6Mk45SUljVEhseU1FZDRlbnhFSm9hbVVhRy8rdE1FQSt1TmM5SmROM2wvakxYcGpkcC8ydS9ud0wvcFg3dHkyZDRkMWptZU5GTnkvbjhTMzQ1U2FVUGY3YXNMem1oRWRKTmdWYm5YczFIMy8zTGQ1M2g5ZDQrUjV6N2hoN3o3dDkrdGJuRHFid0xRL3FPanFSN0VhMTdjNklydVRkNmtTQnRVVloweFM5NThTSjdsWk9PWDV1em5lNmtSZFJjckJML2ZwUERTOGM2d0FhSGppS1ZWOTNmWFlEWTNJcENESzNMMDZrMkVWVy9yVmI5bjNyRGY3ZHA4OWRsZ1A2blFidWU2Z2ZMWUV0M01wU1YzRHRoU1lNZEIwNTc4RVJ0TldUdTRLdDlhTzVwcHQ3eXgvR2ZITER1Mm9NL1padzkvUCtSeS95MnhuUjlreHlZYTdDNmg4SzUwT0lQbnRkVzM5WlBlMXcyRGJrSWRaQXU2Y2tzS1RJd085VzdnRXQ4dVR1WlA2ZEQrY1d1N013N2Q5bkw4NHRjVmFHWGE5RWdLVXBjaE1EeENPeEFsSHplMVVIanZpTEpxTkdYTkJUQ2NqdTRIYWtMZER2T1RrWVVucTRzSVVpdXAwakViVjZsN3U4amxlNThRUTVCL21LbHNJcnFtT015TnNFZEZHNGZWR09TOXBDelVlRDlJeW5WaWJFSFM0c1hac3YvKzBYK1BDYmZWbTA0SUZ4TFpzSWVPb294QzZqaDJMc2ViY2M2bDQ0b2tlVDgzZWlWbmM0cy9wMC9FV2hoMHVsb2FiL3FaZUhKSEZPVDgvdGZXMWs4NDRuY2ZPdm9qeTAzOU5KTlNNS3lrSlpaZzlXczhSWlF1Nmx6dkpqVng3d0FBcU13ZnduR3FwRDl1aFBobUZKaXg4V3BnbU01a25Menc2OFlidDhrRUkwQkkyZ1dXcHhQNFZqS1NDVjNpSVVWUjBlNGhrNG90N2FrY2xhQU5vdEFRcHVzMU51WFVNV2xIQmhUYzNzV0tkMlNxQ1d2TzBUbjJ2Yi8yaEp3L3MxL3JxWTQrNVFiVnc5TFhONlZJSTBvVEJzYjVtc2x3OXozbVorZWk5N1RqUitreHZKampSK211OHpqbmVzWkxMd2ExMkJaSnF0WC8vOFliSzgzdEk5N2hZVlI5Q0FFa3VIU0hBVW9xbXVObTdoVDMvY0dlOEd6djRtTkFkdnBqMEd5SDFKc2VZUnU5OGJGZTBpWjhvd2NpVXJieTgveDhZbGJLMTA1cFRpYUk0R3VUWTlWTlpIUTIyMzVhSkdrSDFiUi9uNGs5bGwyMGJsYkN4VzlFTEpmdmJ0MVJDT0lwcHpmRENQcDJIRVdzZFczZWZqQ1IxV0UwZXg2YWs0WEpCbldrbTVOU3VLZUJXckdIb0E2clY5dnJEUHZnd0NkMzBGMkl2dllGTVMzSHN1dnFtSHV2NURqRTQwMmJzaUd3blZMU3VNbUhEQ1FaWUlSNnVmbzk4SzRUZHpSZTAyT2JERG51eVQrZDMzWnVuL3FDMWt0dDNrQTFDb2l3VDBkYk83NFRUZzk4ZXJjQWdQem1MQjQ2N2hLUHJMTGJlZGhPaGpldHhKU1U3biszRkZoL3lsWk9Mbi9lWDNwMWprWkE0WWMwNWJKcHlsS2NKK0cyb3VpcVJpLy9jdjlUdDc5M09lbk1kVXV2VjBEcHMrbE9WUG81Y3Zwa245a3ZudkZNT0llV3hSd0RCcTZjTTRKQ1JvM2kxTWNDVHI2OXlTR3BrU3lHWVFsbGF3aGRYN0RyZml1Z2JxVUUvTnFXYzRneVhDODN0QVNHd1RBTVZEYlhaV0oyWE1WL3R6NmJZaWxGaXhkdVJDcmNRQitkbFNRSmU1N09ocUdKYmxkMk9WTGpsTTBNME4xZjdzM2t6M2dSQVQ5ZE50YXliRFZiSUJDdEJYS2RKOE9rOUZraWlBeWk3N2UrcWg1Ly9RWnB5bkdycHRYZHB3N1N0Sld3aEV4NmE0Mk44WVlDcUpvTmxtNXVwQzVsb1V1RFNmdEFuYmVjVU9BVENBa3RvS0RTSFFGckZ3RzRnbnhEalhUYlRodnFaTTNzNFV3NmNnU3ZiVFoxbU1XanZ3K0hmZC9mcitCNHRMZVJuQzB0NS9oZzM3NTIzTDFrUHZRWFM1dDBMNE1DSnczbTVNcDhuWHRxSWlFVUJpYVpKVERQQ1NTZE5BT0RaWjVlaWFUNHNhMmNnMEVRd3hoVW1yaVRGTVM5Ni8wcUlIMjhUMEJ3MitIcFJPU2NmTVp5YSttazg4TkdwL1ByQUp4aVNXMFBmMUhMMVg1TUs3RVNPWEZyY1djTTZ0NVBxSWkzNkpGajAvMk56WldmaW56eU84S0pseEVvMjdaSVZjZkpYbDNETm1JdVpmTXUxNUJ4OUJDVy91NFhtOXo1RjgvbVFBVDkyT0l6WkhBSkFDd2FRL3NUZndoR0NCODVseUczWDQ5bGpQSXNiVi9IbmhRLytaT2Z5cVVvL1J5N2YwcUVlUG5Ua0tGNXFEREx2MVNWY0hJc2pwRVFwaFdHYWFINC9Ra3FNNW1aMGZlZVVIay9lRzVoR0pYWnNKWmlyd1ZpR01sYWd6TTBvdXhiTU1FSzZBWTlqSldnSjhqd25nd1N3LzZmM2NBdmhreGwxaytlUEFyQXQ3RVY2NHdrY3ZCdmhVRklNVmR0Z3pHU1lNQjNTczNwTXBOQTN6UVJsSjB6SUdBZ1B5dGJBTFJITERYZzVDdVhXVDNaOU5ML1BLVmh1U1dycUkxbDl5b2lqZDdMdHBDWUlSZUprQllQTW5UeUE0VVZKYUVKbjFhWmFQbDIwamFxbUpvSitqeE1FMm5FY1ZVdDY5c1d4R0x6K3V2UDdFVWVBeDlPamo5bHhtRnNBOTgrRlZiVnczSEQ0L1Rld3JOb2hGUWFINDhtWk5OQ0ZFNmM2YVlUenAyZlhPa2U3QXpNSFpUdEpNa2NXdmMzSEZYTm9pZ1k3d3F5Y3JvV0ZaV21ZcHNhUWdzMWNtM2NYaDM3NUVrM1BLcXFyZk8zbVU5Y3RqcHBjek9FVFZ2T1h0K2J3N2NiOFRzM212and0bWdETGhLa1prb2NuNktTN0lXNXZ2NGRBZUNVTlQxWlIvMmpGVDBRMytEaHkrUlllYjZjYjZOQzNGcHBFeFV5T08zNHl5VUZuYnpXRllyejQraktrVysrd1NFb0tnY2N0aVVSL0FuSkNnWENCVExHeHFpVkNnbnVnUlh5TGhsVW4rUC9CUkI4Mk1MMVArMXUzeXZrNUo3YUZ5ZkZ5bnZTTjQrbXNHWmdEODdFYkdsR1d2VDJwdEJldHR2L2RFb1lWcGxHUWs4U1h5N1lTamZmTi9vMlhEYUJxM2pGNEJtN0VPKzRia29kdlFVaUZIZk9nQUUxc2wvOHRJUXNiQ0dpd09TSzRJTjhpeTYxNHJrSWpXZC9Oelc3YkRvbU42QmlBQkhqMmd5V3MybGpKTGVjZXhJRXpISUZ2MlFwTmlwK2VQQnMxbWxkcWZidzB2NFRDUVFKTjF6bnR1QW5ZbHVUbEx6Nmd0THFhL1E0Y1I2cTdrUG1mcjBXMUlmZ1ptKzFoVUtxTDk5YUgrS2drVEhQY3h1Y1NyZXYwVTJ0S0NDZFcwa09Ddlo4c3ZLRDlNTjlyMndraWx3UVczWVBjd3A5a084VHRKMDlxL0R2U3hHSXoxbWNxTXFkR2NQVG5Pa2QrcmxPdndhWWltMldEYmI0YlliRjh0TVhHWEp1R29FTXc3RElGYnFNTndiQm9WNlB3dmV3SHJaT3FBS1VrdGg2RmVCQXF4emhpTnFNRTNNMUl5NE1RdStZREMrSG9ESVFpTDZQRzhTMXJNa0FKaENmVzVhVWQvZG1lck5FNGF2a0dIdDhyai9OTzNvdVVmLzBMSVFTdm5qQ2FRMFptTWE5ZTh0d25xMGtkTUE0UjhLTWtSRnlwS0Z0ejVzYWw4TWFiZHNoUzYza3NvU1VHSklVZ21KVkMySFNJbEFJdVFXTjlxRWVGL08zbkdZclNuR0tyelhYUm42U3MveUhidFUyRE9PbjV6NWp6K1RmOC9jQzlPTytRWDNEL0s4dDU2cG12aUpZM09kaDRZcXRhcGcwUmkwQmhCa2NOMURuZFc4bmNJaC9CZ3c1amNjWlFmdi95c3RaK2RWTlJsZUlpWTU4NEl6eGhhcHJjdUliWWFFSWhBZzYrNGgyYXVCQ3J6Yjh0VzVEdWo1T1JGS2MwNXFYNk96Y1pEVVpIQnhmV3JvWGx5K0dnZ3lBWTdQcEJtNXZoM1hkaDNEZ1lQbndublhwY2ZwTVlISWlyZTlla3E3ZTJCVVRJbFBTL0NTWEFvOUNuSko3UDA0Y2dSMS9hSXJhTmtKTEtUeituZk42cmxIKzNDSURjS1pQSlBmb29zdWZ1MmZxZVhpbmdSUEpCeTFTSXRvYjEvNmpONHlTRFNxYnRzWjZURDFqR3BLSXFIbWoyVWxyckVIVU5IVjNLYVFjdXhqQTFOcGFuc2E0OERSVGtGMVp6MWtHTEtTeXNvV1JURnQ5dHlISDZTdlM3dnVKcWdwNWlBcDRTTE5VM3BNSUFwcVV3TGRWNmFhS3RuUDhMeDAwT21aakwxR0hweEF5cngwVm50ejJmMEVOVmZvNWF0b1VuOWszbnZGTU9KdVd4ZjNXZ0w0cGJZODhvUlNSaXNsLzZWeXhvSGtObExCdnA2UUZHMjBmdGF5MmRaL1doaWFwWTBiRkQybEZRZXljQVEyOHRyTzNQZHRVM1pYeHcrZU5rbmpXUnkwNGJUN2wvTXM5dmJPYVRxaTFzYVM3RmpEYzRsWkthQzAyNmFDRkNWcnRySVNaeUdaUmh0QkpOOXFUMVp5eTNYMXBIc2s0SXNDeWFVdE1vODJSVG1aMUpwVHRBUVhrbDQwTWI4TmMzT29RZEhSa3BkaitQKy8vc29uNXQxOXhUL0FNcTZMYTNzLyt3SmtSLzRUdjlkb3hGYnlvblZCdmgvcjlsbitSLzhSSjExOS9GdGtOUEkzakMwV1RjZlQxNlFXNENod1FqdW9HNmx5OURLRWc3NWw1Y2dkR096YWJybUZ2THFibmlWcHFmbTBmU3ljZVNkdXVWTUh3d0FHZitIazQ0U0hIb25BYitQVFRNMi9XcFBGNlZ6UmZOU1lRN0loWldBcjltTVN2WXhKbFpWUnlTV2dkTkJrKzlCcys5dS8xdFUzUWZ3elFQKzV0QlhvODFzc0FNMC93alRrYnB5RDVTeXJuRTFFN0kvalpNc0U1K1N1SzF6ajdiRS9jQ0c1U1pTTmpYRlQzbC9CVGZ0OEtRUUVRQ0ZxbW5oVEZxQlUzemZJaEk1MlRDYmR2bnRSNldOM2s0clNEQ3ovT2FjTHZBanNjZGJFLzBMN2luQ1lWbE9iN01xWVhWbkdWdTVxbmJxbmowZFNNaFkzWlc4V2NVZGlUR0V5UzVnb1F2MVhNWjgvaE81b1NObEpLdnZ2cUtlRHpPWG52dDVaQ3BLTlV1RDFFSmdSQ0NUei85RkNFRWMrYk1hZjFzdTFaY0JUVmhtSjRQb3pMQm8vY0pzTjViM0tpRm1HYkMwR1NTQTRMUFZ6ZDNhTE5PMURjdzE3MllCVTBURWNMc0pPNnNnMHBjeGkzTUg5WkkwcnJYZGFxVkFMbHZkSThVMEd3b1ptWTcvWDFWcVFpNlJLOHVZdFNsUlpJclFycXZucXB3T2lIRGk2VjIvYnl0cW5OenlIT0YxRmx1ems5YnkvM1pHNmlKUVhCU0FldTNwclBnR1E4TlcxeG9mb3Q0blFzbEhkbzJYNHFOYlFqc3VFVHBOaE9PYVdiQ1BsWTdQVCs0SUlOeEkvTDUvTHYxK0xLREZKMDhuUlNmZTlkeXo0OTk3ditNM3U5RGIvN2ZGSFEvUVFJTVU2QkprRksxWGt6UUxiYXp1SUhJdkZJRWVxZXlyNFVVc1hON1FLQXc4ZjB2NEhLR1RVcTZqMGpNSWhJMkVMcm9VTVcxRWduYkxpelRUVUd3aWxNSGZNSUpHUitTSzJQOEx2RyswRUlJbncxSmowUFdyMkRZTzFEK0I2aDlKV0dhbVJCUDhGRllpWHBmMjRLTVl5RDM5eERmQ2h1UGhhYVBma1F4YktWMjdXQXEwSkpNM0FPalJGY0c0SHRJTjVKQ09aZXVBVkxhdTR3VlNnRzJaVFBjbGNUTjZXOHhjMlE1QytPVFdGSld4WFZGRlZ3YUt1YVNqUWV4dHNaQ2RxMC9OVUNUVXVKeWFZd2Fra2xXbXAvaWttb3dFelUxMjZ0aE5NY3NrTGpkT21PR1pwR2U3R1AxaG1wc3V6MlZvV2Izeitib2RWMlhaU05qemdVelNpbVVaYUs4TzE5S2JqUTJVVlZhU25uRk5xVFBTMHBPRnJLSHVaRC9QN1Jrb2JHbnkwK2VkQkZOTFBOd3pjTTJ6YzNuUnBoRzljUGs2a21wc0d3M04xejBEY29VM1B2a1dNWVBxNklvSjhUODd3YlFITkVRdW9abjJHQzhRUmVhWmZjb0x2RHpsUlVNYkl4eDNkNURLRXZ4b3NYTTNTY1YzZ0ZUeUU1dUJxQ3lLYkFUNXFCcEVpc2F4ekpzampwaEpqZU85Sko1KzUrcFhMZ0tQVGtKTXhwRml4bHRYTlh0anB5UUFxc3BRRmJhQmtZTzJVaDVmUnJydG8wRnIwS1Q4UjdGK1g5STFHSjlUU2xSTTg2RTNHSC9kL0IrSk8yb3BvMkhEVFJDb3orTzFUMDEzei9nQ2JYWGhldVdmWENIc3FXT2QvcmZpT3ArK09LODd4ZlhyWUlqbDIvZzhiMEdjUDZ4Y3lsNzl5bUVFTHgrNGhnT0dwZkZ5N1V1WHYvc0s2YU5qb05IZ3FsNlpDTThWZW5qcU9XYlcvSGk1TWNlUVNLWWQ4b0FEaDQ1aXRjYUF6elZSc2UwNUhmUEtIVDB4ZGRib2tpOUE1MnJhWGluVE1LN3h4UWluMzJPdWExdjg3MWJFV0RSM2pUNnNma3JvcDl3aGRmampheXhZdndsa01kNDNVZXRNcEdkOVNBQUMvUVU1WEJrMUlsT2NjajlKcGZ4MlNPVHVmL0ZLSDkrZEFrMTVjMlE0a1dUd3FrOTdXZU10dVdpV3ZFRDV4OWN3eWoxeGI3cFl1UG9JbFlHcDdEdkVvMmNhSnFEOHlsRmtsRkJ2dHBDcFpHS3l3d3hnVzlaYXc2andaM0hXTG1VcmZFY05xVE0yazVVdGlzMm5aRG90c0JFRWt6ZFFvYmxZMU5kbGpOWExxc2Q3dlpCN2lFc1NwdkNwV3Z2NTRMMWZ5ZlRiS0srVGYzNXJyWWozRWtNa0RyL2lOVHluUm51ZjRRdXdSdExmMERHNnFjQmJpaWxzQXdUWmY5L0hEUldDb2trbk9ZbjdsYWsxbGpZWnB6L2hVUmh0ekJ3WVJCVGJrejBIc25GZGp3Tm5hUm5kWVdqSnZ0MExqdXlpRXYvc1lxbXNoQ3B3MU80L01pQkxOdlVSQ1JxSW5UWkNpMjBFQWxiWWNkV1AyclNBbjQxZHg1ZXJaaDc1eWZ6N3VvQndOYWR2a09YQ2pPa2M5TGNhazZhVVljWmxVaGxvL2sxekNhVHF2dkxxSCt6eGlFMmJhdC9FcmM5dHBYNXJ3MHpLUXNxTGxqa1lvOXlEYWwrQWlrVW1zUjl3RjVvSTRjVGYrZER0SUdGMk9VVnFGQjRsL1BwL2xPYnpNK1diK0dmczFMNDVTbUhFWGo0WVpRU3ZIMWFQdnNNVGVMTldDci9lWGtGUk52RVp5eUJNaEkxUTI2MXZmaXVrMVpYRStPTEw1MGM2ZGt6TTBqTDlQd2s1SU5UUkpDZ3RMTVQ1UGsvRWZtZ2RvaVZDL0cvV1FCaDlWTmVsU3RyQ25yYWFJek5yeE5aL3dMS2FPb1QrWERKTTA1Qjc5OU9qZU50MEZCdDZzM2FwWjlBKzFTVWp2NzJmV0JWcDUyQ2EraGdLaS8rRmZIVmE5RFNVcDJhd1I5cEluNTlVMHJQZkxzV1RxWWVQa2JISEE1MG5NK3FhZGlHQ2FiaTZtdjJac0dpV2o1NmJUa3k2SEl1THRnZEREWkJ6K01RbXlSa3IvdC9KSXFXV0FzOU53dXJ2aEVWaVlIVzVscmdYZGh5MHV2cHo2SDJsNk1LaHNuZ29qVEt5aHNKMTlXZ2ZLNTJPbDZUTnJhU21BMEJNclBxdWU2Q1QzajMyNkc4L2RWSXBEK092UVB4elFzYm10bm1Ncmw2VmhxVG16M0VpaFZXOCs0VEM0TUQyRVM5NmVpQlF1cWF0NUhpTmJGTURUeUtnU2w1Tk1WREdMWk5RNnk1WjZUQy9kMXNtMGhKQ1JXUFBVYnpraVc0c3JOSm1qcjFSNm5idC83NVFZNDcvelRTWG51VlUwODdqWEJESTg4Ky9nVFZqUTA4L3U4LzRicnlkdW8zYk1LVGtlYVFDdmNVNyt0Szdvd2F4Ync2UDg5K3NBN1g1RFNFejlYcUs3YkVpOE5XZ0Z4dkdVY1BlSjcvYnZwbGh6NUZYcDZmTVdQU0FGaTVzbzV0MjhMOXFqWmFlUERxVE1HZUtUR3U4Rld6NHRscWp2dEhtT3A2RzAyMmNHU0kvajdCK1BzNFlCNk9iSjlYcjlmZHpnUlFDWE5WMTEya1RSNUNWb3EzNTNuK2ovYm9oTy95YlBYbmVKVVNORlZ0cExsMk03bzdRSHJSUkhSZDUvMXZLdmhtWlExZWo5YnJla01VakVnSlVoT0xvMUFFWFRvdGhNajBtNDhvT3RBc1AzMmQzbXZieGdZc0x3S0prc0x4dWJUWVRsT2hGSVJxVjJISGEvRW1EMFAzcGlFMWQrdnJScXlaK20wTDhTZGxFVWdmM1U1djJsWWNNMXBIdEdFZDBwTk9JR04wdjgvRDZWZGFMRjY1bVN0ZnErTGc2aHdPU1UxQjZJb0cwMElnK0xGNlpoNWRZK2pBREdycXdxQVVlNHdad0txU2FzTHh2bzFQdDgxWDdjbmZmeEFzUUFpTWlqSkMzMzZHbnByaDJERlNZSWREU0xjSEs1emdlalZOaEVzbmFaOURFZTZPYmM4QjNoaGxJUzliRzZvNDljbmIrZFcrSjNMVm5YZVQvT2lqbEwvOUdwckxqWFM1VVhiLzVRRUlJQ1pnYmgyTWlrT1pEMndKbGNDME1IenRnZmNUN3ozejJETVpValNNcHorNG5vS01UMGtPN3A0VTFCOE5mVWpwNXlhclA0VXBLUzRxMXpsZzM1eXFqYXg4eFdDQ1ZOd2I5UEtaTm93YVE4T2wyNGlZRC9lZ3pXaTJvbUZqTHBwWFlmV1czVkU1Wk1UZ2dGaTdLczJGQUxlbTQ5TDA3ckN2RGx1c0MyV0pVdGk2amp0dkFMRklCT256STZTR0NqZmpUa3JEZHVsZ1dWMEc4L0traSt2OU9meWlxUlE3WWJLMVhMMDhjWVRPK09FNjQwYzR3UERTTlNiTDE1b3NXMnM2ODVNd29pU0M2LzA1NUxXNXRiSlg2eGJYOFB0c1prMU5KajNkajJXN2FHcHM0b3RsVFlUQ2RCdUFzWUJJQXR3cE5VMXlFc1dHRmFaSlFlSjNuNVIwRmY0MCtwcHRRdlg4ZmRKbjR4c1dKYnpHNXlUOGE3MnpIdUttd3EwTHBCREVUSnNoMlY3K2N1b1FDak04V0xaaWRWbUVqMWZXOC83eU9pcnE0eitJWEhUaWFJNXd0S1NPUW00bkVLYVJBcG9aNzdLWk1Uekl6T21ER0RkN0RQblR4c0xFQ1lTYUdsbjB5ZHQ4K0xjL01XU2Y0eDFDNFg1dXp4aC9vK2tMaUg4bU9ERDlRU2plN0p5WHFtWEVYb0JETkl0akF4N3l0T01vdHp5WXBnRzQrT1NUTFltbjFiRXNBM2JZZGJvbUdLNkZPWExkUjhRMUYvYkF2ZGhvZWxzUytYNTB6ZDNkTFlTdE53QzFhT0d1NVd4SHV5OFNzM2h5M2hwK2R0Z3dtbDFIOG9kWExhNC8raWtHNS94NFNZVmJ5SVRITnRsY3Z5SEdsQ1pIemk1TWt0dzYyTU9LSlBsL3BNSzdJall0aTZiNVgxRDU5OGVJTEN2ZTVXTG9keXMvNDVQcWIvakZ3Qk81YW85Zk1mcnQ1NmgrOGdXMjNuSVg4VFZyOFk0Y1NjN0Ird0ZRKzg2SFJGZXZ4ajE4R0VVM1hFbm1hU2ZRaU1sdHkrN2tYNXVlSTJMSGY3THorVmpvQTBvL04xbnpLZXl4Z3g1ZTliTEJCRTF3U0FBMnU4Q29qOEhZRVl4KzRSR3FubnNlbzc2Ui9Jc3ZZTjA1djhMKytDdEU4blppRmROVTZLNWNjT1VDKzdVcU15dStGVHV5SEJuY1FuVFZwOWlOeFhqSE5tQldiZ2JkQm5TRWNJTndBL3IzVEpMNy9UUmRLRXhMQTFOeTl2QlMvamx4UFFnNGYvRlEvcjB1SDNRYlhiTXd1MHNJYldxQXIrZER5V3FZT0FNNWVnTHVwR0JyVVdoZjJKR2RHU1VXeWRUYnMxR2VzUVRGWWpSaklYWmdDT0w5U3R3dkwzZllONzAvWGVFV3I2eDI1dEV3K2hRL3FYTHRjSnVoRkJDT00yN2lFSzQ0dFlCaCtRTEREdUYxKzluSFR1ZUk4dEg4OGZIMUxGbTJBZnplWFNkL2VPc3R1T2FhQk9LdndUSEg5TmordkdvQ2ZGc0J2L2dJemhzTGw0NkI4ejRFNlhiSWd3ZW5na2VENGtZd0xlZllmbEsrSFVudHdNeEJDcHNCZ1hJMGFYSHQyTDlpS2NuQ21razBXMEZDaHI5MXpxVndidW0yb2hxZUZJT0xSenpNQmFYMzQ3KzluUElsYVppMmpzOGZoUVNvS2FYQXRqVWFJMTRxR3BNSXhUd0luSnZCdEE0V1VoT09YZHhaMFZKUDNlYVdaTk1KcVlKbkorc01EZ2ppNXZhQ1h1R1ROTDFRVGQxRDI3cS9pTWJ0aGttVElEa1pHaHRoOFdJSDJQcWVXNHVQdG1ZbkgyMVRxNDkyWDlETEoySW9kWmJPbGVmUFpkWGFTcjVZdUFrUVRCbWJ5eFhueitXdi8vNkNIYk51UFM3SmxKSHBUQnFleHR0ZmxyRmhXNGdmYzlxTWxxendUalR4akRJSmZlb2l2a0VudWtySGxXOGhnd0pqOC84b0syUmJFZkx3bVgzYTMvREN5d0VJQ1JlNmhJdWJ2dUVVYlNNcFoxMUk1dG0vUVBqYzZPR29BNDcxUWdpbkJDL3FBbTl4YmdwRUNSQnErNzk3aGVFcHhnekxZdWFrUWhZWGx4T0xtMDRmdTZzblhBWW9pRzhZUm9FeG52TGxLd2xPWFlCbjRBWUVpbkRVVGN3VzZBTGNVdUVXWUNqd1NzVXR3MHlrZ0JtcEZnOXYxVW5SZXh1c2FGTlFKaVJJRFN0VVRheHFGZDc4UFpBdS8wNGY4YmxkTEZtM2pWTnVlSW9MajUvRjFhZnRRNUxmZzIyclJKN2NqMHYvUHhiK2lOSXZUTlorQmxOVFhGUWs1Tm5jNnMwVXp6T1lLR3oyVGd2dzhLaWYweUExUHZ0cU02bmoxaEFZVklieUZiT29xcG1DdUVZZ0pVQzhUWkdQVWhCd1M0NFpuY1RVZkIrdnJXcml1MjFSaEFDUEpsckpuMzgwclJ1bjAxMGhHRmFTREJYcldUVXdrYXpXeDQ1cTMxNDdDYmJvUGZteDJTZzdHVnQzaGN5N0F3eUFEQUNHY2doc0pSRHU2WVQ4dE94cENleWhlOGdMNkR3WmJlSjkyeUN1N1hDZGRTLzh1MWpNOFZKTUhZekVSOU5uRytSNUZITUI0eU9kcW45NDJEVFladWtRaSs5RzJTd1packV4ejZZK3FMQTdJQmkyMit5Wi90b1A0WGdIMkxHUzRJcmlyUm1HWi9sSnBPRkJDRVhkbWppeGNjOFNTU21CdUJkNlN5b3NGTXB3Y2ZUMEJYeGRNb1NKQmFXSlVtSEJqTUVsekZ1NFIwTFBmUDk3NmJINkJaUnVqck5tdm1KS2lvZUtkVnNRd0o2VlcxajVjcHh4eW1LdjNBeitMQStqU2RQUWErcVkrdTR0YUVtMXVLVkd2TTdMNG9PdWdjeFVhSk9nMHJ0WWdrUzVKTCs0N0FBS3N2MThXeGFuZUd1STRxZmZJeEl4SEVPK0Y1aDFocys1N20xTDNmL3g1dlhhdi9pNG5NZHkwemk2VHVQMGtyZVlXK2pqNFNNUDVOY25uTWR0ankwZ2tPUnZGUTJCMUFESDdaWFBSU2xWVE1uUUNCeHdNQXN6aDNIZnk4dDUrc2wvUWxWVGE3OUIwK0t0bkV3ZVBLeUlXNGNVYytxd3JXaTJoUlYzb2R3T0NaTWRjZFpaK2hTV0VvZzRhRzREUzJvOHVTNmY2MHRHY2RIV3paeFEwMEV4WUUwTlBQd3dmUEdGSTd1T1BiYnpoQy9iaG5mZWdidnZodG16SFI4OE03TzkyU2NWTTlLajR1N0psVXhKUzFZUGw2U3lzZGtsRVAwdjhkMEhPSmRacWVvZjkxNEpSOEtzWDdTSTZpVEhEZzB0V2tUeVFRZnNndUdoUUVxTUxkdW9lKzV0b3F0S2tBRWZTZnZOSk9YSWZSMkgvWCtXVk5oQ21UcDc3ckVPS3lZWVhGREptSUVWbEZZa0FUQnp6RWI4M2lpMkVzd1l1NUYxbTUwTFpNWU1xcUFncnhwbENQYWN1bzV2MStRaTNOdmxiOXpJWTIzNTlVd28rZ1ZTS0dTSEpERzlTVVp5VUplZ1YwUFhCQUdQMW9vWkJQdzZMazF5M0l4OHp0cG5FSlpTYUQwbEZENDVvWWVhUDZUMEM1UFZuem1ZZDBVMytpTG9FK3cxZXhKVjN4UXpOcU9PVVVQMjRwTXZWOEgzZEhHS1M5bWdMSFNzblFnQUJHQlpNTXdGR29yVmhrTlNzR09CbFFSTUpaeStPdEZsZmFXL2hpVWxNNlE1em51M3Y4dmZYM2lGWTMrVngzK1BuWUl4Wmh6djE0emtnd2FMajZ1M3NiUnVNMGEwQ3BRQm1vNlVib1NRS0ZUdmsrMFNoTG9vaFphVmcxMWYyOGF2N2JyMVZ5eTNNL2pidVNkWDdQU01zcVdvdUpOeFJ0dnFsQjNWVEdLTlYyVVhjZFVoTnpCNStZZXNIcHhOc2p1SFA3eDVKOFByRzV3TDhuNEFxU05jT3YvWCtxL2QrK3ltNy9YN2xKVE9IblRyV0VrK3ROcG1sRXRodWR4b1VSTnAvVEJCK2Y3Q2QvcXJSYzA0Q3B1MmxWZzdaVWkwNEhLZEZqdjg5QW1HWGNNR2tmMzBmU1NkY3lKVkYvK2V6WVAzSlAzV0swbTU2bnlFcGhGZnE2aDZ1Umc5cmtnYVorR2FCTXF5YWJqam45UmVmeWY2b0FJR3ZQczB2Z1BudHV2Mzlmbnc0ZGN3ZXhLY2VaVEJZWHRXY2RpSWV0NnVUK1d4eWpiRXdvQmZzNWdkYk9MTTdFb09UYTJIUm9PMzM0YkhYb1V2RmtNNDJuN0drNFZrZjFlUTZicWZCV2FZMTJLTkxMU2p4Tnl1eEcxdlBkZGZMYmhHZDNacnJMU1NjTWtXWjd4REN2RVVaUGZJVHUyczJOcTJiUTdZZDErKyt1NDc5SVlHQndOSlNXSG1sQ204LzlGSFhYNjJXOGZZRU9DMTBRYzZjU3VyekFWUkNhN3V3VkJUdXJ2SHdIYks2TzBKVTdIWStYTXRUQ3lXd0ZqdXBzR2pzQzB3dCtwSURXakp0Uk9kZlM4a3VTQmttTnl5MHVTTjhqUXVHdGpBdm9VRllJTVZEeUdGN0NVV1h0YWpLUmFBRmRmSUNocmNtbC9Lb0RYMVhQbW5LcGFXU0Z3dUY1Wmx0Sm9LazhmckxGcm0yT3gvL2Z5aG5mYVd6TXh3aXNCcjY3QTNiVTZzZTgvRy9QZ09lMDFLU1ZOVEV3ODg4QUFORFExczNicVZVMDQ1eFNtYzMrRVpubjc2YVI1NzdESEdqaDNMckZtejBEUnRaMUlWQlZTRzROMzFzTGtCTWFNQVYwN1NMc2NYWXJ1Q0c1a2F5clR3cHdjNStyaGkwdDA2UzdhTm9LbTJEdUhTMmgzM0J1VmptNVZPUjNSZEVvV05ScDZzWW4vM2QxVGFxY3lQVHlhV2lFNnIzY1RNZHlYUlhkWFZkeDB1UU9HVk9qYUt1RzBoKzBEZjJKYU5QeWh4RlR0eXhsKzBMM2JZN25uaG5CSk1MOXpBSVdOVzB0Z2NKeW5vNGNYdkpyTzB2SEJub3ZoZXlLMVk0cGVXcTF1VURicFhzZXoxQUZWckJRTW14dkhseGRHdE9FV1RZMVJXS21LV2pWdElObi9wSjFibFp0RkxBWWFPRDdYcmQrYWtJZnppWjN0U1dkdE1iUDFHcXVaOVNLd1QwdEMrRGFMMHZnaW8zOXphZmlxd1YvM1U3NTB0U1NXZHpxenpQOUV1Zy83L2o0Uk9BWmlXWUVPRmgvcDZQNEdnd3UyS2tKL1RRN3ZaTFJIb0NLKzJQY2xHQUxaeS9oYTNVUHRtTzVjYmZGUUpiZzBWdFJMNFhPTDlXc0lwZHYrMGN5K1VhVE5zVUJwbkh6R2Ewc29RLzMyN21LYW1XRHVpbTNaRXdwYUhQSDgxcCtaK3pFa1o3MUxvdFRBeWg2S05PUTd1dVdQN0xsVFE4Q0UwZmdncGgwTFcrUkRjQ3lydWhuQXBOSDJ3SFczekYwRE9GZUFaQW1YWFE4TmJ6alRMNzJsSGQ0dE1LSVYwNVRwaXhDanZnWUpUN1g3VnMrUDRwellTSy9GQnMralhjNkdVd0xZME12Mk83VnNkZG9PMG5WeVRYa0phdG1GVGtKWEVRem56cVVadzZLcFRPVUN0d0ZJNTdMOThQMjRiL0NsM0RWN0hhZUh4Tk1ZYW5mcWVMdnFNR3laVnRjM1l0c0x2YzVPWEdXVGoxdm9PK2NaaWNaT3FHdWVpellEZlRVNUdrTkx5eG5aVC8rbm92cjFrbkxMTnZiVE5obE1UaGVRTUw0SFpCY1NycTBDNmNLZWwwdmpwWmtLTmNkQzNEN2krdEl6U3NsTEthNnZ4Nm00OEhnLytuS3pkUDhQZmw2elloZjNZMCtaR01NY1ZJRXZxR0NoR2FVN1I0Vm9yUnJaME1jY1Y0UDE0RS9FZklOSnAyVHBGdWZYc1BhbU0vYzg3am9BM3hLTTNmOHdlczZ2NTVlVjc4Njk1WTVEQ1Joa0dLcTVRVnM4WU5wdGRPbk8zMVBQRWF5djUzVDVEK0tvd0ZSRXpkL3NKV3k1dm5ENWtDeWRQZHk0N2ZlYWI4WHhkVWdqU1FnaUpsR0RWaDBndXlPTEcwNlp6Nm9aRk5GeitCRFdoR0hwcU12R2FXdEx5OHRFdi96bjh4aUZHc0pYZjJRVVNhTlk1WTk4bnVPYzNUL0x4ZkpnekhWNytjaUxuM1hzdGxwNmFrT3cvVG51a09SN21sWlVmWXl1YmtabEZlSFQzRDZ5RVZXOGsvUCtzWFpkclJ1U2h6WnVIam9uVlhqc3VXbnZneDIvZjhQQ1hnWUpYLzdIbG5lb3I4dWFDTzRuQXJIc0lDVDk4Y2U3M01xWkhheFpUWllYWldtNHpyamlaUi9ac0JBVy9uTGVKeldzYTJhTlI0ekREaFY5WFdMMGcxdjFYUXNjVWZ3cVQydURGczZvMnN2d1ZnN0ZTOGJjMnRjT1dZVHN1dlJDT2kya25YQnF4NDlrWHlLUmtySnBhckVZbkwwRlpsbE5Mc0p1K1Nnc3FFNG9aUFBmNU9nQk9uRDJNZ05mMW85dExabTE5dDVwTWFKcERobUZiUGRaWUdvSTFWb3dUR2pmeCswQU9wM3JUYUZZMmhyTGI1ZmlMUktxWjJTQVplbjhqVmM5N3FIblZnenZMN3ZCaVZVdWJpODhsdU9vME9QMlFYRzc5VndrUHZyQWNLMmFqSmJ0UXRuQjhUZEh6dGVxWnJoRFlob0dRRXJmYlRkd3dIQ0xOUkR6dysyNTd6ejVTSkJVRlNTa1l4TGdrSDdseUFGVmJneEJ5QUpIYzVoV01qWDZDTjFaRW1SeEllVTAxUVZWTktHc0dFUnJKTTB0cEZPblVwSTF0dDU0OXNlbnVDM3FaTDRZVDg4QXgrMzdMOC9PSHM5Y29HeFVYQkNxcWNlV3VaOGwzRXhDNFcrZFhtbUZxWFduY1BPSFB2RFRnV0s3Zi9GZU9HVmFKa2pyaGlJM3NiV3JvaHg4bXNEckJkTjFQZnNERlk5RTYzcmJETytjdjlnWjM3QUxuZHk2VmdWaVUxbHFXUklyNmJyY2tWeE5Uczc1bGVNcGFtdUpKZkZzMWxYV053MXJ6R3J2M1Q4MGU3T0ZlcXRIL2F4Mzd2a29oM0M1aVl3ZGdZR0FMbTNDUkQxZEpOYUs2Q2FYTG42ejU0UlV4SnJzWE04SzFsa1h4U2F3MFJtRXF2WnU5WnppNm9lV0NWeUcyNDMxQ09BQXRBdlRPOVY5VlU1eGovckNJbkJRM2Y3aGtMUGU5dnBramIvME9vUXZRSEl5bGxVZzRGQVJwYzh5a0JWdys5eFc4MmlyKzlWVVM4NVlWWVNsSThWa2Q0cVZtWEpLWEcrWHVrMHFkdWtGYm9DZnJSSlkzVTM3UEZpSXJRc2lndHYxZ3k0UjhOMDNzYUJUYW5ERkx3RGNETExZbTJaeTkxTVZSR3p3RWJBMzd4N3J3dG8wc0hJRG55SU9KelhzTG9qSFFKREk3RXhVS1kxZlY3RkszRDllL3o5WlBiRmJPaHhIQjU2bGVWNG9RZ29MeWpTeHRzaGdoRlhmN1BYeXNENkhPY0xEMFpML0o4Snc0TGwyeGNxdUh4b2ptYkpNMi9VYWp6djdSTk1HU3o3ZngrOSt1UndGMy8zRUljdzhiMU8rWEIvVGU5MVh0NUlPbXlmYVhRQ1ordHl6N1I1KzNxSlNORUpMcWNpZG5KVE4zWU92Zi90ZmFuaU5uOVdsLzMvSnBRaVpHRUZLaURUMmRwQUg3RVZyOUpCbXhiMGhLRFZJdnZRNlhTaStJTVNyWE9uNUVZMUJ4MlZNdU5LSDQ0S3dtdkkzU0tmdlpJVlRlNm9lSWp2L1cwcjVxRlErcTMrU09iOVpNOGw5L2hhcGZYMFh6cTY4aVU5T2NHS0w5NHlNR09mMlFGenAvRkVBS2lhWnNMTk55Y3VhRTdKSzRhOUdMTFhiMUI2MTJkZnQ4MXZaMXVwOXJ3Nm1PMitSbXBxSUZCYUoyUHNPMGVqNHZLRVRwT3FJbWhDVjZaNjl2NTlhU1NBUWpobXI0UFhGMDRhWTVLbGk1MmV3YkkvWUhic0xuUWM5S0orMkVRd2g5czVUbzB0V29VSWk5YzJ0SUgxdlpLNXZzL3NUUFNYKzR0bThIZWRxeEFBUm1kU2QzMmpnV3FnZDQxcGRmYnJkMUxCdmJxN05nNFdaUWlrRkRzNmh0aU5EWUhFTm9BazNhbUNFUGFEWVhIZjg1Znp6N2ZTS0dpMnNmT1FBOFpvZTF0cWFsbUw4cXdzYjZPTDg1THAwVHB5ZkJRZ2d0dDdCRDdEcXhzRkxnMHNtb3FxSndaUml2SFVaTEQrT2Vra3FPTDUyQXgwOU5wSjY1UlpQNHFuUUZOWkdHYnVNblBSUk0yL1AxVkV0bWJnOC9hUmlVUGZBQWxjODhneDJKc09uNjZ4bnhyMy9oS1N6c2M5blpqaEZlOXA3ZnpKV1ZRZWtEajNGZ3haRjgrdnpMSEgzeCtaU3VYY2NIcjd6Sy9sdTM4dEpkZDVCM3g2TnNuZjhGdnJ3Y0IvL3FDZDRYL2lnaGQ1UWp6OVluNUU3MUpsYk5NeGlQelY1WlFhN1hqcUZSZ1k3Q1J1S1JNVXlsTVNmelEzUmg4WjlONTZHTG5YM1hRRUJuLy8zek9mMzBrUUE4OGNScVhuNTVBODNOWnIvSURnMEkyUUtYVVB4bVFDUDdsMVZ3enkxMVBQT2hNeDh1M2JtVVZ3akYrVWNwSHByWHY3THNnVC8yTFpmZDJiKzJkZ2E5MmhnRklySGZ6RkFJUTVoOTZzVlluZGdrUGM1aDZZZnhLcVVJMVpXeDR2MDdxRjc3S3Q2MG9ReWRjeFZEcGh6T3MrOXQ0cEZIVjBDS3h4bDhMMXJBaUZOVFcwL0FwWk9uYktSaHRBN2JWQXBsbUwzQ1g1cDdLMHZGanJkTC9IUmJyMnlibUNRUWtBd2FzNVptTTRJckZrZExDbEM2Y2hpaFp0V3U3RU1JTUNMMTFLeDhBTTNsUVErT0lEbHJMSzdVTWZpU0J4R0wxTk80NFJsSXk4T1hlalZDNkVRYk54S3ZYMGxqMVFyTTVqVllSb3lNc1pmMWVvYUZLOEZIYXZUOGs3KzZKY0laUjNrNDZyZFJGaTdad0R1dkJUaThQb2VEVXBPeE5VVmpvbVpFL01qV1d3andlSFJxNmlPa0pudXBiWWhnbUgxdjgyZW1lWEhwa3N4VUwxcUN5OEcyRlZWMVVVekxwcVkrK3VQd3EyTlJva3UrUmFhbUk3MCt0TndDVkN5S01pMzAxSFRjZVFPSWJ5bkIyTHE1eXpxZzE0WXQ1VzkxZzNsaVN4YWhXSncvdnY0d240eWR4WjBYL29LcGUweG42MFAzRXF1cVJBOEc2YTlZcU1KSkUxOGRnSUk0SEZBUDR5MG9qc0N5TENodlE0aXY2UnI3VEp2TENOZGYyRnorR1BtaEo4aTFRODRkSDd1d1pmVnowdy9oaEZPR2MxeGFtTGVLR3luSVdZQ3lZZEU1NTdKWCtYSmVXRmJITThWUm1xZ0dNMFpPZm9DaWtSNmlSQm1vcGZMTmdCcHExdnRRTlVGc2FmVlEremlIdHltY2diSWg2S3ZkMVV0S3lBNm04OGZETHFPcEtIK1huT0F6L25Ka0I0ZE5PSVdXZ1FCVERqd1F0VzA5Wm0wTldxNGJaZHVZMVZXby9JSHNNV0Z2M2c2dndEU2FFRUx2a0ltL1VWbnM2UXB3dmplZHYwZHJrTUlCR1FyekpETW5lam5qR0M5amh6bWc4SXAxSnY5NUpVcDljNVROMjJ5a0FrdlpuTzlOWjA5WGdJWTJ0MXYzZE4yYXFRTGJ4dVZTUEhYZmNXUTN6WVBVNFZUSjhRemY3eUZRWWlmQWNBZlhpYmhTZkJLTlVtMWJMSS9IR1pRZ0VkNW9tb3h6dThtVUd2djZmUGhGNTVRUjF3MDZxVzlQelliN2V5QTFIYkpxT3lwSVA2eU9wS25OVkR5ZEJYYlA5TGxTNE5ZRlJabGUxcFZIMERVSXh5eG1qVWhwSlJQV3BHQk1nWjh4Qlg1T25aUE4vZTlzNWVWdnF2RzVaWWUzM1hmTHR5QkVlK3VzaHhhT1FtS2hPMUUxcTRvQk5ETkJVOHdZa2VRUUNPODVsb0pwNDJEMENQQWt0WDZ1cnE2VzgvZWZ6TVoxcFdSbWVjbmRFOVp2MkxpRDQ5VDM3WlRVcXpueDU0VWNPNkNNRHhjYmpNdCtGNVJpK1FVM3MxL0ZSN3o2ZFl6SGwvcW9vUUVwYlFvS1V0bTZ0Wmx0MjVvQmd5bFRDcGd6cDVCNzcvMGFLZDJ0dzVRQ1VxVkJXcmlldU80bVdUTVJmVUVHcjNad2FwWEFVanNudE50S09uVHdQV1EzditlWkI3c1VsOXJBQW1ST051YTZFbFJkUTdjSzZNSk8vaDQzYlY1OWZ3T3pKdWN5ZnVSSjNQU1M0c2Jqbm1aSUg1SUtDeUZBS2hwQ1RvY3BBWW5ZQmEzVWxrejQ3VVZoQ3FJMmNjMVJ2c05DRm52V1d4d3kyZjgvUlNxOHJ1SDdZYVFRdWs3S29mdmpHcEJMNWYzL3B1R2REMXV1OXVsVlMzVWxZeXVMZTB2K3crdmJQdURhVVJkeDBxay9JL1BnZzZsNDVqa3lULzBaZFNIbm1jYmM5QnVxbjN5ZW5KTlBoTXhrbnQzOEduOHVmcEQxa1Mya3VWTHdhRjdxZnFMcmRsYjZvWng0eW5DT1M0L3cxcW9HOG5PK0JhWDQ5dXh6MmF0aU9jOHViZUROVlExY1Jpa0J5MFJMQ2lBS0IxQzk4bHRpNVZ2SXo3MGVUMFk2WWROQ3RnR2paODJhd2FTSjQ1ZzhlVExqeG85anpPaXhaR2Jsb3JrTDBOd0ZVQmFsNXJZMXhDS0NBYmVlaVcrY3dxeGJnRElXZzdFR1paV2g3RHFjcEVoWGUrUzlQd3p5N3lFQW9RbUZyUVJtM01YZ1lJUi9UbHZEb0hvMzl6MDVFMlhETmJQV2NkTGVWWnkvY0FRYlEzNkV5M1NLQ0xxVVFRcXF0c0ZIcitNdVdjcGhodzdrb0JsQmdqN1pLMUtHTTNvdTNiQ1ZvbGsvR0N2dEFuUi9FVTFDdzY1ZmlIL3JlbHhmUCtBRUp6UUIzUWFTZHQ4WjZhOVFoUjJMWThlaWZYNXJuV2hqQTBzaHNDSW1Jd1psOGNmemMzRzdhMWhTdXA2cXBpMUVHNnNZUG5BbVF6S0djTmRGZzduNEwyRldieXhIODdqYXJXdVh6MjlaOE0wM3NHd1psSlU1LzRIejc1b2FHRDhlVXJxL05iTXBCdWRNQUg4RnpCME5qNWM1R0xrWmgxOU5oRVB5NFkrTFliTUdHWDdZRm5IK3c0QXB1VEJuQU55N0dLUnIrL0cxYmNuZU9aOXo0L2cvVWVBdjQ5R1psL0Q0aHBPNWNlbHZFM05qSTFCWWNRMTBPSGpzUi94Vyt4T2puMTVBK2J0QnFpUFp1SVJCL3RScXdpZm13aFZPdnplZXR4Y0loZDh6QzFQYW5IRzhUc3pRUVlCbUdreDhxUnkxMENsYW1EZ2loOThlTndkTGQzVnFUdDk0UVUvT3RVTW1QQ0paOE14a0YwT0NncGlac0pWdGtBRkowNnUxMU54WDduaTUzZUc1cWFsd3h4MHdkU3A4K3kyY2NBSlVWbjd2dXFFblB0cXpxMlBVeGNzNCt1Q1JGSytyNHMwM2xvSGZLVVI0YzBNVkhER0JvL2NmeFN0dkxtOXZGMHJKSVRQek9INmZRalpzYTJaRFdmT1BWMGtxUUZmNHB4djRwaHVZMnlUeEVoMFZCNnYrZjU5SXVLVU5OSnY2cFY4cHdJekdxUThrNDZxdkpYekZkZFMrK2pyNU4xNUozWXdaYURFTHZ6Q3hld2xyN2xod0xvVENqcnRCcy9DN0RjSnhGOHJVa0c2alI2VENxbzJQKzhtM20vaHV4VGI4SGhlVFJ3OWdjWEU1ZGMzUjNkSkhMYlRtM2tDTXd3NGF3Q1AvSFVMRjBnRjR4cGJpbmJxUWNjTzJjTy9vR0hWeHdXL1d1TmtXQjUrRU9rUHd5RmFOTzBiRTJTdk41djFxaTQvcVpQZFBvMW9TZk1CaE4zWG13STQyMGxUOEdySHlaU1JQT0RsQkpyeHpFTUZXQ3IvWGhXVXA3dmp2Zkw1ZXNaay9uSDhJMDhjVUptUzgybjZEWW0vMldSL3ZyeGE2bmRNRCszUFM4U000T2lYRTI4V05GS1oraTFLdy9xeGZzbmZGQ3A1ZlhNTWJaWUxKU1VGeTNDNkNBY0VYSzhyWjRuNmZESDhXRTlKSGtxdGxFb25ITVQxNk84aWo1V2JMZ21TZEM2ZW44czNXS0srdmJxYTB3Y0Rya3ZUSUhQcWUybkZET3o3SFNnZzhGWUw5M3JkSWpSVWhyRlhzdnl5TU9FQVN5MUdJVHV6SmwzWnByL2ROMHhXTXE1WHNWOVlFVDcxTGRPNU1QR09ISXp6ZEYxZ012TEIrSjd4TVNvZGtITVJPTnlsMzIvN2V0ZXdRQWtKaHlZZnY1ak44V0lDR3hoaTF0V0gybmwyRjMyTjNiOHhhL1JPODZFbkNlUHV3YlMvc2FHQ0ExTGpJbTh4K0E3THhuSG9pdmtFREhlSzBXSXg0ZVFYdTNCeUV4OU10Vm5qR0dXZHNoeGpqQXQveFVaUUxvbjVGdUZtZ0hSUW5tS0V6OWdzM2swczBUbjhmNnIyS2pYazJTNGRaZkRmU1p1a3dtdzBERkhWSm9JVEMwK1pHeS83YUQwL05MZDJoWDRHdVdkU0dBdnpoSDhmamtqcjdUZmdDS1JUdkxaNkZVWHc4ZDU5L0ErbUJja3hMUzN6Lzl2YnpMckVuZ1MwVW9ZZ1hyMmJ5OXJMeEFBektyQ1lVOVlKUXpudTY2TU13MndPT1VzcjJTYTBvVE5QR3RPeGVGYno4SW5NR0o1NHlnV05UTE41YVhVVkI1bmNvcFZoMDdpK1pXN2FhNXhhWDhVcTVRWWJTMEFCaFc0d3BhbUJBVXpFR01UYTVjMW1HZ2JtREhkRHpHRkFWWU9MU1hIeXdwbzZISnZxWlBzREw1WnVyTVd6UjYwSWhXOEdLaWpBcThmdi96djI5L1NXdDI3ZW4vM1FROGJoRnN5MFJoUmxZcmlhcWw2OWozRUU1UEgzTHdUU3QyOHltY0F3UUhEUXFqU1BPSFlkZFU0dSt6eHdpYmg5bDd5eGxkcXJGb2IvZEY1ZEw0NVRUNzI2Vk9WN2JadlBtSk00czNvTzdzNFp5emJoMW5EeW9ER0hhV0lhT2x1eXNsbFV2MEYwbVNrbWVYbHZJbjVjUFkwbGxLZ1FrWHR2dStKd0VBakI1TWpRM3c0Z1JYU2R4QytHOFo4SUVtRExGK1d3SCswa0IyVjZUUzRiWGlZbXBNWFhQbWpRMXY4b3ZZcGJvSDRJWEFaaGllMkdkMlF2MllydmYxRVduTnZ5bWVhK3hhZVZxc2oyT2I3a3BGaU45M21zTU91akFuaE5MMlE1aFVmTm4zN0hsZ3B1SXJsemZPc2pxZnp4SCt0bkhVSEQzdFVpZnQyZWt3cmI5a3pyRlNnYVFQc1hmL25NNDF1bnpXYnBtQVBPL0dZNU1paUNFNHNuWDk4TlN5UWloZVByMWFXZ3B6U2dsZU8rcktjU3NaQ2FOMk1xOS85MGJtUnpCVnR0dk9CWmFJL1hOczlsU2N3SDU2US9TRURQUlpGdkRaM3ZlcW9BZTV5TjllZHQrVG5LQmxQamNHaGNmTkpSVDlpd2s0Tkc1Ky9VMURMcjRUWUplVjY4VDFzOU5QNWdUVGg3QmNla0pmWkc5QUtVY2ZURzNmRGt2THEzam1kVXhtcWdFWVJPMTRtd3FWZ3d0M0l2R1JpOWJsbXdtRUlnU0NnZDdUUGd2K2tDcTJ0RHVZaDJSK0hlR0ZlT1FzM053dTkzVVAxUktoZXFJbkV4MWVod2p5cVpHV1F5UXJ0YmMzZFlpekYwNHZ4SExTWWcvTXF1UTZWdE5ucitzaW5rdnp1T2lTOTdrMEdtNUhPb2JTaVIzSEt2c3FYelk0T0c5NmhvVzFHeWlMclFOckdhUUVxRjVrRUp6eUlWN0JDSklsR21TZGV1OUtNT2c2dXJ6a0VuSm9PdmRudFAraXVYKzQ4U2lqdWZIc0dtSzJXUUg5WGFGbUpYTkpra2VpYy9Wc2U5KzVwMkpYNTU4c2dOVTN0RTFVMkp4SHZuZ1hZcXlRdERZUUxVc1ljQU52d1dmcjFQL2pWTlA3ZG5DV3FxMThFY3B1OGVYTHd5ODllcStGV1JIZjhqL3RlM3QySDF6dXBVN0xUcXl4Vjd2NmxpL3ZMQXJKYUtJQjl6RUpvL0FQMlFvY25nTzhsOXZFblZGaUJZVzR2OWthZmVFd2oyNTNYNFg3SWYrd25mNlM4OGZOZVFBa3R3QmJHVzN1YkpHdFJJSkNJU1RiUTVnR0U2Qk9hS1ZjTFBscDBBUU1pTGN4eGZmby9YZWg4MjJRU2w4Qjg2bHFQaGo2dTk0aU5ycjc2THhYOCtRL2ZCZjhFMmJqSjZTaWhaVmVJWU5KekwvSzZwK2VRM21wcTJrMzNvbHFWZGY2Q2dzeTlySlpndEg0ZjJ2SEZMZ0ZtTGhRL2VzNHVEaDlieFZuOHAvcXgweXFkTXlxemcwdFI3UlpQRDJXeDBUQ2U5a3N5dEZFTUYrcmlCVE5SOHJQWUw0ZnJOSm5qc1RMU1c1eHpIbEZseWowK21KRzFTOThpR2xEejVMZU8wR0FQekRCMU53MFVsa0hiTWYwdDAxMXFWMTRITklLVEdhbXZCbFozUGNJWWN3Wi8xNkVJTFBoZ3hweldWd0pTVmhkL0FNVmlqVTliazFCRnBCSE85SmRlaERFcGRBbFhpSVBwdUdWZXJ1bGxUNDJmV1BkdHEzc0oxcUFTUGhydWdKNTF2SnpwTUFXekwzTE1ORTh6akVSVmJNSVh2VFBHNVFZS29ZNmRjMWtYbTQ4MFhWcjRlb3ZTTUpYWHAyZm4rYmZ3T0VqUmpwL25RdTMrZHlGcGF0NHNiMW4vRm1kQmlYN1hNMWhaa2p3QXBoV1FhYTBIb28wREs2WGsraHNHeUJzaVNIRFdqaUN1OW0zdno3SnY3OHpVQitkOE9qYkZ5M25Odi85Q2ZIM2RFRXYvNkZsMS9OU3FibzdNVGxPRlZWN2M2ZUxDckVmK1dscVBwNlpGRWhzWDgvVHZ5dDkzcE83dHBCdS8vKysybG9hRUFwaGMvblpBQ0hWcTJtNmZPdkFVamFjd2FCMFNOSlNrcWlxS2lJbXBvYTdybm5IcTY0NG9yT080MWJzTFNDYk12UFZYZGVSbTVlWG9mN3M5dnpkdXRIdmNPTlZCVk9Ib3Frd0JWbXdmSW1ZaEdUVEpGSmszRHR0S1l1WWVJUnhrNS9GeWhzblBkZjduK2UzL2lmWnF1ZHpTOGJyK0hkMk40Z21ycVUxdjhNRHU1S0xTTUVCSHpPZmcxRll0MjdzSFZySEZseWZlZUZqYmF5OFdwdTFvUzI0ZE04RkhyVGlWbEcxejczVmIvdVZyVkhMTVc0REhqMzVnY0FtSEh2dml4dlV2aGt6M2x5czFKTVpveUtFb3ZiNkxyaXd6WFdidGU2eUJZNXMrT1owMEFaa2tDcUFwZk5vSDNDakp5Z0NNMlhiUG5RaXhrWEpBMktZbFM3a2JaRXRNbWZ0QTJMcnhlWDBOQVladTJHY3NabnBaTnh4QXhTZmE1ZEkyQjUwaUVOVFVseWRSdFBiSmVLMjgzTU5pUitybTMyOUl1YWx3UDd1Q2h5dFNOTGtvdjZ1TitsVHI5M0V1NDY5dVRTS2Nndm9MNmhnZnI2K3YrLzJIUVNzYXczNStXUUg3R3dFWlFuSjNQNmFXVTlPMzRxOFg4VzJ3T2pVamdGTVB0bUF3TGQ2OWpGeHNIWmpnbjgyamFuME41dWk3U3JuelMvbjVTQ2xLQ1A4NDhkeDI5K1BwbTZwaGgxVFZGZStiaUVtR20xSnhLMnZXUjdxemtwNnpWT3pueWZJU2tHRE53Yjk1UXp5Wmw4TkhqU0FVYzJ5Q0RZWVFlZXNvSHF0NkQyTFVqZEN6Sk9BL2tTMkFuaXF1QUlTRDBPNmwrQitrK2M5MnR0WktFTTBNdnF3OTQzdlNQU2dWYm5WWUtwSU4yeDVHVEZQUTcyMEpMNHJicmZySHAySFBlZ0tESm9vWnBjL1hVa1VMWWd6V1BnMFMxR0JSMGluV0taUWN6VXFJdTVFTExucE1JU3NHd1h4NlZ0cFRxMG5MUEt6eU5TWGN0dHh3NmhMR1R6MEx2MVhCQ2R5Vjl6M3VQb3ZHRThzVjVEYWwzWHFlcWFaR2hoT21uSlhyTFNBNnpaVU0zR3JmV2R2RmRqYUZFNnFVbGVoaGFsVTF4U1JXbDVZN3YzL082MFVYMDdpUjhzN3AxdEpxckJpdUZPZHRPdzMxRHlQaThtVFRXd2R0YlA4WHhiUnFnK2hrQzJ6bm5hNENJR2FSS1A3cUpveEFpODZXbDlNdXlIekFIOWVqNHNDZk1IUzRxemRzNkJzcFZxdmFSc1J4RTdxa3F4OXdZYnJRZG1jcTUwa1NFMVlzcm1aNTVVOHFTRFBZelJ2THdRcXlkRGF1UktGNXZ0K0s3SElHeUwrdktOVkpkdElYL2taSHg2VDIwTmkwaEV4eU1zTXBLYXFXMXlzVzVUQ2dWWklTcXFmSUNOWkR2Um1CSTlvOHZUbEtMZW81SFhFT2ZCTjFaejE1NUZQRGt1RDdjUzZQU2VramZheGg1MzZ5WnpoMi9pbkwwV0FiQzFMcGxGbS9NdzBiRk5FNnN4enA0SFR1TDIyZG1NZU9JL2JIdnJNMFJhQ3RMdndhNnFwZURBZlNtKzRtQnVrRiszOXYrWTcxbVFDaEhWYVJoVHp2azN2b1ViZVBzanlZaGhjTzdaUzBpcCtBTzF6ODBra0JMRHRycjI0YzdhdmpEZnE5NHJydHJFZDJYRkNBVExLOWF6Ui83b0gxUVBEOHJ3OWtDK3Q4anU3bmZFeHRacC9UN250Vy95NlhXbEdCR3RkK1hIbTJlT2k5YU9HUmV0UGVTdXpNbi9DQVh5UHA5UnN6VDZqVCtQeWVFdExKcjFJSHg1VVpzUDl3L1NlRmIyVEU0NlpEekhwdG04dTZTU2NWVXJzWlZpK1Mybk1xZHVIVTh2S3VmZHNnb2VVQXRJUTJFaWUzVDU5d1VKSFhOc1FzZmtKM1RNMG5QT1pVNzVjbDVjVnNlenhZazRJRFpETWoxVWhreSszaHdCQXc0WW00UmhLZWF2YlVhNnQrZlVLS1dJZlBrVmRsTVRNaW1JaXNXb3Z1a1dwTisvK3o1Q3dxbHZqQmo4NmZsdkFEaGtjdEdQa2xBNC85WnJ1dGhsRXFHNU1FSU5JQVV1WHpMS011aXl1UFYzbHljMGdVSUREQlEzaHNwWllrVDRyVCtib05Sb1VoWTZ3cWxQYUJCNGgxaWs3bS9nSG1DVGQzNEVUS2g3ejQyZW9sQTdoQ0UwS1ZCbU5XYnpNbkw5Rmc5Y000RXpqeXppZHc4czVmMlB0b0pYZ2MvZHAzNmVFQUlyRmlVL001ZjlwKzdOc3grLzJqcEhkalFLTG5lQ2RQbjdjM0x1ZnZ0K3RTVXZSVnkyenk5WXN1WUxIbDJ6Z0dydEFFVCtmaWdoeWZCRjJjT3pIbTlEbEtSWUE2TlRpOUdFVFpPbmdkR0JMWlNZZzFqcjhlQTJtakNscC9WYzlMam1XOVdneTBZV05OU1NQcUNFWWFsUXFWWnd3dmdVc2pNYnVXU1JhS2V1YkNFUnlrUWF0U3hMbTh5SkdmL2gxQmx4Zm4rY3pxZ2hPc1FWbHFtUTdhTG5YYlEyZUxrTjVFc1h2L0ptc1ArQTRXaW5Ib2QzVU9FdXlmVk9jWDRCdGdGNTJZTEpveldpY1RBWFcrZ2IxRzV6Tm1UN0tybDY0bDg0ZWVnelpIaHJNR3dYUzJzbWNOdWkzL0ZPNmNGT3ZXODNMZVdvNDdyMGVVQmdXczRWWExybVlOeGREdm1PKzd2MW8vNS9hc25LYUxWYkJUYUdBYlZHR1ZwbUU1cFNOTWI4WkVkMWtvU0ZyYXlmS040aDhJc1FjNzJmYzdqL2JmN1RiTFBlR0l4SjEzcHJ4cENKREV6UG83aGlJOG5lQU5sSjZXUUVrdGxZVzA1anBKbkJHUU1vYjZybDAvV0xzV3l6dzkyVFNOL0ZVazZPdTJVNzUwb3FZQWNpNGFNbmZjUGxlNzJDVnl2bVgxOGw4ZXJ5d1ppMklNMW5PbmRXZDNic2JjRWRKMnhsUUZhVWVNeUZ5eStvbTFkRjFjTmxtSTBtV3JLT1VtMUloRU5SbEdtaUpTY1RtRDZkd055NWNObGw3VlRrMWlURlhkUGliSnlZd3hVVGptZEladUd1RWN5ZmZIZ245cGx3U01WVlc0eDQxNWhZWkdZR2VMMVltN2VDcm1GdExrVm1aN1VudnUxbHV6RG5NRTcveFNnTzhkYno4WnBHc2dkOGgya3JTaTY4Z0drbDMvSEtpbnFlV0IwbnBNcVJtb1hkNk9Jdmw2M2wwQ20xUktJbTgxZG1jdjd0WTVFcEJwYTEvWm5PUDcrNFZmZWFkWFg4NnJLaENBSC8vbmNaajc4YzdXTVMvOTN2UzVQdHIrRzBQL21NNkR2dm93MGFDSnJFV3JjQno3NXowUTdjdjFmOTJ0K3p6NmVVY3pIeTFnMUxXTFBzUTFBd1lzSys1QStldFBNbG9qK3k1blU1WTRzYVBWL1AzKzF6Y1orTzRSNytrb0JEQlhGREo4TmRTcE03aytDRWk4bkp2b1RmamFwbi82b0ZSRFFQVWMzZGViN1hEbTM0bjI5enpyQ0NobVRGdWYvMWNFVmFOVG1YYmNXcVQrUU5vWERwME1MWnBVc3dESEM1ZHZpYnVUM20yQ0xaaCtZSHV6T0MyWjVVM0QyUjB1THQ0RGtvaFQ0Z2o3eG4vMHYxYlhkUWY5ZGRDQ25CNDNIeVFYYWw5WlBQZnZ5NnYzWm82TmlBSDRnYlVLOURNSmlNWGQ4SWNYQWxiZWZNYjAwVVQ3UXJlbUJYejAzNHNjOFV4MmdTVlJDTDRTb3FKR1Y4TXZHeVo2bEpMMkN2bngvSW9zOVdVN050RGNLM0hTdnRiVjJGbEY0ZU9XTVpldzZzb0t4cUtVc3JabkRVQTN0aG1LRStyNlAvbmdVWGVsb3lHZWVlUU5ySmh4UFlheHBWZHo5SzZNdHZPV2JnTnM2ZVZiblQyblRWV3F6ZlFTY2MwYmZqUEMxeG5sOTl0Zk56cG15d2FrRWxnai9DQjFyNjl0dDNPbXBaVG82VVJ3b09tRDJVOTc0b3dYRHJLTlBDc2h6N0NXbWowRERyQTB5YnNKRy9YZkFXc3ljNmw1OHZXNVNEYVdyZ3NqcXRzODNLeWtLNUF0d3hyNW5pV1hWY2NVd3F1WE5jTkg1aUVWbHBZNGQ3N3hpMFBNMjJCbzNpdkJDMlYxTGJFSVN3d2d4WVZJZnFDVVdhbUpZM2lnVmxxOXBHY1haWjF3dTNHOWYwS2JpbVRuSzQxcjVkUXZ6YlJSQ1A5K2dCcE1kRC9pV1hvQXlENWlWTEdQU0hQK0FwS05qcE11N2RhbExnbWpnQnord1pZRnJFRnkvQldMb0NGZXNkcnE5TUU4K0FYRGE4L0NhRm03Znk4UU1QODdQYmJtRHgvRThwWHJDUWZjNDVuWmYrL1JpVEJ1YXo0YkZuOFF6SUFiTjdtZnlMbElNNDhjVGhISmNXNGEzaUJ2SXpGNkNBNzg0K2w3a1Z5M2wrVVMwdmI3SHc0SExxeEZERWJROGprbFl4TG1VeFg5ZnNpVnNZUkV3L1FYM25XbGUvWDJmNDhGUm16blF1S1AzeXl3cjhmcjNQQ1lWbFlpZlZtWUx4UVlOcmttdG9mTCtLVSs1cFptTzVUUXVzWTVpQ0libUtQLzQ2aUd2TzRUdzA3OWwrRldkbkhOK0RuZFFtSnQ5ZE8vdlg3WFhhanBmR0srSFlmclpoWU1mNzdwSXNXMEhBN2Vpcm9FZWlTYWdMVzJoQ0VJcmJQYXViNm9meENpR28ydkFkZFNVdk1YRkttRTNyUHFlaWVCS0RKaHpJblpkUDRhYnp4eU5Genk4VHo4OXlCUHN6NC9LZG5FY3BzRlhLVHJLdXQrTThvamRTVkxob2Jpd2wxTGlObklKcENhdWw1enE5clZUdGxZVFZlaUhvZXlFZ2UyZmJXQWlYUmtiV3V3d2NNSjVaU1lXOHVtNGVZdDF3NXdLb0haNG5PWGN5OGVaanFGLzNPTTFWeTdDcjMwYnpGNkp5enlSR0pvME56VFEwcnFQSnZ3NjNYUVlWajJPRnQ5RFlGTUxsenlWdDJCa2s1MHp1dGJMempITndwT2gzN2g3UFJYTlU4ZUJ6VWZJL2xCeXpuNXVqZmgvaHF3VWx2UFZXa0tQRHVleWJGc1RXRkticUsxeE9kUjdYYUNWQmxGMGtMcmI0WVRhTGlzdkp6MDBoeWU5bXplYmFSQjJZNkhHTXJxc1JGdVVHeVVyejRmZHFlRDA2VlhWUkVFNHRwaFNLY2NQU2lCazJvWWhCZFgyVXpkdWFPLzdHL283L0plYkpYVGlJMUl1dncrVnlJWFM1UFNjODNnanVGSlJsNHhrNWptaGpQZExUZWN6OXQzK3A0UGVuTmJQWCtJRmNzN2FJMm1neW42Mzhpa05MMTNMOVlXZHp3ZC91Si9yZy9WUjk5bkdQL2N0ZFF3dWh3Z3NQRjhETGNkaXZHcjdNaDgxZUNMVEYvaHViaUpRVkk5NzVGOFAyT29mbG00YXk2cUg3eWRtMHFhZmxTZTJhZnN5VURQeHJpem55b3pMZWFFcG0zakJuY3g1NzVac2NQVEdkeTJabWMxREZHdDR3NHFDNU1lcWo1UGtVK1JsN3NyenVXK1prRGVPREZRMVVZM2RKVE92c05JbW14N0RxYzFqODlUUWkwV1NrRjN6dU9nWk9XSXBMRC9lSW1LWnRTL0lFT0diOEFUQms4SzRaQjEyOHRzZTBhUlNtcGhENlpEWGU4Wk5RRGZVb3k4UTNlaXloUmQ5UkpBNWg2c0R4ZkxYc1U5RDBEaDllSW1oV051ZjVNbGhrUmZuS0NJR0NvRzV6NE5RWXM2ZXFWaXhnOWxUWVZocm44NjlOc0oxa2pKbXVBT2Y1TW1oV05yTE5rZXZwdXIxdUdDQTFZb2FIK3RKRVFmR1dSZFEwYkNBUzk0R0lkQ3M4QkZCblc3d1JEdUVTZ3JXR1l6Z0hwR1JUMk9Bb2Y2QmI4VE12WTNyZm5wZ04zY09OeWdiTmE1TnhXQzNWcjZlUmZtZ2RLWHMzVVB0ZUtwclA2aGI0RmNJUnZIdU5UdUhRU2VrOCtWa0ZxWDZOUFVjbWIvY3ZFN0pjS1VXS1gyZnVxQlJlVzFqVHFiRnovSlRNcmlmYXRqSEQ5YzdoOUNkdWkrcmlJZitjK0RsRUQ3RUhGVXdmNm1IRzRkTVpNV3M4T1JOR3dLQ0I0UGEzenBVTkNNdEcyUmFheTRXdTZSeDB4a1Y4K2Y3YmxHM2R3bUdubkVOQjBYWktJczl4ZmV5MDMrNGs5NXc4MDBmeW1vVWNkMWNUTHpjTzRzdkpIbEEyKzUvMUZjZE1TK1dLL1FUSGxxL21wYmpFRndod3lTV1R1Zm5tTHdtRmJIVGRTMmxwRTIrK3VSN1EyeG1DY1ZQeHRabUtOdlpRWWtxeU1CS2tMKzdNdVhUV1d6dHB6WUE3Um41cUhVcjRVVUNxUDhSWmsrZFRHVXJlaWNSa3gzWmZna1hvbEs4Lzd0UkFFSDRmM3RGSEUzL3pSUWVVR1QrYStIdnpVZUZJcHdiRGhWMFpQNkU0MzYyb3dqQnR4Z3c3Z2IrOHFYSFZJVTh3Tks5MnQvT2hiRnV4YUZXVVFRTTAzdm5hS1pnNmVFYUFqV1h4WGhlc3R4ekw2emZFS0lqYTFMb0Y3c1Q0bXQyQ2dxak43emZFT0dXQ3I3OXljSGJQM25Nbm5qZmVjNUtKUTEvLysvY3pQTk9pYWY0WFZQLzdhVUlMRnU4U21UQ0FsY2dteVhTblV4R3Y0ZnhGditQWnphOXg4K1NyR1gvSkx3QW9mY1VwM000OCt5SnlMdmtseTBMcnVPbXozL0JCelZmNE5TK1o3Z3hNWmJiMjlWTnM1MHhPSW1YMVVuNyswVmJlYWs3bXRXRXhsTEw1MlJVdmM5VEVkQzZibVVIeXRpMG93M0NTelR4QjFuendMQjhPRDdOcHdnbVk4OTlqb0s3VGpFSnJjMHkrL1hZaDMzNjdFUGdQQUdtcGFZeWFOSTZqQnc5anp0U3B5SndjY3Nmbmtoa2NpZDgzQnVQYlp2VGdPT1RvSEd3emhCVmZqekpYZ2JFQ1pTd0ZuR3Via2c4TzllMEVKSERFZ1NjZDE3ZjkvdlZQN1ExVm9SeFFWY0NsZzdaeXgvajEvUHVac1J6NGw4TWhJa0dUWEptNkg0OWY5eGJyai9xV3l4Y041YjR0ZVZnS2ROM0M3RTVRV0NiUmtoTG1QNzZCMUkzSlhIdEdGc01IZVhyc3VmZU1VRmdDRmxLRndUTU0yejBRbzJJK3ZrMWxSQ0lDYzlNS2ZFMmIyOGVIT25Pc1JNdVBIUzRmc08xZVFRNzlsVWpueWMxQ0dTYWhGY1Y5ZWlGVDJ6Um5aMFowemp0MklNRmdsT3dxRHlXYlNnaEh3OVJWRnhQNmJERmpUNzZmNXR4eUx2dlpjQzYrc3hwN2h6NjZOUURuellNNzc0VE16TzIzSUQvMEVGUlh3MjkrQTJlZTJTMmdjOU4zTURFTERzcUNsVkc0ZDZtekZmS1Q0TW9KTUhzZWxOWkJNQWlYam9hYmx6aEJSdDBEcFNGNGM1UFRUMXViVWtxYko5ZWN3UFNNaFZ3MjhjK3NLUi9HYnhmZmdHbnA2THFKYWVwZ3dwQ0N6VnczNEE0Ty8veEZtcDYxS1NsM2dodVp1ZlVrbnl5WU4rczA3cXk0SEJnQ3dPL1BtOXN4eGlUQWpzVFl0dndUNnI5MVhwMHdJcHVEejk0VDZldjhuSFJIS054Q0pqd29LSGgyc292UnllM0poRVZBMHZSMlBUVi9MWE4wbGRhRG0yZUVjQ2JUNzNkKy9rQ0I5aDc1YUpWcmVjVTBTVTN4OGNHbjY4RG5ScnExQk9Eclp1bXFjdmJiYytoT3FHMDBidkxSd2dyS3FpS3MzZHowL1NSSjdlbzVGbUEzU2FMTGRLdzZRWHlqaGtyRVhxVGZPY1ZXbmNiL2VsdDcvRG45WnRPNU10SW9ldUIyWWhzMnNmV1d2MUwzeFhjMEgzRTZ5N05IOG9mQWJEYnBxYml4ZTNXZmdETE1kb3V2VEkwUkJhWFVOL3VaTld3elg2NHJJalVZWmsxcE51aG1yelpIWFZPVWh1WVlweHd5amt2UG1Nbk45My9FTzUrdjN5MTdYcGtLREp1STBManZrWFVnRkljZk40QXZ2d2xRKy9RUXpyMzVjVXBpcGN5djhISHFnRGozYkhJVE1TV2F0S21KQ3o2cjB3aFpncVllNVJ3NnRyMFFHaldmM2tONHcrZTRzMFpnTlcwaldyNkk0SWhEeU5qcktqUi9ScGNIeHlFTmhxRGZ6YWVMTi9DejN6N09iMDdkbTR1T240MnVTV3piYmlVNzZ1a1pmNnlQOTllK2laOVhIanNTWDJVWlYzOVl3K3VOU2J4UWxJWmxXbHorejRVY1BqNlY4K2FNSkcxSkNTK3VyMFI2WEJSbHB6Rm43RXkrWGV3ak56MkdOOW1pdEtTYThwcjRUc0ViMGZLSXRrSkl3ZlFDSDJPeVBieTdMc1RISlNGQ2hzTG5jb0pUYW5ma1Y3dGYxQzRKdG9ubGF6dUROeG15SVpsQnRSbHN5aXRpbTRneGZWc0ozZzAxbE5EWUtYZGFLNkZ3Vjc2WVpUc2tWQzAxd01weWJzcmJEYm12QVVkdWdkTlh3K1poT2lJL0N5c1V4cWlveGwyWTI2M2VMRHl2ZmlmejFvaHAxRGU3OEhzc0FnR2pkM3JwN3kzUWgraFk5UWlGWVhnSnVPdDU0ZGtraENhWU1UVkNMT2JGN3dsajI2S1RJU2NHOGY3dC9TSi9NMDQ5dmhzNUliRE5NQWlKMUJKa2kxMU56RU4zdEpjUmdGOUtwbGJYazdKZ0NZT1BPaHJ2K0xGRUZpK2w4YXNGZUFzR2tuTGdmdDBTbUxRbTVGc2dQQW90M3lieWpKZkFPUkZpYTF5WUpScnVXUWFOWDdnSmV4WENCcmNoR0x0Qlo5SUdGNmU5cDJqeW1Hek5pck5xVUl4dnhzSlhZMzE4MjgvNzRaU2loaDJFcG9SZ2hQZStHSVdLK3poaDd2dFVONlZpQWlmTWZwK25QejJBb1pFaURwejhLVFQ3UUxZL1Z4MFJDa3Voc0dNZVpvOHFabGhPQlkrOWR5QUVRcUE1Mk1URzJuUTJiaW5rckFQZlkxMUZEcDhWajBKNll0Z2Q3TlVMLy9UR0R1YW9ZT202aXBZdll1TzJCcTY2N3oxOGJyMVgrK3lVdVNOSTNyYUZuejJ6bmpmRFh1WVZPU1RTeDl3Nmo2TW41SEhabEtFY0l6ZnlzV2tobFVMenUxZzUvZWZvMzFiUUVJdFFmUEJ3ZlBFa0drd25hYUQzc1FUVENienFHcE1IQnZqM3ZFY3dpRE14L3ppS1hUcG1OSWFRWFplaUNRR1pmaGN4MDZZcFpoRnJjeXRxc2tmRG8wdHF3a2J2Nm4vRXpsZXcvNWlTYTRkNitoWnphYUZ4blhISERRamg1S3dZaGtXdGRJRkxaOXNkRDRLdDBEU0oyZWd3R1d3NjZuVHdla0hYVWIvOU04SzJtUnowTWszWHNHMTc1NHZ4RU9DeHdGQXNxVS9oNTU5TzQ1N1ZOVnczYmkySEYxVlNQYzhKcXFZZEV1UFZ6WG44Y2Zsd3ZxN01BR25qOHNjeDNLN095NDk4UGpqNmFKZzdGL0x6dCtzWklkci8zdkp6N0ZpNDdqcElUM2MrUzZlUU9XNnAyRDhuSklZbXhmbFhTYXA2WW1PeUtJL3ErRXpuQWFNdTBXT2RxWnFhTy9HQkJDb1NReGxHYTEvS01GQ05JU2NqV0hXZFBaQjJXTHpMRUJBQ0lsR25ZNTlYZE0vNThYU0xqV0IxNkJzSWo1dkJ0aUN6ZkRPVk9MR2dDWVJKVGhDOHE3aUIwTHZ3djJ6bEpLeHJFck84bXRKTGJ5TzZxZ1F0TGRuSlNrckVyYW9mZWhaMzRRQnlyenNQWmR1dDVKbWR0WlNUK3hnei9NZGYrdmNnTjN5REVncE15WnR2MWxNWGlvSlJqbXBRVGdsWVRPUERqeHVjclJ2OUJOdE9FUFNaZ3VVcndtemRHQVhqVTFTRDNTNzJxSlJFNkdFMlZKekZIb1VtTThZMDBCelRrSzFFL0FhYUhVTVRrcmh3SWFXcmpjMjY4ODVZbU5nUVN6WTFZTnVLZ0Vjbkw4MUxXWDJVVmFXTitOd2Fmby9PckJFWnVIVFo0MFNxVmEzNklndi8ybUtPK0dncmI0WlNlSFdZUU5uMkRyakdHbDZQRzRDT1cycGtweTNFQ0N3bmIxQU93VTB1dGl5c2dlQjBzSHNpR3dXMmJWSFhXSU5TSnFadDQzSDVjTG1UZGc5WWxBSkNVUTdiZndSeVZqS2FONFhEVmlmejZOdkxJT2p2TnBsRjRKQUp2eFp2NUFzanhPbmVkS1lJSDQyMnhycW9CL1JkSEZaQ21OV2JCa2srdU5TWHc1SlAwN2ozdTNyeVQ2N204ck5xeU1uOGhpa1JQMU9DUmZ3bWZSd2JHY2xuelZONXB5Yk1wOVZiMkZTL0FTdFc2NENJM1QyRnJtR1ZWZU0vOENDQ1I1NUE2TjNYMFhJTEVMckVyQ2hEK3JzdWFPaXZXTzRaMDlJN1BvWlJpOHBtaytHWkhyWTFPa2xnZWNrdTFsYkh5QTdxcEhnN2xtVXRTSzMxODU5M3VhYkRsUW5idGdHUVB5QWY2Nnl6dTU3Q1ZrTGh6dmVpejZ0eDFzK0dVaC9iREFyU3ZFVTgrc0o2SXRIdVkxL3BSeDNNLzdYK2EvKytjVUtYcHFVQUZxMXhFcXNuajBocXpmbm9yTDE4WjllMnFqc1VRMVZ1UmEwdXhUMzBSRGh1THFLMGpxUzFtNUdSV1BkRmhDT1A2dkpsRzJnS09lY2lLZURxUWRycTRuN0ZkN3Iyajl0Z1c0Sld3Z2ZuVjlVeE12T2drL1h5bDduWDRKS3VCSG53enBwUWFCSnpTeWtDZ1N6WTRjSjUwUjcyc1cyYis3aXhGWlBiMGVhejI5aDBDb1ZsSzVSdG8zNE1ma2FMMzI5Wm9HbWtYbk1od1ZPUG9lYnlXeWpkOXdoU3pqeWJ6RWxuZ29McVMzNVA0MzhlSmVuNG56SGdvMmZRQy9MYWZiYXoxa0lzL1BsaW1Ea2VMajdaNE9SOXFqZ2kxYUhQRFNxVDF6NkMrNStGcjVaQ3BMdTdtNVRDTzJZRVdsS1EwRGVMU0pJYXMweUI5dlVxa3ZRa3NzNC9BOStjbnVXTWRVY29YUHYrVjZ5NzlxOUVObXkvbUNoV1ZrVjBjeGxhMEUvbVlYTzcvUHpiOTNkY3dHOWJGbnBxS3E3WFh5ZHJ0RVBvTTByVE1JNDRna3NPUEJEWnlYd2VlUGJablNzZjV6WVhmS2ZVSWxJc2pCV092Nk1OaU9NN3BaYm0rN0xCRU51ckxUcG8reld0N3JCemlVWFU0eUVZYTJUOTNyTkF3ZEJQdnFUWms0dzNGc09tYThMZWpPeFVHa3ZMd1Zha0RuSUl3Qm8zbDZGaWd0d2pNaWs4UlVGVEJhQkkrWGt1N2dWSjFMeGFqZkFvVW9zUzc5OVlCbEtRV3BBTGlWb1ZYZXJjZmZ5RHpGLzdJV3UyTFdSd1dpNXZyL21DaFdYbjh2TnBaM0htdEhOd3VYYy9QaVFTT0k5bGFQZzhGdGNQTFdQUytzM2NjazhEbnl4VkhIN0VlTTQ1NDBRKytiU0FPKzk2bUVGRk5keHhlUXI3TkNSVC9nY1BVTkhlTjAzODd0cG5EdGI2RW1KUFBvZHI5blQwUFdkaGZQWVZLaFR1dFhrcWhNQTBUZklTWkwrVEowM2ltR09Pb2ZhTmQ5bDB3MjJZRFEzWUNGeXBLUlRlZEIxSEhIRUU2OWV1NWExMzNpRXRMUTNUTk5IMXJnM1BwS2pHY1NQbU1IaklrRjJheHpONmlSdTlaaGhJVGNNV09zY2xWWENpTjR4WE0vbHZXaDEvck05REtnT3I3VVVmU2lCRis0SUxoNHhLSjFkV1U2aFZrQzNya1RMTUFLb1lJS3VaN0ZyQ01uTUlYWlUwUFJ3WTNJa29Vdmc4TG80K1lCTDc3VDhSZ0ZjK1dNSzg5eGNUaVJuZFlrbSszMXplNWV0UjRPb0ZkN0lwVXN1ak0zN0dIcDdjcmlNTzNSSUtLNmRBbzZhUytlOStBTUJoTlpVSVYzWUxwWDczSjBFS3ZsaGZTRk45TTFZc2hQQ2tzS2d5YnpzTDV1NkdXRHJEWjFKTWFyYTZLVjJreUJzWUpUMm9NWEdLSkNYUG9ueUxwUElUZ2RUYUF4N2pSeFVnRUd6YVdrdHVWaXI1dWtuOTI1OWlTclZiWWUvbkg5eTNhenZLdGxqNDNVSUVNR1hLSGtqWnRRdzZhQy9uNTZGZkR1MWpCZTljWkozODhGLzd0dHVCTHdCdzhFUDM5RzIvQlMvMDZHMGpSNHdrdjZDQTVjdVdjZkJCQi9IUnh4OVRXVkhSSjNJK2xoQWRQYmxuOG9kcWRSRkJLSnBKZFZNRTAzTGhTWlVZUnRudW00UERBN2dLdlN3cFRpVnU2VXpmczRyNHhpai9zMDNRR3MvUXBFQUtBVUtoQ1J0VHViQXNMK251R242Vy9qby96L21ZMFFWZTNHTk9Kemo5SFBTaVBRRllVOXJNVjR0WHRIWTU0ak93bThDcWQrckh6Vm93dGtHc0JKcS9oT1FESVBkbTU3M2xOMExvUzlDeklmOXFjT1dCbnU3VW1XdXBJSk9BU2YwN0JXK0gwM2VZRW9GaEd4aTJnWlE2dHRYRVBrTWRIT0hqZGZjZ3RRQzJiZUtTTHNlSDJ1bVUxRzdYYitPYjBWTk5ZbXQ5K0NjMEU4ZmY2enFkbnVvT3IyYVQ2Ykd3bFUyalBnT0FnRnhEa2djaXBrYTBGOStyRktCRGRvTk9UZFpCdUpUSkkyZU40SkNwUXpBc0czL1dlaTU3czRxUUw1ZUpXalZQeUJ3VUhSZXVXN2FqVmJQVEF4dzBaeGhEQjJaUVVkMU1YbllTVWhQWXRtckZCQ3piOFEvenN2d2NzdGN3QmhlbVVWa1RjdDRyQldhYm92QzZRTmUybW9aaXBNY2hJVjRkUzI1bko3VjNaTnUzSHNmMDRnWUlpVzNaaE8wazdJTGh1TXdsTkZ0ZWtteDdKMzRTM2VjalkwQWVYbytIWUZZbVV1K2J2SzEvOWlPaHNBQXNBUjhPa2J3NlJpTGIzKzFLWVVvMlNaNEE2MnBMaVp2R2RreEF3RkVyYmVac3RORjNtT1VqUFNrN2JiWU1xWk1pSkg0cHFiWk5xbXl6OWZzSGEyN0N5bVkvZDVBYTI5d3B0K0sxV0VOUG5BUENUZHRZOHQ2LytmU3Q5NWx4eEpuc2Q4eVpQVXR2ZEhtcGFramhqOC9QNElvTFZ2TEE4K000L1U4SEUvUWIxRlVGUUNnYWhjQ094bERTY0dJK1BaemNaRlBEeWpOSU15VFhmYkNldlcwdnk0K1lUdGd3OFV1SjFYb3pSL2M5UHREdXpFa2FJbDVLNjVKUlFFUEVpeEE2ZGxNWVYwb1NWNXl6TjVkRU54Rzc1aVpLeTJwd1oyZGcxRGNROUFWSnVmNFMvbnRZR2pldCtROU5sZVhic1dyM1lvU21zQ0k2MVhQV0liMFFxWk5VVnRuVTFRRVJ3ZDU3clVSL1M1R2l1N0MwcnNkOFZzdjA1by9zZklLRVFGbUp2YURwM2VSL3JPalJubDVRdW9LYWNBTmJHaXA0ZnZrSFRNd2Ivb09xNEkrdUhOdTFMTGFqaEkwb0tJWGY1VU5vWFJNUUQwNms2dlJiWFVFLzVkT2pTWVRIalh2VVFIenBLY3hlVkp3OHJIbmRDZU5qdFRNK2pOVSsrMGxnd0dOcTFObkZWY3Z1c3hFYUtUUCtSc1BYanY5NDZmN3QxOTVPS0JTNWl4ampmU3VkbitmdWswbHEyWExPZUdZdGI5UjdtRCszR1pSaTN6ODh4akY3NUhIcGxFS3l0YzBvMCtqVkxaaEhUOG5BbDlBeGJ6VWw4MUpDeHh5ZjBER1h0dFV4bW90akI3dDRkU09zalZqZ0ZTeXZpRGwyeDQ1OHI1YUZWVlVGUW1CRm5VTDA1dGZmM0gzN29nMmVuQmJ3Y04wSjB3QkJXdERKeVZLSlMrWWMwRjg2dVN3L29QT1FkOTJ2dW41RDlUT1UvS09FMUVsWnBFOXhROTZGWGIvL2Q5dHhDcXNWRHhPOFpEYXlJbXp3SjE4MkV6UWZ0Y0tFa0NUMWdEajVsMGZRa2hYU285QXpGWVB2YWlaMllnclJFZzNoVlR2VXFTaUlyVWVydkFrenZnMlY5MGVtai9rWjd6MHduQmUvOEhQRFgydlp0SDR6Ym5mUExyRnQ2T0dhQ2luNXkwVTM4c3o3THhOcmJnUzNsMUdEUnZEcm4vMlNlNTUvbUJVYmlwRnVUeDhUSFhiZW1tYk5FTWR2TVJoc0JYREhNakdHVHVQZlJpWktDZnlxaVY4TytvQ0p2bHJXclpuQTdVTS9KTjlYejFOckpuSkEwV0w4dXNIdjF4N01lYWt2c2FZMmcxZU40NGoxd3FZN3VHSU5yOXN4b3FFQVdkRUN6ajZpa3JxeXdXUzdjM2wrWlFtRmFnaFN1YkYyU0VaVkNDeGJJNmhIaU5udzVMdnd6aUtUcTQ3WHVmaHdEd0gvcnZ2Uk5oQ1FHck9xbTBsYVVFeitVVWZqSHQ5N0F2eU9jSDRoUU1YaG9PRTZoNmhrb3F1YmtIV0s0a05TeVNwdEp1YzFZNWM1cm5SaGNzYnd4N2x3ek4veDY4N2xTRjR0eXA2NW4zUERsRnNvYVJ6QzZ2cVIzY0psK1grNHE4dlhHNXVhV0xOcFBiWmxNM0x3TUZKU2tyc2ViemVFd3YrL3RkZjEzRllWSGhlQ2daYkJzRmdVSXljVGJQQ1ZXVlRHWEx6dlNVUHJSUzN5WTIrVy9JaWVVaEZUSHRZYVEva3NPb3VOUmxHQ1RGaDE2TzhvcFhEckxvNmR1QThUODBmd3d1SVB5RTVLSjhVYnhPLzJNRHlyaU0zMUZVd1lNSXd0dFJWOHZYRTVrY1JGZHp2Mm1KM2k1cUdMeG5EWnc4VmNmKzl5Qm8xTTVZa3J4bkxPZlN2WVZxcURtdzZJaEFmdFRDVGN3ZFRyVW1HR2RFN2VxNXBUWjFaaktUY2lackx0L2pMcTM2aEJlQ1JhMElXS205alJCSWx3U2dyK2FkTUk3cjAzd2IzMndqTjJqR05YdHlVVVRxaWppQXVlOHBaUnFuM0pIWFBtTW5YQUxseThjWElpL3VWdDJrbG1KcnNpdURYSHRuZHJKaG1lWmx6UzZ0R0ZERFZ0VnN5dXFrRkZZOGlzVE95S1NtUmVMakk1Q1d2ZGhsM2VNU2Zza1lGbjZSSk9uTCtOZVUwcHZEUWM0akdMVXk1NWxWTm01bkRSNUZ3T0xWdkpxNGFKMGpWd0dTd3JHVVhFaHJnVll1bW1ISERWN1VTYS92amoyekZhanpUSVRDMURDSGpoOVJBeE83YnJXN3lmYlBMblBuSG1VRmtXV2xvcXM1OTRnY0N6VHlHdS9RMjQzY1QvL2c4YU4yM2w4OHdKbUhXTkNMMW5SRjhuRnZZdE44YmRmTlhsK1c5eEErcXJOMUN4N0dFUWtKTS9pUHpCa3hJeHF0MHJ0QlVDd29rQW1sL3ZHOXpjVG5DampNMTM0dGpmbElRUkNXS3A3dHFHaTIvdkZqRFVrNXhSbWswOTUxcXdMSTJjcEFZZXUrQWUxbFRrY01WL3oyVjltZURzalc3MnFrL2gyazFQTXpoU1RsenF2WnRONVpDdmgxTnRRdmNWb0tLU3ZFdTNvQ0tKTzkwTXVEUkIySEx2MWVEU3dJakRaWW0wMWZ1dUFWZExEa0NiTDM3NnBwbmRISnNvOFhndFF1aTRYQ2xJMlhYTzMrakgyZ3c0YmhOZDhSSjFHejhnOC9SZjRCMHhqTXFycjhHdXFVTWtCYkV0dTljN3F1TjhuKzV1T08vaTlVUyt6OWQvVHVub1ZPREhaam1DZWZvQVJoMDBnL3Z2dllQS3hZc291ZWRlcWo1OUc1MGtJSmFZVnRkT0hzYlJVekx3cjBuWTFjMmQyOVh6SWlhRDhrenk0d3RwS3BtRXRjZHBsSzJwWWMzeXhVeTAxckV1UjdDbHhyOExHS3dKRW14TFEvZFVFbHRiUWJTcURtOVdMY3FXN0ZhUjE0OGlQaU13eXF1SnJkMkVIUXBqMWRZVFhiRU9aZGxFYlkybXVON0xlSUtUUC8vcUsrLzN5M0QxekM0NG11d1F5b3dBMitzUWhPNVAzQnJaemFodHhVY0xObUhZeXJuY1h0ZllzclVlNlZZUTk0RzB1UG5jZC9qOUtmT1JMb2czYUxnOUZrTnlha2tLUm1rSWV4Q2EyZ21Ua0ZLeXp6NzdjUEhGRi9QUVEvL2d3V2VmWnZuNktIZGVsc1VlRjNvSnI3UnBlTWNoRnU2TlVHL1JLSDYzSXFOR0VJdlp6bGJVZFdxYXFza09aSERodEoreHRISTlsVTFWQ0pkMzkzeHNYY2Q3MHJHNEQ5Z2J1N1FNYlZBUjNtT1BJUExvVTBTZWVxRmJNdDNJdW5VSmpGVWpkYi85OEk4YWhTc3prOWlXTGRqeE9HWlRVNS9zRDkvaEI1Tjg3UlhFRnkwaDh1WjdDSThIbVoyRnRXWHJkaUNyaDVpZE1neThPWmxVTFZ0SjBpVTM4OTZEZitRWFJRL3g2aE5QVWxtNmxYMk9PcExIbi93dlIrZGtzdkdPdjZOblp6aHIwTVU4bnp3bmwrVFM5UnozeEZiZWJFN20xV0V1c0cyT3VmNDloNU5tZWo1SG1TVzhhUmk0UEI1TVUwZkRvcVI1T0p0RGc2Z3pNdkRLQ0VPQ2E2bUk1dTNVZnpoc3NuWnRBMTk5NWVEcWE5ZldFdzczTFptd0JrUnRzQkNjbmRQTVNZMlZQUG1uV3U1NzBiRXYzUzZJRzg0Y24zcUE0c0pMaHZKYzhxWGNXM0lrMEwrRXdvM1AyVjNhQU5MalF4VU9RT291N0EyYlVMRklqMndUMjdheE9xZ0JWb0J5Q2R6cGFYaFRmYnVOU1FyaDhLU055dlV3TU4xRmNYa2NVS1FIZE1ia09yYkQ1anFENHZJWWJyMXpETFEveCt2Mko0SDAwbGhYaDJtNWNMczhLTXRrUTFtYzFac2E4YmdrdmFRVjQ0aDlwdjBReWk4eEtSWmxtLzlMcUhFaEtlbVA0UEduOVBpU014dW9NZDJrYWs1T2Q3M2xJa09QOTRpTytQR1BKbmFOblFxUW10T1RuU0MzN3pyZmJVbnZiQnZEQUp4YXBwcXdod096SnBMbVNTTWVjU1ZFWkhzL1RpbUZMZHlrRHowSzRjbWt1dmh4R3B0V0VyUkwrT3k5bC9udkI4bUVHaVFnU0VwOW1sUDNxMlBQd1NVMGgwMWNLUlBJSG4wbVNYa3pVYklYdkVZV29FTmdiK2VTZ09oaU41ajBqSXdaT1BVd0QzT242SHk1ek9RM3Q4YTU0Q1FQTTI4SzgrbVg2NW4zZXBERGpXelNOUjNUVmoybW9wRlNZdU5nMjg2SHBKUG5uZmhQdGNZUW5RNWxYZzc2S0NjR2FCYXZ4UzZ2N0xEZkFWYW8zZm1kbHBtR1VpYjFzVWFrZE1qRmM2d3dHdlp1OFN4NFBScEpBUmVMaXF1eGJVVTBhbENRMmtnNDdxSXE1Q2ZnMDVGU01IbFVKcUdJMmFucjJtM3RRRy9iZzMvdThCd3NYNzZTcHVabXhvMGJ6WVoxdFR6OTFESmNMamRLU294WWxKK2ZNcDdCUTlKWXZtNERTY0ZLeG8wZDIrRTVlWGVKeGRkcm03ajl0TFc4c1c4RE4yNGJ3cnNWYWRTRm1yamkyYnY0Wk5wQjNIN05ieGcrZXk3eERTWE9CZTlkVGZSMXY5K1Y2VWRYa05ja2tVQzlVcnptVlNUWk1NWjBMZ2FyUzd6WHJLeWs5dUcvRVVsL0hzOXJWVXcvK3krVVROeVRSeTYvbk9VTHZxRzMxNWpvVi8vekcwcWpFbVZMaEx1Qk01WjVBWUd5YW5uNXRUSmUreWFOL0tCQUNRbTI0dXJoSCtMTlBJV3Rnd2F3OStBanlOKzZnVDBHenVmcVpmdDFmd0NGd2xadXRtd2FpR3RGQnZtRGE3R0t2NlF4TUlTeWdwSGttOHU3SmVMczBoZnRLK2hXS2J3dUYwSnFyRisybFAwSERjRTFkU1pXVFJWQzAxRlNvbGRWc2E1MERUSjdLRjZYbDZqcStDN21GbnpBaCtDM2dWek9HREdIaG1BcTRReWIxMHlkSlYrSlZwNHlYWWZOcGlJeTNVUU5sYVEwMS9QYk5aL2hSaEJCdFZ2Y25xNGJDSVF1aWRhSFdWM3BZc1NJVk1pWlN2R1dhdUoxRzVGQkgzWVBXTURkUWhCWGl1OWlzZFlZb2dUR3VkMjRleUlsKzRrejB0M1o0b3ZFN1JVUlFjYTBFS3JDUy8wTFdXU2ZYRVhvd3pSa0Q0NktFQTRnOXY2eU91NDdlemh6UnFVZ0JBek9jcEloV2dMOVFteVBxd2E5T2xJSWJPWFVxKzY0bTZjTjZybzRNMVN4bHFyaVJ3SEltbkkyZ1p5K1R4UlJLRFROUmFoK0c2WExYK0hZRS9ablJJSEpvZ1dMeU1uTGFmZGUvdzIvNmRzdnYvMTZBSzc4MHdvMk5udXdTQVpSelg3dnRpVDdsL1BLcXpGZSt6aWR3bUF5a2dqaGtNRzExODVIS1FuWURCdVdobUZZckZ0WGlSQTdPN0VTbXlXa282QlB5SVFCYm5hLzN1RWVFOHVncGpJVnExSEh2VWpqRXQ5ODZNR2w4ZmUxcm9Yc1ZGWWlOQlNhOHg1QjYrOUs3R0lTbnhEVTFFWll0TEtLdEJRUG1qeUUrejdVdVdTL1J4bVdWd3U3UVNvc05jSGlraGpMMXRrMGhKMk9YdnVrR1V0S1pDK283bHR1T0VtTEthWTAyY1ExaDB5NHBRZTNEWEZOc0VlVFRWcE1VZWQyQ0NLK0w4aE5xbTRHcnl2a0dBZndzcGU3blV6R0hneHVYVVBWOStQZWFCTHY4Q0VrN3pjSHM2YU84SklWdTNVTGhLbE1QSnFib0I3Z3phcjU1QlJuOGZjOWJrTUJrODYrcU5YQUVjQ0R4WS95UnRWOGlud0RNSlNCcWN6ZWJsOUg2VWpGajRWSmV0UmR0N0k1SWpqZDFyalVEVWtWem1LL1pnbnFsMGVJdkovRzVJQ2dBUk5UQ015NFFXNVZGZVBUYzhtdUttZDRiWUNHNWpCU2srMjJ5VHN2WkxKOHVjbWlGU1pMbHNkWXZiYU9Mei8rbEM4Ly9wU0xIbjJTcjFPOXVKT3ptRGgrSEdQWGY4T1UxUlVFZjM4bHcrUEorTndCcEQ0Qm1MQ1RrWlIxYVczZlRzRGZuQitUYnJ1eGIvdE5KUDYxdUp0bXpNM0V0RWJ1R2IyQnZYUHFxV2tjeW11VlYzSEVXUVpKQWtvMjE3QndjU05uL080QUpvL2F5cjNUMW5OOGJqVy9LaDdDa3Jwa2NCbWRjL0pKMmY4M29TQkFoYkZJQnlYUXc1K2dCNC9GbGhtb3hTK2lqWnFGT3ZwYzdPTFBZTU1TY1B2YUFRN3VrMDlxMzV1VVdLTkd3OVpOQ1pUVGgrdWdBMkgwNko2Qm1UZmU0RGhzalV2N1hWNEtwUkIyMzU1WElRUXFaakM4S0p0Ukl5U2VTaHZYd3IrejU5Qk1SUE53UXNsZW1yNzdqbS91K0RNVGI3NlVnWVBpakNqS1lzMldjb1RiMVhQZ3U2aklJYVl0YTFQb1UxWUdxYW5PYTkwOXZ3NXJHMkRLaXpBb0ZkYlViamVlV3dBeGxkZ2VJUXV1L1RZaDJoUU1DNEpodzdvYUVKNzIrSk90SkM2UGlRRE8rdWdwWm1aK3k2amt0U3l2SFkwWjBmR2tHRnc4NGhFdUtMMGYzeC9MS1YyU2lxRmNCSHhoY2c5cVp0VngwN2pVdXBaM0Z1OExSdHVqSUxvQU9iUjJkck5Fb2t0dE8rdENiMEZqNGRTeEQvREQwNU4xSnFYdVRDWWMvcWlCbWp1M1lzZHNoRXQwYnFPNDNjNmFDQUU1T1k0ejFlSlU1ZVMwT0haUVg1KzQ3YkQvMnpYLy9JWXQzZmhvQXdJQ3Q4ZUYzK3NpSEROQWs5dlhXWk9FWXdaK253dmQ0MnBUTE91QXFaOHVyZUdUSlRVdEFzSHgwV1UvM21TcWdXZUFzd0N4cmIzN0htVkQ2SE1YeW5RaE5LY3ZMYzNwUzhWMlRUWkkrZE1LdE1iV2Ird2Z6U0xBamtScE1ZVHRjQVNoeWQwMmlqTnpVdHBvTDBYYzBCa3lxSUV0MWNsOHRuazJ1Ym1ORkdaYVZNVFRjTHVNYmd1WnEzY1l0RzByaWpkVThleWJ5OWhRV3BjZzdkaDFQVEdrS01ETVBUSjQ2dm1OdUlJdWRLV3c0Z3JwZFpMU2ZjcUZGb2lRRkZTTTkzbVJ3bVpLVmhRcjZzRWpCUi9WYXZ4dGt3dWZwZ2gyNFdJcHkwQlpjUm9XUDBlc2ZDbWh0UjhRMnJRTXpRTjJIS1FMQ2s1NUdzMmZnYkl0UkRlRnlDMFhFZ1Y5YmhxYW8vejJ3YmY0WXVrbWJqMzNRSVlQek80MXpqV29uL2J2Szk5dTVac3RJU1pQSGNPZngrVHd3SHNlNnB2Q25IdndJTHh1blNzL0xHVndJSVU5UnVlaXVYUldyQzRqS1pMR2xmdk9KYVlNWHZqY1RYTEFaUGJFQXBvamNmN2JvWldraUs5ZGoydjRNSUp1eVhGamtwaWM1K1cxNGthV2xFZHhTeGN1VGV1Wi90NXhMNGtXdjBHMGNlQkZleUxEbnJTTTZ6b1JTQUlxUzFCOGhUZGVSMGxhbUNrQ0NCd09HVVBvUEFKMkxRQ1huTEovNTBFbFpUTmw5RURXYjl4Q0FJdmdYclBRa3BLN0h2ZmROM2RwamhZMXdabXJCUXN6YlY2WjdPR1FLU054R1c2MGxKNlI4S3VtTmdnMkVMT2grRHN2MzMzdUpyOG93cXlERFlMK0JBN1dpMXczb1hlY0pJc0dzWGdLRFJrK3JEMm1rNWtlbzhuN0NhWmhneXZjdlQ1WThXcS9uSXVpZS83UTVldnhjQ1ZtckJhRVFIZW40ZlpuZDkzaERvVENyWE5zcSszL0pmNm1EQk1WalRsLzY2bEtWaUEwaFV5ejBYSXNwNkRIRklpQVFuZ1NDWnd0L3JXd3NJWGpxeXNrVWdYeHh3YVNWVCtVZ2R0R1VaczhpRzhUbE9PZDdZZUZpZjB3ZXhmM2crbHYvMGJMa25oODBKUUUxZEVBSmVWNVpLYzJvSUFONVhsVVJRTTBKU253UWN5U2FGcjNza0lwQWJySmQ1c0dzcWsySFlMTkNLRmFFNTJFdEZIQlpqNVlOWnFhcGlUUXpVNlRvUDcxOHNLT1pVTkN6bFRWaFhucWpTVzkzbWVMQm8xbGM2NUNHN1V2cDdrRWJ6bHhWWDV1UW4xam1IL2xwRk0wWWdhZXBpaW1BanNXWi85UFYrTlp1NVhCcmppancrWDhkZVlnWktwMysrVW92WW9sSkd6U2NJeGNUUFllbms0MEZ1UHpxSXQ0eklBZUZHQzVwR1JjWG9DcVpvTVY1ZTNKSkl2U3ZHUUZYWHl4b1pGNEYrVHFmLzlrYXp1NVlDbFl2S1dKQXhML0RzVXNYdml1aWtVYkczY25MTnBuN2MzaDMvUnBmenVWcmdxSmtBcTdPWVNTRWkwcDZLeHZOTnBPZ2xxaGlITzdla29TR0NiS05qckUwWFNocURWYzNEUnhKY2xOTmxjc0g0dXV4L2k2S3BXanY1ekZCYytXOE1mazFRamdranZIODFEaEVJaWFhTzQ0Q3JBczBmSGh2dSsrOXJwWmlQYTM2bjc5OWZaOStkNTcwTmpZL25XbHVrM0NhSGwxY01EZ3Q2TnJ4S1NVcUxwM1dUcmVaWTZUdXFESVJWd1g5QVNPYUx6d2R6dE1ET0JTRUJjb3k4WmN0UnIzMFU1SHhyZUxhTHppUnNmdWRpdUg5S3NUZURQLzErRXViVUZMd2NmZk9FNzVQdE5kYU4yWkp5MkV3aDBRbUluRTM5YTZOWjRBbXQzT2lVaUt3K2x1alNKQWVOemRPRnFpTmFtLzdzVjNDUzFlaXU1THdtNE90OFBRQklLYVIxNGc4OXdUMExQU3VwM2ZSekwzNytPVDFzK0V3dVZQT1ZpMmhQWHhCRWJSdEYwT0RTdUNVUWxJcURnRzZ6ZHR6dzJ2clhJb09qb3VneEFPRVpUUzJMRHR0engyd2lBQ2JaY2tXazl4eFhMQ1pwd3BBeWFEcit1NXZUR3hJVTY1NTJ0aWhzWFFuQ0NML25JQVQzKyttZHVlWDRuUUpJOWNzQWMzblRDbVY0Ly8zMHNUdU1iRFg3TWxMRkZJaEt1Qk01WjZIWGpUYks4dmhCUmdLQXF5YkRJOTFXU1AxOUY4R2lzV1JMRmlJVWpxbVFFZytIL3N2WFdjWFBYMS8vOThYeG5kbVhYTFN0d2RDeEFndUJXWDRvVitLTFI0U3dWS2pROVFvOUNXVXF5Q2xnSnRjQThPUVVMY1BWbDNIWmQ3Ny92M3g1M2RaTE0ybSt5Rzl2UDd2bm1FM1pHOWMrY3RSMTdubk5lQllDUkFUZjBteXJJU3RBV0RkQ1l5R1ZNeVk1OUMvMUlJVk5PZ2ROb1lEdkJQSlJhTnMyNnNnU290ekRRdUxBR25VRkFSTmc4Z0FsM0Erd0VmRDIzTHhoaHlpK2ZxUGVFV0RBdmFNWm1TcFhHcmtjZm5mNC95N1RmYU9lOUdqVXRQVVltRmRxQ0pMWXhSTk1ib09WeGFNbzVBK1RUV3l6TjRwOVBKaTVWZnNJcjMrZ05Rc01JaHNyNzlmZlRTTVpodExSajF0V0FhakhyNkRSQ0N6ci9kUi9DRmZ5RGMvUk1zajJRc3QyOWZDSkttN0NIdndYNHVuU1REZ2IzeEpOVFZralJ0L0VTdnJVWWxDUXllb0ZaaUJmcTkzM3lubXd1T3lhYTJlVGtDUVVuK2JCYS9HcU01SE8yM3VLYVcvemYyeDhqSzBQclZ4ZHRxSWxRMlJIbjJYVHQ1T21rVU1ickl6WVJTejE1RFZjS1N1TlkxSVk0NEFLMm9BRlFWM2VYQStQQnpGSkdHRTNmVVR3YzRHNUp0Mnp2WXZxMERnUEdqc3Bnd1Btc1FVb283UmhUZktiM245bjdsT2tBd0VVVVJDcGEwOE9ndU9tSWhMR21SNi9iM25keWFTZ3IwYUc3NnpFUzBMRkFVNGt1K3hOaTBFU1E0cGs3Rk9lK1E3dGQ2eThKZHZ4NC90NnlYbko5U2xvT29zZk42Y3YxdWpwbFZRaUFjVDZ0eHlic3Y3YWVOckthWU9Vd0xyYlNZd29VUGtiWGsyelJkK1VQNElHYlBsTTlKMlJmdjRwdzNKK1ZjbTZBcWc1TllqL1RvS3BLdzVLNmZ3ekNNWUppR3AxNGx1ck1Hc1FkQUV0MVpROE5UcjVKMTVBRm92djRMZ3Z5MzM5N243U3BBVEZWNWQ4Y096anJwSkpDU2R4Y3Q0dmlQUDhabm1udldCYVkzRFVtQk5pNk9rbXVBRkZnVnRpR29sU1VRdVFacVdRSmpzd3ZoN0g5K0FyaDdIVFFoSlVtWHl1YWJMbUxzbi85Sjg5SHp3Wkk0bG0xaHh3MFhNL20rWjlCanBrMlEzYytsVi96bUQweHVxRUJJeWRMaWNRaGdXcjFkZFA5RjZWaVdWRW9PSzkwQ3dPZVZrNURmRkV3NzNpN20zZjM5RXNHSzRqRnd2czNBZWVpWStSUmtGUEw0RjMrbEpLdVVtSkVrMCtYRk1HSTgrTjV2ZVdQcnExeS80R2FPOVIrUXloa1JRNTVYSmVWcW1vYkt2UHdJUDgycVlzdUw5Vno0MXlpQmlFVFRGSlo4L2duZit0WU5iTjY2bVV2UE0vakJzZmxrTGZLejQxVzEvNFdVRXBHWmlWSllZTWNWZFFkS1NYRUtaTnU3UGF0cEdsZGNjUVVUeGs5Z3pQaHhKRHBDN1BqdGZWamhDRnBtSmo1cEVBOTAwdnJiMzVGL3hEek9QUGRjRGpyNFlPWWZjVVNhZGkrWXcwQ0Vualp1MU5YMXFEUEp4dkV6V1gzb2dRaExzTTZLdzVwYXlGWnNwM2ZRRzljb1VEbzUzckdNZjhST1FDZkpOck9VZWl1YnI3cytZR1Z3TW9oa3Y2ZHVvQXlQWXcrZnltOS9lQTVsUmJadmRkZ0I0d2xHNHJ6MndackJFYVErN0dLYjVGNWdZdkhIalMreHZuWUxFVFBPMjFzKzRjQ1o1eU5OWTlDR08vM0dFWk1tWlNVYXkvLzZIQmVlYk92NTVjODlSOWxWTjFCYmE2THJBNU1VZGhVVnlFN0IrdlpwM1RyVXF4aGtpS0VYaHFWRGdTb2xhS3FndWRWaTdQRWhqajdDZ2ViU0tTbVdvTVFnRThTck9xWWhVUGZBLy85KzVZSWVjdGR0bWVRYmNaUzlyYXg2MHNZSlRqaHlZQkxEYURUTXRyVzJUM2JVSVNmaWRudlN1dnoya0hORVZLUlNYdnAvenZZV2U0VG45dG1NRUJBWHNNNXZuNjBaQVF1SC9NK3J5UmFBVzdkbzBHSzBsdWNSTjN4TTgxYWphL3Z5NVZNeVozVW55bGdQMWVXNXVMVWtwcTZSZktjbHBUWGxmOXc4S0h2MmR4M0NzQ3hKZTBlVVIxNWFoMkZhMURhSGVQT3pIY1JpRW9RZnY5TE1tYm12Y1huNU1nNmFWb1R2NE50UlpsMkk2UzFqVTNXVWp4ZXU1YTNQZHJCMGZTUDFUWkgvMm5QMHcvWUpQUjZiMHFUQWxVK2h1NGpPUkFjK2g1OGp2RFl4eFQrMWJ4Qk1CTWgwWk5FWWJhQXAxb3phSzZmOHkrNDFjYzBNNGlpTll6VHJlQS9yd0dyVW9HbjQ5NEcwRkFveUlpU05UanFzeWJ4MXlmVUFIUFNuWDVPdGJLYkFuVWxWeUdQSDR0SnlLU1FJaFRWR0N5Y1ZqaWV3d3VEUFg3Uno4WkU2U2NQaTk1KzFFb2tLcEg4MHkxZUdlaE1iN2pZbWpja1ZBQTVOWmVuYVd0bzZvMmlxUWlBVVozeFpEdm5aSGx5cEJxSGpTclBKOERod09qU1dyS3FodVMyQ3FncENrUVRqeTdPUkVxbys2bnZQTzRWSnJoYW5QdW14Y1hvMXlkVTVkZ1BqMnh0bjBXSGFGUy9GZXBUT2hJNU1DQ0pPZGQ5c015SFJwY21jaHFVVVZyN0RFbVVIazdWWk5LV0VwdGlEYmxyM1paQ1Y0ZDJuWEoxZWZwb2w5byt3MmQwT2xKSXgyY1ZjT3Z0azN0anlHUW5MNkIwWDZ1ZTJidXNuaGkvNzZmNDRDMWVxQjNuZkZ4eVVVRmhBUEJvazBsWlBLQnpFMHJ5MHRUWVRDTGFtNVdVZWxWeUdRTksweU1HWEh4Z2NvaStuT2VMRkNnZ2NXSmhZWkFTZDZPSW9VRlc3YVVVYVMrSlFCSysyZHpEMjY3VjRHMXpVVnhaeHloZGJ5RjJ4Z2Y4MTZxaXc0bmhRMlp2V0Q2YWw4UGJhU2NTU2R2SHBCK3ZIRUcrTk11M3dpZnptNVBFYyt2b3IxRC8zRnBiYmpaN2x3Mmhxb2VqZ0EybTU1VHgrbUwyZVY1WThDMmlvWHYrdThyT1lDMVFKTVEwU0xpQ0lFQkpWVGFXTUNnbUdBNklla0dyYU9FVCtqMS9vVnljbmRxd2s4cVdkZStJNTVBd2M0K2IyZjNiK1BEbU5lVEVKSjJJRVltRWNxazVqc0pXT1dPZ3JiYUk3Sm5jZ205Y2ltUWl6c3E0T2hHQnkvaGcwaDA0NkNTc2pWVmN3VXZuMHd1WEVjOWc4Y202NENMMnNtTUNqTDZEKzZ5MU9ycWt1bnhyditON3NXTnV4SHk2LzYyK2ZlWXBmUExOOWZlUExXWlA3Z2ZJVXhoVForWmZWRFoxOUVqZWtPMDZlZFF1Tk1jbWQ4d1QzT3hXOEZpQUUyODZVdEhkR3lDckk0Y0JETkt5d2dXbUt0TVg2TFh2b21Dc0cwakhTNHQ2VlVkdEdWZTNQYU9pMDg3Q0YyZ2Y5M200TmhRV2dLdm8rbC9rS3NVdjZ1blNWeTQrZDFrdlU2N3FDVENTUjhUaVd0UGhLR1lYN0pPdXdFS3BHY3VOemRIenhPUEhGQ2RyV2dsVnZrRFhmZ3piMUlodGJTT05zS2FxS2FacmM4Zk5mRUZNVnp2NzVML2hsWmlrWDZENENxb1UyeWlLOFNzTXp5OEJ6Z0Vub0U5MjJCeWVZUkRhcGFPNkI2TUVrcXJSU3lJTE8yUjNMbUZ6eEdrM2JkNkk1SFduRitZNGU5QXNvV05Fd3A4NC9rYm1UWnZLdDMzMGYzQjVJSmlud1ozSEkxTG40TXZ4Z1dWMFI5ajNtZDJTS2ttODg4aXBjVWhEVGRmTEdqZWZybHNYRzlaMXk4ODZFY0VTYmFhd0w4MEppQXROeTY1ay9wcG02c0I5M2hvTnBvNEo4V0RPT1RhRlNja1VMTFRLWHhHNk5DOUt1MVVkQjBXREdtQW9lMjM0eFIweVZWTGFYa3BYM0tUNXpCVTduV0NMUm5vNm1ya0l5SmpuL09DZWJxMHcrMjJMUUVySzQ1ZUVRTDN6aDRXZHp0L0MxNXJleFZDY0p4WkVXWVdZdndOeWlaLzdpUHA5bmtDWmsrK0RueHdobS9UYVRqaW5mUk02WDVDeDdtZFlEbzJSOW5zVFp3dEJKaFNYa3VsczViZlJyM1dUQ1BmUlMzaXJtRjMxcUV3b1BkcCtPZ2ZOcldvTkJHaU0xR1BFa2VjRkNzZ1lpTkV0enF2Ly9OSDdobkdyckNBR3hXSklMWnhkeTdGU1RnQ1p3alJxSGlIN091dE9tOHZOWE4rTDB1cnJKelB1ZnA1Y0F1Tzd1WlNOMHgzdUgrNFpsQnU5RmoyVkpmQjZkVmlaeDZlcC8vWVVnWVNaWlhidVY4cHhpeXJPTDZJZ0dtVm8waG5BOFNtdTRFOHV5YUFsMTRISTQwRldOcUtUUGhnTHRFWU0vdmx4SmF6Q0prcS9UR283ejA2ZWJxVzl6Y01ZQlgvSzlCVU1uRXU2S3lSZ0poZUxDR0w4N3J3YThPdEhWRVpyL1hFdGtmUmpGTGJDaUVXVFFRUEg3Y1I5MEVONEZSK0U5NmlqYzAyZWdhbHFhc3kxUUVkMU5wL1oyUEgzMC9Ydk1zMEJUVEdabTIwMmlEOHpiemwrUGZBVERVdE9TanlkMzlZZVRGbFpOSFltWDNrQ2JNNFBrNTB1eHRtekhEQVNSOFhpZmRrQTY0NGI3RnRPUTFEQXNGYlIyTGxtaEFUcnhaRE9QUDEzRHN4L2xVdUJNa1J0aTUwQUhHNU5vUlpsc2JIR3pZNGVTaWgzdXVZUzc1ajF1YVR6MGpFMUlsckJjK3pTL0kyV1RYL2lyRDIwZUZ0UEVtWnZEaDlFUUJ4eCtDTWEwNlFoTnhYM0VZVlIxeExqaW5zV0VHbHRSZERVdHMrK3U2ZDhmVnFud2UzNmF3dTU2KzVDS0lvakhvMnlwMmttb2NSUDFyUm9nS0t2Znd1S1ZuekY3MGd3eXZINWJ0dTNGUHJld3lZVGZyYlUvL1BnU3diNUdNVlJGVU96VDhMa1VqcDFpODU0RW94YkJtRVZUME1BY3hBNW9ldnVUL25XcWFzZFhjK2JiOGFxMlQyMWlKbW1tKzkxVGNxNHJ0OVpJSmQ2YUZwZ1NhWGJaS2Z1dVRVVktLR3ZPWFVpTjdnVGk5cyt1NTdUVWMzczZPbE5HK3diVTlqdXFxbWh2M0lwRW8zVGNHTWFVVGllOTRMT2c4b3RQV1BqR0MzaXNNbkpXdmMwWlYxMU4yZXN2VTNmMWRTUldyTUNaNlJ1eXZiWm52bytVa3ZhWW5TaWI3Zkwxd2lrR2U3MHIzOGVWYWRwTFpralFKY1lvOEhuaG5YcUxWLzFUS1p0MkdmV0p0V3dNNzJUc3FZY3pkdTU0bkgvNkpjMnZQWW82YWdvWnhYTUl2L1VtV0traTQ4N2QvTmlvZ3BRRDI5VUtGajUza2p2blYvTDNoa3pXNVo2TTh3Q1RVOFNEL0UvNWRyNzN5bWlxaGJrWEdDd29LbGdoUVdWTEp1K1ZMOFlveUdCYTlTaU1vRVQxQzh5UnBpZllEeU8rWlNlMTMvMFZ3dWxBbWdhV2hDZTNsUEhKKzZPSEdKLzdISUM3Zi8zSS92OFNWaFJoeHBDSnVwUnRYd3hLTkMxQ1lRbEVva2w3N3lWTXBDcHdlQlFTN1I3R2oybmtIejk4bmtNUHFFRjIybmFScnBtWVNjR280aEFMcGxmeHlzZlRVZjFSRExPbi9laHdPTkEwRFNrbG1xNmhhL3F3T2dFWlRndnFEZHFrU3NFb0U2azdBWTFvSXNyekd6K2dQdHdLMnI0MjdMSFFKay9HY2R4UnhGNTRGY2ZSUjZDV2xhQ09HNDNucG0rVFhMb1NZK09tQVczbmRhZWMwZ01iQUtpOTc3NWRPR3hUMDc1aFNGS2lsaFRqdS9rR2pHMDc2UHo1WFpqTnJYYU5oYXFpNU9XZytESXdtMXFRNFdqYXVrTW1EQnhaZmtLdGJTUXYrUzcvZnVBdWZqQ3FoUHQvZXpkR0xNYkY1NTdIYi81MEg5KzkrNmRVL1BTM3lBd1BxcTRqK3hFS2k2MG9sUTQvc1JPek9WdUhmNnRsSU9DTWd3VWRuVEgrRkZVb256c1JSOERlU3o2dEU0ZWFvRFdlaHlVVU12VjJzaDF0SEZmd0ZzOVVYZEhMYndtRlRkNTVyNWJhZXB1QWM4T0dOa0poRTV0NVMreXpyaFJBcHlrb2M1bjhLTGVOekNWTlhQdUhJQ3UybWdoaHB5c21rb0k4ditUT2EzVEtUenVKNzdiZHhMTEs2YUJHZDV2WWtlRkNhTDF0QUdIc2NPSy85dHVzODVZemV1eDRNdXMrcHVQUGY0TEU0STAySms0dTY5WjllOUxyKzRTSjJkcEt1RVB1ODlIdXlzV1pXK1ptUjNNQ1RZVnhlVTU4VGdWTkZUUUdET2FVdXRuV25CalFEaDZwKzdVaytBcW1NR3J1TlZTdWZRbFB6amhLNTV5UDZ2VHd4NmZYOE1TajZ5SExtVjdPMkZjOVZKVmdJRWpGemhmUjZwcHh0ampaNW4yZS9KelJGSllkbDhaNWtMUWtYZnloYVN5WDVOZ1ZBVSszbGZDOWdwMFVPd1p2RW4zMUkxL3JkNDRMc3R4a1o3bngrKzE4MFVCbmxQYk9LRTBkMFFFYWZxd2VvbTFqTzVDUmhFNUhOSTQvMjBHbU01dHdJazRvcGlORXZNZitDTVdTZkxhOWtVSy9tNXFPWW9UbmFQS2tIeTIrREMxYWhkcGFqdHV3TVZIUjBvNGFyU0lXQnpYL0pETEdmWjJzMHVuVWRrU29hR25sOEFsRmd3b2J4eGdENTVRRXdpdnhMckRuTTFtakljT0MrQ2FkUk1YQXVyUTRYK0dBcVNxUHZSVG44ck9jN0t3eCtjMmpVUXF5Rk00NXljR1p2NHV3ZHRrTzRtSGJ4aHYwTUR4di83aTVxQjRwNFlCT0UrdlZDSEVzWkhzSFNtRyt6WFhUMFprQ1FDVktRVDdhOUNrNFRqMmVMZ0ZwbUJaV1UzTXZYL0N2TGUvMG5JQVBVdnVrKy9RS1ZDeHl6ZGlnZkI0RDRiTGJxd1BzcUE1aVdEWkp0ZGVSNU5SSm0vRTRrcnkrYVNJYkd2TkJ3T0lWRGNnQllzMzkxUTdzOWRpTlVOZ20xQlpzMmJLRmhvWjZWRldqdmEySm1xb3c5LzlwRStWbGRuMUJWWFdNSXc0dkl6dmJKQmFKRUE0R2NPZzZreWRQN3I3R0xwOFhPaU9TYS84UzQveTF0ZnptaWhBTHBvemhmN2VWa3JBY3ZQVEZtNnlxMnNKM2pqaUQ3T2xIWUZyV3dPNzZiVU5FRmlYRWRCamJyUExIbHpOd1NiaXhQY3hIQVlPdnpZVzdUNEZ3RENaMXFhdHg0eEJ6WmxQVDlCRmp4ODdBTVc0OE5POTljbzlXbmRCQms2aUFLU1dkeWU2MlVLalpIb3h3bU1xZ0JNWEo1SXdXeWtaNStNMjJiUlNQcjhaS0tIUnVUZkQ5SWlqYjFFYTF6Qi9VZ1plV1FqQmFpRklBaVlRWEs4ZVBjQ2dFZzBXWTFvWmVIYkVIRzhGZ2tQZGVlSUZnVWRHd2tzSkpvREEvSDVrSWsvUE5xMG1ZQnNIdFd4Q3FoblBhRERLdnZnR3JlakdGM3V4ZGpMS2lmL2c0SW1DcVlmSWpoNStmSEg0Tk5XYU1KMW9WcU45REd6dEFuMkRCWkJjLyt2QUJwcG9tbmJyR25wd0lhYTFiQU5BVkZDUlNLUHo0VHl1SS9QNTdpTVlvZHo3MGtNMThrOFpzZC9FNHVvUkNVc3J1T21rdDlaeVNCbnh4NGN6Rnd5b1hubDFwLzJ5a2IzSXdhWUhtZ0tKSkNUNjRwUmlISW5Ca0d6Z01nMlpuREdrT2pydEpDVTVOVU5FYzR5L3YxWEg3ZVdOMkU3dDdDbEg3bVNtajNIenRnRnhlWHRhQ1F4dmlacGFTY1BOMjRqV3ZBSkp3MlZGNEN5YWtCUkR1TUx6c1lCTC8zcHlFeldzWXhXZk1VaVh6SnZrNDlKQXh6SmcvbmRLRFo2Qk9uUVJPRzZCeVpSV1RrQm83VjcrRDN4WGdrcXV2QlRNSitpNWdXTGhjak1UWUh2S0JNRkV4a0FKT09uc21BSys4dEFVaDNKaUJJQlVCc01zL0paWWxVbVRqZ2syYldsRlZkY0FDMUVoUzlqQjA5M1UwM0Z2ZTd4NnhvaXBJcUwrL0hKRTJ5Wm5OTFBqK2pJRmtWaGkxK1dPVW93c3d0KzVBN25nVE9YNlE2MjhlVE9NSU9nTUozdml3a290UG44U09qbVA1d3pzVzN6L3hTY1lWdGU2VEl6aC90cHZYUHc3aXk3WVRIRnZiVGI1MmxKZGxkZnlmR2R0eXRQNFZoZ2FPZzJLTVhXQVhiRlI5cEpKWTVyS0pKUWJiaUNOSkJMaWZocFFTUmRNd09nSjhldCtkekx2Rk5nYVgvUFoyNXQvMFU1UVU2TFczRzB3bUJHYU5pdW5VaHlzbllaOUhlOHdpVDVFVXFrbE1DNHhVUUNOSFNQS3pWTXhRT3kyZEVzV3A0OUNjTkhkVThub3lsNGxGRXlrcUY5eGIvVHBITlRjeVNYTVRsN3Rrd1lrTE5FNDhYZ2NMSWdFdmRRMlNkZHRNTnErMWtDc2RsRytUdURvN2lIM3dQbHMvaVBONFJHSERlNHNvS0MzaXdMbXptRDFuRnJObXpXTG16Rm1VbDQvZE5ZM09rWms0MVQweWVrSUNMaUg1ell5dDNEQzZ6aTQrVU9GZkg1YXo5SXQyc3J3QmNqUDhsSTNMWTk0UkpiejFkb0FYUHhuTGpPbE5MTWpxWk1YaEsvbHo1U2h1MlRxYVdIOGsxSW9LcW9hcnJKUUZwNHpta0hrWmZLa29mRkU1bExsYVA4am1qUlBSanllVTlXT0VTOGRSc3hEUjJZanFLeWMrL3h4Y1c1ZWlmL2djV3JpOVQ4L3p3Y0lEZTEzVjJCeGk3ZVphNHZFRUN4ZHZZVTNwS0dSUjBaRG05MWMvdUdwRTFpM1IwRXd5R1dkYnFVcXp6N1B2eWE2cmV6dXQwclFZWCtSSEUzRktwODdFVzN3N3RUczJjMEorQVM2aWJEbi9iSXJIbjRScmRBNmI2emN3cmlpRExUdXRYdVM4QTRGQmZQT2J0bC94MDU5Q09FV0E1ZlhDWFhmWnIxVlhEd3FPS1Jva0pHeHBzWFZFRi85dWZRRHVYUU4vT3dKK3ZRcStiSVBZYm5Xb216cHRCN1hQKzVXZ3EwbnVXdmNEbW9KNXZGQjllbmVtL01uVFArQlc5VGRNZldZcERZc3lhSW5tb3l0Snl1WTBFNzJraU4rVy9wZ0h0bnlMZUtlTzRyVEF1U3ZKZm12YjF2NFZmQ3lKa2RoRm1oRklCSWkwYndYWDBBTVlYV1RDZVU3NDUxeWRRM09VWG1UQzBVOER0UHkyRml0c0loeGk0SXJRT1hQZ2Q3K0RqQXc3TTN4Q3FzQm13Z1I0NmltYnFDb1VnaC8rRUw3OGNyL29ocW8wZkxTcXNJQm9nb3JxTmhiTUc4dUx6eTVEWnFjeU5UdWlMRGhwR2hYVmJSakJYVUQ1Uk1zbXQ5aTlTWXNsSWI5VEo3SFZqK0pRUmlTcnpGbHFrbitKRFl3M1BlMGkwVEFFbThVQ0t5eDIrVTg2NktNc2tsVXFac2ZlRVZLdnE4MGY1bSs0ZjVvNkRQc1FBaWtsMnk2N0NkMHkwWk1KdlBNUHB1VDJIMUF3Yng0bnhFMDh3c0JLc3hEZm4yRVhjcTI3LzhSZGl5ZGN5TTZYaVdybjRuQVZvQ2xSRE10Tkl0YUUyL2dNa1hrbXlOaUFBYitpMTN2N0ltdTJOckZtUzVQTmE2ZnNtNDVvYm91elpFVXJxQUpkRmN5YW5NbGJiOVdCVHdXbmc5dWZPbzZIcnJLWUd4Tjg5Nm5qcVpJeG1QODVqdEdWaEJJU0srNmt5QUdXR0NDSFFsb0lWYWY1dlR0cGZPdE91MWJlQVhxR2dobXpjQmFQSVdQOGNVUnJsK1BJbnp5a29uSFRrbWlhaXE2cHZQTFJXcGJ0YU9SL0x6K0dpNllYWUZoMnd5cVIzbEVia1ZFMlp4SUhIK1ZrUjNVcksxWlVjdkRCNDhud090bTJvNWxnTXN6WGp4aEx3b0xLbWpaVUpBZk5HWThJTjJFcy9CNkpwT1NRWS81QVFNbW51cks1SjZGQmlramFpa1RvZU9xZkJCYStRTTYxMzhaMyt0ZEEweGliclhMallibXNySlU4czc2S3BtZ0lUVkVHMWVGamZuMXpud2FsNzFDN2EyUEdnZE1aZmRmM2JQMmV6c1JlZjVsdGltUjM5bnNPTjVXYkhKT2pVeEtyNGRCMndiWXNOeCtXbXlTeU9nYzFPdTY5OWFJQi9ldWFqZ2JlZWYxTmRDdkM4YWVkUmRtRjV3d3M1Z2NpRkFZbUJ5QW5EdStQZ3BCaUVYam1kZXBYN0NEdmgxZmluVGQ3VU55cGEydDM1YUhXTlJmUnVLMkRwREVSLzZ5anFBcSt5QVJuQlM2bk9hU0VrWjBkK2YxTXIwSThudUNMVlVkUmR1RFhxVXVZckYrUllPWnhIeEZxSzdSQnY2OUFyZytXTUI2bytveEkrMlpBNHNtZVRQNkVDNFljSkFqcmdrM3p4dUc4OGtTV1U0OWNWWWRNeEVtVUtlaUZKc3JhSVhUclZzR0tLQ1JYYXpoUFNwS3MwVkJuVzJpalRSTFBhRGlKbzhlVFdDaUVuQmxVRlpheHJYUUNtMGRQWW12WmVPcnlpZ2w2TTVCQ3daa3dCdDBQaGpHUnpIM1lEK0dYbkwzT2NGTExZRjV3QzBWYUJ6WHhmREpqWVJRaHFZNFZVS1IxTUcvdEZrSVZQa3hEQWJFblpoUHJBN3NRT1BRa0oweGZ6OXNicG9Ic21SSXNwVTJ5M0J6SzRLVHA2M2x6L1hRU2hyWmZtUXJxbkQ2OEx2QUxpU2tobnZwb3R3QmZWZ1pHMHFBbWxFQlhWVlRMSk9id3NPR2JYK2ZFeFN2NXNQRVQxaDB6RTlHWkEyYWl4OWxPTzViZ1VNR3k4RHBWTWpxcmFEQnl5VlFOOGx2V29wa3hra0x2cTJ5bngwaGFGdXZxdzhTTjNtZTFxajFHWXpCQmNwQTR6clo3SHV2MTNDVExaSHFrRVpjME9hWjZGUldQMXJEbFA4UThtK2dNajhoMWwvem9McEpKazg1QWhLS2lMRTQ4YVJidVJCVGp3OFVvdVRra2lrZFJlY1kzQUVuNUswL2duMUFPTlhVMExWcU1OWEVDbnlkOTFGZTNrcUZZT0J3cWZHTkJEeml5bzhQSitJWUFPQ1RTRU4yQkQybnNhdUltdS9oNzBqa0czeDhrQWR1eWRoVjUvZk9mOE95emV6MDNsZ1NQWm5GMlVWQ01YU1pwV3VJaWJDaTRFaDQrbk9UQVNvUHNNL2JxYmpKVkNwUVNFK2VGRVp2dzNoS28wd1RhSEZ2K0NXMExtSnRCc2VjcS9xd0hxMWJ0VXo0b3J2NTFmSHRBOHZJSGNaNSt6WlpSOVowdXpqekdRYlpmR1hTS1E4Ky8yQXM3czVkR2tGMVh6NlZqWjFEdGJjTUNSb2R6eUs2ckovajhTOTFudHI4WlNWVFcyWVdnTGlmeGJWVzR5c3RSZkI0NzZUcjFsM1p1ZzBTb0twSGw2L0hNbVlJVml3OW9ROXoveE5yL09qOExDZElCNGlBSkxvSGNCbW9NVHBxZzh1TnJOR1pQdGZYR21vMlN1eDh5ZU90amsyU3lheHJrSGlUMHNzZCtWUjJDNVR1YnVPbzVrMzllTmhiVEFpRWtpaXVMRDVycmFJc0ZtVDFtQVFxcFR1S0QzRzdTc0xBTWkyUksxcHFtaEtTRm9pdmMvZkptbnZtMEdzTWNBck4vbDV5TzY2RHYwaGNkU2ZyVUY4Smg2MTZacUVjRXRsRzVlU3lGQjU3RVNVZTNVUjlaUTNNb2p0RFNLMDJNSlNJWWhvRXVuQ2htSTRHd1NTSVozN2ZsbEJKVGQ3Sit5WG9jazczVTFtMm00OHZ0bUxvTElkTlBoRHZPa2NFQzNZdEgyTGhMd0ZUWkZuZGhxdjhGKzlrd2tJazQva3V2SnI1bUdlMFAzbzNpelVBcktVUHhaeUY4bVFpSGM4RGNpcEdLNVQ2NXRPL21oM0hESXBxVUxLdUtkSXNYS2FFamF1TFdCVTV0WUo5NzRjSytMUU1GU1F5ZHVhTU9aR3JIQ2dBMlpoL0V5b1hWdUVnT21pejdhT2pGL2dKajZBNC9UZXNEMUd4OUUxVks5RWtKL2hqNmtHUW8wSytNUENuMTg1MmxIL3gzeWNrWk00YjNldXZXZldYSFkrV1dBSSsrVnNzaDArd2t4bnYrV2NIL25GYkN4RExQUGwxYktncnhIQ2VKMVZ0Um5uZ0prVERSNG9uME1EQzFmM0xyYURqSnpvb3dtN2NHYk5KVFRhZWtOQnV2ZDNCQzdKSENkNVErWW9NU1NKaEo2Z0l0YkdxcHdxVTV5SEM0S2NzcTVNMktaZmhkWGs2ZmNqZ09aYkNpMGQ3ekpWUEVFY0tYUWJMV1RzSjFIbkp3ajljR0dnK1hCSHM5NTI3WmpMbWprbVFneExqMXE3ZzMxNCtWbFI1cDZJVC9BRGx2eGtJZ1FmVzc5K29TSGhjY1BnY3VQd05PbVEvU3AvTnNSeGIvYUxHeG1rdnptam5sbUE0V0hKVGtyVS9oOFZmZ3MxVVFpZlYvVDdFTlcxSzVaWUtBUTdCaHJKL0U2UXZ3SDNrb2FtWUF1Zkx0ZmY3cXlaWU93aHUyOTQ4dGJOaE9zclZqUUVMaDlzcktQdmV2QXp0OTcyM2dhM0hiRm5rYm1MUmpCOFZBZ24zSVAxSWg5a0ltR2JmWXNaN1EzVVc0enU1STgwK3RQZTVWb0pFa1VKU0hmdktSVkU0cXgxRlNCRkpTT2VaVzlIR2ppVDczRnA2S2VnejBmb3Vodit5QUQ5M2o3ZVo4N2Jiajk3Rm5BaEtCcDltQWVzSDdhNllqZ1F6ZFFHandzV2NDc09mN3dkc3hNSm1ITkN4dzZtaUZCVVEzYjJmSG43NUZZV3N1U1dYb2FjNnFrRFlPcEVodUh0Zk1hZTFWM1ArekZsNWNiUHR1bWdxV2FkSFMyc0dpUlk5eDI3YzB6dlA1NmZpRGo4ck5BdDI3eDBMdVlhY2tYbnNMMTZVWDRQMzlyN0hxNm9uLzg5L0lZR2lmY25xa2xCeHhwRTBRL09iN216QmF3c3h5UVRnWjR5KytBL2tvZHp5WE5YOU8rZWRmTU9hVWt4aFRYdDRydWJtL2tSK09FMy8xSFRxS2l1d21qbnM1MHNXTmhFTkZ4dUh3NlJaZkcxWEw1eTNGQUp4V1VrL0xkSXZQZGlxSTNVTElVa2lzVk1PSjNmY3dJc1lhWXh4UnFhTUtnd2VqWnhPU0x2d2l3aDhpWDA4UnRnMDk5T25RTlU2Y1A3V2JUQmlnckNpYkUrZFBaZEhpRFNTTVFZaG4rbHhuMjc2dEREWHhmdk42V293d21acWJ4eXMrWUVIeFRPYm5UY0dTY2hDaS83NXNWSkNhaHFjVFF2WFA4cXRiYkx2a3RnZWZ4ZE41QTFMVFVBYUpBZlVzS3RqMzhiVUJ0VEhkNnlLRUpCbFdpTGZwclBsRXBXU3F3ZXQveWlDLzNPU295eVBVYlZKNy9rRnErSjUvdmRmTXR1MEg3alFwQlR0MlZHQkphMmk4VXY5bHFYeHZmK2VtcitSek4yL2VURGdjSmhxSjhxOS8vV3NmQzFMdFlRaFltcTJ3Tk10ZWhLZ0s4OW90OUxRWVNQY2ZsaThCdnh1T25WSkJYVU1DbDd1V0NhUHIwYlY5TFJnVW1CdkRDSGNUaHg1cG9Sb213YzhTUkhVUG1YUmdvZktmUkRuVXJnbnF2QUpMMy90REl6U0Z6VHZidVBmcDVRVGlFTzNVY2F1ZG5KSDFOdCtldnBVakQ1dUtkdUFqaFBLUFpXV3p4Z2N2YitmZFQ1ZXliRU1qclcycHZCcUhodUxSdStYbWxpUEFpdGdoUlFzNzFVWUJzbzZDak1PaC9RVXdVdkJFWkFWa25RUGh6NkJsb2YxK05mVitJZEtxTmQvbjRkbU55RUFnU0dMZ1V3WFhUcnlNK1lWSGtKUUdidFgyV1orYy94QzYwUGkwY1RIM3JMK0hvRERReFFDUkd3bGFWaExGWmFGNHpCRTdEeWdtclhFZmg0ODVrQ3kzQzQvRDlodFBuRFNlam1nSm4xVnNBU1V4dEVJM29iQTBLUG1CdjVFNVk4ZWhXRUZlVy9ndlRFVkhKWmM1WlE2T0dhM3c3NTA1MEdnZzlMNmJZajUwKzJsSzEzMTJ2ZDVsYXdnQnVxcFNYR0NUcHZ6cTVoTklwdUlZZmIxWGdKajRlUC9uOTFCUEM1V0pESlpIY3doYk9tOEhiZUw3c0dYNzhBZTQyeWgzaFBrd1hJUy9NMGxsWVc5bXYvUmplZ3FvRU82dytPSHI5OUFXMzB4aVNpYm5MM3FZNzRYT1Noa2MvWUFqd3ppbWpHNGIxdXMxVnZXM3lYbytjV2pwREJRRWF4cTMyd1NTZSs2dGZvNkVxOTg5S0lhdjZHU1BFWWwyc0xVdFJFUGVOQnpUTlhLblRNTXdJbW5wclZkdVgyRDcvNm9rbnJEdExGMnpFRUppeVJUVnZJUndQRWt5bEV5N0RpOVVGS1RweUdaMkpyTXBubHpFTitjMzBmcTRZR3FObS92VUluNFUyc0ZTcTNQdnZyQmlVZFh1NTdtbGMwaEVZcUE2K1o4ckQrYkhXU0VjZC8yVzZnMDcwUE55a0pFd1d0aWcrTnJMZWVPU1NkeFcvU0oxSzdhZ3VQMTI4eFJybDh4NmRwemRIRVlrTkRycjhyazYySXpMSzFGVVlSTUtPeVFmYmNpbWJiUWJyOWNZdktUd1UvdUhQbXBTMy9aSWN5WGhENTRpdXNadTZpZkRuVGluSEk2V1g3NjM2cDJHVUNzNzJtcHBpd1lRUUdzMFFGVkg0NUI5aWYwM0ZLTHhPSkhRS2t4TEk1eFRUS1lqUFgwL1VuVUZJNVZQTDZNeHpMWk96TnBta3JFa25aMVJncDB4TEtGUllNYTBrMFBWQjVZblExT0xqZWpYM3Nzb2V4akVKMEFBNFA3M3B0c1hzU1FUeHVaeDc1bDJCT0NodTk5bTI4Nld2Y2lQL0xlTmdibVRGSHFoTUtXUXVyYTBHOGpMMGlIWlRpSXNVVlZ0U0tiaFVHcFE3Y214SXlqU1REWGswdXhHbkFPSkx3RkVkTW1ucFRHaStsNld1S2RLVDNjMkJucGN1TXZmRUtuQ2ZEUU4yaUlveFhrNE5BV2hhM3NvL0QwK2ZmUHFrVDAycXRKTFh3azBrQVo2NHpzRW13dFJUNTlMUEJnaTNMcWV2T2EzWWNyWEVhb0dEQjdYTlZNMnlxdHZ2SUdlYWlqM2s4NGFsanN6dWMxYlNPUlpON1VSU2M0QkJpVTNSMGsySzlUOXlZMTdrb0hvcy9tQ1FEakhJd3QranVwVXdIMEFrZVhycUwzOUh0cGUvd0RkSmNsM3V5Q1pHQzVnRzR3a0IwOC9DSmZ1d0xKUytsdDM4Tm42NVJ6M3ZmUHBqSVJRbks2VWJ0L0Q5N2puOFpGWk5xRWluQTZpc1JoK3Y1OWdSeWQranhjMTJrZzRiUEZSWXluRm9wWUR5a0pnUVNoa2ttbTEwZEpxc2JZNmcybVJ4VVJqQ1ZiNXowSTZ0S0hqYlU0RkdkT29hc3Fsc0tpT2N1Y21IQm01ZkJyeVUrUndFb3U2UUUzMHRPOFYrTUhGTG00NjNVbGp1OFV2bm9uejBwSWttbDlseWNZNHA2MHA0dHg2UDNldSt3a2xWaXZKSWNBY2lvU1FEdXZtbGFOZXVRQVhOY2lWMWNPeCtrZ1RwdWNMNmh1U1pCYm1VWG5xelZqQ1pQcVd4VGhiS3dqTkZEZy9TSkZtRHRIdDllbEI4bDE5NTQ0NmxBVEZudnEwYkwxWXdob29OSVBmbjgzWWdxbFlsa1ZXWmc3eHBQV1Y4cGovdHcxUHFoQkdGWUs0bWNTUms0bnIySU5wV3Z3RnlWQ012SGtuNE9qVVVhMDF1TkVackIxTmw1YUl4RWZHMTUzaDNMbjNQbkpxNTJmVGpFaDE5Vm5YRDVibDFCeDRIQzVxTzVwb0NYZmcwcHhzYmFxbXNxMGV3elRKOHZqWTNsS0xwcXE3WVcreXovMzd3Y29tY0tvUTh4R01tbVFWdnNuN1Y3K0tXeHM2a1hCUG93dnV2YWlPMG5FbXpmL3FvUFdSU2hKTklkQXRwUFRoUHZCQS9FY2ZRK1l4eCtDWVByM1hoSVRqRVdxRExWUjBOUFF0SU9JbUpSRS9DMG9tc2VHOTVheVRTL2Q2M1U0cVg5UDNvcVI2b0JhNkF4UjYxZzNaLzFNbmpnTUpabVUxSkpNSXR4dWxLTjl1OXBxVE5mUWIzYklFZ0JyREJZcUZxdHFOdHJ2MGhSQUNOZGREckNOQWxSU2dLUWdwd1NGNGM2M0JXUmRPSTF2eDhNSjdIMEFmelI3T1psSFBLZWk2N2w3aWlpK09zRTJlNGRJUVFtQVpBcWRiUTQ5S2hOK1BLeEpFcUFwSnZ3KzkwOFRuVXJGY0dwbytjSjE2VjNhQVd4MFozMFFWZldNdEgzN3hBY3NXTDZRc1V4Q2JkemRDd0thZEM5bjY1VEtDUjEvTUtjZWQzZHRrVE5lTXN1Q05uWkxmcjdKMVZXaU93cm1qOXczTGtCTEtjM1hPT1RDVDZTVjJEbitlVCtPRjVaMDBCZ1p2WENuNit6SVNIQVVXZVVjbnlWbGdKeCs2UmtITGh6cUpSbVhRZTFaVms4YWduOHNlK1I2QllBNllCaE1tTzdsdFdwempteUpFMWZPSktRNVVhZHNOZzQ1ZjNMSExweERnNlZEdzNWQkQ0WTIxR0IwQ0ZEdjJaY2JoL3AvWWIwMGs3UEppTTdIYmMzSGI1SmREWEx6MllDdGZibCtCZ1lNVENuSklmOUZNSWtMU1BQVThacFFWVTFFUnhnaFU0cDUrTUtQZmVKR0dtMitoNHFWRktNNnVBdVQwN216UGZKKzJhSkNIVnI4SndIV0hua09PMnplazE3dVgzUUNoU1pKRktvbENsWUt5Q0s5dlMvSkl4TU54QjQ5R04xZXdmTzJYL09RSDFYejNwdThTanNZNDlxNTcyVlFRSjlMU1NLeTZqbmdodUZvbFZueVArZ2Q5TUE0c1FGVnBqMmlzcUxad2VUSTVkWktkUzdObWpZL1ZWUlp0RVcydi9XUEZBbHhoYm4zOElDNzlRUmhUd0k4ZVB4QmM0VlFzL0w5NHBOeXl5SmZya1laaEU3QUNsbFJZMytaalVWWEdYb1drNHZINGlOeHVTNmlsSDI4REJCWXl2QTBac1hQWGhXY213cHVOcEhWZ3dMaGJwZ21rSVNrcjlkUFNZUkp0RUp4NS9Gcitkdk5MNUdWSGliZXFhTHZoc3BZVXFLYmsrK2QreWl1THAyRllDb3BpNTlCMjIyZXhHQysvL0RJclY2Nm10Ym1TcTg3SzRPYXpzaWpxVUdsOEtFbDBnNFVWWWNpeXZPdWJWTFFKTWtvOEdENG5GVTBCUkF6d1FEQVpJNWlJSXZhWlROZ2UyclRKbU5VMUNGVkJQMkEya1NlZXdYbkMwVGhPUGc1dCt1UVVvWEQvSTdwdDI4anVZMm1oVFJxSFdqcUswTU4vUzVFSmE2a3drNHJyMUJQeG5Ic1d3ZnNlSVA3ZXgrbkhTQVJJdzBUM3VFa21rK3k4NG52Y2ZkY3RsUHpwUG02OTBZN04zM3JqVGRUZThpUHVlZndQMUZ6M1UrS1JLTHJYZzB5YXZkYTFWblhqOVV2ODJKeXIwZFRTdUhRb3pmQmpKT05VZDRCTGx5U1NPbU16dDFIbXFlTGYxWmZnVk9KOFk4eGZlSzN1WEo2b3VCcUhzZ3NubU5IVk9sb0M5ZERhWkFlSDhreEpuZ1FMd1ZoYWNXTHMxZlFxUUZKQ3pCS2NsaFBsYXF1SkR4NXU1YTRub3NRVG9HdVFOQVNHQ1NjZEpMbmx1OFY4WG40Vk4xZGRURFRoUmRYRFdMdlY3YzNJcXh6VzVlL3lzM1ltK2o4djN2SnlzaTY0bE0zTGw1S3AraWs4NStzMExueUo4TGF0Z3g2L1MyY1hkdC83bmdTOXFwUzRqQ3pVWVRobmxnU1B3NjdaVVJTWVA4NUxYb2JLeEFJSDcyME8weEF3S005eDROWUZrWVRzRjNZZXFmdFZCUGh6aTVoejByVk1PL1JjSEc0L3VPd21TNys2ZmpiZk9YOGl1cXFralpFY25Pb2I5OTRYLzlxdmFrK21mS0trNWFPMTNjZW9nbFB4RmpUVEh2OEMxWW9CeDZWMW5TL0NXVHpSVWtxbWF0dTZUN1NVY3BpM25iTWREWVByeUw2S1VLU2tNRGVEa3FKTUFxRVltN2QzQUpDZjdhR2tLQStEVGhwYlF3UEtyNkZna1NRVURodmJ5dlNKMmJ5eXJZM0Rpdk00WnZ3WXhvVGJlSGVKRDBVenUyTVNUbDJsSVpSa2JVT1FQRmVZeXBwNjVoUWZSR0ZlTVJOaURWdzVLeE1oVTduc0lrbFpxUTZGaDdJc2RoU3huUnJuWmNjSXhBMHFPK0ljbnNZQ1NSUGNoOFRKT0NtS21tUGpQWGszZHhKNjIwMXN2V05RdTZTNXpXTHRWcE9wNDFRbWxpbDBodXcvTUZPdVUzYkU5aUZpRG9FNkJEcklXd09wanNOZlFPSkxZYk5jZGpVNGtTQU5vM3N0bFpKaUhHZWVRdUxWdDJ4czhzeFRzVm83c0JxYmVxMWhpUmxPYTkvS2ZReGlXOWF1cStpcXhjeWlKbVlXTlZHUUVTYkRrZUR2eStaUzJaNkZZUTVNcUt1TVVQeHZUenN5S3lzTFJkRXdEQk5VQlZQM01QZXdBaHdPUWNXL0drQlZNWklHbVpsWldKYlJyKzFwMSt6WmEvL3Z6MDArMnRET2ZWZEZlZmVRZHI2MWFUeGJoSitLNWhwdVhYaC9xbUJlam9qYzBTd29DQXRjVXFCM0FERndoV0VVMExuYlIwclRJUGZBVXpnazUyd2lWYTE4K3RqOXhCLzRBOStzckVUZEMraEpFMElpNVM1dW91NENMY0EwTFlTaUlGSUoxeldXZzgvZHA1RVZYa2Zib3VrNE5RY1RDNnQ1dGY1dzJyV2tiUTBNZUhvVlZDVk9ka0Vib1JWYjhIaHFNRXRkV0NFM1dmNmQ2SG9DYVlraEpRVTNOVFZ4MjIyM3NVMklZYy9qcksrdFpWWjJEaUtaSUxKMkZWWTRqRjQwaWtSMUZSNS9OczZjUE9vN0d0TzZWMVZLQXBxRHMxZSt5TkxzRWw2YWNCeEVnblkyKys0alpKTDArRGhyMjF1Y3ZmSkZBZzVQbjBwNXNIVWp0VzVTMm9kYjhXaXNYOW5KTDI2Nkc0VEs1dFZCRkorenUxdmZZRTZGTGdUVGRGdVFyMHAxVzVqamNESk4xOUdGR05TVmV1RGtSNGQxYlo1OTB2NzV6VmcveFNKQ0VvakI3MDh4Nlp5dGNzdmY0WUp4a2xsUmcxK0ZRMlNxOUhES0JyTDJwWVNTYkJzUU15eUoxb2VGSmJBSmdUeE9sU09uK0hsbFdjdGVBSHNDYi81NElxVm5BT0ROSDUrMlV5S3dVTEFMdUUwbG56b0txVE1sYjIyTXc4WnFTcC9ZeUV6OVg4eWJtTUdoaDR4aCttRlRLRDN5VUNZVmxySWhYRVZJT0lnNDhzbHorYkJNWThTRnVCQW1Bb0VwSlZtWkRoNSs4SGdiTkgyL2dvNk9CSXBpQnpsMkJmMUJTb3VpSWp0cHI2RWhOQ0JaMDNDbjFoUjl2NnJQRHhFbXRDNHN3T3pVeUwrc0h0d3lQZUdWeXVGKzRLUkJNcFprSllncU9DVE5HMzArUFFjMm5qQjUrdVhObkhmcUJDTDZhZHoxaXNIUHovb254ZGw3bC93bEpZeksxNUhBaHUyMngxV2FvOXJQRFVGblN2dm8wdTRVclBBcFRBeWJoQndDUjJxYUVncGtKQ1RMZlFydFRvR3c5bTk2OUdYbjVQV3Yzb0N5bkRoM0Z0b2RiWDgySTUvcVVVNTdML2EzSVZQSkx1VWRnV0c5ejZyKzV0ZTBpRzNkUWVEOXhjUjNWTzR6Q2I4bU5LSm1sSFl6d05meUYzRE5wTXNSYmo5NXN3L3Nwai9MbTMwUUlpdVRhNTJYMHhDbzQ3MjJKWGhVRjI3VmpTSFRsRFVDckZhRjhFcytBZ0VuVnRvSGZHVFpyRlVCU1d5aS9kMzFjQkpCMGdRVURWVzFuUUhEcFpPMXZRWHZYUy93enlNdGtycmdxRTlWeW1yZEpOMDZZamRkSEE3SVZJR1liU0tNSzFlWU1FR0ZzeVhKS3FpN3g0TXpvUkJQQ09KdVNVdHRBMVdydzFSV1ZGQlpVY0VMTDc1aXI0L3VadUtFTWJ1cnhmL3VrU0lVYm1tTDBMS3RnM1ova0czSklFdVdnc2NIQzA0NmtIbUhsa0prU1NvQlR3NitzYkp6WWZhaEpLYk80ZzFmQm05czNKdWlqbGNHMUVRV1hrSytteEExMVRncnRwT2NlQVpHVGhtT0wxNG02MC9Yb0VvTGpBUzR2WGJCK0I1Qzh4Y1B2ZFduMEUwWUpxWWxlZktGejFFVVpjU1NtWWNNQ2prZGtPSGdpN0VlMWptejJHZHVqWC8wTjd1Sy9aL3VJSGZTWWFoNUIxRFoxRTZzWXlXSEhuczA3cUpEcUdyZmlWTnpJa1Q2WGVPNmxackRBUmRjWUJQVkJsT2haSjhQVGp2TmZpME41V2FsNnM2RmJ2OHVVN3BDT09DKzFmQktaU3BYdzZRN3Nic294VmZRRU8yL1NDOWl1SW1ZYmhUZEloak9vTHkwbGorVzNNcXBuNzVBOERtTEhRMTJzWGRlVVFlK0N4VmVQL3hpZmxYM1EzWXNLd2NOVkplSktkVWVVL0xkZDc3Yjd6YldFbkJPWFlBRFUzYlhsM1ZmOHNKN216QWNRNXRXSlVVbW5PbUFwK2JvTE1qYm5VeFlJandxMGFVaFduNWRpOWxoSUp4aWNKWk12eDhPT2dnOGV4QTllRHd3YTViOWV5Uml2MjgvamJSOGF5R3dQQTQrWGxySnhXZk00cHlMRHViakwzZUNoS05PbVVGdWxwdC9mcklOdkx0STlYNGY2ZnN3Wkg2cTA3VEp2YSs4clAzS1hUTXN1ck1JemZCZVlDRzdjNGdhRU4rb0ljMjlOOVl2ZnVUOFlmNlMvenVpKzhFNWZzendYbkNGSFVDekZBWE5OUEFiTVZyOStXVDk0aFp5L3VjaVltNEh2a2dNRk5GTmhqT1VKWXRjL1QrN3JaMENWanVhK2pSSjZTU1JLbDdYUkp5b0dRWGwrUUVJUGZkRTNYYjViVWx6K0x5MllOZ2cySkZFdUJRaWdTUmZMRzlGeVhaZ21SS2hKOWxZazhmUlA3bkUzc09LSGVXdWVxNE14NWdLc2c1ZWludk1UaXpBaWcvZW16dGp3ckYwK0I0Z0VXNURHcUM0czNHWGxWTnc0di9pbTM1NkQ1OSthT2ZNdmkvRjV5TlpWVVBEamQrajBoWENWSlMwQzE3MXNtSGV1S25jMzIyYjZ0Z09DRTBsTTh2TnhzMzFtS2JFNVhiZ2R1dXNXRmVMWVVuOEdTNmtKbGl6dG9wWU1rRjkyVm00SENxMUZURWlpVG9LOGp3a284bWVjMlJaS0I0UFpsTVQ0WTgvSnZzYmx5QTBEZE0wVUZVTmlXU3orUUp2R1grbnllaEVVMVFHczlLS3I3dDB3TmM5VThmam1UbysvWGxJRVFxL3NPcVRBVEVjZWJ6ZzlCMEJkTytwdkRuYTVMbW1qZEMwYWZCMUcyQjloUUJISWtGQnVKME9LMGt5bVNBcEZPUi9RSEd3d0hZam8xVmphS25aU1EzNVRBaVdJbG9tay9UVTRYSkgwMnVxa3hySC8rNFhmZGdNRnVHWW0yT21ydUhZMkVaZVhQc2xUajNDYVlFZ3YxaDBNUjlzbUlIWEZlc24rZWI2cjNCMkxDeGpsOTFwR1hGc1l5WTl0RnFSVU9mWGVIcHVGdTlPc1Vpc2VCYVdXejAzeGhDRHRoS0IxQVhSVjF3NEp5WHdIQmhCM1drUmY5RkJwTmxOUTBrUjIwckhzMm4wWkxhVmpxYytyNWlRTzZOYnoraEdFbDhrWW1NZVFvejRmbWk0UHFPM0NrSEJSNVI3aWgvbU5xN2tuNDVqQUVscG9vWGZiWHdFNjMyTEtySjZrZXZZbzdQZmZkeDlTMzFXSUlqZTcrdGpYSG4yZ1h1Y1hjR2FiWTBzWFYrTGxKTDhiQzhuSERvZXQwTkw2L3YvM2VhMncySFpUUUZNS1JGMGtmS0JKUVZ4dzBRSWdVTVJxUm9vaWVadzhFYU5vQ0twazhnNGlpMlJ3M0FvOFY2MDlPbkdFb1NRV0FuSnhQRnVwcm9iRU80Q2pFU2MzUGJQbVZoVXpKcHEyNmVSZzdoVXplRms5enc2Tlpzb05XRllCT0lteE0xQnQ4WDN0NzNkcDN6VXNWQ2s1S0tHNVlNV3F1MCtmai9pRW1Ca25QS0xibmdSOG4xY2RNbmgzSERNYUZ3cmxoTjY5eU5XdEZvODJKblB4VjkzTTlkams1Mi9zNkdkaFU5dTVDZFhITXkwR1JOb2ZmVWRaSFdVZDZJRnZGeGxJUnZhdTY5clNFR1dtdVNPbmROc3A5UlNNS1hHdklKV2JwdXhsZE11YXFMdE5kdEdldkM2dFp5NnM1RmZyWnZJa3FaY1VDeDBOVGxvMGNaK2dZcWt2UjluVG92UzRoTlVSWFNNVVpLa0p0SWlaQjB4ZlNuN1Y2UityeURiSjlpMHc4WkZzMzBDdjFla2hkM1ZubmRldnhJL3k1bEJvZFR4amJhTHhVdHJZc1RyS3FsYitOeWdnbmo3S1ZmYkRSK2lNWXArZkRWRnQxMk5GWXIwSmxKS05YbXEvZjdkUkZkdFJIRzdrSmJGLzVuUkpWQVNJTmVCbUNmaE1Kam9FZno4WEpWNVV4V3NtUDJlSTQ1UWNPZ3FXeXNzTm0yM2R2dHpPYWlmTGFTdFlaUVVVQlNJQkRrN2V3YTZxaE9PUlBCNVBHa1ZqNTg2cDRpRUtTbk9jcUVJd2VSUlBvNDlzQmlmU3llYU5Fa1lGa0tJSVJldnBhc3ZrQkowU1UxOUJtY1Z0TEE5RkNLK3M1Tkpib0dXR05NL1dVVWZrRzlXUmc3Yk43WlFJWE5wRDZxWXNTaitqR3lnZFI4RXN3U1hnL2VYVmpOblVpUHozSjM4WkswVEhMNjA0eUlDeUJacTl4SHF3dXdWZXZSNzJxdGhZdk45ZUZGWjNaSGdKVzhISlZkR2VPUUtRV0dlQ1ZFVlY4WTRjTXlnZ3Nrc0RtWHpkbTJFVDFxcXFleDRCUkp0b0EzZ3k1b21Tb2FQNEhPUG9XYmw0RDdzYUx1NDJyQ05zK1pidjBOczJlY28yVGtEenNkSXhYSy8vYStxQWVhOU53R09HTFNkZ1QyKzhZMDMrdmtlZ21UQ3BIUk1GamZNdE8vdC9yVU4xRlJzUW5lb2d5Wk5sMWo5eC9DU2dUQVZyNzVNaG03dml1RG1sNWdRaUtMTHdRT1k5ejU3LzMrWG5Iem1tZUc5M3N5Wlg5bFhtVExhaTkrcmNjbEpOZ25pcHNvd1UwYnZPME9VVUFTT3Q1ZGpIcVVRblRjVzcvdnJHSzRNSnJHWGFOcUk0VHQ5aklTWjVLMHRTMWhXdTVtT1dCQmQwVGkwYkRvNzJ1cjRvbm85QjR5YVJOeEk0QmpBUjdMQ1lZU203V2JzaWU2ZjBySndUSnVHSjJJVDdqaW1UVU5HbzZBb3ZjK3hFTWprcnZ0MTNQOUk3L01ySldZa2lqUk1Jbjk1Q2szN0QyU0xOMDI3U2sxVE1XcnFhZjN1SFFTZmY1Nk1zOCtpK08ybkFHaTUvdWRVSDNvaXZuUFBJZmVQdjBBckxlNzV0M3RpWkhzUUNlUFhlYXNqaThlM0Z2Qlp5RWNrbGJDOE9Pam44SXdnbHhjMGNjb3BIWnc4ZjJCaVlaR1MxMEduWUdtSmcxY251MWxlNmlTZVhBbnZyUmcrY2oveDN5VTZoUzR4cXh4WWJTcjZuQWlKcGJZZTBtZEhzRnBWekNvSFloQjJSTE9ISEpHZ3FKaG1GUHgra3ZFRUdaTW1vcVpJTXZYSmZrS2hFUGo5bUZSakthNVVVeGZSQno1cGtwUEtEVE5UUVNhM3NkdGpCeFE0N01kR2lwR3F4K3YwZmd6d1JjV25OSVVhdWVLd3EzaDk3U3RrT3QxRVhTYlpTWU92dlJiaWxNVUdub2dncURZT1NVSjJtWmRtUW1WQ1ZveTdSdFVUZXFlUzgzOGZwaldrSW9SZHdObkZGM3ZLOFU3dXZDaURzY3Y4Vk43bndFeElITDRVSkwvN2xPZm45NUpEc2VkZlJsMjFGcXVsQld0SEpSUVdwTC81YWdkdWZkU2lldmhiMWxGOHkxclBCL3BvSHNzNEVEUW5sWmthWjZwZXhxWTVIeDZoY0lLZXdhVVJsY1JkOTFHeGoyY2puZmdtS2R4SUdqQzJFRXBuT1lnR0hTZ0NTc3Fjak4wUTViT3RzZ2R1bEpRYWNhbjNNWDhDTU5scWxxR1I0QkI5TTJWS0MrdU1zVFNaZVFnUjMrZEUrT0h6RmUzYi9iaHBBNXNEdGJnVW5jNUVpS1RtWWsxN0JmUHpwdXlsQzJxaU9sUW1oai9oZnk1YWhkdGxGOS9lZXRFcVBnbC96SGIzVWNpRWllMkE5V09ubXVFUis5cFc2cnZMUGViQ01BR25pZG5zWXZYalhtcW54R2h0bFZSODdrSFJ3cXhjTEFpRkxGU0h4RVFpZDB2d3lqbnp1T0c5eVNmdlRtT2VKU3RXck9DMTExL0RORTNPUFBOTUZpeFlrQlpoZDBsa2VJbElhcnZzczJCeVJOWXNVRlU5SXRmTk9YUDhvRWVrUTBxRXlDR0xuRUhWZGR2TDJ3ZjlUSWNGeFRHSm1RTExpbU1TUjVvNW9zVzMzakI4WC83V0d3ZUZrdHd1aTVPUEM3TjJTejI2S3BreUlZSkMra1dvZHZYV2JyTW03SUNSc0NUR3hqQTVvOTJnQ2lLdjErSlRCWmFxcGQ2VGVyOEtKTVZYYWlOOW5DVzRZN3FEZUZJT3JlbjgyN3RQaFVScU9vMHRBb2ZWeEFYRnE3angwRFlPUCtwZ3dtVS81b3Z3Uk43NXFKRVBQM3VYNVJ2ckNIZkdiZXpTcWFGa09MdkN6ejFxSWF6UXJqMnFBTm1uUVA2M0liNERHbjhQa1JySW1HKy9KN1FGckg5QTRjMzJ2K1pIb1BQTlhibk1YZGNhY1gzVC9hdEVSNmNtVk1PUGwvMlk2NmZkeUFYakx1ekdZaDJLaytkMlBNdWZOL3lKcUJuRnFReFNFQzdBNk5DeHdpcTZOako0cmlJRVZqTEp4TUl5bnI3b0dweWFocGJDMWY1MjNsWEVEWU1ULy9vYlZ0WHVSTkVkYVRWQ3NHMkJHRHZOU2J4VkhlSHZSM1h5MEpJQXF6ZHNKV1lwek1rNWdKOGRBYzl2OWZOcHMwUm9CbFlhRENKQzdOSnhnMjNaUGQ4NzJOWGpVcUUyNmVFN3VWdjRJRlRFSitFQ1Bna1hBRkNrUlRuQzI4U3hHUTM4clcwQzdRNEg3WVY2bjhKdEtQVkJRb1ZRMk9DbnJSZHljZUVTRG1qMjg4dVdHY1FqQ1lTbTdCZHlzMGQrOHVidzRqWW43Ny96dHIvc1NhODNoOExjRUszdDJXVDU1bEF5Zml3K1h4N1JkSFI4ZEhlVTFONFZrZVJ1a2V5VXZhcUlvZWtEUjUyVC9NSVNqSVBQWmV6c3lXeDk4aUZ5Nnp0UW5SYXFLVkVWYWZlajM0c3BFMEtnYUJhSmppaWpwcFh4NjNObmNNclNqMm0rY3lGQktkRHpjMGkydHBFM2ZpS0pIMS9NclpPYWVIVFZBeEEzVUwxWk5wSHdIaDk2eFpFcDdFNlJFQzVsL1lkeExuUnZaL042eVlvVnNGN2tjSGw0S3B5c0Q5QlZmcmZ4MU1BdkcwMlZKQ3JYUXNwdlRsU3V4V2lxMkh0Q1lRbGJXNnBwRExXUzdmYWpLU3BUODhjUU54STROWjJ2YWxTMERrenVZaG91Q3JOT1FrcEJTOFJKZXlMT1Z6bEdMSi9la3NTV3JLVjUvVlphbkJrc0ZBV2hSdWVFTHpMMFpMT04ra29BRVJPcXRCREhJcTBrcEJqYXVnSzhpc1R0VkNqSXNRbUwzRTdWM3E5N2FhY3Bwc0F3dXludHV5OWpBQmdTaEdZVGtRMVIwQTlGeDVBeU95MURjTnhvZTUrK1Y1bEUwZVNBcWQxQ1Fydkw0amRIZEZMbk0vZXVmaVZWWTNYOGJRdjdGZDhLa0RRdGN2eHVYbi84ZHhSNUhDUk5hWlBrN2Q2MWNuZUZQNlprZjZPRDNiOXQ1U0NhS2xjVEhPOUFWWFB3Vm1XUWxBZnMxcnh1OE0zaTkvdUp4K01zWFdxVExHWm5aVkZjV01nTG16ZXp4b2p4TzE4eHMzMHVtamVyYkw3Q2gzOWVFbWVwaWJQVVFuSEwzam41bGdWYUhrcldjU1FiNnFuL3lmMjAvUFZSckZnY1o2NGZLZTJHNGdobFdPZkVNQXpHamhyTnhKS3hyTnU2Rm9jdkU5TTBhUXNIa2FsODJyNThpN1o3bnhnWlcxWlZTUm9HWHErWFlDQkFabVltclMxYnlBaFhrMnZXTXJGY2NtcE9GUnRiaXJtL1pSS0ptRW5BY3ZEWDJzbHNpZVJ3VnY3SHZKODRocEJlMEdPbkRpbnVMaXdhcTZjeEpYc0RqUjJMaVVTeW9PTndYbGg3QU5CVEx5b3FSSU9TTHphYTNIR0pvTDRORnE5SjdsTGErMkRyS0JKcS9TcVB6L1h3MXBRWWlSVlB3L0poTko0a2FFTHljWVZnM000SWlEaUdZZUdLUmdpUEViQng3ejhybVBUUkhNdnY4N1dFNWFBK1Vwd09iemZmdm12Sm9IYU9hZGhFcklvYTNDZHlMaUVFcXE0aGxQK3l3TWUrQWRHN2Zxb3FWaXdLV1g1Y280cFJUUXQxZENuRzU5dnRqUzRVRU5iUXJqdk00K254MSt5N0d0aHRpOHp1NTk0TmFmTHFtbzk0alk4eHBJbVVFSWlGVVJRRnI4T0ZhVmtrTFJPMzVpQVlEOXV4MGI0dXBVZ2ttUkNYbkRuN1M3NTMxRXQ0OUUzODlUTWZMKzh0a1RCZ0JWVXVPS1dkaStiVVUzRkxCY0ZYbW5EbDUxQnczRkZrSDMwY3ptT09oVlR0YWhUWTJsckx6cFpxdHJiV3NLbTFtcTB0TmV4c3I2YzIyRUk0R3VvOVI1MUpXTnBLN1pZS2Z2WDA2bjNPbFgrN2FsWXZmRUZUVEdabVYxSG9EdEFZOWJPMnZSekRVdE1rMTdVSmlqUCs4TXRkOWtXWGpiRXZlKy8xWjFOYklOVklYdmJXRjRaaElWSXg3TzZQVlNYTklaMnI3MXlEUU5MU2JpRWN2ZjMvTzdsN1dNL0RpeU50azZkeWo0U1V4T01HUVY4MjZvc0xXUlYzWXVwTzVyN3hFb0V6TGlPYU1GR1ErMXdUdjgvenNUWFl3MHFWVXVKd3VQaGlheVdkd1FCanh4eUdHVkVBUVViUkxBTFY3L0RhMnExWUV4TEU0OUhkYkowMEowcmE5YWRUY2tHazRpNVRjZ1ZPRmNMN2NHUXNLVmxlR1dWMHJvUFpaVFl4MVBLS0tNc3JvL3ZVeUJRQnlYWUZJeWh3bDl0RnMwYlFRYkk5dmIwaEFZZG0wTjVlaEpMUlRIenN1N1JPMnNvdi9CbmNsTzFDUWJJM2xUV1dnS3lBNElGTDQ3eDNwaFBYMmdrMlQ0SG9iY0hMM1RBWDBTK2taTmYzYmFvTURqd2RhZ21aT1FmWnVaeWllTkQzZDk5djVHMGl0ZHNZYTA2alJBdlRFWTdUVVBFdXZ1bFp0S2tUdVRualJON1B5c0hsMU5NN0V2VjM5STBScVZxZnY2ZjcrdTQ2VFRFVExKcDJQa2tjWExiNk1XU2REcGE5V2k1UGtydzhINk5HbGRqMmxDS1FDWWxTcVdPKzhpNGZ6ajZIaW5rM2NmRWI5NkxLOVAzWXJqaTJsRkRYNmVLVmpVV2N2U0RFUEc4N2htRmdaRVI0K1l0aTZnS3VIazEvaHNUUkpFSFJCVHRiRXZ6dFY4Y2dnTHBBRE1VcDBvS2gvcE5IeHJ4QVQvOVoyc2k4cVFqbWpFL1NWaFlla2wvLzlnamY3eGwvT21NUUFaTGM3YlF1dEF2N2h5SzhqQVJqUjVkVDRLL2lpc3VlNGZxdnI0WTRFQU9udTZkdnBpSWhBVWNkWE1WdnJsN0VyWC8rR3BZM2h0Q05IdklpRW9rUUMyemhGeGRtYy81WUg3d0dqZXVTV0dFR0wxZ2F4TXdjbXkyWnV5SkNuUldqc05qaWZoYzJwaXNVTzNmdS8zVS9HUjVYMXJSUVZBMlo1V2ZIais3aWhoOWVRL256ei9PTlN5N0JpTVc0LzdkM1UzbFpMWDkvK285RXIvMFp3WVltSE5tWnlHUlBEaDJIdExCTTIrNFR1MHIyc1NURXpWU2RtQXFoWkFhcU1Oa1Jtc2kyMEdRbStUWXl4YitlcDZ1dVJFcUJwaGc5OG1tZTRlODlsR2dYZGMvdStzdUp3U2c2aDZRN3U3Wm55QlJrNlJZL0xteG4rcFltN3ZoREo0dVcyUi9TUlNiczBpVS8rYWJDL0l1TzRPN29kM2xyKzZHZ0psRDBHT1lldFovUG5IZkhzSzdQekQvWlA2L3JUNThDcGNDZmRaM3M3QnhXL1B2ZnlMbHorWW1pVU1QZ0ZaK082b0VKa0pPcGY4T0JJaHFtYmVhT3lYV1E3MVBaMHBSZzNsZzNiV0VEbDY0Z0JDbjhjLy9mNzBjcm0zYnBlNUdWcWgxb1FVcUp5NkdpYTEwNXZFTVRhdGZYLzJuL283V21TVTRXSEgzMEdXeDQ3MWRzV0ZmUFVUZjlFYWQwRFBsYXJZWmpLRlo5djhPcGE1UVUrR2hvQ1ZIZDJObDl4dHNDVWNvS015a3A4TkVSaUJFM3pMM0cvcnR6LzZSRUNvVXNiNURqaXd2SkRDd2gwZlFSSitZVzhpOTNBSlJNcE56MU9RNU5wVFRidzBjN1d2akJnakdFMjdKWjAxRFBnY2VjVDA1OEVSMVpXekZEZGp4Y3kyZ2pwMnd5eXRneldmYnVGbENhT0haSzhaRG1KMW1wMGZxZ0h6WFhJdU5rbTdjdHVzeEo2NE4rekNaMTBNazJUSGo4bFRpMy9JK0xaeGNsMkZoaGNldVZidWFPbHJ5OUVzNTZOUWNPTEFXZnRrc2dEempzRHFXaUt6NjJaeTdkUG1KUzFuNU85aG1mMjhhUlk2cVlNNnFCUEc4RVN3cW1GclJ3MXJUTnZMWnhFdFdkZmd6cnEybVlJWVRBc2l4TTB5UVFDT0IwT05EZERuS05PbjZaK3dUaVk0RkFNRFBMSURkV1RpZ3hrVWc0UkNLWklDY25COHV5YkR4aXIrTTRJMnMzSlZXYmQ5Wkt1VlNXbXBMSnUvdWp1bzU3Mmt3YTY2dloyZlkwNDdJZnBlaTJTSGR6bktFT1RmYmhiTy81V0VwQXNRakh2UHh4WVFzT1Nvbkhkb0NpNEhXN0NKc09VRncydSthQTh5Z3hwVTVIMjJqcUhGbkVNdXBBR0xTRVMvQzB4U21VMjd1TDVOUEhpaVNKUklMaFRyVTBUWlBjM0J3S3lrcG9YL2dNY3V4NEhPVmpjRTZZUkdUdEt0cisrUVNGMTExRXJpdU1hUmxwSFhRaEJJYnU0cWJQLzhtMGsrZWpUSnlHak81V21HdFpDTGNIYSt0V1RuanFueGk2YTFmMzFEVFdxUThjYlpjZ3NTU0t6OG5tRFRiWlp6cGt3cnNQSGNGc3B4T0JvQXQybnFvN21PVjBvS2NocEJ6S3lKRFUxc3ArRWhNVW1EUVdmdjRYdU80Q2t6dHV0SDM5cDErSEFBa0NhUUxmRW9tdUNxcGI0MFFUSm02SGFzK2JFTjA1bldLMzllMFNHS3JTZDZIdTBvclF3SExHS3NRby93NEF6WkVzcUF5bFhYUnJkclVWTncwRXFjNFNRc0VVMmRTUVIwMVM4dWFHT0d5b292VHhqVXpYL3MzODZjVWNNbThzNDJjVlVwZ1RncHdBaW5jWDZacU14VWJHZVpLa0lEdEJJSkRnbW12ZUFTQVFTQUNpMTk1VUZJRnBKbG13d0daTGV1NjVOU2lLQzlQcytUNWRTWXpJL2Y0aWNWcXZDZmM2NGx3NTh5TmNIeWRJU0VqTU5mbkwxbU5vQ3Z2VGtHTTJJN2FwcEt0OGhuOGtESXRYM3QzSm9YT0xtRG5wQW01L1FmTERyejAvWkJuY05kdzZUQ2pXV2JMT3psNDdlcm9mOTE3a09JbVVFWFhuV0Nmek8weEtZeGFKVk51K2pJU2t4cVZ3MTFqbnJ2ZnVSeHRwUTdZMjRGckZIUmEvcXJFVFRiWTVkSGJrNkdrSm1yKys4UDZ3M3VkSi9kMmhwdUpiY0RocVZpWk5mMzZVenJmZlQwVUJoelpVb1dKSms1WkVHK1BjcGR3NjVWb3VLRDhkV2dJMFBmNDQwNis0R0Z5MkF6VDk1TE5wZXVoeHBwOTNEczhmK1ZlZXEzcVYzMjU2a08zUmFyTDFUQlNSWG5HbVRBck1HaFd6VlJzQ29mRCtjQnpsQUtkMk40OUFTaFJONDZUbUhJNTUzdTVjNHBRUTBXUXZVRzczMms0TGlNVWtNaXFSSGFDNm9laXVNRVpFa0ttQTdwWDhBeDhkYlJsc3I3Wll2OGxrelRxRDFSc1RyRjRYWmVQR2pidUFSM080alhkNzc4VGl5UkdhVzRoSndYZlhUZVN4MmtMK09HVUhSL3M2T2VmSUNuNytKT2k2QjYvWFFORUVIWjN3NXF0YitNTjVuNE1MUHFyeGM5T21jYXh1OTRPZXRMSHMzUy91eTRScGMySFdJWkNUanlVRU1WTU9vOHhOUWJKbUswbkhrUmlNSXFQcUE5d2Z2VXpHVTcrZytkb0hNZHVhTUE4NWhhUUUxNHBGb0RuNkRHais3elc5TTZRTkJDKyt0NGExVzJ1NTdJeDVUQ3JOVFp2QTVZZmZzVWtLYnJ2bnI4TzZYamRlYW9QeGp2dzhMTlZDYW5wS3h3M3ZnWlVTVUJXMk53YkF5cU91cllwUXVJWlY5V3Y0ZklPQ0tuSTQxRnJPb1RLWGprUVlERGM3R21wQVZZZWVJSitUQTVkZEJoVVZ0cDAvZXZUUTc1ZmVacndFRkFmc0RIUkhEMnl5M1FRc1NGV0pQcmNGRk9ldXBJQnVleWlWTEdERkZmUk1rK3RuUDh5M2EvNk0rMWVOMUt6T0lpbDF2TzRJUlNlRzJIak93ZnphdkpXM1Z4NERCcWhPRTBzcU5wbndIbU5yMjliK2JYaERFRWk0RWRoS1BaQUlzcjI5aVlTVy9vUXFxZUlkanc2UHo5WTV1YkEzbVhCc1RaaVdYMVpqTkNjUnJqVEloRzNERVpZdHM0bWZOUTBtVExESmhDTVIyTGJOSmtrSmhlejM3YThBUVZxK3RVUlJGY0tkVVo1L2N6MXpweFZ6NWdsMlM3WEs2alkrL0h3NzRjNG9pbHZ2bm9hSlZ0K2R5YXhPU0hiSWtjRXBCSmdoUWRPVHR0MWxoZmE5RUUzdW8wdTRycmFBLzZZeDhmbmhiYXJEV0xzb3dXc2xDQ3NPSHZBZHdqTjU4ekRlMUxHZStUdlN0UGFtNVhIMzhQemwwVjA3VlRpUndWZUlxb2ZoY0JhZ0tWRU15MDBpM29UYi9CemhPd05rZkdBNVA4NjJpMCtmdjMxWXArSFZGRmVyVUFWU0ZXZ1NydjNXUkI1OXZwSmdJR2svTHdXS0k0bDBwdVR1YnZuUWlZcXhORldPd1RXNkF0K0J5M0NOcnV5ZnZTMlZESzJOUG9xc1MxN0FFNjRrMHJLTmpNbW40aXFhZ2VLd0NTQTZBKzA0blM1Y1RuZjZzaEZKVWlpWVF1SG8xdTNjVlA4bGs4Sk5SSXloTFdEUkE4TzhjVlB4OWZFVEN1Z0l4U25OeXlBVVRlRDN1NG5Ha3hSbWVZakVEVEo4THJzL2c4ZEozTFFJZXFQbzNpektMQVVwZERxaStZenptRWloa0VpYWU0Smp0a2wyMWhsNGpweVBVbEtjc29NMWxyV3Q1cGNiN3VmTnVnL1FGUVZkVVltbkVWQ3FmK0FmZlFwbDM2R3p5VGhvSnBHTjIrbjhZSW10a0lZaXk5UUIvQlZMa0NpVWJLTVRjc2VSek9xMHlZVFZ3WDJjbWx2dkd0RGdjYzJleWpFbm5VVlNLTHo2YVJYTE5uMkdzZy9KK1p2OTBPYUVZK3ZncGNrSy9vdStSdkY1RHRTaTNMVHd6RzZpRFNIQWxGaVpDdmxUVGVxWHJTSDA2UmY0NWsvRlVuUXdvelpCUUpxNHdzNzJyTjVuUTdFd294NXFnOW1VbFFlWnRuWWJobUdSTjZ1TnV0b3M2dHR5VUQwUnJBR0NFNWRmZnZtd0hvc25uckFMRWdidWxDM1IvVk5JR25iQnRNTS9oWGc4a1pZOWJBbFlXZUxtMFlPeVdEWEtiZU5seHI3alc2cHBvbHRKTEJTQ216UFlHaDdQdHNJSmJENThFanNtaktNK3A2Z1hnYkFudmh1QnNCQllvbmZ5M2tqdEJ5V3I5L3RVVENJNE9TeXdnWDh2djRPVmZydVVabTduTnZMTlRrSlpMaHlZZmF1KzVyNndlVWs4cWJOby9YVHlmVUdxMjdOVFFWUFIvYnFVa254dmlFWHJweE5QNmdpbGI5clVoMjc5Mmg1N1YrSGVmM3pHMHZXMVlFbkdGR2Z5dXh0T29DREhtMVl5enQ5LzFyV1RSQytjbVc0TXVuZkRBQ0ZBdHlSckp4MkVVQlNjeVZpZkJORHB4aEtrQkp3S3EzWUV1Zm9SRFpmV2lSR1BZYWhsQkdJU05DdXQ1RGV4bXk4d3ZkQ0RCRmJYaGRKT25MdDNRaC9vbG1WeVN2TjZwb1ViK1ZmaFhDcThlZWszc2RtNGVFVHRQa1dNVElMeU5kOC9nYXZQbnNtYzFoMkUvdlVvNzFWRmVDcGF3Q3RWSnVIcVdzNDhjVnEzR0E4SEl6ejcxNDk1NmRXVlhIemhvVngzMlpXYzA3cWRrOTc1bU1YWmNaNmJXc1JqVC9lMFJVZ3FFSVBaQlIzY01tTWJGNDZwUXlnV1JsZ2o3eXhiNWhtZGdqUEs2am05cEpGbkswYngyM1VUV04yVUJVS2hWM25DdmZmMjNKeGRUQTcySVlFbFMrQlpPeG1lQ3krRWVmTjZ2dDY5Q2J2QWhodlRteWkveEg5VmpDa3l4bTA1Y1prZHl1U3RPcThJR2NxQXpWZGNweC9mOHdrTlpJMUVKZ1RTdERBMmJrWWFOaGxVNHVWSmFGTW5JMVFGSEJMSFBFR3ZSdTFQYnhnVWcxTUU1T1JwbkhlcUI1SDZQWWxLUEExZlNWVjgvZnFoUnR6RUpJNXFnU3NJa2FSTnZxUXFBelRZc1d6aTlmajJhbEFVekZpUStQWnF0UHdjeU0vcDgwK01wbGFpS3plUXFLeERETkp3Nlpvclp3enJlZmpkeVBhRDZRbDVOZ0pMZ1FsdzZBa0tCNDVXTUNLeU8xSGNDa25temxBNGRLNWlFd29Qa2tOZzR6NlM2Wk1MK1BNbFk3cEFkZ1Iycm1tN3BZQmxrWWZBcjZZbjJWNitaWDZQeDFjY1BZWXJqaDZ6OXhEQTdVUFRGMTNrQlZHeThUbGR0RGJONGNzdEdVeWM5QVp0NXRSVVlWZDZocmZUNFdiNnRFT0pKaU5rWk9iaGQyZmhkbmlRYVJNS3kxUkMzeDV4UldrU2NuaDU0WlVPQkJwTmlnODFaVGVJSHI0WldQM1FsY2tSMkY1Q0NMSlVqY2F3d2FPeFJnSUwycmp4ZXAyRERpNENjenhSWnJEUk81YjNPNTI4MDlMSzB0YnR0SWZyd1l5a0V0V2RLSzVNSkFNWGJLT3F5R2lNenNjZndqRjVCbG5YL0lCa3hYWWMwMmZqT3ZRb1lxdVdEdW9MakZRc055YUhncTZsdnhMWjJmMTNQUmRDRU95TWNldjd0dC91MTJNVUZBNXNwMFdqWGV2Vy96eXBTY25CUzhJOWl0UGxibzJlQmhyR2ZtandPNnhqeGd6K3I0eE5sV0VDWVlPbjM2NjM5M1RZWUZObG1Ga1RmUHNPcVJvRzFwY3JVWHh1aEprK25wb3crL2MzTmFla2RJeUhlTXBQTEJ2alFYT2FKTktJOFk0VXZoT0pSUGF3L3dVSnk2RFVrMHZ4K0htb2lvS21hR1E0YkI5M2NsWUpYdDJORlRlSUd0RitTN3NhcjdnQ0pUczdSWUJLRDBMaExydER1RndnQkowUFBiVEw1dHlEZkJnaGtNRmRSVmlKRzc3ZDY3UGNxa0I3K3oyU1czYmd1ZndDd2o0L2xwa215Y2UzM2gxaGU4U3l2NHVxZ2lYcCtOM0R0UDNzWHJReHBaUzg4d0x1NDQvWWhRMis4QWpSZHkraitkcWZValh1U0hMdXVKbXNIMTFqLzYxcDlwRDFweTJBODArRVU0NEFmRHB2ZEdUeDVKYmRpSVNGN1BiaEk1YkN1NTFaZkJieWNWaEdrTXZ6bXpuNTVIWk9uSi9rcmNYd3IwWHcya2U3L0wrQVUySFpLSjNYcHJoWk9zcEJ5SmtLemlhSE4zOUh6ODNDTzIwOHdUV2IrM3pkTzIwOGVtN1d3UHBpMU9nK05ZMkNSTmMwVHEzYWllNjA0eUtuSWlndkg0dkxzSnYvOUxrOTZpcjdWMmtLRUZlSVBwbUgreHN0aUs3WVdxWWsrbFNlM1ZGYkd6akc0KzlCTVNVUXBpU3BxNVErOGpQMFhEOWpjdk5wYm10RENFRmVkallWcmMwVVBmSXpFa2RkZ3A0TXA2eWMzaC9nOXpqeGVlMEcyUjFCT3k4c3kyZnIwcUU4bGhLQzRWMHl6TFFNdnZmOGRWeDYwSlhNS1ozR0Y3VmZNbjI3ajYrL2s2Uzgxa0hJN2FRelI2QmFhY3JJY0dYcVdOaHZ2bXgwTzFja0szbjJ0NDFVbTZkd3dwbTVMUG4wUFhaV1ZHT1lnZ3d2L1BnYUQxZE56Q1Q4cUlkdFMxVTBqMFJ6OTkwajhYdnp2OU9IRFdUWjU3QlFJSW9WaGdRb3IvcTBUenZrazA4V00zNzhHRTZaVzh4M1MyYndqZGJ4NEhXZ1cwbVNvVTZjQlhsa3p6dUlxcXBLcXFwcU9PS0krZjNpTFJOVUo1ZTZzamxlejhBckZDekQyT2RDc0hUaW0zUzU3RzU0K25PTnA1ZVlIREsxR2tYQUZ4c0VXQnE0WlkrVWgwd1JwVmh0bzc4U0hJR0JnY2JueVJtcHhoM0tQcEVKSjVJR2l6N2R5Rm5IejZHc0tCdUE2b1oyRm4yNmtVUXlqZHplUFhJdTdLWWlDaDN4SURzQzlSeVNOWjczRzFZenlwbkp2UHlwdEVVN2FZc0d5SEg1a0trQ3I3VHNCU1JKVkFxSmNHcnVyM0I3SE1RU2RqNWFRYjZEVTkyL1prWGtJQnJ4b0NQN25ZOFJLeXFRNEFRaVNMUXVLRmdCSXlhWWRYcVllTmhCWjRVTHQ4c2kyYW14L2tVSFdYa21nUnFOdGYvS3hJemFoVXl6endyanpkMWxQelMvT01MNnM0L1IxdHJHVTA4OGlabXdiZTlubnY0bk02Wk5KNjhnZjlDL3ZXZGwrN0RleTBXcG42ZTgyemdpMzFVb0kxUFFrWDNXaE9GZGs1ZlRpeHY3REZqUUlydC9UM2NVM2JML0NJVzd6b3Vtd055cHU5aHJyWFNUV1JNV0VnTml2U1d2YklnQWt2RERZVHQwYjNVVmhvcWVYWTZTd3I1RzRxc2owT2pRQmV1OWduaFMyYnQ4RXFsZ3hjR2x0SFBPK0FxdU85cGk2cXlqMk1CaC9IQ2R4b2VQVmJCbTB6SVN3Wmh0NDdwMGxFeVhUZlFyNmJjR29pdU1sWGtNNU44RWpoSm91QXZhWHJKdlV3VjhLWjd6NXNjZ1VRTlZOMFBPV1REcVRzajdEalRmQjhFUDJDK0VyRkZINzIrZ0NoZHRWcFRmYmZralIrVFBwOXh2WTMrMWdRcCt0K1dQUkxVNGJvZUx5RUNOb0FYRTFtYVEyTzdCaWd0VW40blI2SUJoRmhrU1FGR3A3bXpqeGZYTE9HbmlUTlkwMkVUbnM0cktlR3ZyV3FvNzIwQlJoMWlzTEpBaytQbFNuZlo0aE5OeTY5a1IwL0VpT1NDM2l2dVdsL1BBR2tlcUVxci9EWGpON2E5WmdLSW9ndUo4SDVQRzVOTGNIbWJqdG1ZTXc2SWcxOHNkTjlrYjR1ZjN2VWRUV3hoTlZTZ3A5RE8rUEllR2xoQ2JkN1IwRWFrTStCV1dSM01aSHdyeG5kd3RYSm16alpxa0I0QlNQWUl1TEI1dW5jVHlhQzY5cXczVHQ4MTJZYlFncFVBb0pqdWJGSDdadGlERnJoMURhUHRuN3dKTUh0MDY4aDhpZWoveFJjMDZKdVNXTXF0d1BLc2F0dlltdXVsblN5UWMrMTlXT2h4ZUpveWFSSUUzQjJsSi9ObjVhR2FhdG1NZmZ2VndZTm5WN1pMc2dnQVhGaTRsMXY0ZUd4c2J5QTRVOEVWT2twK2JIVlRxWGp3T0grbHFtRmlrSVFWTEs1aXhCS1loT2VQY2VkdzUyVW5ld3c5UzgrbHExSndzaEpGRXRuVlNkdDRaZkhIZDRkemFzWWdOWHl4SE9IMElwMjZUQ2ZjVlowbklYVjlVTTNta2JUeVAxQlRDd1NHdXJuYUFJd3M4b01iTXRQeUp3YjZYSTM4MHp2S1p4RHJzSW5sbitRd2MrYVAzYVIvTUs1dkIrTnhTVnRadEptRW1PVzNLa2VpcXh1cjZyVitaSGovbTN2VnBSalpnS01wanBPb0tSaXFmZm5mWm1tM0dtR3UwNlAvd2pLMThQSGZtYjNBWDFtSEc3R1JFTXdwR3FHODJGaUhZWE5IS0RiOThBd2xzcm1qWnQwSnlrVWFOeWdqNC83dnJtTjBCZ1YwbVYvcTV5aWFTcE5nM1piU2paWkRhUzhNa1pFblVrbUtVREFjT3Z1SitaSHRnOXQzNTRwckdVdlZjVmdYamlNMENYUm9Fb25NNFVydUFDVUxGU2pVWEgramVWVlhsc2NjZTR5OS8rUXR2djIxVE5CMTYyR0hjZlBQTm5IN3FxV3hMeHJtZ3M0cWZ1QXU0eEpORnlHVVJXS1BobjJZU3IxWjNkVXpkL1VPc0pWalJVcHIvOWk2Tjk5NVB2TG9HTFNjSHplVkNwakI2c1EvN3JjOGRxT3Q4dHRZbWJMM2pmMzdJK1QrN2trUm5HMmc2SkpPNC9kbFlRaEJQSm5yakxDTmszSWg0QWxVSUxOUENLY0VJaDNBNFhJU3p4akV1Vk1Fa1Z4Vnp5OXJwM0tyemJ2MVVHcUorQ3JWbXlsek5YRGxyRGFhYXhTZjFaNUZVTTNwb21LSEUzZEZOMWxiN1NES2FqQ2FkYU5oRHB1Rkh3NHVobWoyTEpsTzRjemd1T2VQMk1HNDNPTndDZ2haR3hHTGVIQTgvbTF2SjE1b0RXT3JQU1NnT25BT3Q0YlhYMnR0QndMSVNCNDhjNUdYRktJY2RpVGFHejllVUV0QmdReE1jTVUraGVrb05DNTY5aDNBU2drZlg0WjR0OGY0NnRTWnk2REt6TlpiTGE1V25jWEQrVWp4YXp4aldxcFk1Zk5vd1A2MUxQZmxXeFJDTTAvUnZWQWp4L3lQVzRBSGcvcGh0MjZxS1FNYVN4RHVDYUlZZ0dZMWhKcE1vbG9JVmlHQkdZa1EwRlROTm5lNGFabGFKcmtyNjZjNU4rMGw5V0RRRjIreTRYcGM5ck5peGlVUTBaQWMzVkkyb290cGt5LzJkczZTRDAyYmFSTUpPZFJPUGZlSGoxZlZqTUMxQjFsNFFDWGVOc2VPaS9HYkNCanB2YjBWUHpHVFVYZk14NWgxQTI2aDhWaHRodGphdForT3JMN0sxc1lLS2pnYnFRdTJFWXlFN0IxcW1pT2xWYmRlLzNlVlpkUVMrYUlhYUNJYnNuWXEzTitPU0QyL1lRLzRLL0hxVUJ3NS9sRlBMVjdLOFpUelhmZlkvQkpMdU5BbUZyN0wzN2NSeEl3WEhEL3hZOW40c0hJS1dOcnZoWUY5a3dyYWtHaG1PaFpHeXljT3FBNUFvcW80Uk5uaHN3anorZG13dUg0YThXRUxoaUtOdndWODZubzV0U1RTSEs2VnhCMitCRTBtT0RHNzZqNDBkZXl5TWhkQzlKRUp1a20xSkp0UXVJK1pMb2lqUTJybVJ5ZzZKTW1ZaWoyOElZc1ZEdS9oa2hyaFhNblhCVHcrMUgyZnF3Mk9sV1phZE4vL2hwbEJxajhtMGVXZmtBRGtybGdHeE9rbnJCN2JjaXRWSnpLaVZucHRrT0pGcUhEbHhFZkd4SDRHcmsvcVFBNnVqRldVZnZyVS9KUGpUSlVuK2VIRVNWN01YS2ZiSUQ1RjlxSHc1T0NoejBlMWZER0lIZ01DZCtvanRTTGt0cmZ1Tm1NVmtaYjdEd2UxeG9sc0xPWXlkNUJSYmZMNDZ3YlUvZlpSVnE2c2dNenVWVzVMK1BPeVo3NE8wK09hczFObE9ta1NNSWI3ZTdiU0FNQVJsR3pZamhVS29XdUZrbHdPSFpyRncxUW82SmVoU2N0ZHZmOE1oOCtmVFZsZkh4bHUrVDlQZkg4ZnRkRk84c1FLbEpvNmFrS0NMOU9WazZuOTJpYkxDeDVWRkhOemhRM3l5QkV0SzZvTlpmTFRUQkNIdE9wRzk5STh0YWRObzFhZm1UM0VwWHpXMytiQ004cDl1NzlmbXZVNFZmRXNkbWhtYmwvcnBUT1hjRFBmNGZPZm5JemdiRm1odTZuWit3UDNYdk0yY2NhMXMySlNMSXV6bWE3dDZDVWgyTC9NUlRmQ040MWRpbVBEb2U3UFpVYjhyLzE1VEJmTW51ZmpSWWRuTWJYWVMrY1RDREtVMjdMN0dhU1IwU2tIRk9BY0JWU2NxWXFoSkNRNlJnbStHejRjMk5tekcrYlVUU1M1YlJYTEZhanlYWDRRNmJqVG05Z3FNOVp1LytvMHNGSXd0T3pCcjZuQ2ZlaEt4ZDk3SGJHNUZxQ3JTTW9tOXNZakVKNTloTnJXazZvVDNZbTZrUkVqUWkvTFo4ZHNIT09PS0MvandsVmM1NThwdjBsUmR3eXRQUGMwSlZaVXNmT0JPOG05L2dNYmxxM0VWNWlPVHlWNXlwaTlkS0ZKWVlGTHFIRk93aVBXQjJaUzdLeWozVlBCUjgzRzB4UE9KR0I0Y1NxS1hEVHVEdXIyeU93YzlFUkpDbG1DK1A4NzNYQzFzV2RqTWVROUZhQTFJTkJWTVM1QTA0TUNKa3YvOVhqYTFzeS9sNnpWWDBoTEpSOUVpU0FTVzdMM1JaK1JWak1nMnFIRDAvNzBiR3FwNDRxbS9jOXh4eDVHNTRIQ2VmZTk5bHRWWEV0Y0hnSEJUNXJRWVJKNE5sN092S0xidFd0T2VZRmFKbTBVYlFwaVc1TFcxUVJJbUhEcld6WWI2R05Ha3hLbUpmbUd5a2JyZm83K3hhRGQ4ZUhjU1Z0RlZiTEIzT0lGei94S2ZTMENvTG9JZE8yaXAreHRLV0NITE00OTFTeGVUblZ2Q3VIRVQwN3JPb1JrZFhKcGJTNmRwKzdpWDV0WnlhRVpIV24rcjd4bWhrcERuZDZNcGtzYW1EalRSODhRMk5uVlFsT2NteisrZ3FUWGNheEdUUTdTWkpBTGhTUExxSjJXOHU2cVlveWZhemJNZjJGeEVPT0JBZU9MZE5iWmRZM0pCQmlkTnlxYzhONHV4eFdOWSt0bUxmTG51UFNhWnk5RkdSWW50dE4vdkhOVklJaElpMm5ZUWZrMXkzT3d4bE9mNmFPeU1NRG9yZmR0QXhnU29rdmlXRkZtZEt1M25oakQrL0Z5Q3kwNTE4TlJ0VHQ1ZGJYSHBoaHlTaDVUREdkbG8wa0ttbVN0dTdubDZCdnNiSWJCcTYwbTgvQWFPVTA4RUFZbVgzOENxclIreGhsaER3V2RkbXNGaDVUWGRaTUlBaXBETUgxTk5oalBPSTBzT29qWHM2WmR6c0pjdk1hejNKMUVVaFpLU0V1THhPRVlpUVd0bkFIOUhBMGROMllUaEVrZ2hjQVlUeUk1NldqdUwwTEh3ZXIyVWxKU2dLRW9xMTNQWFBLdUtqWVZKNFB6RFZINThSU1p2T3NadytlcFNFcFlDOFNBVFNzWnkvZnl2NFhkNE1lWEEyWmpmK3QzZXQ4L29Tcy92bXRvdWQzVDNxVFlOazArV2Y4b3o3LzZVMHJ6RitEUDJUVVpxUTdwQklaRkNFQmNtU29hdFZjTldBcUhhZ2o2ZFd4Rklaa3g5QTkwNWkrcmFnNUJSaXpIVGxqSnE0bmJpRy9XOTBoWERmV3lFRUJpV3hiWnQyeENqQ2xEekN6QXNrMlJ6RTBackM4THJRUjg5QmhJSnRvYXJNU3dUb2VtREptZ0xLVWxxT2xuQk5xNy80RzhVWC90WUgzY3ZxZi9MTFRRRzIwajZmQWpUSEQ1WHhwSW9iclg3OTZFb1JwK2lZQ0labzJ1c1RMR25qOUUxTWhXRmRQcXhqWlFxRi8wQUxKWUpaeDlwY3hpMWRNRFVzYkN6RmlJcFZMOC9jNzh2MEZWWEJhK3ZiT1dJS1ptY09Dc2JwWjhxOUs1blA5blVRU3hwNFhVcXZVZ1NubC9STXFpQzJIV2w5cjBPZWtxRVRVSW5iVFVsTUZJRXd5cW1ra09OektQR2dMZFhoMkgxYXNxSk1jdnhFdk1uZVRoeTNxN3UyWkU3N2hseHhXTlpnaGRmM05odEF2V3BhRTI3LzhsenozVzl6OW1yQUJYZ2lySDNEZXU5ZFptMjkzOSt5aDRUTE1qMEJEbTVkQTBUWk13dXNvbDRlWHpsQW5hMEZObU1WUU9PSi84andKNVFLTUhxamMwb0FzYVduY3NqSHlxMEJQYXVHN1lpNE56ak1naW1FcFRQUFM2RHhGNklMMHVBWXNKNm44TEpjejM4YkdlY0E0SjJ4R3FGVCtQT3NVN1creFFVay8xUExEdElrWE5sM01IT3VLTmJ4cVFyK1VaMzdCK2lRMmtZZEw3NUhrMFBQVTUwN2FhOUloTUc2RWdHY0NrT2JoeDNPVCtjZVJOK2RGcWVYa2p0SGZjUzM3S1Z4ajg4Z3Y4WXU1QXg4TUZpb2x1M1V2K0hoeW41K2ZlNTROTHpPYVg4Rk81WiswZitYdmt2b2xZNGZWbXZwUDc5bDRiU3BaUUVOYlA3OWhNTUxpcFN2UEE5OXFDTUNqdUdLaUVaRkNTRUpNTUxCODFTT2VoZ0RZUVRJK0tocGRsaWM0WEYwV2ZZZXVlR2o4cUhHMTRCNEdmM3Z6dWl4MDF6SmxnZDhITE0wcGxjMzFEUEgrZHU1N0ViWHVLYjk1NUdMT1lFUmVET1Z2bkxqUzh4dnJ5T0c1ZU41LzVxdTRPMDVreGd5RDFzbEhGVDRLQWpZUFFFVUhVN1FEMnNDVVlDckNSSmtZL2htVTBubDJDMXRHS01QWXFrcXhEdFQ5ZVI5L2NmRUMyZFN2UzdENkVhQ2VTcTl4QldGOGxHejN1NXRuSDVIdGltZ25uRVVXeXJLV0ZMVlRQbkhUR0pvNnZYa3F5clNjdVIvR0hxWjZ0LzFvaXNteG1OMnAxUjNOYndOcVRmN1J3SnA4YVd5aWEyVlU1aDdKZ0s2anNzNnVwYThHYXN4S1htc0hxckh5RS9weWdybDNYYi9XeXViRVE0dGIwdnBQVDVodDFKdHlRSWJaZXRhVXJBQWMvdFRMM0IwWnRNR0d3aVlYUTRhZm9IL0ZqOURWT2ZXVXJEb2d4YW92bm9TcEt5T2MxRUx5bml0NlUvNW9FdDN5TGVxYU00cmRUMStvOE9hdjJSdXd1YjlIZjNORVdCUUJVS1dwclllUmVac0VPRnY4M1VPYXQ0RHpKaHQwcDhVNFNXTzZzeDZwTUlsMExhTEdPclZzSDU1OXZyVTFnSVR6MEZzMmJaWk1LWFhRYU5qZllFZDNUOHgra0UyeS9UYVdzUDg5N0hXeURWT1JyREJGV3h5WVIzbXdlenZ5alJYbmFpVFB2TXhRWHhLclg3czRUanE1MDNSUm5lYU90SXgyNHJOZCtJWEhleHM1eDdNdzVqbzZNRUlsSFlZaE9uNzZ1c21uSERvaDY0VFNLcGM5aWs1Nmx1eWFhaDNVOVJkb0N5dkhZKzN6SWFoLzVxMmdYZFQvNWllSHZNWnY5OWwvenNBbVZmZUx1V2FNd0VaWmZldCtTdWpnSTkxdG9WQXltSVZZd2xWakVXMS9qdCtBOFpPSW5EVEVSWTJSQmsycFNUS0p2N2paNFdVZlZXTm0xWnpZTERUMG5icmhWU0VsVjFzbzBvMzJ4WXlZVk5hM0diQm1IVmlaSXVTcGR5SWZUeWtkbS9XM1kwVTFqZ1orSGI2K21NSmpoZ1NoRlptVzZlZTJNdENkUGlrRm1sS01BYkgyNUJWUVNISDFoT2UxTURIMjNjUUliYnhaU0RzMWkxcVluTkZXMTkxSGJaR0tKajVveHU2ZFlhYitlK0xYL2prVzFQMDVIc3hLLzc3S0xiYm5Ld1FTelRILysrdHpVcG9leW4xNUp4MEV4Q3k5ZFQrZE0vMkIxZWgxR3ZDeWx0cmpSTERzbW1iUG5yUC9xWHZaWkp6a1ZuazNmQjJjU0V3a2VQdk1zVEwzOW1JOWg3YVZoWFpjQVRreVdYYlJia3JveWpyZGhNc3JBWVBFNVVmOGFnY3lKOHU2Tk5ZSnBOalBYSHlKcVlTNTRJMFQ2cURqVXZDUTU3VHRLK05WZHZETWhFZ203eFdmMUUvbHhnTWovM0krSm8vQ1Y1QXAvV1Q0Uk1DMU1NWEFMeTRJTVBEdXQ1NkNJVXZ2cnFxd2RHdkswRVJydzk1Y2RrSXhSSFdnYlRXNU45UEhWQUZ0VlorckFDcUczK2JEYVBuc3lhaVRQWk9ub2l0Ym1qQ0hvenNCUVZQWm5zUVNDTUVFaEJud1RDKzJzL1lQYnRGeXBJUXFvYnZ4bmhsTll2YmJ4U2NSRlUzYWltTmJUQ1l5R1Joc1lCRTdZeG9iQ1J4OTg1QWVtSlFNckdrS1lLRVEvSEhmNFoyeG9MV2J4cENzTFpPeGdLb0d1OWJXaTFCMllzMERRRlRSMzV6cHdTY0JzSlFOcHJPQnkrSFlLMmdKRXlBdDEyWndobDZBMG1KTkFhTllhQWt0bGp3ZysrMlVOM21oTGVXdEZBK1NzdGpJdTA4RUhaSENhZnRZRHhPVTdTMmdXdi9teEUxNkFtTUdxWXIyaGpPUStjV1ViNzN4N2s4MDZMaDJPaldGamhKVkxYQnNJQXQ0YXE3V29tb2FvS1pIdUp4UTBlL2RNN1BQM3NFcjU1eFpIY2VzMzFITC9tUythK3ZJakh1dXhxSUtZb2xKY0h1WFBjSmk2WlVJdHFtWmh4SGVsVVVEMFNNMkl2dHBvdE1hU0dpTU5GMDZ2NStzdzZudDVXd3M5MlRDR21LRDMxOUEyN0plU0h3OURXQmlVbHV4S2cvWDVZdU5EKy9ZUVRiTC9OZHBDZ3R0WnU3T1AxN3JyR2pXbVNkaFJhYU1YMk9UN0NTb29KeVJoenN6TGwzM1praVlxd3ZndGIzR1A0SC9wbDM1dFdDR1EwVHZCbnZ3WFRUblRURDVxTDc4NWJFRzVuS2dtbWp3cytiWGZJdnU2VHdnRnR3YmFBUko5aVA3NTNKK1MwRGhaZmEraTJFZnFYYjRBVWRKUlk1RzhSS0Fnc01mRGZkUCt0eTRFUUNnZy83UXZmSnZmS2MzRk9ITDJiM1NSQktBaFZvZVZ2QzBuV05LSm0rcENXN1B0a3B4S29mRk0vNEw5Nk5BSWRrSDJ3UUZYc1dqa2w1WU5MQ2JvQzJSbURPNWNDaVlXQ0tnMSt1ZXArdkQ4SzAyd29xS25JdjRvZ0s1NUkyUThPMnJyMjF5Q2k3YkkvZjdrYlhrYVA1cWY3RCs4R2RJT2ZMem5EM2l1cXdpK1dYUTY2SGMrUmFXc0tLTWd2Ni9GczNFaXZpaWtwRkJBYWh1em5wS3VTZFluYzFPOG1wdFQ2d0Fac29DNHBSbDVudTFVVks1N2cxYlo2VmsrTWNQWk54Wng1OXBFa3RSbTgyVnJFZTUwbUg3YlVzNlo5R2NsWU04Z2txQnFLNGtDb0dUYUpzSlNZTWsxRVE1cGtYdllkdkNlZVR2ak5sd2krK0UrY3N3OUc4V1RzSXV0TUc4c2F2bGp1U0kyQlAwdWlxWUo4ai8wZVV3cU1ZU3FDbGJ2YmdQK3ZGdlEvZmtnSmN5ZjUrY0hGT3MrK2ErdllIMXc4aHRGRjdwNTVybnNORkFnYzRUaU9jSHhJRi92dVc5Y09LaTdEWVR2MTA3dFZoL1RxaTBZTTM3bisrdXY3MFh0aXQyUTgyUTJWQ0xFN1NYbi9JOWhsS3c2cU9ZYW05NzVUNit0MWpUTVBLT0g4Y2R1Z29Za2QwK2R3OThvT0F1RTQveEUxM1NuN09mck9KelJmOTFPTW5UWGszUGw5bXloWUVTbWlZS1VMU01KOS9CR1ViL3FBanJzZnB1MW45eEQ0KzNQa1AzZ1g3aE9PN0lsdjNBV1ptWUlQQTM3K3VIMFVId1F5Q2U5QkpMd0g4RVhFVW5pdk00c3ZRajZPOFhmeTNlSjZMajY5azlPT2t1U2tMcitpV09mNTZSNFdqM1lRY0NvTTJRRWN3dEI4WG9vdU81M09KV3VJN3F6cHFXZkhsbEowMmVsb1B1L0FzT3BmYis4WGsxTXlNem4waVlXNFV6a2ZoMTc1ZFJLWG4wZXNzeFBSWDVIMjE3NDU4SWJWSldhZFR1ajNoV2hqYkx2UHFIQkFYQUY5OElUNjkzMlRlem9VcG9YbDg2TGMrUnJSVUlpMWJqZEdxZ0JGMDNWaTBTanVqQXlzM0Zrb3dYRHZKb1RCS2dCdXVmOWR5a3F5RVFLcXF0c0FLQy9OZ2FFOExzdEJTcWl1M1VXNjZkRGNCS0p0M1BQQkxYakZOSXpBcGVqSnlUeDhqRUhVcWFCWWNtaUVFSCt5R3c0VnV3MXVLNm1uWkhVMU4vNitnL1cxZnQ1OTZ5YU9PKzQ0ampwcUFUc3JxcGwzb01hdnI4cGdib1dmcWw4NGlYZUE3clBudUQvejZjbnFQZzhodzhXeVp4Z0cvL2pIUDFpNGNDRno1c3pscnJ2dTVLSHZITUMzL3ZBWndZNFFTU0hJOER1NTl6dnp5TXAwOGRoakwvTDJXMjl4d1FVWGNObGxsNkZwUGUzWDR4MCtybkJsTTAxMTlYUkY5cWZza2lBY0Vpa3R2bHlkK2x5M2hlaWpZR1cxTVpaR3l3OGkyVStPcGtqNURoS2I5aXM5OGk5bGdDUDMvbWNidWVWM0wzRFdjYk1CZU9tOTFiei8yY1lCUTZyV0h2S1hQWFNOeitYanFqbG4wMjVHYVZqeUFMbk9EQjQ5OEx1MGtreVIrZ3FFcWc1bENsRUVSSXdrZDNmZWdZbG5WMk5oUTBGTlJJaUlKSW9ZdVh6YmdjYlU3QVJ2WDFCTlVncUtWUU5WRzB1dUZDZ2VuZkU1QmtXakxLUVZzL056a3dLaGdsQWswclQzZ0VqbGRUbDlKcjdNWGQrZzRMd1RoL2RHbi80ZEFPOVVMKy9ITEJPRXcyR3lEaHZQZ2NVcWlpTElHVE9HVDlzMzRVbFVEeHJUS1kyWUl6Sy8yd0pKL3F1RzNQKzdVQUo1Q1VsQjNQNXM2eXM2QzBPKzZhSGFOWE15YlFvQmg5STNLWUZnRjR1SzJzL25DQ0Job2MzSmhKZS9tcTh1WkZmK28reEpjcFhteUZLakhEKzlrM01QRW5qeUQrZjVoakxlZkNqS3hxMUxJUlFBWFFPWEF5WExreUlSbG5ZamtFR0c5MERJdndIOFowUDRYZGgyRXNSYjdkUWNhWUtpZ1dOOGFucTFWQWhFaGRhWElQUUpsUDBGeHJ3SWdSZWgrWDVnK2NqTzQ4K2Y3SzFIaEtKaVJnVFpCOHlsN0pReEpMK3diNkxzMEFPNWUvbGMybGNzUWZWb2ZXTEE1Ky8yZTNSOVJvck56dDR6S2haaWxCeG1VV0U3MUZFanlWdGIxckt0dFltdExiYlBQVEd2aUcydGpVU05wSTI5eTZIVnJnZ2hrTHJrRCtzeSthZFN6SkVlUWNUUytLQitGRkhwQnQxSUVROFA0QnRYdEVvQVhWTklKazFtVFM3RTUzR3lvNmFkYU13Z0ZFMFFTNUhQNzZocHA2NHhpTk9oWWxxU1dWT0s4TGgwdGxlM2tVejJiTnJTbDNGaG9QQmNZRFE3a2htY2xWbk5GR2NuQWxnYXkrV2x6aktXUm5QdEhEQWhoMUVFQ1JSTkltWFF2ajlOMmEvaTJ4cjJSSDdaNzFQS2J2WnZWWHNEVDYxOEE3L1RpMFBSU0JqSjdqV3hCcEROL3pqWFBieTMrMUI2MzBsM2VNak4zNVhnWTBXamFha1A1K1RKSTdKdVpYNG5NNnM5ZE55eUhjV2xNRGxieFgyVnh1UkxEK0RoaElWWFVSbEtKUDdvNDJ3U0tMTWpqSzgwajlzdk9waExxdGZRZWZOVE5BU2o2QVc1Sk5yYnljb3R4UG1MNjdoM3Z1VDNheDRtR1F5aXVyTXdwV2szZCtsdm4rM1JpMWNSQm5LQ0YyV3F6OVlMY1JNc01JZm9HMjBOVmZRRDVrc1NaMTFKZEpUZGlNSjl5QmwwdUMzbzcvM3B4QWQwSjJXWmhUaFVuV2d5amt0ekRCbmpHdTVSMFJwTFI5c1AyZGdacWJxQ2tjcW5Sd2djMDhlVC9ZM1RVZk95T1BxVkQ1MmVEemRjNG05TldBdXpZbmRNajdYV2JITG1vbUlTRlFwbVA2dVdTSm9zVzFmN2Z5cFdZQUZDaFErcWJFeExxQ09mYzl0ampmWCtmVzFGMkdmZXFhbVFUQUoyTTF3ckdxTXoxZEFtOCt6alVkeXBMbFA3WTAxVXBVK3pIdUNDSS9PSmNpRWZyMnJFTUMyT1A3Q1k4K2ZiSkVPS05qaW1ZRmtXOTk1N0x6dDMyb1VHdXE3ejZhZWZzbUxGQ3VLR2dRSWtwTVV2SWcyc05xUGM1aTNFcHlvRUt5MTBvU0lOZS8xMlA4N0JUNExVL3ZScWdwK3RRUFZsb0Jma0k1TkdONW53Q0JnTnFHNHZINno2bkdmZWZaR0xqaitiTis1NWxqLysreTlVdHpReWEreGszQTRuVDczei9INDlRNTEzM29ibVV6RU5BNmRISjl5U1JDczlHZ3Btc1Q3amVKNXBreFJ2cVdkYWRqTXo4dHVvYm5QaGQ1c29sb1ZNR0d3S2w2TW1rempORUthcTdUVVpwaWxnL2M0aTJGcGlPMW1LQ1pyVnk4K3lKT0FRTE50aFlxVnlwckVVY25NVWZuU3VoK3UrNXNEcm5JVmtGZ3JnR2xTNDJ2R3AxeWE3ZWV3QUw1Vlo2b2c0NFRJbFE1cUNzS3JXUkJ3U29XclJYL242RGdGakpaNC9tYmdDZTZWMmJEdGNhank1OVJzVWVScTRjUHl6NUxwYVNWbzZhMXBuOGN1VlAyRnJZR0o2U25kSWVYNy9MeTQ4MVBIY0w2OUl6WnpFVkRWeTIrclorZExESlBVaU5HOE9sUy8vaGJsajV2SHYrNjlINlc2dTFQODQ3OWcvMkxaSDlNVmh2YytmZE51Zys4SFgyV1hZVUp4WFNKRXZGOE15ZGhGNkNzaDBlNm5yYktHeXJXSEFxeS82MWgyVVpLN2xUeC83ZUdHTlRTU2M3ZGw3SXVGdW0ybEtMVFVWK2J5eTRGQ3F4bVd3SmRyTXRpVi9vYnFwaGxDdzNTWU9GdGpBaXFxQm9pRlVIVVYzcFB4MTJSMG43b0VKYk9pQUwxdWhmWGlKYjF0anZsNW5OV21wSkZKRVR3bFRveldlUVREaDRiOEFkZXdYc2hXYThwWEF0eU5say85OTI3KzZ6ZWlrYVpIZDZHRDdrYWV5c0RFWHk1VE1LTzFrNXVLWG1OY1J4WkVHN3RFVnZiM3UrWjBqTWcrWmpqMzFoUUxDUUU0NGdyckdqYXhvckdWaXhtcDBSZUd6TFJITS9Ga1VUamdZWkJ4YzJsNkxrTkVaTU5abkp3bGFGbjNtM1EvZGhCV3NyNHV6YUlOTktGeVNwYU1xSWkwTXR1Q2tJd2ZVa3M1Q2kzaVZ2UTh5WjBoYytZUFFBYjlpTjcyeDhyYVFuUFFtVnZaT1JOSU5DUzhPUllKejcrYXV5L1A5ODBWSi9ueGhncHlBUUtoOW9CNWlhT3ErcXkzdzl0clFpT3l6akl5NUtFZUdLWjc1R29sUUc1bkYyVHo1M2pTKy81djNhVzF0Ujg5eVl3NmhtWDJYTDNmZGRkZjE4VFc3V29uSWZ0Wno0TmNCNHAwS0NWeE0yN0VLQ1VSd0VVN0FmQ0NqczVublNMQWR5WWZQdk1XMG9NYU9lKzZoWmZIYmFDS0xVRnd5cG1vVFk5bEFmT0IyR0lOZ3lSS3d1UGU1ZW56NUhiYmYweHhGZUJSSWswWitFSmNHa2JJWC95K1FDUU9ZR2YxL0VRZXd0enlQUC9yeHQ0ZjFQaSs0NEtVOUFPSVJRU0VBY09sTy9yRHdXTnBEVGx5NmdWQWtpcEFvaXJSTGFSU3IrN0hZamFpNk5EZEF2aS9LanBwZE4zbmUyQXl1Szhxa2ZJVkdKR0FORDVFd3U5ekVzQ21vOW11RVZVbG1SS0tZZSs5VDlUOFVqTTNiU0x6N01hNXpUc2VxcWNPc3JrV2FKdEhIL29teGRmdElMMHdhU3ljdzZ4b0kvdjUrL0xmZVRPWWRQeVg2eGp2SVFBQ2pzaHF6dWhhcnVYVjRNRHZEeEZWU3hJNG4vODNVeWxvKy9QdVRuUE9USDdKcDZYSldmYlNZbyt1dTR1VUhIbUh5WTY5UXNmQlZuTVdGUTdUekJFNGxUb1lhWkhYSGdXd09UaU5tdXZteWRUNXVOZEtuanlSSDhFamNXQmpnNUlaRzdyK3puWCsrWitjNU9IUklKTzM3dVBFOHlkZS9OWnRIMUp0NGF1c0pJRXhVUFlJcGxiMXlpL1psUFBJcnBYOTBXeVp4dXY1S2x2RUJ3cXR3d1BTdDNQL3pCRUwwYjV0ODh3ZTJmTlQ5M3YxbTQrdXFZR2xsbEFLZnhtSGpQR3hzaUxPdE9jSE1VUzZhUXdaZlZrVFJWVEdnTFR4UzkvdjgvVWNQNi9YT1BlYXJRVlpzcmw0TDFlRkhreVhnbTRITG5TQ2hlSEM1bkduZGtVUlFvTVc1T0xlVzcxVE9SQUtQakY1TGdSWlB5ei83ZVdSRmIwbGJLMURxQmFmM3cvMmxyVlN3TE5tN3VTcndzNzNhYndMVkd5ZWFoRGRYbE5uZjJ4bEg5Y1l3cmQ1bnFTVEx5N2x6UFdpcXdzd3hNOW0yL1JPczl1VW94VlB4NW40QTBrN0E5T1ptSXJ3SDBienpYUTR0T1lBanBwU2hxd29sT1JrVVozbFIwMm1zSWtFck5FbFdhTFEvN0xmdDRwTWphSVVtaWM3QmE1NDlic0UzVG5keTNBejRaTDNraWplemlCNDRHazdMUnBVU001U3c4ZHVSd3ArRndHcHVzUW4zVSt0cGJOcUsxZHp5MWNlTkJHeHZ6V0Y1YlRISFQ5aHAyekVBUXFKSVNXMm5uMkRjMlMrWmNIKyt4UEJOblQwLytmbjVCQUlCOG5KenFHdnZvRzNMUm95Z0R5dG01NlFrWWg1VUM0b0tDaWpPeXFTbHJZMzgvUHdlMStpMmRTM0k5QWgrZmFtVHVjY1VjR3Y5T0JidHlBWVNZTWE0OExBVCtQNUJGN0I0VVpqUHRyYmgwSld2SWsydWV6eng0aFA4K3AxZnM5M1lobEt4NzVpUHhyWTcwOTUxc2cvbmNXaDZXMkpaS3ZpaVRCNjNoTEtDZGZhaHpBaURINkpXMGVDRTNQdEJMMGhwYi94dFc3YXdLVDhiNzdGSEVJN0ZrZEVvU0lsZU5nYXZvckdwZmp0YnFMS05oVFJYUXBnbTB1ZWo2dmxGV0hmZFI4bFB2NHRwMk1pTnFxblUzblVmTmM4dndwR2JOVENaOEJEV2pYN1dMZDNoRklLRG5VNVVZSnVhWkhITWhsQU9janFab09tWWdHTVE0ZVcvY0dUV2JhQ3VQNzk5RWlhTkJxOEwxbTZIYkI5Y2ZocDh1QXlXYlV6RnpkSmp3Y2FoQ3Y3MmZqMmRZWVB5ZkNlUnVNV29iQWRGV1E0eVBScUdhUmNpYnE2TDhQSEdUaHhhMytEQ29EaWFsSHRwQ2Y5RkREWlAzUVREZld5Q0txQXFBYSt0QTlidEJ1Szg4Tm9JbmJJZmpzaCthRTNrajVEMnNYcHRDbFhJWGpwYkVaWk5RcEptc3Q5SDMxbzZNdkpzKzNWcFg3ZDVKeXhhT2p3ZnF3RkhUSGQxLzc2M0laM2RTWVV2bk9VbU85Vlp2dDJSNm5Md1ZaQUpwd09lOWZQNzROOTMvM3dab2FyNEZoeU9jRGhvZWZRWmdoOS92bGZJNVlrRlIzREx0T3VZNjU5S2ZQazZOdjdrRGtMdmZJTHFkdU1vS0NKWjMwaHppaUJMOGRyUG1mVk43THo4UnByLzhXL0cvZkpuM0hIZ0R6aG45TmY0N1lZSGVaYlYvNVZnNmR5VzlTT3ljTzR4alNOeTNhYzI1ZzN6RlNzQStQZmI2MFowbmcwcFVEVVRTd3IrWEZIQ2E4M1pQSEwwRmpiUGZvUlhQeHVQbEhEYTRkdW95azR3OGQyRHFBaDdFTHFCSWlSR1g0VUtPellKZG94UXAyQXBRSmlZbm54Q2ZJdEk3RWd5MzM2Y1JPd3RaRzRKN3ZlZlFPZ08xR2lRakpXTFNONTdKYkowWW8vaTZqMUg0dG5uOWpqSENpSXZIMGlCT3RFb3lVWHZrRmkxT3RWdE9EMzlFNDZOVEpGUzJmVlhqY2orM2QycVVoQ1ltUHpwWHh0NTVMYlplTFJXNWhaTnc2MmNqcTVwTkVjN2NQbGJNYzFDSGxpNEdwdUtWZW1SNEN6Nzh5dTJiWU9KRS9mOWhtOGYzTzdkRzJ0dll2bE9mbEQ0Ujg3ODdGOEVucFBzYUxEdG5yeWlEbndYS3J4KytNWDhxdTZIN0ZoV0RocW9MdE1tRWg3a3c2NHA3Yi9oaFpJVVRQTGtJcVhOa2pQWkUrUHFrbFlzdmYrTDN0aHRGOWxxUmxYZ29la2FGNVVxSkZJOFpGZ1M0VkpJYkkvUmNrY055YW80d3EybVR5WU1rRWhBVTlOdUFzUFk5Yk94MGY2M3Y4Y1FmRFJybUgyMmtVVkorWS9JbDdtcTVjdGh2ZDRqSTN5L3AxejF4SWhjOTF0MTd3b1kvc1Q3bHNiT25sTEswTmpoaU5NUkNqQi8vSG8rMzE1R0loU25zNmtUTklOMG9aay9QbmZBTU4vcG0vYVBuZWVLcnZOU3ZRKzVQckZhaUgwOE1EN2tkbWN3YzhJTTFxMWJUSlhYeDhSeDB3REIxaDBiaUVURHpKcCtDRzYzdDFjSHMxNHlGWW1KSUs3cUhCaXE0NmFhTHpnNFdFdE0wWWdwR29xMDlxTGw1OGpzMzRmdU9MUEhGOW1UY25ueFAzcysvdkNwUGQ3dytFQTZVR0loVWJGQm1YL1Z2TVp2Tmo3QTJvNk5aR2daWk9wK1RHa09UV2Z1aWNsMUZhN3Uza05heXFHanFBOThOT0JHZnlIMUQyNGRvdk9zRG9BYjBvMHpTcVJOOEtjcWUwOG9uUEpQWHkyRG5WNDRObTRnYTV0Ung0MUhMOGhMS3hoUi9aZXNIbk9kVFF1YXB1RlNXaEFDOHBlMzBTYWR0QTlDOUx0cmRBRHc0K3AzK2xVOVVrSjRpd3Vma284YmxYRldpQitvSDlra1JQMWM5ZGVwbng2UFowVE94Wk5Qamt4enFGOTl2a2t3QXMyeUozVXNFblFzWXJoZDdwSGFENVBhNmtZY0hMR2tBRWVDejNhTVkvSFdpUngzNEhLMk4rZFQwV3piMWFQem01bVkzOHpqaTQ5QVVVMXdKTG83YnU2djhmQXhKU1B6Z1hzWlM5aG5OMWxDWlZ0c3lIOTN6VkVsUGVXWWhJYm1jTGVJOXpwVnpqc2duMFBLTTlLNjNyVWovRDF2ZnYvbnczekY4MnpiWWRhTUFkZnQwc3Z2M1BYZzhnVTlYb3Uzd01NL3N2L3RPVUtheXNHTm5ienl4bkxLbkRHMmgvdzR4bHFvUWhMYmFlc28xMWdUQk1SMjdIcHNTZytKblFxblpiUXlKNzZjMWtZSG9iNTBXalFLTDc4TW4zeGlGeC9ObUxFYmk1enNxYnVsaFBYcjRjRUg0YWlqNEt5endEM0VZdTdkVktTbFFKSEw1SWFKN1dKMlZsemV0eVdiajVzOUltR0tYaXBQK0FiWVA3cUcwUFZkallSMUhlSDNJbHlEZDBaK2NuTldlajVXMTZoUFU2NFRFb09DREIvdkJmQmcyZFJOUXRkSVZ0WlJjOE5kbEQxOE80NHhQYzloMno5ZXBma1BUeUljT3RJY3ZFSFhHeXRlNUw5NlNDQUsyMWRMUWxISThLUnFVUVhvS2dTVHNOMHZvUXlJMk84bDJudmVGV2xoNmw1dTN2ZzBSMzk1UDdXV0F5MFZQNUxkK0lsZFRocE1GY3VuSTdDWGIrL1l3M2o2NzlVWE1zM24raHJ6ekRaVUtYRU1rSzdlSlNMNjQ5Y1dRQUxCUVZZN3o2YWVPNkI5UzkvejhFN3EzOTVPYnpEQWV6a2U4cTQva1dzdW5VbURKNDlMdDRUNHVMbWE2dEI2U0hiYThVVlZSOVVkZ05NbXlobUlCYS9mczIwaEhFN0M3NzFHZk9OS1lpdSt4S2l0c2MvNnptMElweXVOK05ESXhISzVkKzZJWExleDhkci9xcXJOOSs1NzlmOVZtUUpOVnozYTV6dzh5T004eUZWN2ZkMk9VUDlGTXdVNURncHpIT2lwSXJ1NWszeElvRE04ZUtITlNNVUduMTR6T0k3WVpjc01CZG9ZS1h6bnNjY2VHNUg5SU5KSUdCM1NBcVRrM0xzcnEzc3Btc241N2hTV0I2MkJLQitzcWFVakVQMlBJUHRJYnF1Zy9XZjNFbnoyUlRMT1A1TlI3eitIVmxxVWNvNU11N2xjOTFDN244dTY5Um95TGp1YjFwdnZwTzdFaS9CZGVEYlpkMzYvKzUyNVI1SkNWVHBULzlJZlllQzExTDg5eDVVYjFnczI3TC81eVRuK1VDYjg1bnZVUFBnY2thMDJNT3laT0piU2F5OGc1L2hEQi8zN2s5KzZ2cy96WlJnR0pmbWo4V1VudVdWYk1RTDRUVkU5d2ZkV1V0dGNpYVpwZTVlZ0tRRk5naUZJYm5TbC9BdVpGcGt3d0FYanY5bnpXbDJWMzVzakNFVkZXbDJkTDJ6YlhpaUtUU3FYUHdPS2xONE5VVmFsakprbFB4ZDdjdWxXZmJsdmorMWJqS0FwWHZ6SnF6QUN4Nk5KTHkyWk1VQU0zcGQ5Z1BGVTNpWStmS0tKN3owUng3QWdMMWRsMGFJMzJicTFrbUN3ays5K3k4TVA1dnZoMzE2MnZxZWhPQ1c2TncwVDZwWExSdXpRU3luUk5JM3E2bXBLU2txb3FhbG00Y0xuK2ZwNTV6S3hQSXRGeStvQU9PR2dVUnd3TVkrWFhucUpob1lHNXM2ZFMzTnpjMnJQOVl3NXZKTUlpbmNTd2E4Y04wclhocTgrODFSUnZZL1g3V3RjRmU0L0tDVERJUDY5bFNXdnZRS0FQeHJuMGtHYUJuVEZDNlAzL0xGZjNWTWdGSUtSWmw1dyt0Z1JxYVA2N1RzcGQyVmpTSXVJWlE0WUcvckxRZjlkVEZMK0V6ZU15UDFXL3VhdkkzSy81Ny8xdndQYVQ0cWlZSlhid2tDeDZuajRrOFZweWZNUnkwc2NvZXYrejZyUFIrVEsyLzluMFZleWYzZlhHY3BYbmFldzZKdys1K0RKZCtISjMvUzVlNERLMUw4QmZJdi9YVHQ4Yy9zeS83WGppaU1WNHJLY1h5L3hzbVpIRklLcmJUdko3VUROenJEanBWWjZKTUs3anduTEVWd0JYTEhIQzEzNGtBRWMxczlycmNDNSszY2VUdjI4RDV4ZFVaQ2Q0RDErQWZIWEZoSDRrUzN2L0hmL2doTnlGaEQrZUFraVV4a3dYMkJTeFlxKzkxbmxLdmk4dDErWHdDWnkrZUhlaURlaEVFa2tlSC9iZWpRaE9IeTBuWCszdEhvNzcyOWJUeVNSc0czVmdUVCtINDRYQTlrSGpjREN2YkFodWhxQ21xWkZhMGNVYVVsOFhnZGxSWmxzcjJwRFZYYkZEMVJGb0tvQ28rdTlVcExwYzFGUzZLZXFyck9IVFpFOUFJNndLWmpONzVzemNTdjJlNktXUmtJcStJVkpmOW5sN1h0cG0zVkpucTlxM05Vd1paaXZ1TEhIMnFvU2p0MWhNU3JZdTFUZWtuVUk0SWc5ekMwSlRHbVdxSDI0WFo4ZTRoamUyMzFvWk9lMzROdFhqNHd1VmlWdGF6TEFVQkdHUmM1MVZlUmZ2WmtTdVdTM2ZKdWhqNk5Pbk1NZDgvS1k5dXcvcUh2dEU4ajBvL3JjbUUydGxCNjNnQzAvL0JxMzhTbUxQLzBJTkErcXk5c2pQNmpmY2QxN29xODl2Ni9jU1Jjc3VYNWdNRzVNNnB5M1BnWXRqdzUrd1Y4djY3VmU5Y0FCdCszak9mbnhpMzN1ZzZkNG1hZjQ3ajdZcHVsdXI2RnR3NUdxS3hpcGZIcmhkSkJ4K2hINExqa040ZEJSODNPWXZYYXJTNjNhZXJrdXBQdGYvdkUvUHptNGMrZUxlYk5SRTBINFlyZDlzLzUvUitTTWFyT2IvbVB5Um1RYU9uZGlVMjNQNnpZRDl3NFB0dEsvN3JQekQ2enV6amIybnJiQ1VacnUvaXRJaWUvRStTZ2V0NzJIOTROclh2K3IrL3FkUlVWUk9FdkF6TVl3QWhpWDhOTHdxVXcxOFJWcHpjVm5uMzNXL1hqeTVNazRIQTVXckZoaCs3MnBHbWdGd1F2eFR0WVlNWDZYVWN6TXVKczJ5N1RURHZlWVR2K3hKKzM2NEdBVEJObFBRM0R0dmJjUWpJUzQ3T1N2Yy9RQlI5RFUzc3c3Uy8rLzlzNDhQczZxM09QZjh5NnpKbW1XSm0zVDBKMjFnQlZGYVJXd0lvaUNRRkh4Z2dzSUY3aXl5U0tLMElwUXViTElJaGRRdUZ6Z3NpakxCVXNGQldWVGtCWmE2RTVMbXU1SmsyYWZMTE8rNzN2dUgrOGszYkxNcERQcFREaS96eWVmekV3eTc3eHp6bk9lN1R6bjkveURYeng4SzNFcmdXYVlhVFdpMkJmRTNud081d1Mzbk5QcEJudU53QXdWTUxGOEVyWWphVEdPNXVrT3dSUmFHZXR2STR5WGNDUkF6QWtRaW1vSVhhZkEwYW1pRTF0cXlSTldaSFhmWFNBUjBvSENJRUpJemo0Nnhyd3pEUTZaQXNSajJHR0pscWFIK010Rks3SlN2N2k3SEFNZWVHa3RyTmlSNFBCUDY1d2FoaW4zMjVpMTdIUGRRMk9rZ3BzK3VKR1h0NTdDZ2FQVzB4a3ZaR25UWjZucG1KWlNFek9GN09PYnM0L2MvUVhyWU43NzZXOG8vTnhFZ29kK2lxMzMvSmFqdm5VQk13K2NudFoxejB3c3plaDk5aEFLMy92dWhBeVB3SlorUFMyWmxOS2cxNC90Mk1rU080a3RiUTRzbjhEb1lERmJXcmJ2dEhsOTRLVFQzMHdLZWpQZzV0QmJNM0RYbDh4L2FFait3NkMrK3F2MTJWbVlmWnpwRit5eVZ5WjZua3R5NG9EVUVPM0ZZSGMrUFV1WjZHejU1Tjl2L21DM09NWFprY0JvVzhPTTJXZVIwRTIrOXVlbnNadWEwVHllbEFvbWVuWlhIM3UvTVN2VFp2ZlpxOWZDTWdxWit0bXpPY2JYd2JhUFA4Q082NXp3MWVsODRKVFRMZzBNYWUyVFRUTEV6cEJkejlBTUoyekpSOXVqdmNNYVNxUFo0dVQ3Zno2b25QWXNTWmtLTWREQzM3dXU2ZE5YWlVWKzcvcmY1WUwvZGJWa0pxRnAyU0lqQTEvQkY5RUt2NEJwaDdudXJxWGMvdkFTSUlaUjRNT3lIWWF5MUI5NzdMR3MzTzduZnhicW5XdDNUVVI2Y3ppZkUvRHZBaHB0aU1UdkpQcVBPNWx5RkJ4OExFaW5mWS8zSmM4YzNKYStudHl0ei9MMlFYUm1sdlJ2dnVHYVJZZG4rSXFyQURqdGpLOWs1NFlmSW12NWtwNjVYYjFwTjVxbGZjTFROWjNpNlpyTUI5c2kyZVB6QUkvTk45WkhhUWxXb1pzdDNPdVR5VTN1REV1cVpSRjk5ay9ZbTdkZ2ZuWUc5bzVHcktVcmlDOWRsanpQUC9DMEhEOU1uS0dSbDEvRjJscUxkOWJuTWNaWEVtOXF3bWxzNnZVdk1oYmJKaXo4NHlxb1g3U0U0cXQzOFBwZGQvS0RCKzdpOVFVTHFWMWZ3N0hmbnNOVFR6eko3REZsYkgvd3lkNzNQZldqMDFPNmlXZHpSRDg4Vk5GQSt4dk5uSE4zSjVzYXBKdGJFaTZaOE9TeGt2LzhjUUQ5dURtYzIzQVpHMElURVdZWUFRT1RDV2NSNTUwMTJPZkdjQnhYUjMzdThNRWJ6ZmNRQ2plOTgvNndmUWNOc0J4NGVYVW4wOHE5ZE1VY2hJQ09TSmoxVFRGc3gvVUJCMXJoMmJyZll3NGZuWlhyYmozbDNlRlAyRGh4QW9IUkJLWmZTb2V4a3E0dDFVejZ6SW5KSXNQVWJrY0FsV2FVSXQzZFE2bzBveWtydXRQald3YnludFArMjd3aCtqWjJpcSs1S2xSZ0pBT1FBOHJIYy9ic2MxbTFlU2xGVlovQ3NMWlQ1SGtIRUloUkI3TE9PSjYzZHF6am1xT21ZaWJQd210Q29LVWF3R2hnTittMC9YY1JkcXY3L3NRMnd4MkNGTlRMZjEvbjU0T1BIYzcvU3hHZE15YkFTV1VZUW1KMUo3QUZPK3Rzc3kxbTlUdUkxOVgzQkF6OTJxRit6eXhsSjd3Z1lobTh2TzRnUExyTnNaTzNZanNhTVZ1bnVybVV0emROSkc1cEE1ck1iTVVTdXlJVUNwRklKQ2dvTElLR0hWVE4raUwrNlF1SXhlTG9tb2JYN3lNY0xLQXJGcVdnNkFEcWQrd2dGQXBSWEZ5OGQ2N3NVenB6dnhmazQzRVRPV1hkQkZxakhyQzdLQzBxNVQ5UCtUNUhpczl3M2ZWTGVmMk45YnNvMS8zbjhWOXcxZ1Zpc1BXWVZnNWhlRzgvMlFmY2hualVKQkIwRDRIYlVSMDlhT2RVZWw0VEFqdVJvSzIxRldkSEE3YnVEcFh3ZUxDN09yQzdvclNVZDRBZVJkTjA3SFNFd25Id0ZCZlNlT2NERkIxM0RJWEh1WWNhT3YrNW1NWTdIOEJUWEpoVDdXa0U0RXV1K21tR3lXbUJZTzlqVXdqTUhBNkNxM2V4cDAxdDhNQnpVRkdTM2pLV0VuUmRzTGtweW0wTHQrSXpOV3dKWGxQd2kyOU81TXZUUzNvTjRDTnZOZERja1NEZzFkTGlROHRaYUZwZTNXNlpad2NLK3hFU0Rwbmd5WWlkN0NFVmxnTGFUSGQ5aVNSWHM2UDJjb2VNUkdNejRXV3JpZGR1SDNKTGdxZVB1UThzMlBxTFcybTY2MEdJeFRITFNwR09nMHdrRUY0UFJwTDRRenAyOGpVdnB0OVArUFYvc2ZxZDB5aS8raUptelBzNWZ6em12M2lhKzlURURKY3h6NHFaeVA2Q3RKTTdBb1lud2Vhb2o2KytOWU1mVHF2am9SKzhCd0l1WGo2VlIxYU9COFBCOENTd3BPaDl6L0FsRUFBdnlMaERiTzBSQkpjc292RGpPekIyYkNaMjhnVkV2bms1aVVVTDhIUzJnY2NMUmFNeDE3MEhxOStHUUZIcWRqaFpBQ0IzbzhRVjd2OXBJcTFrUlY2WkY2SHZucER3KzFpM3VaSC91T3NqYmp6L1VDWldkaEd4SWtRa0ZCWjVhR2djdzAzL1U4MjZUWTBROEdNN3pvaG9BdjVTNUZRQ3R6ZXc3Y05pRXRJazZBOHo5cVF1MXA1NU5MKzJyK1BWWmJQQkF0MXI0MGpOSlJOT0FaZU9ieDRnTjZaUkh5aWdIYmRUOHlHQkdMTXJXOUE4L2NjcVYrd01lUUQ0N1dFRzUwL1VpVnV1dUFvSGhGOG5zUzFHOC94dHhHc2lpS0NlUXVlTlFSejJyaTRJaDkzZmNxUnQwU2tBWE5UeVhrYXZsMjFDNFpvdHJYazF2c0xjUFQwa1BKTHEraW93YkY2ckRoQ09telIxbHFJRkVraHBwaElhQVBDclJ6K2Y0VHY5Ni9DT2l4QklLYW1zbkVSNWVTVmJhbXVvcmQ4S1VqS21ZandUcTZaaG1wNlV5SVFqbW9IUHRqaS9ZUm5uTjN4SWFTSkN0K1pCSU5INFpPZ3RSenBvUWtNWGd0WHQ2L2pWUi9meVl0MnI2RUtqMUZPTUxaM1VEZ3VsNHV6SVhiMGVrVmRlVURha3dSS3d2TXlobzZLUUg1MXpFcjd5cXBUZnUrVjN4UVBlWS9xajJnN0F6Yld2RERDRmJpZm51T05tSFQyYWhTUEZnSVYwdjFhbWNsaVFMWGtZN3ZBTktTandSNGxaSmljZnNRcVFyS2lkUU5BZkJTbHcxRlNuaER0T216bzhpcldQSm53eWgzeisybzdLdkpvM3l4Q1VkeVN3WHRhb0ZnVm9DU2crUGc0QzJ0OXljN3NEUFc4MVBYaWx3K2hnZ29UUmh3aDBkOE95WmJCeUpWUlh3L1RwL1JkaVNlbit6OHFWVUZBQUo1NllQcUh3WHY0R2VEVEppV083eGJUQ3VIeDRRN0Y4Y2t1UmFJZ2FwRlZaYWtoRTBrV1doa3pkUUtlN0tuTEZQWEVjUk1CSHgrdUxxZm42eFpSOCsyUjhoMHpCQ1lmcGZPTjlRbjkrRTJsWkNNTklLZWJXaERZaTlOemlGUTRMWHJYNC9sa0dIbk9uZkx6d3NzMmlwUTVNQUFxQVJtRFozdSszelVKbTFTL2h5aldQMDFrMEdsUFRlOGRQN0JVenBJRG1NQUFmM1gxU1p1T2VlL0p6ZnE3ZThGTEdWdEFmaHNOdWZxNlNLWmVkUnZNa2cvdlhiR0JINjJLZ0czUWRvWHZRUFFFY2VnNkdaZUR3a3FZUi8yZ0ZzWlZMRVA0Zyt1Z3l1disyRURRZDRmT3AvSm5DaU1iNU42MGMxUFQyNUhGNi9Ncjl1U0lNTFkyeXJaUTBuNTJmRTVlbEdxazk5ektsVEJMNnk1NGhGUzZCbEthbGRINGcyL0ZpM2F3ekVZYk91TDgrU2VEa0w3bjNiRmtJWGQrRFREZ0ozZlV2cEcxampCL0xtR2Z1cC9DSFo5RjAvcldFWjUwNTR0YTM1akVaOCsyVEtKNDVnL0JHbDZvME1PVUF2RlVWS1IwQXNjUGQvZjZ0bzdHV09obmhtdUt0QUxSMk9SUjIreUVldzRyRjlpR21kWjA5NFpWOUoxTUcwZzlPZk85ckNhQndvR1luQmppSm5jSzZ5MmRaV1o0ZkdUMEN1K01zaUU4R3JSc3BPakZ0YlorVjdOd3I2MWk4MXRWdGhpRm9ibW5qOXR0L3k5R2ZLZWFxYjdVelJ4L1B0cHM4ZEcwWG1JVnUvQ1p6SkxsejVaVlhjdm5sbDlQZTFrWTg3c3JScHc4Y3phY1AzUDJ3UlNRU1ljWHk1Ung1NUpGY2M4MDF5cGdQZ0l1NkJ1OHlLVHQ3N1AzZzErdlpMd3pQdjNXQVpleFFKUXdjNEhCTkoyNWJ0TGowUlFoRlNKSVNqbjd2MmF3TVZDamVyUVpYUVNHUGNjOXRWNHNSRnRVTUNSMTk5VXFWTmxRV0VYMzNuOWgzTCsrMWFhR3I1cUYvZmdhSnlpTDNvSGFPOE5aTEpFSVRoS0pobmx2NUhuOWY3eDY1YjQ5MGd4Q0Rrd2tQQTNSZDQ2QkpaWlNWQkNndkRWSzl1WVVOMjFyN0pFbzBEWjFESnBkUk9zcFA2UVEvYXpjMHNuWDc3bzFaYm5seTNhQUJ2Tnd0bEIvNCsxK1NwL0o3Y3hZSmhRRjBCNzY4d1dIMmh2U3UwdC9LRUNvbG1neXVKY1IwUEJNalZOMitpY0l2ZFdDM2d5T2pMb0hMRU1mcHlhb3cxdHhiMkxhNUFiTzhGS3VqazZBbndLaTVsL0xVTjhxNWFkMmpkRFRXb3dlS2NKRFkremx3cSs3Y09JZ2dEYUhEbDBMMnpoVmtxWjRlNmVDRUk4aFlIR0VhT04wUlNGZ2NIR3YzbkJPcStUZERPcjduUmsyZGUvR094UjgvV1BGWnpHUHVKYkg0Q2pYUk9RcTl1SWd4MTEza2t0SVhGNldlSE1nQTZ1YmROckMzSk1IdmNmTzdHK04yOHJaRUdrdEFRMHBKTUJpa3RyYVdycTR1aEJBNHlieTZTOTRvTVJEVTJERytFOXJDRGNFeGZOZFhRcWRqWXlIUjkzTU9RMHFKWmhpMGg3dTQrTmFydU9NUDl6R2hmQnoxclUyczNiUU9kQVBONHgzV2VpQW5waUdiSVI0SFc1TTRNWjF1YjZGbzlKY3ozcTlUYU9vczdqNkFwWnFnMGdETkZIUTdPZ0ZEbzkzbjBCcTFDSlFMWW82a0xab1lCaFB1NEdnbXRsbkE0YzJMbWJmMWJ1YUVHcEZ2R0xSSEhEU1JNeUZDZjBzQnpZUnRIUkJlYkJOOEFVekhiUjZ1WmNBdDZFd1U4bWJkYk42c216MjRZOWdYRnYrYlN2UmxFYmJ0N0tZUERNUGdVejk5bFBaTm15R2VZTWJQbnFMZ3dFT3hiRHV0bkt1VEpkMDJYSVRDTXVuWGJHOXRZSHR6M1Y1L1g3cGhCZWhHM3AzeFZ4aXh6bjVXZlBJMlk0OTYwWUFmT3FJY3YvQVJoQkMwT1JveU1Nb3RERTFueVEralZwY0loSk5BRm94bWlTeWllZUlZUU5EZ003RXhFTGFGM0Vjam5VMFBhU2kzZHN0Yjk2czFrVTI3NlVoMFRWRFgyTTJQNXIzQ24vK3lHakhLaXlhTTNXeHFydUQ1YVZjTllLdmQ1V2dLdDY0NElkMXVzSExBR3FHN2xSQU1BKzViTXlYRFYzVEpPamMvOTVJYTNHeENBSTVES083RGQ5cE14cFZXc3Y2RHBUaWRkVkJNRmpiWUJES2VJUDdPSXVML1NwN3RsZzV1MVhzT2hWQ09KTEZzSllsbEsrZzlWS3JwV2Zrb0diZndscGJRVWJjZC93WFg4ZExqZDNOZTBTaWVlZndKd3FFTzVweDJHby84NFVuT0xMNEVmbmxsWG9yWmdsL1Y4ZERDR0ZLQ2FVQWlXWEIyOWdtU3l5NmJ3dk1sbDNIWGhqbmc2T2llTG15cDc5ZGR3UGJuWllxTEp6MnY2cGhIN3gwMklaZTRoTUdPaEZYYm8yNk9CNWQydzJ1SVFjbUVzM20vNDcveS9BaFRvcTZINGk4Ymh6ZFFzdE9mVDJPdVJodHh6aTF6YTFkSEczRlNheHNIL2JOcWl0d0liRkpBK1ppRG1CR3N3R2Q2S2ZiOWlQYU5wUWdoME1hZHdWL2ZqdEFtRDZDZ1pPZzVGYnM5R1hjbWY5bHRXc3JEOE9NL2VXaWVNUmt1cU1Bd0pWWm53cTJYMVlaNURJWG91OVk3QjZSL1c2aUl2OWRNcGFxNGcvZTNqYWVoczREYVVCSGJRcU55SXE4OGF0UW9RcUVRcTFhdFFoTUN4MTlNUTBFUlVUMks3ZGdFdlFHQ3VrRWlIR0gxNnRXVWxKUXdhdFNvUHEvMTY1K080WjYyeVR5eHFoeXd3T3JraE1PUDVsZGZQbzhWLzVCODdjNlhDTzNvUWkveXBTUmZkbU4rYVR0amYwbVowQnlrblNTSjFIS1I1TXMxcDVIdGRYUysvU2FSZ2lLSVJsd3lHWjhmMmRKS1pGWUZWSm11RlU3bi9xVUVYVU4yUjloNnhmVWMvT2FmQU5oNnhmWHVSblRRRHprVzBQYzRGNFlRbkpnODBHMElrZk9VTjd2V2NXZ0N3bEhZWEo4TUEyUjZVK1l4M0NSbU1sZUJiVU5EZTRKMWRXR2FPaE84dGFhZGY2NE40Zk9NRURMaFBNU2pHNi9POEJVZlZJTTZWR1dSRGg1WTJLY0dkZnE0OUVoY1dvZFZ0MmJGQWdvaGh1KzZUZHRUdjRBRnpML2UvVkZRU0FPV0ZHaTZEYnJObyt1cmVLWE9QV1JYSC9haCtlSzkvN05mNEJQUVlNTUNDLythUHlOa0dEeCs4QVV4YXFzSlBEVWZzM0V6bUo2ZEI2SjlBU0FJVHJvWjJrOWVuVXA1b25zdmc2QVpndHBWMVZ3M3Q0NFRqcDdFMUtvQUV0aGMyOHJmbDJ5aXVhdWJNUUVQVGpTKzE1QTE1ZWs0UkgvWlJWdDROSVptTVdGR0krSHZqZVcycXV1NHYvcENZaUVUemV1QWg1U0poSHVnRFJTenNmdkdzQkNnOTd3bUIvZkRiei9FNE5MSk9nazdTU1lzUVhnRWlkb1lUVGR2STdZMmpBanNJNWt3UUhzN1hIc3RGQlZCUjRmN1hHSEVJZSswMzlxYjgrcVc1YUxMUkg5dWZYZ0FIMzB3MkNQZ05FNFBxYkJwZXBnMitiQSs4Z1VEa3drRFJJWEJ3ZUVXTHE5N2p5KzFiOElTT21IZFJOdkg0bWR4Vkg0dERVMW90TWJidWEvNlVYNWY4d1F0OFRhS3pNS2tIL2RKT2hhNm4vU2R4Slc1Tk9YT0tNcHdqckxEL2RWbUJBWWZDNzJIMk1tbkJDTkhrQzE1R1BaMVppWjQ4ZjJqUWNqZTQ3ejFMYVc4MkZ5RzhNYVFnOFNXZytWY2xud0lZeDYvU0FuTUp3U2F5QzhLNnMrMDl0SEY5aDlwUE84NUF4WHE1d1BLeXVEQ0MySG1URGpwcElFUE5HZ2FmUFdyYnNCNCtPSHVlek5qOHBBU0pnY1Q0b2JEV2ppcUpDcnZYVi9Lc2phdmlLZHhuZmhycnYweFozeENoTm1SYUFFLzhRM2JhTGo1QWZDWTdsNmxZNk1GL0NtVENZOEU5SHpOcGhiSi9QK3kyRll2T2ZaejdoSExmNzV2ODhnek5rMWJKUlNCbkFqVTd1TEk3VEpFNWVGR2J2M3dIanhPZ3JCbW9GbVpvWENiKzh3YXBYenpFTys4dlVTODgvYVNmdlZXTmdqK1JDQ0FFRUUzSjIzYkNLL2YvVFJGZ0pBeWpteGZxZzZPNWlIKzlLWnFRcHlQT0dpWVVzQzVyZ0VuTnkxengrRnJzNVZROUIrVTR6MWdETjREeHFUL1ZsMzBLUk1DNkxUQ0NLRFY2K1lwaFEyZGhCRzY2TGZvdStlQTdOaTJWU0k3OGlyNjlkMEgrYWI3eDkvNStSOEYvREhqMTEyODF1NnQ2N1lzTngvL3ZUTjA1cDRLcGE5UDR1TUZHa0lIVDJIdUVBbjNFTG9VRmhaeThjVVhrMGdrT082NDQ1QlM5c2FzU1hGR0FHZWZmVFpWVlc0VE9GM1hjUndIVFJFRURGbTZoMUl0SlVxS0Ivek1SRklUV0VnMEJJUHV5SGRrMXg4NXFxMWErYWxEbmV3VWNQekgyZEhybkR0RnpadUNnc0plMEoxK3JFL0N4bjUzS2NMbjdiV0FBb245N2xKMGIvSzFIQXB3SkNDRURocTBSOEpKLzl0d1UxRTVjS1BscFVGTy9NSlVwazRvcGI2cGkzRVZoWGdNdmM4eEhGTVc1S3ZIVG1OaVpURTdXcnFvSEZPSVlXaTdrWFVjdTdaVkNTL0RSLzZkOHdiMDk2LzJlWXVQUGZRYWoxMXdYYzdkcnRPcFUzQnNpS3JiTnVLWkZNZHFGUWhEc3E4UlNQdmN1N0JORTA5Wk1WWjdCMlZIVHFmNSt1OXdiY2xITEZ6OE5FZ1RQVGdLMjhtTitxQ1VtMk9LRWVyQ1BUaHJCSHl4ZmY4S01wNmdhOEViNkk2RFZsWk0rTFhGV1BWTm9HbE1pM2NZNTRScTVuaWs0MzJ1YU9yMU45YitjL1ZObFY5UXlqK1hKVUlURko5OWF0SklEYSt1TVVxTEJ4WlZDWW1rMzJFSzl0cFgzZ3ZOOVh1b0lqZlhkTU1OTjJBWUJ0ZGVleTI2cm1QdjhUMWQ0bUNJSTdteHU0RVZWb1FiQW1Nb0ZEb2RPVkNmMlVNcWpHbFNVN2VabWkzclhTSmhmN0QzNzhOcUN3SVNNVVpnNkJKVGx5UmFKVFlhaG03UTRRaDhta0ZKVU1lakM2SVNPbUkyRlVFVDI1R1VCWFI4cGs0b1p0TVdqUk54c3E5V0hTTkFhYXlSeXorYXozOXMrQjJqclU3YWs0MFhOTExmRURFek1nQVlZUHBBK29IdUREZDlVSm1YM0kxOWRXMHZZZkNOSGNmWWlyRkkyMEtZSmlBeGNvUndaZGk1Wm5RVFlaaDl4dHBTMVhjb2pIQ2ZYTjl6YzA4Q3BrR25OSkw2ZzUxbmIzTjRPZWhDMEdXREZINjhCZTRaaVJiSFFaTXlKUUs0Zk1PL1BsNmt4QjhJdlRvbkt4WkQxd1J2TDluS2VkZjltWTAxelpnbEFXekh3Y2xSOHBvblh2blc0SDdncm1tV1FiK0dJaFFlSGhXZUhYbGFQdmRXTmJaWkRhcGNaN1VnRXNkNnY0MU9zNGJDeHUySUl3cXpYQmU4YXpQeEhLMWx5VUNOelVIYmw2U24xOXVBMlRQM2V2bjhjNzdIK1hrc1pnKytHT3Yxd3hJV2pDNFczSGl4anltbmZvVXJXbi9NQnhzUEF6T0NwbHRwODFsa0EwM1gyeU5tZVFQNHpKMWlhQ1p6S2Z2VEE3ampwNS9KNlBXdS9XNHVETGFOT2JxOE56K1JMaTJYQU00bzNwR2hpQ2ovVUZwUTdEN3dIb2kzOEVvRUFtRUV1T0tMTGNSdGh3S3ZtYmtRTTQwQmJsN2VMbGkrREI3THpybWNrUkxCdDRiOXZMdmxBRjZ2bVVKWHpNeXBiVkFoQkJNbVRHRHMyTEdFUWlIaXNSZ2xmajlhSU9EbXg0VGJ5S2lvc3BMaVVhTXdUYlBmOWZ1Tm1pUFozdTBETFU3UTQrZW5KNS9OMThmTTV2WmIxL0RjaTZ2Qlk2QVhlYkh0a1psM00vYnZUTXIwVi9CdzZmL2tyVm5oYnF3UXhGdGEwSkpDNUNBeGJZRVZDWUlvUWZiMngwa0R0b05XRUNTeVlnME50OTBMUUdURkdvenkwVWdydDFXVG1VZEZFYnZHUGIwTnlNVFE0cUZkMytQbUt5UVAvSzBPajY0UlRUakVMQWVmT1hDZzhadHZUVlpiVTFtRUpjM3NYUGo1Nys0MWI2M0E4VS91OHNJWkFGZXJTVkJRVUZESUlwd2txWlBoaTFOdkdiMlA5eHVSY0E4K1RNQ0NDS0xGZ1lEQVpSTnh3S09qYjFpRy92RVM4QWYzY0V3Y05hRXA0by9WTC9ibG1hRnBHcFpsMDdVa25wUU53YUU0ZkR2b3dVZ2V0T3pMUi85S25vNURMR0ZTVk5sTjRYY0VmNW41Zlc2dHY0YU5TeWVBQWJyUGRoT3ZHWTVaWlQrdnBiTGliajdJNENkVGRDeDdsOUJQQjd2RG91VTNkVVNYZDZNVlpvQk1HQ0FlaC9mZlY0dEZRVUVoYStoSkt1NUtIdHp6T0pVTmc2KzFyZWZ5dXZlWUZHMm5TL01nWUovSmhQTVJyKzk0aDNrcjcrQzkxbVVVR1FVVW0wV0tTRGdQa0swcDB0Tmk5NURwckZlVmU4dERlUmoyN3lFRm10Y3RjdGplNW5hVTFUengzZUpPQlFXRklUdE9jT0NCTUhWcWFsMTFDd3JnOU5QZElxNE1xM0JIZ2w5M21GUFZLYVlVSk9SdnEwdms0Nm5hblpqQSt0RGRiekFQVGFtQ2RXVEFjUkErRDVyZmkzVGNEWGNoY0I5L0F2MVhLV0g5SnNuOGV5MHF5bHdqdUtOWkVvdTc0aW83Z0ZYOXV5dzNMYitQNmUwYjZEUURhZm8rQStPVzV6L0txM0g4NjQ5bTlMbTQvd2I4VEduTnJLL3AzWVZhNWFRVlBobTQ0anNUTTNxOWV6OVFZNnFnTUdMOHUzNzhlZ205Zkd3OXBZdzk2WUdlOSt3UGI5aGVlYTVLVXVDR2l6MTkwZ0krd1MxWEJibndvRkhVM3gxa3cxcVhTRGdYWFIxTjA1QlNNblBtekdSOGtkeFRTTXJiN3JHSDVOaGpqKzE5ck1pRTk4ZUNHemp4S2ZiNHJhQ2dvS0NnTUJ3UWZuOHl2eVA3ZUMxSC9XMEpRdE43L1pvY2dBWEkxdll3ZjNocEpZZE9LY2ZqTWRpd3RRWExkcExiRWtKMzdieXdBWnJhd2p5K1lBV0hUQjZOWVdwVWIycEoxaUh1bkFoYlUxNkJRdjZpOUx1TmpKdTdGUzNvWUlkY011R01vQ0NJTHNEcURsUHg3Vk40LzVvdmMxbk5FOVI5VUkzdUw4WVJNbWZJaEJVVWRzYmpnc1RXZXRwKy95em9PaklXVCs2SkNpU1NpWWt1L2F5T0RhY1lPTDcvS1R2MDU1UWUrU0dmbUkzanZKdE10ejZoaDJCcm1Ba3BaUW9FeHFMWFowb2ZTVitFUng1NXBEZHY1UFRqRTlySno5SVF2QkFMc2NLS2NudHdIRWNZdmh5WktqZlJwM3Q5Q0s4ZmllejN1L1JnV3ZNNzJXbm8xZ3B5SGNSakFzc0d1MFBBUkFpYUd1T0RKaDF4bXgzaEJMWWpLUStZQkQwYWxpM3BPVHJjbWJDcDdZNFJIeWJTZ1JNYVhtSCs2bDl3VEdnbEhVQ2JNRENFTS9SYUczcy8yZVdlOHBPaGhqVVhxL3JRa1JId0pnLzRhd0tobVVqSFFYeUM4K0lTcWZwQ1p3SVBuTDJYZnVnQTV2eTI1OW1TNUk5Q1B2aDJPdnZnUE8wZjg0WW1RT0Fnazc2QktRUlNqTXdBUWxkN21WbkZ3LyszZ3F0LzlUYzZPNk9ZeFg0c0s3ZHIvb29MUTJyUzh0SnVMc3lLWCsxRVkycHNoOEdYMW1NMnBWdVdZQWdURVRSUWxjRUttVVNQbWJkdG1ENU41M2MzRnJOeTZubk0yWGdSOFVRUTNkT0ZJeldjSENHWGxwRVI1d3JuRkg1eXppRVp2VjVPRUFxTFhVZ0hoNWhtQ21wMlBvVXJXWVBwS2VoOWZGalZhS1ZBYzk2RmtMUkZmTHhSTTVsd3dzakpucXBDQ0x4ZUx4VVZGZnQwbmUxUkwraHhLb3NxZU9qTVMvQTFWUEhOQzE5amEwMHpXcEVQSkNPV1RCaFVqYXZDSHFpZE1DbWowbDYxZGJPU01RVUZoZjBXTCszNXdtRUhCWG5tZ1NNNDdLQWdkayt4aUFiT0ZvZkkvQVRPRm1ldnhraGxheGNwUGFhZ29MQmYwRGI5aU4zMG1OQTB4Q1dYY2xXZG54Zit2cHhucnorZEwvenhkOFJYckV5cGUxckptbFZLbitVeE5wNWNLVVBuVG1DZXZKbVgxcDRJRmhoZUcxdHF5S0dFZFRmbFp6SFZ2alJURXlyK1ZWQlFVQmlSZUxkZ3h0NjJRVW9PbUhjcFZUKzdrTVluRjdMeDhwdVJDVHNsU3pDcmE3bXlGd29LQ2dyNzArZmY0NFM1N1VoKytVSTFvKysvajFPYjF6QnYxZy81OGZWbjhQbUpoYW5GQVZrbUdwOTE3VHNaM1ZONTk0NHZLanVrb0tDZ29LQ2dvTEFQaU1ReVcrSGw5K3JLUDh0amFHYyt2SnM4T0JJdU8ra2dydC95TCtSN1MxbCsrVFg4NE1XTnRIWkVVeXFPZEY3NGR5VVBDZ29LQ2dvS0NnbzVDSmxCNWxMVnZGSkJRVUZCUVdIa28zREI5SXo0RHAxbnJGRit3ekFnVy9YMDN6enNHbmwwdEJHeHF5dTV4NHdLQ2JWbWdWeFlPT0dWelo3aW43RG9rby9VakNnTVo2aXpTNXpTMjdCaDE4Y0R3VUJnSWZFTGpibUJDbTdvYmxBNlMwRkJRVUZCUVNHbmZQSjh3dy8rVXB2UmVwVEh2MTZsL0RNRkJRVUZCUVVGQlFXRkRFRnU3b09EUkJoZ1dWQjZJeFQvRXJjZnJiSDN2Nms2RVlVUmdHbGZmMnJRbU5WdHE1a2Fhdjd5WGJVdThoRC9EeXpCazFYSmg1YjNBQUFBQUVsRlRrU3VRbUNDJztcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBHZXRGbGFnczJYVXJsKCkge1xuXHRyZXR1cm4gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFMQ2dBQUFBZUNBWUFBQURTVzBITkFBS282RWxFUVZSNDJ1eWRkNXhVMWRuSHYrZmNlNmR1THl6TDBudEhRUkVyMkh2QkZydFJZOWRZb3RIRVYyTTBSUk1UWTR5OXhoSVRZNHU5ZHhGQkVFU0s5QTdiNjlSNzd6bnZIM2QyWVNteUN3dk00dncrSDlqZG1Uc3paODQ5NXpsUC9UMmk2c0pyZE40SlI3QjZyLzM1L1JOVGVPaUI5NkUyZ2xHY2padHdlZTZPbzlucmQ3OEU0S3YvK3hPbjMvQTYwZ0NWQkxObkYwN3ZaM0dSV3N6SVFoTng3cG4wdnZ3dGF0YldJM3dtV211MkdRdHZGNjMrN3Zydk5yMnBJUlZ1Sk1SZWUzekg1SC8rSHlvcEVLS040OUVnZkxEZzlKRTBmWldMekhKQWlUYTlkTGU2U1dLRHQ5cmloeTdMOFRIK0ovMVlsdXRydzlVZGpML01GQnQvKzdiQkFDd2grRzFSaUlsWmZtSmFJN2Z3R2lVRVFWdnhjdjhjZnJOdlYyd0ZybWpIZVA4d3BkWFZSL215OWZ2SkpsekEzWXJKRXdJMnQweC82TGtmbmhlQkFSeml5K0xOWkdPcjhYYTIvYmF5Wis4ZHZTTGJoZTdMbDdZYTcvY1VwUFY0QjFIVGFyeGZCMGVsOVhqM2lMV1dEL3ZjUEQydHh6dnA5dEd0eG52ZEMwdlNlcngzbmR4bkErbDMwUTRkcjBUVFBBQVhBY0pNL1JNSUZhZTdybUVvYXhoREJhTUNEaitKTDI0MTN1b2hlNmYxL0JiTy9iTDFlWHo2Uk0xUGZzS3ljUk81L2U1WlBIYm5oMEFFUTJiaEtuaitvZjA1NWRhakFmanZiOS9nMUlzK3dVRGhZa0tYRWk0WUVlWC8vSi9SdTZ1TGU5RTFGQjg3bmRyS2VvUXdObnRXU09rTlFhbTJUTlgxcmNaNzROMkxOM3BSczV3WFF1ejArZjNvbXI2dEIzSFNzMjFlRDFKby9qM3hYazRaK1JVMUx4ZXo2aSs5MEVxUWQxQU5QVzlaeExLR0lzWS9mVFBMNm9wQmROQXllL0hNMXVOOVoyVmFyMThPNzk1NnZQM3UweHRxYS9sNWZtNjVjay9RbXQvZSt6VUZ1UUVpRFN0NDR0S25PWEwwSExUYXRpRUlBKzUvZTM4dWYvVDBMZCtIUlplM0h1L0EzN1JkbnhRYXZ5TjUrUEpKbkRwK0lTSmhZVzdoOHh3dDBINmI1ei9wejBYMzdVUENWTGk2SGZ0aS9tOWJYM3paY2VtOUh1NS9kYXYxOVhHamMvbkxMUVBZZTB3dWpxdTNxTnk3Y3hTSkIyM2M3eFNZV3lkdmE0ZU5TT3Y1eko4OVMyd2dXOU42dkdJRG9kK204U3BOOUx1NTFQejdGZXJmK3BEa3NoVm94MFVZMGpOeXRpTkcxODdmYUx5dWNqQ2tTV3pXWEpaZjlYODBmUFFaUm5ZT011QkhPODcyblQvVFJNVVR1STBONUV6WWp4NzMvSTdReUtFMGoybkQrZVdQRTdkcVBVaGdRRmFNbDBiUFpWQldiTHQ5SDNOVXhRK2ZEMXRBS0dqeXdHMEhjUHF4QTdGTTJiWVhPUTdKTjk0amN0dWYwYkg0TnVsalZSZGVyZk5PT0lKVll3L2dEMDl1blQxOHNWckVrQ0lmQldlZnpLeXpyOEZaVTQ3dytiYk9lTjhBdTFmTmJqWGU2R0pMZzRFUWZoQit3RnpQVWFEWThRNmMxZ2oyTG04MTN0bkRlcWExUEJzMmUzbXI4YjdVZlhCYWovZkVsZk5hNzdkSDlrbHZmZUhDMXY1SStnelM3RFVCZXZVRElUdGtqM1FvN214dC8ralphZVIvYWg2Slg4QnFGOTZKSS81UXNWWDZqamw4R1A2Ny84cXJzOVp5M2sxUDA5Z1VJK2kzK1B2Ly9ZUnpEaHBLOHBlL3hKbjgxWGJYZDY1L2ZrRmFyOTgvbnpxZzFYaVgvLzBoalJDRUJ2YWpmdElVN09wYWFqK2JoSkF5TGNZNzdwdFBXNDEzVmw3L2pwbGZRWXVmUnJkTDYvOWhqS2hiMk81NEJiMTZ3U2VmZUQ4N0FzdVd3Zmp4M3MrMlQ0T0hXOWVOVndwUUdraW01a2Q3ZG96aDh4N3ZxSVdlY3VmUUpuZk9yUnVNOXpkcEluQTE1UHZydUdqQVAvbjV3QWNKenEybjZtbUxnVysyUG8vWjdUYTlzUTJpeVEvSGFZejVzRjFqOHpJT3pWR1JsZnhmMWJjRXROdnF1Ymd3K0YzUlNONE1kOGRoRzJ5UUdiZTBmdkY5QjIvWCtUV0E0ZG1DZTRhWjdKTXYyenh5MWVEUytGb05SVGRQYmY5KzJ4NTIwQWI3S1BhYmRvN0RGOEk2K2dHTUVhZUR0TnIwRWx1NVBMZDRNcGQrK1RSUko5RytBWi8vNUNiaWFJZXplcThEK0gyejNWRFQ4WEcwTGZsWU4ydCtieGkzM3Z0ZjdiUExBZ1lQWEw4bnB4L2FxKzEyV1FmNkZmajFPZTBhYjhCUi9QclRKUnp6ZldXN0ZtSCtZVW5Lcm9raEErMWJmaHZhdll1SDVLVzFIdE4zYmwycjhUb3p1NlQxZUR1N1g0Rmh2MGx2dTJ4MmE3L3pJOTBPMFhkbGplTjdYeG1vSkNZT0RqSjl4anZubXRiek8rN2U5SjdmeVZmKzRIcVFRcURTeWZiZFlEMzQ5cnBmNSt3NWxXQy9oUWloVVFsL1NtWnUzekVySUNROTVhRGFoaHdUbkUxODVNcGZmdGlwL2VZWC9QNTVmZEVKNHhnMW9CUy9aYWI5ZU5uWmpzVTJuZVlkcTU5ZHJCY3pKRmRRY1BWRk1HQkFxdzk3K1lONVBQUGFUTVlNNjhaRnA0eWhLQy9VNnZrL1BmNDVVMmF0NXRnSmd6am51SkViNlhFYnp1K2Npb1IrYTM0amN5dVRtRkpneWpiYWR6c0k5eDlYMm1xOGs3SjJhL3ZvbENMUXJ5ZkQzbjRNWDdjdTNtSnlGUXZPL1NWVkw3NkRNRHQrL2UvVE5LUDFoRjgrZnF0bjA1UWFKMnB5eTc1citlMkVLdnJzWDRFSURXZngvRm5jK3VhVC9QYS9mOGZNenNkUjd0WVArTDVQV285M3hQbGJQVjVEQ3Z4Smw0Zi9mREduSHI0blFnZ01OQ2hOM1N0dnN1Um4xeUl0QzYyMlBqQy9ZVnlOODhmb0RwQTU0RHFVRlhYankxODlUbGwrbHpiWlFGc2p6eWFGMHpzdXNVK2t0UjlFTDBwditTdjZiZUNLdURhOTgvVDRhK3M4dmVuNUE5TjZ2QnZ1dDV2QytmcXhXQU5ydDBYbTdNRHorTHZpc2ZxN2ZpNVRocnJNSEtCWVdxcW96ZFk0aHFkU1NyM2RWY3NmUk0xSnN6dTFmUERmdVZ0YWp6ZHh3d2JuOFppSDBscytUTHQ0cSt5TDJvWVlCMTMyRkRQbXJWbm5xQWR3RllmczNaL1gvbm82QVYvSDZ6c2JubStWRi94YzUwMDhpalhqOXVYM1QzM01RdysrRHJXTkdFVzV1RW1INTM1L0JtTnYvUlVBVTI3OUk2Zi8rbG1rSVZDMnh1eFJ3dWw5c3JuSVdjMndISlB3enkvbTEvWDVORVE5M2JRamJ0eURCNVoxNnJxRTYxOWRsTjV4eStQNnRYdjlLcTJadnF5Smt4NzhsbEVMcG5Qdi9KZklkaFBFcGNXTi9ZN2huWDU3OGErTGhqTmhZRDZHRk50MS9YWTZmOS9qUDAxdmViWkIvR0wrRVdmb29ndlBKUGVJQTVHaElIV05DWjU0WVRvUFBqZUYrWXVxbXAxVW01azN4WmtuaitheG40OWowWEUvSmJsOHBlY3o2dG1kZnE4K3lRVi9uOHl6TDB5SHpkMEhwVUVJQmcwbzRjSmpoM0JTZGlQSmYvNkwrTUlsNUI0Mm5xSUxUaWRyM0pqMjYyY0N0QVBCdnA1T0ZGdHNJTXoxUEJmYitudzc5TE50OWtkRm8zRHBwZkRjYzJEYjNtT1dCYWVmRGc4OEFLRlFoKzYzLzN6U3hiMXZRYjZZVmhNVXRnYVJac3QzUS8xaG0rYlhkb2kvK0JZTnY3aDlvMzB2Z2dGeS9uSXpnWk9PaEczd3kyMDR2NTNOdnRpVytkV3U2K1YxU2JsUlhveFdDcFR5Nm5zTW84UG10N1A1Znp2YmVtanZlR1ZBVTNaTmpQekRrbTBXSmdyQnMrWGR1SHpoY0tLcW5XdmppdGJuRy8zdjJHVGVpQTg0Zk54OHZwemRnNnE2TEpCcXMrSmRDbzJ3VGNhT1hJcnRHSHd6dXdmYTU2QTJVOThoQk9CSXVuWnBZTXlBMWJ6NzVVQWNvVkdibW9DRk43WjZjUEJkUittdXVlL2pLaGNoMHMrbS8vU2kxbDhpKzV5WE41cTIzWHJsOGV6UHgxSmFFR1RHa2pyT3V2Y3JWdGZHZDhwNEc1K2EyREY1M2phWTNidHdXaitMaS9SaVJoVWFpSFBQMm55K0JxQ1ZYRmV2YjZpMk9UWTJzQytPZkdDR2JvZHN3VkdLR3cvcHhmNzk4aEFDakMzNFRGMnQwUm8rVzFUSEhlOHZ3NVN5WFhiU1c1ZnUxdW9EUHUyenI2NFN2dlNLR1FNbWlpS2Q1SUFsWDJ5Yi9CWFE4NllvK1ljbjBUdGdlMjZZL3pEb2dERjZuNThlUlZPZklGT3I1ck84cVFMbE9wN1FFV2t3NStlLzFhbnpZVHBiWFM2LytDYTk3YzIvN0w3ZDhneDFTcmFKRGxUNU5zcnI3ZjFFZXMvdjB2TmFqWGZhMEFQU2VyeGo1bnk2VGZwNk5Pbnk4K2UrNXRuSnk5cThrQVNhTXdkOHh0LzNmWlNRMmI1OFQ3RUhhWkVudTdYcnQ4c2o3WXNmQ3dUM0hmZ3pUdW8zcm4wZlBPZDllUDEzN2E3akVUZTJYZysybzlKNmZpMnp0VFBzbTZKaGFUM2VEZXNHOVVOajBudjlYanl0VStmdmREWjd2dDhURTlKNnZJdk8rN2pWZU9XSmo3WnB2SVhaQVo2OWVqejdOcTZrNHNxYmNXdnI4ZlhyUlplSC84eWpDMk5jLytSa0VyYnE4UEdxbDM3V2VvSDgvYkQyeFMvTUFBOU11SUxUQngySUpkdm1kOVNPUSsyYjc3TGk5aitoMmhtL0dEMzdxOWI2ZW5DZ0Z1RVF3cERrWHZNejhtNjROUFVaTGtJS2FFZDltNU5ZNDlrdy90SjJUS0JDSzQwd1BiOVAzWjBQVUgvM28yaFhvU05SK3NZMjhFOSt1ODVjVFdyQjYzVUYzTDIybEM4YnMxRmFidjlrQWkyUVFyTjNWaU5YZDEzTnNmazErSVJ1OFFPSmthM1A0OGV6ZStqL0pPcjQxSTRRMHlvdFJmQzI2R2M3ZkxDZFBEOTFiWDU2ODVKMHJXMWRwMnVNL0dkYWo5Zjk5dHlPT1k5VDc2SmpBdHlVWWgzVTZKaEF1U0Fza0NHRkRtaEVkT3Y5TGh1ZXg5YzhOa0pmMWJ1SlhqazIyQkpYZzVGR1FUaXh6d1oxbVk4ZnFYZlVwdkVMemQ1WlRkemNiUTFqckVZK21KVGdkdzlIbURuUHdWVnQyMi95K0tmU2V2MnEvNTNUL255TlZQNnU3S0RhOC9hODMwYnlkM0NSWnIrZTBEVXJ2UkxYbS9HSHp6cDF2aEV2VDlFZXE0OWkzYzgwd3NTeG5kb2VxdTdlUDcxNUpGZTI1a200Nk92MDFzOGUza08wcXg3U3l5b1VPMCtKMjZEK1RYMDRSQXVwd2FkQWk5YnFwYkxZS0tpdE5OcFJpS0NYMitRbE5IZVFWdHI4UHNyVFNYUUM1TUZ6TjVDL2wvemdKMWxvVG1oWXc0VjFLN0IyZ3YxeDRBWTh2cDNOdis2K1U1alc0elVPcis3VXZMaVA3NWJlNHoxL1J1dnhyaUc5MTBNcHJkZkRKNFBTMjk0Yy8vMnNUcUUvYkZUM2R0aExiZWVYbFFvM21zVi9McnlOVThkTndvbElUUG5Ec2xpN0FwR25xWDBsandYWDlNWE1jdER0YUZpd0lYLzZyQmYzMVRycXBuSncwMlJTTlNBRkltUXc0cVF2T25VZWVMdjladkU0NnE5L1JML3p4Zzdod2pNL205NTJIZ1hORGxzakFvMFVHcVZNVEdXUkY2aml1QzVUZWV6RmwxdU5ZTkZZZE1GUEllY3drRGw0UGhvTmplL0JtdHNodm5ETFF6WnlvTTkvSURqYSt6czJIWmI4Qk55R0xTL1RRSC9vZWpQa0hKSXl3d3hRRGREd0h0UThBZjJtdFA3NG9qZmF4ODhZRkpvNzh5czVPZGhBbTBzc05OUys2MlBWM1VGVVhHeVRQRk5UMDl1UEt2ZHNQYi96ZTQvVzdSTTFndXRHbk1ocjNYYWp6Y1RrUW5MczZobmNOZXVsZGxzb0E1ZHVzTjl1UENlOTlkNDdubW85M212ZTM2cnhtZ0ljSmNIVzREY0pCWDMwTnZ3MGFvZUVkS2lvc3lIaFFNQkZTbVBydVZEdVBxVFZlUHNjOU5kR3dOcjArU3Z3KzAyMEJ0dDJjVGJqUEN6TUM0bDdiem5hM0hORW1RU1lPbXVWdXZLMk41enF1cWplOVB0Sy9ENkoxZ0xiMmZ6N0FtckpoOWUyQ2pUUDZONHJyZGZEYml1WGRXcS8yZnJuc1lvbmNPcnFNUUlCak56c3RuT1BwOTdDWGxQQi9DUFBJTGxpdGNkWnNSMzRuU3NHcDdjZDFHVmVhMzNuMjd3OTBucThJK3UrN3RBNG9RQWtBaE13VSt2SDBSb0hVT2lPT0R4YmovZVN3OXZSdjBMZ2R4MGV2dUJYbkRybUFJUVFtTkxZZ24zaGJoTXZ5SWI2ZzlpZ2Y1QUFwS0Z4WEY5S0xIc3pCUzV5dlJqOStsdEpvRkVZNUJMbHZ6eEZmdXBWSGFHS2p0dmdiVzdiOHdoOTl4NWwxSWQ5Q0VmaGlqU3JmTHY3d2RZRDJ2UFdIYmJmcEJCSVFFUVQ5T3JYaFgvY2VoSVQ4Z1Nyci9zVFRlOS80ZVdFYkNBRE45cHZlNzZZM3ZyTzFKTmFqWGZwaWI2MEdtL3ZsNUt0NS9OWGU3UzVpV1RZRitLZDgrNWwzMTZqdHVxenYxZzJrOE9mdUpKSU10cjIzZmZIcjdlcGY0VVFnbWVPdVlvemhoM1FyckgrYS9hbm5QWDZQZTNYSVg3VjJyN2s0a25wdlY0ZjJxZFQ5eXZvYlB6MFl0eTlyNXJ3c0laUEhHbEd2SUl1QlpNdTJiNFQxOG40UTZzdXZEWmxGK3p0OFkwODlEclViTUEzOHB0YkFKankyOXMyeVRkeXNidVd3YmtoQ3E4OEVWZWNEYkcxSUgxMFJCQnR3M3FxaWd1djBma25ITUdhemRneC83cmphUFpNMlRGZmI4YU8rVm5LanBIbm5rbWZOdGd4emFwRm0wVFVCbmJNZ2k1bExhL1NpU1F5Tzh1emFSb2JFWUVBMnJZeGlvcm8vZFhueUx3ODcwTjJvQzZ6WGVxeG0rMnUxUlVzT3V5Q0RyVzdOdFJUdnMvcjE3NXpLaGlrNUMrM2tYM3lzWWcyOGdSbzI2SHhoZGNvLzhVdDZGajdlaklOcWx2VXFmTXJqdlJsNjF2RFhja1RCdlhheFV3emhva054L3ZodEhKOTdUM2ZNdU9yMVpCallmbE5iQ2VOY200bW45Ym0vZGI4MUtxcXRleHp4ZkdzTEYrSk1EckkzOUxXcmZ6UnlrNmRYK3o3KzBHNmYwMlNHejZ0MXVOV0p5Zzg1enlSZi9tVlZQLzVUbXBlK0xmK3VGZVFQKzlYS0ZiazlOSXVaK0dLdksxYzRGdVpOUEx6Y1R2WlQ2ZlhHMzBidnZvRzU5dUIrN3lrci8vK3p4eFFOd1BIaldNTGlhSFRod2VoWUFNRDZMZmhydnFoV0RXcmxaMjJTN2pWWHhlMWYxR0oxSDlsVGZEbC83eWZzSDFDZ2h2VjN6NlUzdktCaTBXbjduUFhIdm1ybGFKdXlVb1dmemlaT2Y5OW04bzVDN2Y3ZUgreDZyTWZWZitIa04vaHZ2TS81Y3o5dnQ4cGNkOUpZL2ZiK25xSkhiRHk5NW55ZWVldVQvcm40dlNXWitkdTBFZjlpajNUZTd6L2FOM0hTcHo0cnRaSmhiQWtVZ3JjdUl2d3lmV3AvZEJKaFJFd1VFcWpiZVU5MzBIZjBwQUtyVUhGczBDNEhESjRLcjgvNUhuRzlsc0l0b2tZdGtFL20vRi9iQWQvdm1CNGp5aXZYckdZM29YSkxaZFhwRDRwT3FPSmlrZFdrVnlSYVBlaFBYUmVhNy9kOGNlTzBKZCs0Nk5IbzhBVjZiY2NOb283WFBaY20rZlhMMTF1SFBVS3Z4cjFQM3pTMCtlU3l1S1BNNC9uanBrbmtGQkd4dy80L3RQYmthK2JTc1RhZ2ZsWVd6cmZxbjk2dVE2ZWNEU0pJNDdnNzg5L3c1LysvQWFSNVRWUWxBV081b1c3VDJEMExiOUFTTUduTi95UmMyOTR6Y3VKVndaRlEzdHd5UkFmSjFmT3BIdU9nWG5oK2ZTOCtIVWFxaG9RbHRFeGUvSUg4Z0E2dzNuUjJmemtuVzErZTc2UjNuMlRseDg5cVhQck83OGYzNDY4QmZBcmVQaFF5YWxEQmRodHFIMVZJSUtDNkV0TjFQeWlFdUVUN1NxSjY3R3F0VC8xd0R2VG04LzdveHRhODNudmRjdjR0Qjd2VjdlMTdtY1Qzdk4ySFovM09HN2prdFNDTVVDbkZjOWxxL0ZlZTg1dStyN1RrbVJGdllkMW11azhHL2FyeUQzODViUmVEL1h2dE9ianJQLzM4N3JtOWovZ3JGcU5ESVc4UEtRMFF2L3lGWjA2M25MQU9lK2s5WGcvZmVyd2p1Rm4zVXAvdFJBZVQ2dVF1bTF4a0EzMHlVNVhQejd3WiszMlI5MS8vaGVjc2U4aVROSEdnMVVMS3QvTlo4bmZ1cVBpN2VNazJLaGZXeWZ6OTIxdEh1elVFai9YNzVkUHJWOXVYemZhL2ErMkd1K3pwYnVudFh3NGM4MDNyY2I3ZFpyeisreXhvV1hlLytiTmp6ZnBlcjB4T3JpSGltVW9iTnNBVnlKODdnL2IwUnZJaDUvMHo5Ylg5TTZqdE1MQWJreFJUYVNSenROL1llczZCSDYzdjRiVU1JVmdUTXpoM3JVeDFwYURrMnNSQzNiQkZBWGtWQy9HNnRMSTJTWFpsRnVpaGNoVGl1MU1VL0ovbjNYcWV1SE4ycHRhb3gwSHJSVENNRGJidTdQaVgvOWkzbGxuYmJlYXh2RWJyTTRWb1pLMG50OGUwZkxXNitIR08zVFhQOTdBTTg4OXg5bG5uT0g1Y2t3VHgzRUFqNE5IS2NVQisrL1BCNTkraWpsdkVmTU9Qd3ZaRUVIbVpxRnRaN3VPZCtEcXFSMnY3K2pGRE04ekNGNTZMaitmdm9xR2hnaW0wZjV6VDZCeHRJbXhYcCtFWnk4OWZnTnBkVitIckFjSkRLU2NsM2lJUVZSMEdFT0ozR0Q5N21oL1ZJRjBPU25jeUFWWnRjaEdtNmYrRitmdXA2T3NyVktiMjdLdDUvZk05OUk3UHZUc29aMmFIL0NJdzIvUUJRVlpyRnBWVFg1K0RnQzF0UTEwNjFaRWRiVlhxRnhZbU1QcTFWVWJQYS9MMTNMRXFwa1VPTEh0TnRqakZyZU90eHg0ZDNySE56KzZwbStubnQ5Tm5jZGE2eFplNHVhbk45VXJlVWQ0anFYYzRJTWZla092di9QS3NnSVlRckNpS2RacUkyWmJKclpTV0ZLU1VJcWdJWWs2THZiMjVwQzcrT2pXODd1MHZmSkJlQk5yNUVQWklwRDViRTJBYmlPLytiVS9YSDhpZ1lHNXEzamh3RDh3T0hkVmgwekZ2SGdXSnk4YXpmeDQxcFpkNkJ2MEVkUmZwemt2L2dZOC9wMjVmamtOb1lRUXJZTGo4d2YwU092MU1IQkJhNy91WU1MNmw3bGxIR1RrNDJobzFFNUxqVzg2WUtPOGhnMzhZcHYwZTIzR3IyVjA3d2FBdTNMMWRodHZ1L1BnbEthb01PenR6ZW9Jd2hDZWhyOWhUeTBrT1NyT3F4V3ZVYURpMkIxMGh6YjBtL2MvNnRtMFhyOEwzenh6MSs4cnFYVkwvMGlVaXllQVZjcHByMXY5MU1wdDZUR3BWV3ZPUlNIV3JhTzI5cHJjNkR6KzliR3Q5NXZsNS9TUjQ3bnVnSW4weXluR21UYVZ1c2NmSlRIM083VGo3TkNhSzRDK2sxdjdTVXYvdE9QT1k3R2V1cVBYZTJ6OVdLbG8zcitweDlmOHN2VzJmZmJwWi9WNTk1NUhjbUFTSzgvQ2p0cElJMzNXcjNsZGZBRG52UGdaKzM0MmlRZVBPNHdyVDdxR3U1NmR4dE5QZlE1VlRTMmt5UURLVlJCeE1QdDNaV0p2aS9PdGxZenY3c2QvL0VrczZqNkUzejh5aVpyS1JyQU0wanlmSTRNZHRvdmFVeFhhZmx3V0tHS0pzdm5laWJlYk5scHM0RGJaYUtoYndYRXJBWTJtbnhuZ3NrQVJieVliV3oyZjJXOFpaSkRCVGhQSDZKWVd0aTRDSlN3dldVMEloRXJRVFZjeFNGY3dnaXFHV1hFRzlDbWdiUFJROHZZN2srQ2VlOEJlZTNicTczOXgxUkZjODgrUEdQelIyeng2OHFsY2ZkNUYvT20rMmZ6cnZrbEFTdjZtemdIbHVONkpVdHlWczRiRXVTSDdFNGIzYytIVU0xblliVDkrOTZkcDFGWTJBRCtjMUsxVU12V2J0YzNqMTFvVDhoc29CWEZiSVVSbVRmL0lOelN4dU1OdDkwNGxITFE0ZlA4ZW5IaFlYNTU1dFpDYm5uY0krdjdKaE9FTFNjK2VYQmxra01GMmh4U0VSZzRsT0hRUVJlZWRUdU1IbjFMMzFnZkVaczdCYldqYzRjTXhwSW1ySElJamhqRG93eGVwdVA5SjF2enhIdXhWYXpBSzhqMy9sOXV4QWtzWVhqR2tVMVdOVlZaSzl6dHVvc3VsUHdVaGNKU0QyY2FtbEJsMExLNkxEK1NjRno1UDJjT0h0OWtlUHFHM3hRWG1Tc2FYK2ZHZmNCTGZkeC9PYlE5L3lNVEtCZ290RTNzNzhmOWIrWDlBSmI5RjIzUFJ6a3BRZFdnY0JCWUluL2NQSStWZFVDbnZRY1kyejZBTmNqRkZHT3R1ejJxY0pkOUR4U29ZdGdmc1BnN3lpNW9OaTh3TitFSERLN1d0QVdiWThGNGMxbVNVNmgwTnA3RVJNeXVMMk1JbG1MazVOTTJldDhta29IVEJNbi9PMXVzc1FpQ0ZRQ21GclRTdXF3Q0JZUWhNS1RDa1JHbWR2cjdmVkxJdjV2YlhyYVFBNVFBU2p1a0hvd3U4R29UM1Y4T25LejNYUzBkeHViUndZblhnMXhKb0xPbVFWTmIyblNqdGtYbU03L281MXc2OW4zMllSUFFaeGNyLytYRXF0cnlQSkFLZjZYRHNxTy81ZUY1dlZsWG5wM3JVN1Bybmh3UjZod1RYOVRVWms5UDJCQTBWVlRTOVZVdmo2N1VaQWQ1aGRzTUF6bm54Yy9iOTdFc3ZqblppeW01NHV0bHUwSnUzRzZ4MWRzTVB4ZEdFRUo0ZHF2VEcrcEVRWGxNdlEyWmliNTBOQW1SWVkyUnBuR3FKdGpOVGtzSE94ZjZKRmV5ZVhNdXpvZUU4SEI1TnhNaENxQVFTalJJdGFVWTcxZnpaSmJhK0VONjU3YnJJVkhGV09vcnY1T295cWw3dFJxRFhVckpIVHlQUWF5bElqVTc0VTE5ayt3eGE0UFUwdTJkZ2tudFhtRXh0TU1pM05PNHVkc1M5OWVVOFZsWFc4N1BqOXVMd3ZRWVNEdnJTMm83ODBlcG5QWVp5N1VPZlUxVTVoZE9QSGtGSlVSYlB2RGFUZno3MkJRUXRYbnB1Q2pmZit5RS9QM012VGpwa0JOWDFFVzUvNkVPbWZib1VRaVl2UHYwbC96ZXFCNWVjdWdlamg1WVNpZG5jODh6a2pjWTdvTkNpZEV3K255K0w4dG5TS0RVeEY1OGhXbkp4TThnZ2d3d3l5QURnU0YrSU1tbnlRS3llV1U0eTdjZGJVaVBvV21NeVlacEpRMWl6c2tRenQ3Zkx6UDZLdWIxZFZwUm9Hc0lheC9CVVM2bTNtNHFad1dhTnJHWTdid1BMSzgxdmhFaU5UK3VNL3R5TTY1MXVuUDNpaCt6MzZSYzhlUHlSWERueE51NzYxK2M4L2N6N1VOMll5bXNRS2YzWGhVZ1NzMzhaSi9UTTRnSlp4UUVsa3NERTAxbFExbzlmUHorSitPQmhoSEt6UEYxNXUrbnIyNzh1UVFpeCtjUU1UY2FYbXNHUEFtWldpTFczL0luYS83NUcwVTkvUXU3NHZibm12TDA1YXNKQW5ubGxCcysrK2kxTGx0ZDRGM2NVa1pyeWlrcjc5aTNtdElQNmMwSmhuTUtQWHlReTR6dUNvNGJTNjdwTHlCMi9Od1FEUC93MlFpQ0UzbWhZV29HUnJlbjVteWdBQzYvSVFzVUV6U1gwMi9yOCtsOURhNEhjV2xuUlhJQXJSTWNYdEc3bGV4OVZHcEhkZzQ1K2NGR2VlbXRObG15MFpXYVRaTEIxK3RoNnhlQU41ZVZvdzB0VUVLNURUa21KVjNpZVFRWTdFRkpvY0EwRzlGM0wzVmUveGgxUEhjZy9YeG1MTmhXMmtwdXdLYngvZ1VDU1c4LyttR2pTNU14YlR5TWgxaFhjYjNTbUNvVlFCajhaL3gxWG5qS0pJMWVleThMbFJVaERvYlpnbXl5dHVveVFmd2s1Z2U5eHRVU3c2K2IyN1l4Y25WL0VCM0RPQzUreDMvcDUzcytzSHcvNDRUenZBN3I3Q1p4d0VndTdEK0VQbTh2WHdDTzlMc2hxSkJ4d3lBOUVXVkdUUTIwMEd5SFZMcDJoVkMwc2JyT0dVaUg4cEl0MFYwQVhuZUEzOXV4T1A3OGxrK2J4MmVJS0pwNTNOcGVjZmhHci9SSGVYejJieVJWeldkcTBob1FUOTFhZzJKUVBKNE10b2JQWDVlN0swRUtncElIaGV2bThJaldwelJKYkd3WlNxWmJITThnZ2cwNW1NMmFPckF6V1EyZkwzOGtnZzg0TTMyNURTVXorQmhFT1VYdnIzVVRmK0lDQzMxMVA0SUM5UEIzTGNSQ0d1Vm5UUW10Rk1yb0lNekNBYU0xckFHUjF1UWc3dmdCZnFCOUN5TTA1QTlDdWd6Qk5oSVQ0cDFPbytiOC9rNWc2RTB3VEhZbmkzMnQzbUR5LzFjdHE2cUVnejN1OUQ4MUorZFhzbTlYQXk3V0ZQRjdaaGVtUkxNL24wdEd4YXkyUVFyTjdWaVBuRjFjd01iK2FVc3YycUtsVHBsZHQzY1l2RzIwR0dXVDRtZUpFZVNsUnoxUW5TanlqcjJhUVFYcEJnUjZTd05mZFJjWWxxbDZTbU9FanNGK0M4TmlreDN0VktZaFB0MkNwcjhOY0xaL1YrUG0yMGVMc3NpaG5kNHRpbUJybGVHOHVmNlM2c1FSeVRZZUplZlZjWEZ4QmwyaUVSMStKOGRoTGNSWXVkMmhQS29vaDBuN1p0ZTk2cFZycUJWelh4VEMyamRYWGRWMWtLaTZubEdyNXZjMllWd1dWVWRpbkJ3d3RBdE5JNjhUMUhjMkQ2dFhTQTBLanRXaGx2N1JONy9CeHRQOVR4bGx6ZUMyNUQxT1NJNUVpZ2NyNGVqUFlCYUNWa1FwZnVPZzBXTk5DYWxZMldIeTZPb2pmV0JleDFBZ21CQ3Nva0VrY25Xb3pwalF5YUdGMUNiSHFXNFBHaUVZa0RhUmUxODVNcFBiOVZzTlF1SWFpdUZoUTFIZkx6WnhOdzBBcGhXcVJSd0tyTUorc2JuN01uUkdKL0hwbVpwRm5rRUVHR2V6TWN6YnEwdlIvODlDMU5waGkyd3JyUmN1aHVHM3Y0V2hFdmtYVzd3Wm5ibENhUUFBQnYwbkNjZHR2cTdUcmN6UlNhSlF5UVZuaytPbzRxdWdiVHVuNkpVT3p5bmxzZytzalV5RDJIZFR2QndWblFYaGZrTm1RZlJoWTNhSGlibWg0Qy9RUHFFaHVJOFRuUTNDTTkzZDh2dmZZRDQ3VGdOd2pvTXUxRUJnS0dLQWFJZklGMUR3RFRaK0RpbWJXVFZvdDRJeDdmWWREQWtvTEhOdWhJQ3ZHSHQwMHh3VG1rTzlJSWd1YVdGdHFzbHZYWXVwN05QQ1ZITVRqY3d1SlJ4c1JmbjlIMVY3NTJZQVp6eklsd1lERitMRjkySDFJS1lZQmF5cWFlT2VMaFN4ZFdic0pONVZlLzNSTGZTMjlVWktXWlVwQ0lSOEhqZXZEaUFFbENDRll1YmFCZHo1ZndNcTFEWnM4Zmp2Ny9lMk0vWU4wYWt4TnkxYXlaUEVpQ3JLektSczNGaUZGcWg0dzQwUExZTXZIaVltZ1JKcjBNWHgwa3hiaFZFdzdvaFdybGMwU04wbTVjbkIrRkd5VWJaaXpGSGVONC9yWlorUUtmbkxvSW1vYi9YejJUVmUrbU5tVmVOS2t1YW16UUsvanV2RUkrSkdoTUgxK2R6OUZPU2Eyb3p0bW0xNThjYXMvSjg2dm9rczB5Wi8yNnNueWdpQ0dvMUJDZEtyN0o2QWxydUROdTljTmNsdStneUVGeW5heFhNWFJ4K3pPTFJlTnAvZmNPU3kvL0VIaTM4MzNhcmc2VkdacnBGQ3B0L1hXZzlJQ3BUTzFZdHNMam5KeGxFdkE5R1VtSTRNTU5vRThsVGk4MklrUHFqU0QvNDZobjdPRlh1SktJOG00djJxTWJQaml3c3drQWRmWkpaeno0b2ZyOG5XYitVYWVmUjlxRzBnMmFvck9pQUdRYk5RUVMyTDJMZU9FWGxsY0lHc1pYMnJoUCtFbnpPczJpRC8rOTNWdUdGZFBjWjdKOXVyNS9NdjRBTTc2QVR0Ry8wQTk0UG1XVnc4WWJHZjhYN3R1eXBlMEZmYU9FR2pieHV4V2lwR2JpL0Q3VS9tUkVWUkRBL2F5NVowdUUwRHJkWHBpQnJzMjNrbzJNdDlOOHVkd0thUE1JRFhhUVNLMno1cVZiSFBib3dOSGQySHFZL3Z4dC84czRmWW41dEt3Sm9MSTlTR2x3SFV6MXQyUERjZk5hOVFmOXdtTHUvY3VFSmRPcStkWVE2QVJ4RTNCTy8zRDR1RXhlVFQ2RFE1Y0V0VmZkVlBVQjdhVWViN09RUzFTOWk5YUk5d1l5ckRRb2puWFhuaHZwRjJQbnEyTjFkVTczRStudlBGcUxVQzY3ZDU4WDVRY3lyeWNJZngwNlQ4NWY4bGpkRS9XRWtPZ2hFQ21ZZlBRWTMwNWRKY1c5OGFxbU9IRU1oc2tnMTBXeW5HcFhiS1NpbG5mRTZ1dXkweElCaWtmTGVBMkgwa1puU2lEbld0TEJzTVdFL2NxSmp0bzhzd25hNGdsVll1K0lnU0VzaTNPR2w5S1E4emhmMU1xaVNiY2JmNWNReXEwRnJpeE1FakZBWU8rNWxmN3Y4b1JJNllEbXMvbjV2TFkxR3lnWXFzL3crOVRYSE5vQmIwTGsyd3hGVWVBdGpVTkg5UlMvWHc1VHBYZElUVksveHZnc0NKSGM5WFhGcVBYZXJuYW1SMi92V1VzaU53Y2pONDlFYms1NkxVVk9FdVdRM0xuODMzZkdkcU4wOTc0bkNFZmY4b3RKeC9EQlI5Zng3M1B6K0NCaHo2a1lYNkYxeXRTZUg0djIzWWg0dEJsano2YzFkL2k5UGhDaGtwSjZPZW5VVDFzTkxjLzlEa05OWTFnR2p1bFpFZ3JqYXZXK2FHMEJrT0NrQm5IVkFZWlpKREJ0c0lxM2dNemZ5aUpaYStSV1BRODJra2x5d3JwRVMrbkdTNy9qNWZ1ZDgrWlNmSWJ2SE1nMDE2ZzQ1QjE3TkZZcGFWVTNYSXJpUm5mSWtNaFQxZlBjR0w4S0hGZGZDRG52UEI1eWw5OWVKdjkxYzM4ckczcHA5c01LVUM1NERlakpCd0xETFBkNjY0ejVzRm1zTE9jRTJRb1dUUHcxQjBCUFhvWFVGNFZJWkd3T3lUNXdaQWV2N2hkRnlaUTBFaHBmaE5MMXVaN1RiVGFpUDhzYW1TbDZYREwrQUpHMWZxSXpsYTRNVTg5Uy91OUpjRk53Q29CWXJUSjl5S1hrdFVHUFF2eWFSeCtIQ3ZuZklpdzY4R3lvSmxkd0xFUjBrQklBNlZWS2hOQlpESzN0d0Nuc1pHbE45NUliTkVpaWlaT3BQU1NTektUc2hXb3YvZEozUEpLem5yOExncUtpemp1ME1OeEhBZlROSEVjcDRXRDU5UFBQbU9Qa2FONDc4c3ZHUHpWNjh3Ly9BemNKU3N4Q25MUnRyTUQ5Yk1PMEhkT09Ja0ZwVVA0eTdOZlVlTnZJcGpsYTNkdHFVQ1RVQUc2QlZkU204ekhWajZrYUovOTJDeHlmVDVQdUNXVDN1dDNkZFZMQTRiUTlETnR6c3hxNEhCZkV4Vkxreno2M3lndnZKK2dzbHBseks4MGdXRklncUVBQlFVNWhNT0JsblViemdyZ09ONitEMmR0NHZtd0h6c3ZoNjVEeDFNU05MZmZBTy82T2pPL08ybCt0ZFl0M0c5YWV6Rk9LYVNYOHFqVnhseXJPN01XV212R2x1UXpvYlNBcHhlc2FqME1yU2tLK0dpMEhYSjlKdFVKbXk0QkgydWlDV3psWklSQUJ1bXB4K3cwdjAwNk9CSjJMV2ZHeXJ3STU5Zk5aMStSeDlXNXBld2hjM0MwcGttN0NBU1o2c1B0QXlrRlVnaWNTSXc3cmprZWdKLzk0Z1YwMkFldTZ3WGdNL2p4b2FVb2FEM2xSZXQxZjIvRTE3QmV2eXVoUFQrT29FWGhFUjFjWEJSemtqei8zV2RVUk9xNGN1OWoySC9VS0FwK2ZnME5ML3lINkJlZm9pS1JYZjRXQ2NBVllJdG1YZ1F3bFJjZlRVcXd0T2Q2MU1LN3pnVzBCTjhtanNnenpqcURrY05HY3ZLTkovTjkzZmVJM2lhcXdmVjQrOVBnbURHZmZHTXBUNVlWY1VSZml3dm12OGdCWlQ2ZU9QMTRianJyU3E2LzUxUDhRWC9MdWVqUENuTGsrTzc4cXJDS1VUbUs0RkZITWEzYkVQNzB6RFJlZnZ3T2FJaEJhVzRiWmpnMVU1bUk4eTR0NUZvMWoxeGZzSFhnYmU5dCtMZ3FVTVF2SXF1SmFOVm1XN0NaM3lFN0pJZ2xOYTRMZmNzOGt2SEZxMXdNQTRJK1FXUFVhOFN0Vk5zRWh3TENRbkpWb0lqZXhzYkVBenRsdjJXUVFUbzVwNlFnTjJnU3QxMFNqa1pyamNvNFpyZVBJYkllM2JpTFFBc0xOMVY4S1ZTQ01sM0ZJRjNPS0tvWTRiY1owQ2VmMHQwSGtiL1B5ZVFmY2lnTUhyaEx6Y2ZENzlYeWNHQXN4dzZMY2VPTS83QlAzMy94MVBsbmM4c1Y1L09MMzB6RkZ3cWtEaENOTHlmTWNYdmw4WmRlVStsZkdJRVRUbVpTeWY3YzhZL1p2UGJvZlVBY3lOcWlRK0d5eS9aRWEzamdnVysyNmZDVFFFd0pEdXdxcVUvQzVGV0tnSkVwVlBpeEk1NXdpY2NkNmhxUzlPeVd4ZEVIOXVMcjd5cDQvYU11WFB6b1dUejBzMmVZTUh4aE91YWhacEJCQmp2S3NXRWFCQWIwSVRDZ0QxbjdqbVh0WHg2Zzd2VjMyWkhLMTlHZm44ZXZoMXpPdm9WN0FPQm9seTZYL1pTQ1U0OWoxUzEzVXZYRXYwRXJqSndjajFCb1d3TVBRaUFNQTdlaEVRUVVYM3dPWmJmZGdGbGNpS05kVEF4TWFUS3BlaHEvbjNkZlpwSHNZTFRiSGo2Z2pGOFZWYmV5aC8vOHpEUmVldndPcUs5allsaTI2Ry9ycjRIMUczNXBwVHd5a3ZXYWltbXRXNUZpYlE1bTNuVXQyclIybHFHU2M5SEpHYWpFVExUOVBkcGRqVmIxZ0VMZ0ErRUhZUUhObjZWb3hkNlRTWjdOMkdoNHBLYXU3U1ZjR0piak5WSGJYaDhZYVlJcEg4UEMyVEJtWHhnNkdrTGh0am01ZGhIb0ZuSXV4VHJTb2ZYUG1wUTNyNWtyM1MrZ1RzR0hDWmhxUTF5djI5SVo3REQ0aW9wQUNrTDkrbEQvMVRRQ1phVkVGeXpxOEVCWVIrRm4vWTVxdjhxQzU1OU9KaHlFclpBQmsveWNJTVU1T2RqS3ByNHBSazFqQWhWTG9DMFRuOTlFcWExTTdTNmZ2djIrL0FzdmVEOVBPMjM3eWs4QnlvR1NMSGpqRUJqVDB6dHVxeXZod29IdzdtbzQ5eE12U0xmTnVXSWFMaHZ1dmNjRGN6dnU3QzRKVnJCdjBWZTh1T0s0N1NuMDZKK3ptQ3NHUDhwUFNsN0VtdHhBK2JOK1luUE5kUXZ2QnhDd0hFYVVWZEMvcEpxZjd2Y05wYm1OZkxXNE83TldsbERkRkV5THhvYmI4NHp1R1JUYzFOL2t1QkpKd0dqYlJsWXhSZFBidFRTOFVvMWJrMG42NjFpN29aQWordmcyWXpmNDJtNDNiQ0tPWnBvU0oyNVRVSlNGUUJCUE9GeDV6bDRBM1B2MFZ3UjhKaHBOVFZVVFpzRENjVExPdGJUMGVmZzFPaWsyTkFjSkRIY0k3V1ZULzJJQWU1WE1PTkYzTlhTeWdHSkVXSmdvZnQ0MGxlUGlDN2d2dkFjdkJJZDZzYnBFaWt4Q1pwSUd0MGtXSUNEcElvV21kKzhpbGk2c3dMVU1oQ25UcnpESXNnR0lMKzVIZkVsZi9MMlhralBtYXdLOWx5Q0VSaVZTZmpHaE8zQitJQ0JoVFZJd095SjVmMHlDZmFZR21COFZoSTAwM2xJdENaUnQxejlqQ1llcGMxZXhzdUpkWmk1WXpibEg3VUh2YnZrWW1UMldQdnJaczlONDZkRS9RaXdKSldIZStOY1VieEVXWi9ISWZXZHd4dEVqK1BiN0NuNXovd2Y4N2ZFditUYjJYejU4UFV4WmFBalAvK3NrRGh3emdFblRLdmpsWDkvbC8zNzFrdmRhVjBHM3ZFM1lrSUxjZ09DUWZtRkdsUGo1WUhHRWFhdmpKQjJOenhRdHl5eURkSkRqR1pkNUJobGtzSE94dStuajluQUJUOFliZVNNUnhVNWpJMUtuVEdDcEliOVJVTmdnMkcyKzVKUVBvQ0dzV1ZHaW1kdmJaZVlBeFp6ZUxpdExOUFZoaldONEtxYlVIYXBxWnJEaGlhWUJNNG1XRGtJM0UvSnBoRExCOGJVcSt0blprTUpyWHRpeXNOeVVNMVNxbGtYUzZwb2ZvLzc3OWx5ZTdGYk1FYjBOTHJqcldRN29GdWFKTXlaeTB4bS80ZnAvdkpYS2E5QXAvVGZNa2Z2MzU4YThLTHRsUndrZWZUelR1Zy9rejg5OXprdVBQQWdhZnZybzhKUU9xbHZIdWxwaXRubzk3V2k5Mzl0b3oreW91Z1FkWDQvY1dXOUNzZk5iTy94ZTVhV0lEdXBpR2Y5OEJqc0d6NDQ3bVNNT2pSTDQ1SDFXWG4wTGdWRkRLVHJ2TkFaTjJKdmJyem1ZYzA3Y25hZGZuc0V6cjg1a3liS2Fac0c3ZFIrbU5BaEIzNzdGbkg1d2Z5WVdKaWo0K0ExaTAyZkJxS0gwdVB1MzVFellHL3grNWkrdDVvVzNwMnhlandDeWJJZGtVdExrR2hncFdkOE1wMDVROFp3bks1SnJKR0tET05tMlBLOFF1QnF5REJlZnp5VmlHdTIzQTdXR2lncVlOdzk2OW9SZXZUck9yNm9VTEZzR3k1ZkQ0TUhRcFV1YkNmQ0NobUxQZ3Jqb0hxeGs5N3k0ZW14eG5salU1Qk5xVjdaMUpSdjMrOHE0MzdadENib3VTOS83QUdKeG5JQ2Y3LzV5RDc1cE03ejlOR1kzaHYvaUtzeDRBb0lCZWg5Nk1OTElKREZsc0oydEc2SFJyb0V2NHFkN2NRUDUzU0lNTEt2R2pQdElTQTJHMnVCNlFBbElXcGg1RVFiMXFDS1dzREJOUmFJcEFKYURNUFJHL2xobG13UVNGb042VkpIZnJZbXUrVTBzbmRzZE94eEhHS3FsZ2Z5bWtFajJaa25sVlF6cjlndWtqTEJ6V2FXMkh3S1dwRERiajl6T3pUL21iUEQzUDk5Y3hqKzdiU1llOFBkTjUzbmZXRlROYnB1MEwrSlFtck5aVTlyV2ZvN3AvaGxMbzEzNWRuVi9rQkdQNkhVWDVsKzNrYXlTUWFvSXBOVzRIQ0Z4ZG9GRC9ZNnNibnhTM2NEVGYvZ3JuN3o1S3RkZGZpajNIM1VBamFQR002MHV4c2ZsOC9tcy9Edm0xaTJqUHRGSVMxNXhwdnR6bTlDWjYzSjNaV2doRUZwanVBN2FNQkZDa0RSRFNBMm1XNTlxa3VpMnVqYURERExvWFBqdzY1ck1KR1RRZ3M2V3Y1TkJCcDBaWlpOZXB1R0JwNm05L2UrNGxUVWt2cDdGbXNQUEp1dU1FeWo0M1hVWXBWMjhDMTBYTnZMWnVRaGg0RVRlSUJsWmpsQjFDQTFOOWZPUWJpLzg0YXZ3YUFvM2VGM3F2WVJwNHE2cG9PYm11Mmg2OWhVUUF1MjRHUG01NU4vNUszSXVPM3NqTythWUsrQ3NZK0NrUTZDazJETjN1bG8ybDVhczVhVDhhbDZxTGVDeHloS21SN0s4T1BDMkpnOW9nUlNhMFZtTm5GOWN3WW41MVpUNDdKYjZhU0dob2hKZWZCK2VlV1BqbHlzZ0pDUUhXZG5zWllhWjZrUjVNVkhIRkNkS1BLT3o3bFJJS1ZzUlUyL3ROUm5zQWhBZzV2cHhxbHo4UjBmb2NsSVNVUyt4aWpRMWIvdG9lcytQTzl1SGNBV1lIYmR2dzZZbTdncitzamliTnlzQy9MeDNFL3NXSlVDRDR3b004ZVB5RUpqQTRFQ2NTN3RVY0hSMkhTc1h4TGo1MzFIZS9qeEpiWVBDYmVkV3RKMWRKN0RYTElkV3IxNU5NcG1rWjgrZUtLVVFRclM3RGwxcjNjS1R1blRwVW53K0g2V2xwUzBOa3RxRjZpaTh1UUNXMXNFK1BhQW9sTFlPN3gzSmd5b0VhTnZCVFdpdkNOeHdJZGplUENPRFllWlNqdkJQNFZ1bkwxTVlqU0RPMWtvRnVWNXNTU015NVljL1JyMUhRSk1EK3hSNGQzOVNqU0RMM0hGMVZrSm90SmFnRFBybUw2VEpEbFBSMUEya2d4QS9IQy9kN3ZBcFBsMGQ1TXdYZTBEUVpSMFpqdVM5SG5QWk85Qklvd0pEZ0VwQ3NIY1dWcGZlTEYrbUdIV2d3Nzl2RHJCeVNnaGZXS0VWS0VjZzE5TVgxdThocEhWenpCbElsUUpybGFvek1TRFdLQmw5U2lNVHprMndjS3BGVWY4ZkZPaVlRakIyWkMrV3JxcGg3ZHBhbEFCaFNBcVBPb0FoWngyQXo5b0pPUmVEWDhoc3VBd3l5Q0NEemVyMUl0Vi9aVHNld0VxamEyMVVnOTNDUUxhMWR2SzZaakppbTFLVk5OckwwTWlRc0tlTEN3U2hOQ1dGSWRaV1I0Z25uQTdQSXhGb3BOQzR5a1M3RnRuK2VvNHVtczdKWFNjeklxc0NuNHpqYm1aOXFpalV2d3RObjBGNFB5Zzh5L3NaR0FYZDc0SGF2YUR5ZmtpdTJiUjFwRFhFWmtMK3FkN2ZzWm10ZXlDMVhwdmdLNFhpeXlEL0RKQzVvT29oOGpsVVArUDlkR09aN0kzTnI2VG1XZHlSaGcwRVJ6U1NYQkxFclRjek4yY0gycE5LQ1V3cnl1RmRlM0ZGM3N0a0wvMFBoWVU1ZE4vOU1DSWprOXcrWlQ3TFZqZHliSEFGL2VJNVhIYlF3ZHl6OWdBZW1XeGpabHM0N2phdmxWYU10a0lJOG5NQ1pHY0ZzRzJYSlN0ckNRWk1kaHRTU2l6aHNIeFZIVzdiZkZTaTlYY1ZGT1NGeUFuN1NTWVZTMWZWRXdxWTdEV3FPdzFOY1Y1OGQ4Nm1tbTkzK2dOdVIvbk5QRCttM3Z6cDBRNi9vaEFDclJSdU1ra3lPMHhTZTRtNFhpTmZzWjRCbmtFR205NzRCY0pnckJWaWhCa2tSMGhjd0VtdFR4UEJDQUkwYU1Vc0o4WVVPMHFOZGpNK1ZVQmo4bzlmZnNUbFo4em0xMzhieTM4LzZFdGp4TUl5RlZJNDVJU1RORVl0RXJhQjQ4cFVMWi9uREJNK0g3bkhIRTFlVVJqYlZoMnpSUysrdUxVdUtXSC9sZlYwYjF6SVhXTjdNS2wzUHNwVlNLMVJuVUFtQ0tIQjlib3NOZHVOV3NtVTc3RDlQbFFoVWsxNUl3bUt1K1p3eTVWSGNOTG9ib2o3bjJiWlAxOUNOY2FRNWlZYU1ndXgxZmZIa0M0S1B5b2VRTm5nOFY1TENDb01YeFNsbE9jbnpxQkRzYlIyTldzYnE5bXY5MjZaeWNnZ2cwMmdkN0xSZDJudDNQN2YrZ3V1Zno5Y2R2QnFYOWJqTWF3M2JSbXNCTzJ5ejRNdzZWSis3QVN1VDc0MU84VTNFdUJuZi8wWEIzVEw0b25UanVlbU0zN0RkZmU5U1c2QkgvbW1GOXpLR3huaWlQMEc4T3Y4T0tPeUV3U1BPWTVwM2ZwejE3OCs1Y1ZISGdGUnl3M1B5KzFxTXExdng1eS9DVHZHdHdrNzVvYVVIUk02NmlpbWI0Ry9lU1A3STI0VExNbnovRTNsZFlpQTFTNGJCcTBSbG9XOWNCR2g4MytLc0x6OEFaMUlVUC9rVThod3VGT3RRTTA2a3l2VGdtYlhoNEZna1p2Z3BJYWwzQkx1eXRuK2ZKcTBpNDNHNk1DN0x5UzRVWUd3Tk1MY2V2SGhKbFppckRpWDY4NThrUE9PTzVHYjdwL0NReThzd2syNG1EaytsR1pUL3AwTWRsRmMrMW1WSGxBWkYwL3Rsc3VmOWlzZzNDZkVSRlB3MW9Bcy9tSVZJSlhpOGkrcjZGVW45Y3d1V3RSdjBvc2dFR2lFa3lRUVcwTTgxQlVqMFVSUllnbmRnclhrVVVOalJRT3pDbzRtRVNqQVNqWVFsQW5DcWdGLzNWTEtzMGNRemU3UnBpVzl2ZjEwaHZUNnZTZ2xRQXVDT1pVSVlaUG4rS2lPNTVCUUprSjZmY2E4c3RrZjN1T09kbGdiTE9NZmcyL2c3YTVIY1BuQys1aTQ1alZDYm9Lb01BQ05UTE1Hb251WVFlNE1sL0pJdkpyL0pSclNtbjh4Z3d5MkZ0STB5Ty9YazlMUnc2aFpzSnltOHFyTXBQeFlJYng0aWJBZHRFK2hjalZHbFVRYk1sVVhwak85VE5MdnByRnBmczVkQ0k1aVVPOXNIcjE4R0VHZlpQNmFLQjk5VTRYaDgzSmQzYVRMMkdFRlBIakpFS0lKbDNrcnAvTE5nbnFrSmJjcTdjaVFDcTNCallWQktpWU0rcHFieHIvQ0lTT25BWnJQWnhkeTM2UmNQbHJreDFYYllOOG93YWw3MW5EYW5yVmJMcVdRQXFjcVNmVi9LbWo0c0FhZDFCMXFXRS92Nm5MOWdZcUxaL2c0WVlHSjMvRm9zakxZSGdhenhOeHRCUDZmVEVRVzVtTi85QVgyeWxVZ0JTSVVRc2RpTzdXMjVrLy9Yc0NmQnBSeTNrQWZaL3p0dnd6TGZZRTdMamlWNnorNGlwc2ZuRVIyVGdpdHZWcWxncUpzTHByWWo2dUNxK2d1RS9qT09Jb2xROGR3ejcrbjg5QnB0MEZGSTNUTDNUbCtLQTFDQ2t5NW1lY3k2enVEWFF3NlpVY0xrWW1wWnJDRDFwd1RCV0VRR0hnMnZyS0RpQzk0bHVTS2QxS0ZUdWxIanRnVTBsejFMeS9HOHZjemt1UTFOdmRFeU56TERyRkkvSDRDZSs5RjZUOGZwK3IyUDlEMDRpc0luK1haa0JtZWhRNncrRHFYamRkdWYvVW0rSjdhd3M4cUJha2NvemgzM2pLR0Y5K0w4ZGxiY3pIeUFyanRNQVIzWlAxNEJwMTVJd3FrMzRkS0pqYnRkc240eW40c3l3RHRLTUk1QWY1eno2bGMvYnUzK0dyeUVtVFl0OVZ4WkNtOWp2ZHVVeEFzbC9PTy81Smo5bGpBRlk4Y0NWcTByNFpld3hmellweGZXODVOcHhkdzJyN1oySk1VVGJNVUt0NjZYajN0ZEVzQlVWdmo5QnBKV1U0V2M2WXNKS1pNM2pjV2NIeXZHSXR6L1RpTzhPaVFYUzhHTzZpa1A4c2JLb2hHYXpHc0VFcTVhTHlhQUozWmxKdUg2MUwzMFVjMHpwdEhjT0RBekh4c0pZekNQQnIvL1JxTGw2M2lxQStlWTliU1JVd1lzeWNWMWRWWWxvVnQyeWlsTUUyVG1iTytaVWozSG56MDlSUkd6SHlIeFllZFJmTHpxWmpGaFdobngvU002Z2g5NTgvUFR1T2xSLzRJdHNQSk4rK2I4a1cwM2NjbWhZdWpMQVpseitIYWdiOWpXdTFlUEwzc1FoeHR0a05tQ2twS1FzUmlObjM3ZWpyWDRzWDFCSU1tNWVXeFhUYW5Sd05ocVJnZmlISnVWajE5blJpZmZKemcvbi9IbURiSEpoTFR1M1IvNFhSdk01T2lNRzlCTkpxa3NxS2VzckpDS2l1OWJLS1Nydm1zV1YxTlhwN0hMVjlaVVVkcHQwS3ExbnQrOWVwcThyTEQ5TDNnUkhwMEs5eCtpWlYzM2RxcDEwTm5uZC9tbkdIWGpoTnRxQ2FVVzB6bHN0bGtGNVNSaURhUVg5b25WZExvOVdtMEhVMUR4SWFkcE5XWVVuSlcvMjQ4djNnTmE1cmlMVDNrc2kwVFYydXE0MGxzcGJHVkl1NHFLdU5KNG03Ry81TkIrdW94YmF0ZjNzSjUzTTdOcUpSRElscVA2UTlqbXI1VWZiUm94K3NWeVhnRGh1bkhzZ0x0REd4NkhKR09rOFJKUlBDSGNwSFMzQ1hXUStNbmhmejkyUmhYM1Z2SEYzVjFqSmQ1WEoxYnh1NHlpNlRTUkhBUmlFeGJ3QTZHYWtxZ3BBQy94ZDFQVGZZZTlCbUVneGFXYVZEWEVNc0UzMzlzYU5adEd1cXcxNjdFMTZzZmlVWGZFeGc0ak1UU2hWaGRTbkZxcXJCS3V1RlVseU1DSVdJenB4TG9Qd1FOMkN1WGdPWDMza2U1bUFYRnFGZ1VJUVNCd2NNUmdWRDdmV3lzUi8yWTByOGFFekhlbXorZGhkV3JPVy9NSVp3MThnQ0tMcjhLMytBaE5MN3lJdmFLWmJ1c1gxY0Fyb0Q4S0l5TXdlb2dsSnRRNWZOb01nZkZZRkVRbWt3SUtBZzZVSnlBY0JJV1pXLzhmbzdqTUh6MzRjeDdkUzQvdmVZQy92bmRFNHc3R0tKUkU5dDJrRHZaYmpPZmYyQWlkc0ttemhISTNrZUR2NG55R2JQb1gxYkd5M2VmU0hUSkNoWTFKVURBa2J1Vk1ERi9OSW5LR3F6RER5WmgrbGordjZrYzFGVnkydDlPSUJwM3VPS3VqNGhFa2doRGJGb0pFQnJoZUllck5wMU14SG1YMlRicnZGM0M4aUdEUVdSV05tanRCWWVTQ2R5bUppLzQzWUdlbUFTYWNWYUljd0w1UEJhdndkRnRNd1dWQWtOQzd6S0RucVdTRDcreUdUdkNTNGhZWGFrNGNDK0xGV3NVc3hjNmJTWmpGd2dzQWVjRThobG5oVWhzWWh3N2FyOFpVcVlLbE1CMVBjSU1tV29FcTVUSU5IdllSYmRoQzBtS0Z1bDNTR3NvemZjeGZtZ2V3M3VFY1YxTlRjU2hOdUx3OGV3NlZ0UWswRXEzS3A3T29MMEtuVzR4bTEwRVNsZ2dQSkpBb1JKMDAxVU0xdVdNcElvUmZwc0JmUW9vR3oyWXZIMVB3Ny9IR0FMRGh5TkRRUUNXTFo3TGg5ZWZUYmNSZTNQNE9aZmgybmFubjUrWEhwMkFuYkNwU1ppczZYOE1UVG1yQ1UyWlRQK1QrdkMvNXc3RldiQVVHajM1ZSt6ZXVVd3M3UVhsUWRReEp4RTFnNng1OW11TzdCWGozRWNQSWhwenVQU0dLVVNpdGtlQ29GczdTTFRXbUtiQnRkZnVnUkR3eUNQZjRqanVSdGUyNmI0S0VLNkxzUHpzVlRHYmNoRmlrdXlOb1cyVWxCbHUyUis5N1BkSUFEK2F2SnE1QzkranBqN092cU9MMGJvclZ6d2h1ZS84cHhrL2JBRTZjK3h2UHhWWVE0Nmp5VW9GdTVvTWFEREZMbHVUbGtIbmd0dlFTT1RyR2RTOTlpNk5IMDNDWHJWbWg1T1NUNm1keWNSSkYzTm16eFA0OWVETEtmWVhvQjBIV1ZSQXIvdnZwUENzazFuNXE5L1QrT21YR0RuWlNMOS9veVFRa1lwMjY1UU5JMUtOblBRR1VXWmhtcWhFQXFlbWx1ejl4OUg5anplUnRlOVlGS0FkQjlNMHFVclc4b2U1OS9IczhsZFFaSVRqamthelBWemZabnQ0ekNidDRaUCtkanlCV0lTc1c2YmhOc1lRcHRuaWoxREpKSWxZM0ZQS2xNSUlCQkNtaVZQZkFGSjZUV1Y4UHN4Z1lNdWtWYnFaTE41QW1IMHh6TDRRT2pyMVhBeHRMMEhaczFHSkdlamt0Mmg3SWRvdFIrdG82cGoyZ2ZBREZpaU5zRFRhVFJXSVpBNkpIeDBzb2JHVkJOdmt4TEp5QlBEaXFoSXdYU3lwc0xlbmY3U21FdDcvSDN3L0MvWThBUG9NQXROaTExWVNSV29mMnFBRVN2dVFNdWJ0UjJHa3RxQUdYRndWeHBVV1Bxc2U1amp3ZmdLV3V0NWJ5TXgyM1NrdUpOZEZtajRTcTlkaUZlUVRtVGUvM1UwaGR5VFdXbG50VzUzU3MrT01oS0pIM3lJT0g5ZVRnOGYwWTBpdkFpcWlhK2lhVlVMU01aaXpiQzFUdmkzbnBjL21zV3A1RlNyZ1M3MTJKeS9LWmgyc3JnNys4aGZ2OTBNUGhidzg3L2NPemxRVXBGUllDYThjQkdONnd1TXpJTmNIZi93V2p1NE92ejBFVmtYZzE1UEI4SU9qTi8wK1lyMHdodDZVZWFmQk5PRGFZZDVqajh3SHg5M20va0NnWVZUZWJNN3I5eXp2cmoySVJqdXJnemNONVBvYU9MM1BpMXcrNEZGNnJscEUxWjArR2o0Tm91TXBXZFlHS0Mwb3ltbml3dkZmTTdiZlNycm4xNU53REw1ZDJaVmRtZUpTQUdVQndZMzlEU1oybFlTTXRyMUl4eFdSOStwb2ZLa2F0OW9oZysxb053UzJZRGNVakNGUnNiN2Q4RFVIZHBYOFpETnhOS2NoRGtwejQ4VUhjTUVwb3hsMDZEMGNzbTgvQUI3OTd6UytmL2NxSG45aE90Zi8zNnM0U1JkQ3ZuWi9CeWtFSlFVQmFob1NKT3lNN2RuaCs5YUM0QmlIeER3RHQwYXVMdzV4cXlTSjcwMVVrMWhuZW1WaVRyc01lblhQUyt2eExadTdnU3p3eXZPb2tpR0tWSlEvTlh6QVNiRzUvRFZyTHhiMEdvNnBYTnpHaUtlQU5Dc2NPM0M5MW5aMldaRHkvWlNVWkRONmFDa1REeDNLczYvTjVMdUZsVlRYUmp6ZE9aM3N1V2E3MzU4QUlMR2tENVZMZXhQc3M1U2NNVi9qNjdrRUlUVXFrVXJvM3NhbW1nSlBMNjVPQ0V3QkQ2NDB1YVRNNGNVUkNmYjVPa0JTZzVGdUpxOVdLWUtyOWNuMDI3NHBYS1ZZVmRuQVA5K1l4cHdsNWZ6c3VMRk1HTk9mZ0cvWFNQN3U3UHJaUVYwTkp0NTFMQVY1SVE0OGFCaWZUbC9POGpYMW5IYmtDTExEUGo2ZXVwVFJ3d3Q1NTZGemlEYkFpVThkeHQyL09aY1IvYnB6MTBlL3dxZnY0OGo5Qm5MY2dRT1p1N2lTS2JOV0VmQ2JITDV2Zi9KemZyZUJMdWI5OUJtQ0hya1dKdy9MWVdUWEFPOHZpckNvT29rcHdEUkVKczYrTTZHOGM4OVpiNWVMVERGVkJobGtzQlBnQWwya3dWV2hYQVlZRmsvRUc2bFNidHFQV3d1dnlLRVp1WTJDdkhyQnlQbVNreitBaHJCbVJZbG1iaCtYbVFNVWMzcTdyQ3pSMUljMWp1R3BtbEp2czhxWlFmUE5rQzZZTnJLMkY3SnFFRVNMdk9kQ1ZhaWkrYWo4cGVCYW9JeTBtSFRsbUNBVkNJMWh1T3pXYXhrQU0xWjJ4MVVTdEVDNUJoanVqL2EyUG4vdmVkaEptenBiSTN1WGdpL0IyaG5mMHI5N0dTL2Y5Vk9paTVlek1CSUhCRWVPN003RUt3NGlVVm1GZGNTaEpFeUw1YTkrd1lGZC9KenlsM1BSUG90SkFSKzJxMXZIdW9SRTU0UTl6MEZxUTJ1WjBvMlVweVNKZUt4TmhJTTdvaTVCQ09nenBJeW9rcGdTc3YyUzlaOU1KaHdXTDZuWVlYYTRsTkE5MTgrb2JsNjhaZWJxSmxiV0p6TDhqQmxzZDl6OHdCYzgwYWVJMHc4K21va1REaUg0OGZ1c3ZQb1dBcU9HVW5UZWFReVlzRGUzWFgwUVowL2NqYWRmbnNFenI4NWt5YkthZGdwcUwvK3BiOTlpVGorNFB4TUxFeFI4L0FheDZiUFFvNGJTL1crM2tUTmhiL0Q3V2JDc2hxZGYvb0puL2plVEpTdHFObnRVK1JLYXQvY3BaTTlENmhrWHFxWE9NWW01Qm9idzZnNkUxTGd4ejA3cnRYY0V2UUdEdmpBMGJyUjl6MnZBMVlLZzRaSm5PbndWeldYcSs0VWNOS21XcEYrMDcwaDBYVml3QUs2L0hxNjZDcnAzOXdSQlI4QnhZTklrdU9jZStPdGZvYkFRekxiN2tneWhLUXM1NHZ5KzlXSllibEkvdUNoUGZWZ2VrakZIN3BMMU1DS3M4UjBTUS9idzlBUzF3c0QrMHA4UkRsdXJTcm9LYVJnc2ZlRmx5aDk3a096OUQyYndxU2Z6eFFkdkFiRHZDYmN3LzQ5L3B2R3pEeWk1NEJMNkhuRVkybFVJWXlmU1A3VGtXNGxNL0cwWGhCUWdiSk94STVaeDNtRXorSHBoS2JyR1QyUE14MDFYdk1ucW1pd2UrZDlZSEtsUXBKcXNLMEYrVHBUZm5QVUpjMVlVc2FZbW02YTR4U2tIejJSVW4zSis4L1FFNmhwRENPbVJ1a2swcHBKY09QRXJ1dVUzRVluN3NLc0Q5Q3lwNSt6L2U1N0gzOTJkS2JONm9TMTM4LzVia2FBaE1vNFZOZWZRdS9neGxISmFhaWs3cFN6WXpPTkR1K2R5MDBtRHlRMzZ0cXN0dWRkZk43QXY3bDh2SHRDck9SN3dMZjJQN3ZZRGVkN1ZXSWNmMG1iN1FtdkFUZEpZRitiejJVWHNGWnJPL3FFWVg4YjJ4SW1uRENOcjE2UzZFWURVelEyUjlGYXZHUUhvbEQ0a2xOckdNTE5BYXQzcHlObzNoYUFRSEJYSVk0d3Z6UE96Vm5MdFpYL2orUWtQODhzTCszUFVubU01cXQ4KzFBMDhtWGt4aTg4cmwvUHgybGw4VTcyQXRiRnFsSnVxR2VqTURVbWFkZVR0WkJ4MzFycmNYZHMxS1JCYVUxVmN4cXlSZStFc2FxREtDVFB6M0QySVN4L0pKeXJwNTZ0bFhQOVZEUDNtRy9JcnkxdGVrMEVHR1hRZW5IM2pOei9PTHk0ODdTUWpzemJRMXp0Wi9rNEdHWFIyNUZ4Nk51RVREcWZtNXIvUTlLOVhRRW9hbjM2SjZOc2ZrM2ZqWmVSZStWT3Zmc3B4UGNkS3MwNnVQZCtaOEIxQnpSLzJ3NW9TSWhGVStIckU2Zkw3ejFwZDA2TERxMVF4RTFEL2p5ZXB1K04rM0lvYWhPWFZUV2VmZXhJRnQxK0hVZHBsazJQOWNpWjhOUXVlZUJuT1B4Rk9QQmhLaWdFRlhTeWJTMHJLT1RHL2hwZHFDM2lzc29UcGtTeVVGdTMzT1dpQkZKclJXWTJjWDF6QmlmblZsUGpzZFNhdUFSV1Y4TklIOE5qTE1IM3U1azBVcjZwVEV4U0NDVllXZTVvaHBqcFJYa3pVTWNXSkVzK2NBVHY0NkJWbzdaRXZTeWxiT09sa0t0aWhVdmREU3RsU2w5LzhtclJ4dXVnMlBKWkJ1K2RWVnhqRS9wdEZVMjJTNElGeEdqNHlpYzB6Y1ZZYlhxNkRUOU9SZEIxS2d5R2d5S2RZR2pQNStadzhEaXRLY0dXdkpycGwyZUJJWEEzR0xrNU1KN1FnYkRvY25WdlBwY1dWOUhFanZQMW1sRWRmakRGbmtVc2t0bldMKzk4LzZkRU9YOVA2WjV0T2NZWnUzKzk5MnV2dHV6NFdpM0hGRlZjd2ZQaHdUajMxVklZT0hkb2l3MlFiNDhuTjF5cWxtRE5uRHM4Ly96eXpaOC9tNmFlZkpoZ01idDBYY1JYTUtvZFZEYkJ2RHhoU0RKWkJ1am0yZGhRUHFoQUM3VGprRmVVd2JsZ1czWXNGVStiQnQvUFd0dGNiUmdLTGVwV0ZnN2tOb2syamtTanRZMTNjMDBIZ3JzZmNtTUdQQlVwcERpL3o3dnZuVlR1eXFFK2dIUVBMYk1KMnMraVJWOGZhSmtGRmc0TVVjWlFiQm1NbjFxeHJnZC9RRUhUeEI5d1dEbVlIamVXVENBdWtGcW02SGUyZEZ6NU4wMnFMYjk2VjVQUktFcGdid0orbGNHMkJLR3RDcndsaFNvRldrSXg1Y2tKS01BeEIwbFhJb01LSlN3d2g4R2ZyVkVXbVFFZ1hmMUdTcWE4R3lNa1dZQ1kyZld4SlNkZWliTG9XNW5EdUNYc3pkZFl5UHB1MmdOVVY5U1JqQ2JUdG9PSUpYQ2ZUYmlPRERMWUZtUjJVUVljY003cjVITkRJc0ZkY3FKUGU0OXNsLzBjQXBrQWd3R29uY1pBWHZQWisyaTRxN0FNQnNpbTVUc2R2dnFZZDR4RzJONmFNK3BrRzdpUU4wcEFFQXBMU29oQUoyNldxTG9adHF3NjVQd0tORkJwWG1TakhSN2EvamlPTFpuQml5VmVNekNrbmFFVFFHTGl1aTByKzhGaFZEQnJlZzhqbkVONFBDcytDOFA1UWVBbUV4a0Q1bjZIeDQwMzd3K0t6UVVYVy9iNjVEOG1aQUNYWFEzQlAwSTNRK0FaVVArTjlwaHRMOFhabGxzNW1iZGFkOFpGV2NaSzg0eXBwL0xDQXBzL3lkOWxDUWJIelpublQrMUZMUW00anZ5dnFROTlscjVKZC93SmpUejJGaGFJM2o1Y1BaM1Z0ak5WR0pUbjl3Nmd4TUxUaU0yYTk5VDl1R0YxRi84TU81NGEzTldhdUQ4ZnR1RytrdGFhNlBrNU5RNEtLNmdnSDdkMlhrWU5LaU1XU3pGMVUyZUxqYjdmZHJEWFZ0VkZxNm1KVTFFUTRiTjkrakJ6VWhmckdPQXVXVnUreWphNTNpTjlNYWJTcjFzVXlXdkpLMStPeU4wV2JtclRvUkpMWTZyVTRpUVFMRjgrbjFtY1NUVG9FWjh3a3I2QVFYMEVlWmw1dSt6cWxaL0NqMG9tNlNZdERmZG4wTTN3MGFjVWNOOEVxTjBsRWUwV3VXVUxTemJEb0tTMzJzY0tVU0l2M2tvMnNWdmFQTmhSbkdncmJEZkx6MDZaeCtWV3pPZmlFWS9odzZrQWdqc0NoZjQ5Nmp0aG5KYjFMRzFtNkpwdDNKM2RuNmVwc0VyYUJSQUVtYmwwdE13YjJJcC9XbkNzZGVuODFPRUxRdXo3RzdaOHQ0Zkg2T004T0w4R1dFa01wM0RTV0NRSVFya0Z4YmlOeDIyUlVEeSttTUhORlYveVdRMVY5TmtqVjVqVm9TSUZydThpRXpjRUhEK1BXS3c1aDhPcGxWRjV3STlHcE14RmFJRXhqby9pM01DUXFhZU1rRWx1eFRqUk9MQWVTcXhuZGZ6SkR5aFloZFJ4dDVmSGh6QkdzcnRnVHNrTklJNHBTR2E5TFI4RjJIU2F2K0k2cVNCMWp5b1lRdERKMWp4bGtzSkY4UXRQWGJwQjdSeXVDNDJLVjQxN083alZrY3FqTG9kVm02SEZYcUNtMk1Cdlk5eEdOZG1IU0pmeFlrMitldi9kODdLUk52YU9odEJ1dWtVelpCZDE0NWMvbnNXakdVaTZmNStWZzNOSzNLMjlkZFJEUnRkWDRqamlZV05MSHNqZSs0TUNTQUNmKzVhZUUvVTFrQldlZ1ZBd2h6TzB5cCt2Yk1VYnZveEgrSnRhdVo4ZEVscXhnd1hwMnpBa3BPOGEzbmgwejRRZjRtMXZPUmdIYWRzanRYc2dkQStJQTNHZ1ZVcittQm1FWjdVdUxjRjF5ZjNZK3dqUUpIM1VFUWhwRVB2aVF2RXN1b3Y2SmZ6WjNsa2o3dGFLVXh5TlRIL1AwaFp5Z0g2VTFVbWJzcjEwVkxob2psV1h5MjhoYXZyR2ozQkx1U3BZd2FOUXVaa2VzV3dsT3ZTQm5meHRwUWYybmxoZFQyWW84UGNNcVJCVmZoNU1vcERBYkhyeGhMQmRQSE1Bdi9qNkRqejVaQlQ2SkZiSndYSldwMmZzUm9PK2h4NHJ6ZlpKK3hWbDgyVE9FMldzRVdCYUJVYnR4V0FFY3NEVENmb09qTENKUEdJSGdSb3Zaak5WUmtGeE9tYitLM25vaHE2cGNwcFdkall6WDAzL042K3pkcng3dE9zeE5adUVJRXlOYXc0Z1ZUM040dnhYa0JCTjhYMjN5SDJjUXVxWFpoOTZwZmpxMzBlOGxyQVpTUVJvemlpeGFTSStxcmhRWWl1OGlSV2hYZ08wSFU0SHh3NzE3RlFLaFhhTEF0L21qK2ZYdTkvQm02VkZjc2VCZTlxNy9Ga2NyNHRMRTJGbStmTmZkaEV5REVtbHlmYWdMZzR3QUQ4ZXJxVlNaUGh0cEFiMkJveVNEcmRmWGJJZUtXZk5aK3RGWDFLOWNrNW1RSHpGRTBrWkxBMTFZUUdVMnJBelpEUGNITUJ1aXlJWW10Q2s3anM4c2cyMjlXeGc0QkdVTVM5aG9MVWhvUDNFZDJQVnl2YVZnMXZJbUh2dGdGU0dmWk5xaUJwQUN0em1XTEFYVEZqZncrQWVyaVNSY3ZsM1dCRnZCcDI5SWhkWUNOeFlHcVJnLzZHdHVPdUIvSERweUdxRDUvTHRDN3ZzeWg0OFgrWEcxSU1ldkVFSlR0VldDVnpDd05NNnZqbHhMeUtkd2xkamNiUVlnTnJ1SnFxZldFcHNUMlQ3bm5vYUtzT2FPdlJMTUszQzVlSWFQMG9ob3hlV2NRVWRzVzRFNWNoaWhheTlENUdRUnUvOEo3TThuUXl5T09Yd0k1cGhSSlAvM0ZxcXFlcWNOOFlWSFRpWWVTMUt2RE9Ud0U4aXlLMWp6OVV5NmR1L0IvYjgrREtlOGtybVJCRWpCc1h0MFkyTFdVSnFxeXZBZmZSZ3k0R1BKbXpNWUZyVDU5NStQSXhKenVPTE85NG5GN0kzOFo2bXQyNUlMMlp4ZXFQVzI5OEpvRHZtdlhOTEV2MThzWjhVeWI1ZDI3MW5FYVNlVzBLTmZWaVl0SUlOZHpDN1NDQ0ZiYjRBTU10anVaNXJYc0ZvbmFoRytmRUtqcnNQWC9URGkzeitKVXpNcmRZMkJRTzJrYmJIeFlWS2JvL241Y3hZQWZ6OGpTVjZqd0JDZ2hjN1UyRy96Y3BDZW50T3pCMFcvdXhYZndBSFUvZjArVkRTS0RBYlJycHVacEcyQXE0MU9OZDZOK0o2MjZLOGUwKzY4VWtOS1hLM0p5aEw4N2JmSE1HcHNJVU1IbXZ4a3hrSnFHelhTa2w3ZWJoc0NPanVxZmx4S3I4WlV0MkpDOWVwQ2xXYVh6VFBlVldEa1pSUGVlM2VhUHB5TWlpYzJaVko3ZG96ZXNYcVk3bVJOUm9TUjV2SnNDK2VWMW9DVVJLTTJwMTMxWDhxcm04QnZvclhHa0FLbGRadmp5RUtBS1JWMnpBK3U1UEI5NW5ENzZSK3o1N2pWbkh6anlheFpXb0paMElqanR0OFB1NnJjNFpyN0svbjIyQVEzblY1STJVRVd0ZSs3UkdjclZEdzlLWVNGaGl4RFlTNnRvM0xZWU1iMk5Ka2JXVUxYb2lqTGxueEQ3a29YczI4b3RkRzhmUmF5QXVRSHNobVFYOGFjeXFYc1ZqYUkyWlZMaVNRakNDRXo2dDBHaUM5YlJuVE9ITno2ZXR4WURBa2tsaStuNXUyM2taWkY5bDU3WVdSbFpTYXFyZkxYY1RHN0ZHSlAvWmI1SXc1bHlQdi9adTZhVlJ5MCt4aG16cDZOWlZuWXRvM2pPSmltU1hWZEhhUDZEK1MxZDkvaDZIZWZZY1g1MTlIMHIvOWhkU255WlBsMlRrTHBDSDNud0s0R3AvenRCSlNFOTJxclNDcjlnKzZIOVhuYk5ZS2tDcEJVRm5WMlBuVjJBWFYyQVJFbmk1QVphZE4za0ZJZ0pmVHNtY1dZTWNWZVRTc3dibHdKMDZaVlVsa1pBOFF1cDFOcG9LZHBjMXE0Z1dOQ1RjVFhKUGpieXpIKzgxYWNWUldLcEwzclM3dk8xbE10T3p0QVdWa2hLMWRXVVZDWTdaM05LNnZvM3IySXlzbzZBTHAxMjlUenhjUXJxMWo4K0hORWdrWW05MkdYbWw4TmFLSjFGUWpwWStuMGwrZzJZRFExeTc2bGVvbW1aTUFZRXZGU1VFbjg0VHlVMG55M3VKNUw3cHhLMHRIc0RLZVZLUVZabGtsTndsN1BmTlhrK0V4c3BmQWJrb2p0a3V2enJpbndXOWhLWVdkNklHYVFwbnJNRnYwMldxT1Q2L3RyMXF2VWI2bGZCdHFZNzY2MUp0WlVTZVdjUi9EN0ExaDV1eEhJSFlnL1hJTHBDN1R1eWJvSnd6UGFWTVhhUlovZzFINUJNTGNuUlFQUEloZ3UybUxzUjJ1Tm5ZeVRpSlNUcVA4ZXUzWW1pV1NjNG1FWEU4cnE4c09mMjBsd3llMU4zSDU1aUorZkdlUVBEOGU0NlpFNlBxbXQ0M0N6Z0N1enV6RkNaQkZYaWlndTBtUE55V0JiYkhVQk91bHkrUVg3VWRjUTU5bVhwek43emhxUFVNdDJ1ZXkwc1l3ZFVjWXBsejJMQ1ByU2gyczVneDJnM25oYzNJbEYzMVAxNU4vSlAvRnNhcDkva3RLYi9rejFFL2VTZmVpeG9GeHEvL3NFWnRmdTZFUWNxMnMzNnQ5OEFmK1FrVFM4OXhyWit4K0NXMXREWXNsOFFydnZSZU1uN3hEYVl4OTgvUVpoK05kckJOMUduRkJZellmMXVkVGJsaGYzYS9hSEtJZjVWYXU0ODlPWCtHYk5FaTdmNnlqMlBPWTQvUDM2VS8vQzg4U21mSW1PeDNlOStIcnFXQXM3Y0hnTkRMWmdLZkJ0RUVwOE1Ed0p6OFZCR05BbkNqMGNHS2poU3dWL0RXOUNQelJOWE1mRjhCczhlZi9qSFBUWS9xejU3Z0p1T00rQnNJWGJZTE16MjRPYWU5eDJQUUtCSWNGTzJGUktDeEVNc09hT2Y2QmRGOU15Y2FNeEFCYU5uNGdPQmhHV2liNzZWZ0QyekFsaG1CTGh1bFJySDJaeUhFaXJsY05HaUJSUk1Bb2R0OUE5VjNvSlQ4dDZJb05KbEFKQnBqbFk1enZ0V3R3UG9EWFNIOERNelVQNi9haFkxQXR5QzRFd1RFUjJBSm1kaTkxUUR3Mk42eVhuNkE3WnMyZjQ4NW5qSlBqQ2ppQlNoWGliUThBbjZONVZzbmlsUzBXTjRwWkx3M3oxcmMzQTNsNFFKaHlFODA0SWNzWHZHOUZBdng0R3E4b1Y4ZVRtMzlOSUtVOTdtMkhPOE9kdjl0TjMxSDV6bTJLUVROMmdZQXl0UU1YOVhvVEQ3eUpDd2UyeTMyU0xHZS85dmo2SmwxcnZtZzBmYnlhYXk5akZXNzhYdFNOUUtmSmpZV21Fa1Y2SlBDVjVQazdmcndzSERzMG5ISkNnd1ZVYTI5V002cDNGck9WTlZEZmFmRHEzbnBxSTdUVmR6U1R3YldHL3JTdDFjQkVvWVlFd1BTNHhsYUNicm1Ld0xtY2tWWXp3Mnd6b1UwRFo2TUhrN1hzYW9YRmpzWVlNUlFZRHJkNXp6ZEpGZlB2aXczejl3a05VaVJENy8vUVgzcHJhQlFwZkp0NThkS3FiTDVDd1FmZ2hHRUxkY29zWHRQS1pFUEVDTHVhb0ViaWhMSVJsSWkrNGxDemdwTHdRbUJKY2g2UUtjWFg4RWlLRVFMdnJINGlwNDAzZ09BN0hIdnN5QUk3anRrZzZ3L0NTVzlvaWc1WFdSQjJCNncvVHEyc1dBNytZUW1GT01UbERSMU5iWG85TUpnaWFJcFBybXZFKzhQV3NDbkFVWThlVThvK2I5d1BnMGxzY3puL2dEQjYvOUZuR0QxdUl6aHl5SFd0RWFkaTd6dVdFU3B2UmpZcWlWTUN4MmhKTXk1YThVbXp4WmE2Qms5bWZHZXdNbjRialVQZnFPMVErL0RUUkdkK2hvakh2TE44SjUzbTJHVVlEank5OW5yZlhmc0wxZ3k3aS9ONm5JZ0RIVHBLMXo1NE0vdVFWS2g5Nml0Vy91eHQ3MVJxTWd2ejFEa09GVTFQbkZYb0VQRkkzSFUrQUVCaTUyYTIrazFOVmpWVldTbzg3YjZiNGtuTzl4K3drcHVVRDArVHhwZi9scnZrUHNTcFdUb0V2RHdGYlY4aVl3Vlpqajl1dUJ3VG1OdGpEcGlseFhZMVNpc1o0Rkcya3lQcWxoTVlJem1IN1VYcjFoZERRaEJFT1VmZjk5OWhWMVpUc3V3OXVKSXFSbTAzRi85N0JlZkFaekp3c2o1eDNzNzRHQTlkeEFjY3IzSlBOM0wwU1JCRGhHNHJoRzRvUlBzVzdYdFdqN1VYbzVDeFVjZ1k2K1IzS1hneXlITGMyUUd5bWoreERHdEhKb0dmSHR6UVkwQmxyZUZlMjI0Um50OWxKaTRKUW5MOE5uOC9aM1NzQmVMcTRocXZuOTZFbUdzRHcyYWtrNnUya1BHZ055eGZCbWhVd2NEanNzVDkwN2Q3K1JoZWR4bUZwbzVVbTZwYVNVRjFKeU1HRXhHcXltWXhRRFY3eG9BeDVaQUpHSC95TmkyQnlETDVTMEtneUNVYzdHVVpXR0NFRnZwSmlvb3VXWU9ibW9MVk8yMkM5YUtNRFRxTXhoTVMxYlh3K0grZWVOSVFManQrZHNnS1QxMlkrVHlBeG5xVkxQbVoxSU1SeEE0N2lhL1VCbDV4OEdCY2VONEpIWC9tRysxNzVHanVwTVN3RFY2czJoL0k3ZklmWDFNRGRkME5sSlh6empmZllqVGRDY1RGY2M0MzNzMFBsS0xoSk9MSTNqT3NGbnl5Q2UrYkF0OVZRR0libmxzRGdxWERkY0xock50VEV2S042L2U5dENIQTFhRHMxSWNiRzEyalB2TVp4NGRqM1UvcmxPbmNPQmw3K2Zadm5jNE1MOSsveUpXTUxwek13ZXlIVHFuYmJPTGRtcTJRN0dOSmxRdGN2dUhib2Zld3J2aUR5dkdiWnkwSHNDdUVWTzdUREJMQmRnNm1MZXJDc09vOFIzY3RwU3ZqNGFGNGY2aU9CWGJhZ1FBQmQvWUxyK3hxYzB0VWd5MmpiaTNSU0VmbXdub1lYcW5BcTdZemczZzUyZzhBamRXK3hHd0piRzBlek1KTjdnN1RRU3VIem1SeDI5QWlhb2trKytXb0pBYitKRUlLVHIvaTMxNERITXZqWHE5L3k4VmRMT1BDUXdZU0NGdTk5dm9oazBtbGJRb1FHdE1JWHNEamxvSjY4K2VVcUZpMXJSRXN5aEFVZG90T0NWbURrYTdMR0o5RXhIN0dxbEtDVG5sbVZYR3BncjVib3BNRFgxeXR1U3k0M3ZFNE1HWFI2ZlBMaytXazl2dDVsMTI3eWNST0ZqVUdOTUJudGxQTkUxU3ZFUnpiUi9kWmZFQnpSRDdjcGlVN2FYc0ZveDZSUHRBa0ZlWmZ1R3VlNUZKeDl3bTRjT3E0dkNkdGg1ajBmZW8rbmNsSFN6dVJ0dHZ2OUNZU0EyTHlleEw3dlFXRFFDckpIZjAyZzl4S0UwS2hFcXNIRkJnU3lobWlkYTdHcDNtTlNRTVNGZy9JVnh4UzV2RmxsOEZxVndSbmYrWGg3Ykp6ZHN4VWYxVXB5elUyL2ZzZlBpVVpyaFpBZW9ZcGR0eHpwejhZSTVLVytmOXZPME9hckdxSUpQcDI1bE9YbDlaeXlhQzFuSExZNzNZcHpkb2tFOE02c241bVdBYlpEbmVIbjdkdnU0UENqeHhDeUpPOThzWkNqTG4wR3RTYkJibWNzWi9nWW0zdU9lNHJ1V1FNb1p4cXZ2UDBZMWRQR2MrSEwveVRhNk9QTW8vYmd4cC90eTduSDd3YkEzVTk5K1lQMnBOYVE3Wk9NS3ZIVEs5ZGl5cW9Zbnk2TlVoVnhDWmdlWVVXR2wyTEgybUJvc01NYUFwb0NEU0xsR3JlelE2QlV4aTNYa1Q0MkRYbzdKd21JSHlHSHJ0WWkxZU5Sci9zYnRrOGo3QXgyQ0JUZ1EzQ0NQMHhmdytLQldEM2ZPc2xPWXljRHlENHVzakRWU0tSQ1V0elRwZUJiazVFTExFNytFQnJDbWhVbG1ybTlYV1lPVU16cDdiS3lSRk1mMWppR3AzSkozYkY5aUR1YmZHaHY0d2F2R2JuRU5XeUVIVVIrK3hPTXRhTXdsSWxwT2g0SnMydmdMandVdCt1M3FLRXZvNjBZaHJJUVF1MFVmNnNBcEZUMExLeG1WWDB1U2Nja1lEcmNmUFRySU9ETXh5NGdrdkRqczJ6S2N1dFpYcHVQVWo5T3Nwa3h0OXlZeXZQMzlOOEthWGg1RFgvOHU1ZG5hcG00RVUvL1hiai9zZWhRRUdHYTZKL2ZBbWoyeUFsaldpWTZrU1NTbmNPVTIrOGptWjJMZEJ5dlNZcVVxRmdFNjRzdmtNckVEanNZRWtUY3dGVkF3UFh5VHdlUFFvYkNXMlNJMk81MUNVcVRIVElwTzNoUDloMVJ6SXFxR00vUGJzUnZTdThTMDJCTWxrdmxVMi9SRUhYYVhEeThqV1lrYU9oVDRPVS96MXpWbEtsQnltQ0hDZFBGaXl2NS9aSXFudXRUeE9rSEg4M0VDWWNRL1BoOVZsNTlDNEZSUXlrNjd6UUdUTmliMjY0K2lMTW43c2JUTDgvZ21WZG5zbVJ4MVErUytEU1RQUGJ0MjRYVEQrN1B4TUlFQlIrL1FXejZMUFNvb1hULzIyM2tUTmdiL0g0V0xLdmg2WmUvOE41M1djMDZJM2hUN3lzRUllM3dTbUVKVndjR2MzUFpRcTRlc3BTeTdBYXdUUnhYWWdpOTd1eHVMdXpSNng5NnJJczVidUY1cmNEVkF0TlFZRG5VTkliNDdkeCszTGFpUHhNS2F6bEdWeEVYRmtaYk5xM1dVRjhQYjc4TmMrZkM4dVV3YVJJNERoeDhNSlNWYlgzc1JXdFl0UW8rK0FDbVRQSGUrNzMzWU9WS09PSUl5TTF0V3pQMzFNOXNVekcrT0NwNmhtMytzenhIUGIwa1I2eUkrWVRZeFU1U0hSZmdndTlvNzF5SjM1ZmxQWmJCVms2b0FpU0RqanFDSG84OWlEbGlCRmEzVW1wVFQrZDBLMlhZaUJFNG4zMUE2S2dqV3IxbVI5c2RUbFVOaVlYTFNTNWZnMnFLSVlOK3JCNGwrUHYzd3VwYWxJbUQ3aXJIbk5BWXJtUmt2N1djY053TVNpZlhzMkpOTHNON1Z6Qmh6Q0ttek9yRms2K085WnFzNkpSdlJFa0tjNktjZXVnTVZwWG5FWXY3MEVwd3lYRlQ2ZDYxbG50ZjNZdjYrbkNxK2J0WDkyUUpPSExzQXNZT1g4WlgzL1ZreFpwY1R0eC9EdnZ0dDVDdkY1VXliVVlmWEoreldTSmFMOXRXczZiMkRMS0RjeWpLK2dKWENZUklUNkp1dGRHWkp6YklQOUllZ2ZMNmRjRkFkdEJrZE85OGNzUFdEdldaZW5uZUhtRldhL3ZpdmkzWUY3L2RoSDJ4TGwralJXSFhZQmhRVWh3bXFTM21sZmRua0c4dTNlUkNwRDJZUHYzNjRpUmlyS3FNYmI5YzJ2Uno3YlJUSmRWb2FVQWk3dVZRQkFJSTVXNVZNeTNSYWl4aWw1aFBGMDJ4TkxrODNJVUpUZzVQdkZmREtkTm1jZFpKODdqazVKZm8zcjBMNDN4REdkZGxiNjdvdVI5TDdlUDRxcmFLajliTzVxdUtPU3hwV2tQQ2lYdXpJd1NkSXBsWVNsQXVLdExvOFRqNC9OdmxZenBiWGE2WjVzMjhOMHBqTXMxMnY0Y3JEY3hrZ3Y4Y2RpYlhuSEVlNTkzK1R3Wk1uc0dNMGdCcmpWeUdqLytPZDJwR2N2L1BMdWNYci82YnkvNzVKMXpMaDZtMjRzeDBNb2xYR1dTd3MxQVIzZlViMGdoSU5SalhJSVdYUHhSUGVMcXpaYlRva2tJSk1BVW81UkgwL1FodDBjNmF2OU41MW1KekxrQ0w1cjN1OFZidGNEWjh6bnRXckZ2UlAzRHQxajJYSWFYY0dRYUdScnN1Um1rWGloKzlrK3l6VDZUNjEzZVMrR29HcXFHUjZtdHVvK201LzFINHh4c0lqQi9udmNSeEVJYlpRcVVXbjlISTZzb3d4ZnY1MFlaTGRDN2t6S3ZGS2s3cHZZQjJIWVJwZ29UNEoxKzFmSVlJK2tFcGZLT0diT0l6TmwzMG9oUjhQUWVtejRQSFg0THpUNFFURDRhU1lrQkJGOHZta3BKeVRzeXY0YVhhQWg2ckxHRjZKTXV6djdjVUw5Y0NLVFNqc3hvNXY3aUNFL09yS2ZIWjZ3eGJBeW9xNGFVUDRMR1hZZnJjdHBQZ045dHlRU0dZWUdXeHB4bGlxaFBseFVRZFU1d284Y3o2M3dGK1FZR1VraUZEaHVDNkx2UG56MGRLaVZhcXhXY2w4RGluaEJBTUdqUUl3ekNZTzNjdXF2bGMzcG1LaEFKYzRTVytORzhQZDczSEpCMmFtMittT1dsUGgydVBKb2dhZzVxbmc2aW5nZ2dKMGhYSWtJYVEzZzRmNk4wdVIwTlFlbzFiM3FzT01hVSt5TmxsVFp6ZHJRbkQwcWlrVnlRcWQ4RUVSZ0gwQzhTNW9MaUtrL05xcVY4VzRZLy9qZkQ2SnpacnE1Ulg3OW9HQkh4aUk2N01VLzd3ODdhOTJEQWdIa2RIbzZsYVhJbkl5Z0xUU0RVaDJ6NjYrR2x0ZGxNNEtLVjQ2cW1uV0xwMEtRTUdET0M2NjY3anBwdHVvaytmUHBTVmxiV3VSMCtSUGpmTHZHWmJvdm14bFN0WHNuanhZdjd3aHo4d2N1UklGaTFheENPUFBNS2xsMTZLWVJpWVcrRzNBYnhDNXpjWHd0SjYyS2NIRklYU2lzOWhSL0NnZXZQc2dnN3cxSytIY2tEM1Y3SGpkVFNkZFNwN1h4cGo3ZXBxaE05cTgxbXkyQzFsbVNwaHVkc2xwVUcwZDM5cE5DWVdDWVpZaXdpTEdFbHRzY0R0VG9QS1JZamtMdUVyM3lwMFpBUEVabVUzamVkU0FERmJNYnlyWlBYMFNRQU1MOXVINzhzVkFYUDc1a3lLRkZmczRZTW1jOWl3eFh5L0tvRGZkT2lma0J3N2REcUYyVGIvK25vMHM5WU1ScGgyUzU3NkRqYUl2RGxRNENqUnF1NnNoUjZwT2Q2WnF2ZkYxTVRLZlh6NlR6OVpaUWw4UVUyaTBhQndlSlRlK3lYNDZwRWdyZzFtU0ZFNk5vNFpVQ1FhSlpYbE1QSkFteTQ5WFJ4YnNPQ2pJR3VtaDhDVm1BR05HVkRNZUNWTTA1b0FSMThhV2FmdmJXSmVlM1lyNVBJenhuUGsvc1BZWi9kK0ZPU0ZlUExseVNTaWNXcmVtOFM4VDk3Rnlxai9HV1N3VFZpZTRVYkxvQU5PWWVGVENBdVd6b2ZaY3dvWU1jeW1aL2RHaE9YVncrakVkam5hMXYzVWJSNHEyS3FGckVnVyszSDM2d0tBL0t3Y1ZlTjQxempLaTEzb3JSeFRCanNWQWI5QmFXR1lzaTVoQnZmS3B5QW53TkxWRGF5c2JLS2hLYm5WdDBtZ2tVTGpLZ3ZYc2NqeTEzTkUxOGtjMzJVS28zTFdrbTAyZWpWSFNZVjJGRElyU0tqdk9PQ2pMYnZDWXREd0hrUStoL0IrVUhnV1pJMkhuZzlEMVdOUS9RalkxYTBwclJKTHdTbjMvazRzM1RCZkNLd0NLTHdJaWk0QVlVSGptMUQ5alBjWmJteGR2NGdNZnVqbXBIajlkWHlIZnF4S0NsU1RnWW9ZdS9UMGF0WE1LYlR6ZFJFaEpUclN3TU5uamFINzI2L2hMM21jNGVmOGppcy9IOHlUWHk3bmNQTTlBc0loTitCajJtb2ZqODhZeEhFamp1ZmFVMGNUKytoQlR0anRZRmJ1MDV0N0p5L0h5QXJpZGlEQmdadmkwdzNtQkRocS9BQ2FtcEs4OStVaVZxeXRaMXRJYkJ6WHE0TXNDWVU1ZXNKQVZsYzA4ZUhreGF5dWJHcnp1M2EyMHV2dDdqZlRtbERJSWkvYnR5NE80L043ZWFDMmpSWUNJUVRWZFlrMjhaM1pkZlVzWGpDZlJEaE1yV213ZFA0Y0NydVdFWXhIV2JPa25sNk5YU2pNeWZiNlJHVnkvalBZUUxjb2tBYUgrckxwSi8yc1VBbStzZU5FVUpSSml4NkdENEJ5NVRERGliR1FCTHRaQWZvYmZ2REJhOGw2YXBTYlZxcnRqdUNxRllEdFNpREJMUmRPNDcxWHV2UGgxTDRFckhwc1IxS2NIK2Ywd3hkeDFlbXpLQ2hLVUZQbEp6ODd3VU12RGFHaUp0anNJTVRJem1ISTh4OVNsQmZBZGxUSHBFSHR0OSttendnaHlFdllYRDV0SmIzcVk5d3pwanQxV1Q0TTI4Vk5WMjVmb2RGQ2t4MUk4SXRESjdHeUxnZUFZMGJNNStIUHhsQlpuK1Zkc3dYL3FSY0xCOVVVSnpzdnpBM1hIc1VaKy9jbDY5K3ZzT3JSRjNES3E3eCtEUnR5Y3Fka3B0UFFoTkdsa0Q0WFhnUzN0dVpwTTM3QVR5SU5nZDBRWkxmZXozUFBaYzl5d0o0SkNNQTlmNE9UajRXU0xtL3c4RXZkdWU3Sks0aTVvN0I4RFNqVnNYRlA5MGNxMnhiVnJHVHk4bG1zYmFwbTkyNkRHTjluZEViZ1o1REJablQwZ0hZWUZ5czNCaWJyOGorT2xaNzhlbmF2c1hQOStmK3ROd0wvY29RN1gwa3J3VDRQYUNaZkNjcjUwVG0wOXJqMVpxOEZTVkxpR3h6RjdRVjFIK1d4K2svL0lCUzN1YWRYTHc3ODlRb0U4SmNMcitMYXVtcWlBUi82aXQ5U2NHU2M4ZlhaSk9jRWNJVkNaanVZZjR0RGp2UVNZcmJEOGJ2N0JuYk0ycFFkczJvVGRzejhUZGd4bzlzYy93ZWtvTDRwaVpucXRGemZsUFR5djFQS1VwdkMvMUtpRXdsd1hRSjdqVVZJU1d6U2x6Uys4QkptU1JmdmVid2NUcUNsOTIwNlFrcUI3U3JlK1dZNUFCUEg5Y015WkViUXRFY21HWjNQdDlWY3lTa1J2SnBzWUpZYjU2NXdOM1l6ZzlSb0I5bm1yaEViR3h4Q2doc1JaSTkxR1BoWUkrV1BCNmoveEVJWWJGMi9RUmxFNWg3cDBYVnJoVkt3KzhCOFB2ekhnYnp3NFFwK2VkOU1sc3l0Z1d3ZnBpVngzRjFMM2tzaGNaWHI5ZFdXUmt0Ky9vOFZSYis2V1JRQnBaYmdXRXNTdEFJRVREOG5EQnpQRVgzR2tUVk9ZZG1LNnJxRU1ENWRDK3ZWTXdtdHlLLzVsbVBjNXhqWkowR2lLYzRyYWk5b3JFVnB3WGZGeDdPeXRvTFNoYStSY0pvdzVHTHM3QkpXNU96QnE3SGhHTXVYSVJxcmNkeGF3ckZ2U0JUMnhmSG43QlEvblVDalhjSEV3K2VRWGJDV3A5OFlpNDZINk80dlptUmhOa1poUHF0cUU4Z0Zta0FvU1VuWlBNcXI4NG5XZGRteWJ3S0JRaU8wb3RvSThXYlppWHlUdnllbnJuaU9DeFkvUXU5RUpVMW9IRGFiQXJQRDBjeS9lTEkvbDM2R2o3L0hxcGpoeEhZdFdVQ0t0bUo5SXU5MFJHcGNoblRKOWpYaU54SWtYRCtOZGphdU10WTVwekpvMy8yM1RMcnVOb1JrWTRSb2RSMXJheHN5ay9MajFEcXhlNVRnREMxRFY5VmorR3k2OU1vbE1hTVNaMGcvWk1UR21yMGNHWTFuOWxrYXdNU213S2lseENpblFOYmlZRkxoRkZPaHV0Q2dzbmU1WE8rQUpibnk0WG5nS3ZKeWZSQjFHREk0RDRDNTgrcVEyUllYM1BNZEdJSnd3Q0RpdHQwd01LVHk4bE5pSHUvVCtFRmZjOU1CLytQUWtkTUF6ZWV6Qzdudnl4dytYdVRIMVlJY3YwSUk3WEdoYnVWNTZmY3BmblhrV29hVXhuR1YyS3p0bzVPYWhnOXJxUDVQQlU1VmN2dHlsMnF3RGZqdkVJZUYrWnFydjdZWXZkYnJCWk5KNGVvZ0tadVRoZitVNHpINjl5SCs1SFBZbjA0QzIwWXJoVTRtSVJvRjEwRllucjlKN3dUdWt0RzNYby8wYUlCSnhHeVdXejVrSUVERlh4NUUyWTVuWHpSNWZEbHo5emtXSFFwam1BYnVMMjREclJtVUhXU0V6MFM2TG11MUR5TTVGcVM1U1dlWVNrcXdaYk1Ud1dzUVlHbXcycjUvSFVkdjhyRkFRUExpbnovbitnYzBXY0U2Qk5BWXEwVXVtTTh2SGo2U1JFSmhtcG5EckdPTUpiWEIvUlViSysvTk5XcVpYSXlPRjkxYUlZUms1Y0xwYURROStvOXBlU3lEem5Zdk8rbHBLd3pRTmpxWndNd2ZTdGE0UDVGYzlTSHgrVStoWXVWcG8wTTA1K1hWWld0Ky9wd0ZhUDUyaG9OUmI2UjhJUmx0WjlzbVdMVGtrNWhkdXBCNzRmbjQrdmVuK25kL3hGNjRFSm1WNWEzeERCZkdWc0VuazUxcXZCNC9xOERjVG5tbFFnamNlQUxpTnJKYk5sUFdOdkRwVTB1SjFGUlFPS0ludFordFJpVmpJQTJ2MW44TE50U09xQjhYQWxUVVFkbXBQOUN0VkNVc0VFRWpzMFhTNzNCdXVVZitQajNJTytVSTR0OHRJTEZzMWJyMmtDbjkxbThvU29JSkFvSHRxNE90M2VEdnZtZWZrdDV6ZU5mTTFyYWEyemt6OVdSS2ppamw1YkVvclZtMnRBb3NBMkVJdE5LNFRYRUkrUkROdldoK0FLYWhjQndEdXlITW9NRXJ1ZXZjOXpobW53WGdnKysvTGVURkw0ZEFiZ1RIM2ZyMWxFaHFIbnl4bmxrTGs5eDVSUkg3WGhra09sdFIvNkZMYkxaQ3hkT29QMVpLTE1xUVFmZjY1ZFIvV0V2Q3lxZk1iU0F3djVHd3FjanFBWmpleFVxN0dCcDhob1VoRFN6REFqdE90aS9FeE1INzg1OXZYc2V4QXR1OS8yQm5RODBiYjdEb3FxdEFDSStURGFoNS9YVnEzbndUcTdpWWtlKy9UMmpvME02bmZ6Ym5OS3NkZjcrMTdXRGs1NkpXVnpCM3pKRU1ldmxSWm56M0hjY2NlU1J2dlAwMnBtbml1aTZPNDJBWUJxN3Jjc3hoaC9PUCsrL244c2Z2b3FKWGQ2cnZ1Qit6TUQvRms3Mzl2a09INkR1V0FVbWJwbUNJajg2NWtFUXdoUHdCZm5kWEd5bDFSMkJKbTE3QlJXZ2sxWWtpYnBwMU56NGpRZENJb3JSczArM095ZkZ4d0FHbEJBSW1Bd2ZtMGJObkZnRExsemRSVlJXbnBDVElwNSt1b2I0K3NVdm9WQnJ3bzlrN0VPT2M3SHBHRU9YcnlRa2UraytNTDJiWTFEYW9MWDVQbndXN0Q3YjRhcGJkcWVmaWtqUFMyOGYxd0xPdDkyNVRVNHhWcTZvcEt5dWlxcW9lZ0xLeUlsYXZyaVl2ejF1M3ExZHYvUHlxVlZVRW9vMDB4V29KU0hjOW50WU1PdnY4ZXJWYkVtbGxzZVRyL3hDdlg4clhMNytJMWhyREFNTjBxRjY1bUQ2ako2SmNGNFJCWTlSbXp0d2FJcmJhS1FHNnVPUHkrZHBhSm5RclpINTloS0JoSUFVMDJnNUtnNjAwQ1ZkQjBpSHBhdXFURHZZdTFOeDhSOVRiWmJDRDlaZ3QxQzhIL0NhbGZmeEViRTFBYWpRdVNTSHhDVWc0bXBBbHFLeHdpVFRaYllyVkN5R3dmRmtra3hxNzhpMThWWjhTRDVRZ2czMXcvSDBKNS9VbGtOTUxmN2dJMDJ6Tjd1VzZEaFhMcDFHeDlDTkUwemNFbmZsRWEwWVRDTzJIRUJ0blVUcTJUU0phUmJ4aEdkRzZ4UmlKUmFqWVV0eDRPY2w0QkoxM0lKWVYzakZyZXYyK2pOc0pENzJRNEtFWEVseDVlb0EvWEJua1YrY0Z1Zm5CS0w5L29vWjNhbXM0M2lyaXNxeFNob2d3VWVVU1JXRnNiWjU2Qmg2L3U2UG9XWnBMS0dDQjdXTG1CbEZLbzJJMi8zNXJGbTkvdmdEVzY0ZVE3cTQrS2IzdjVTcU5JUVZkQ29PWXBtUjFSUVEwZEMwT29aVm1iWFVNcFhUS0o2UlJLaFBtM3VTY3VpN2FjYWgvNzFXTXZId2FQMzhQdDY2YXBzL2VvL2huMTFEM3YrZkkydThRR2o5NW03eGpmMExOb3U4eDg0dndkUzBqdk1kKzJHdFdvSkp4ck5MdVhweXhzQXZDdExacXN1L3V0NVRYcXZONWNFMVg1a1JEcmFxWlhhMnBqamJ3NnV3dldWQzFtZ3YyT0lSVGgreE53WlZYRTNsbkVJMnYvdzluN1pwZDZpYnJGTDM0Mm14NHdJQmo2bUJNREk2dWhzSUFGT1JBZGhNMFJzQ3ZRR2ZCM0FDOEdRWjdNOFNUaG1tZ3RVWXBoM011T0k4dnB1N0hkZjg0anN1UG0wZWZNU2JFWFhaV2RwbnBuVU1haEVTWUptNURCSm9pR1BsNWFOdUJXS3lWbDhGdGJFSVlCcjdpUW5Rc2puWnNNS3dOVHJUMVoxU2liWVYyRTJENE1QQXhZUHdLSWxHSEZZdDdvbUlnUkFBdDRpQkJ5QjNUaG5kRDBnQ3hVd1BlR2tlNUtRTHV6bVVjYURRaW5FVnd4RERjNmtwSTJqaFZsV2pYeHVyV0EyR1kyR3RXb1IwYm1aV05tWjlQcUhkL0JHdlJUdEpqSDl1bUE5Y3JVc2tSQnBjRkMxbmdKbGlyYksrd2JSUFhTK25OOExpUkZpY2M1T2ZSRjJQNExQalZoV0Y2ZFBVVXhsOWRHTVpuUVR5aHVlYWNFT1ZWaXYrK205aXNEMUttNXFGRVdsd1dMQ1JIR0RnL2tINjh2ZmFiRUtCZFFTaWM0QSsvN3NMcWNqK09HK2VJZzBlamRKQlgzNXRGMExRWjF0L2k2ajhzb2I3ZWh6QjFoK2toQ2xqak9CUWFCZ0tvVm9vNXlTUXhyUmhrK2VoamVlTmVhTnQ4YnljSkNzbFFuNDlDNlJFeVY3c3VKYWE1VGUyU3pSOHJjYWtMdnVJa3ZtNDJSdEFsTWp1RUV6RVJVdThRa2JLbFBsNkdGQnc0TEkrRGgrZVRGOXFZZEg5TTd5eUdkQXNTdHhYZEMvd3NxWWd6ZDNXVUZkVUpMN2lZUVVyV3JKTXJMZ0lsTEJDbVZ5U3NFblRUVlF6VzVZeWtpaEYrbXdGOUNpZ2JQWmk4ZlU4ak5HNHMxcEFoeUdCd0l4dFVPUzZmdlA0aTcvM25NUXFxNXBLTU5qRzdTVEY0My8wbzZkRVByVFhTMklVSUI0VUEwNEs2Sm1oc2dvSkNzQjJJTnJXK3ByN2VTNWpwMHNXVHpVNGNETjltalhheFhnTUtiMDlJNXM2dGFONEZxWGljZyt1NmdJa1FXd3FLYTBJK3lWNEZnaEZWc3huMDlYZmtmanVON0VDUVd4UjhYemFVbWNWOW1GdXRzQjJkTWJqYWk0NVkweTBzK2FrMXM3UHZnU0ZadUt5ZWIyWlhBWm9seTJzSkJmdnpzNGZPNUpHTG5tWEM4SVYweHZpL1hpK0hQazI4UFhSSmFHNVlsdVQwY3BzQ1c3ZmluTzRQakt0M09iM2M0YmtTa3p0NythbndaeXFKTXRqQnkxUWFCSWNQSnZlb1EwQktZalBuZUhZRnlqT0lkcVNhbWhJOFJiNThHcDBtcnA1NU84K3ZmSU5iaDE3TnVJTGRRWU9qSFlvdlBvZjhFNDltMVMxL291cko1Mmh1Nmk0c2s4S3pUaWJueUlNSTlPb09RSHpaU2hyZS9wRGFsOTlFeHhQZURsU2E0b3ZQb2V5M3Y4VHNVb1NqSEV4TVRNdkhWelV6dUhYTzM1aFVQWTFzTTB5Ukx4OUh1NW1Gc2hPOUNPMjJoNHNLMGZIMTdHR3hxWFV2Y0pKSmduMTYwblBDT21MTVZiKzdtZWpjdVF5NTluTDhXZGtBSkZldHBTcnhPS2JZbk9kZ25YNjNZZE13cFJUS1ZZQ2ltVWZTSTc4eUVESVg0UjhOL3RFWW5PdGRIMStEREZSUzhlcHZTU3llUi80cEkwbXVuUVZ1SFFnSGdRSENEOExudWVoYWlDbTNvZG8yZzdTQkpUUzJhNEFXbk5sakxYL3R2NVF1V2NtV1pYZDJqMG9PTDZqbkZ3dDY4Y3lxcmlBMGx1RmliODlHVVhZU1prK0haUXRoNUZnWXRSZmtGckRydUZNRTRLSmtNVWxSU2t3TUljb3dmT0hlSklRTDhsaDhlamx1ZEQ2KytMdElYeEd1UElqa053cmZaL1VZQ1RzVHpVb0QxSDArR1dHYVpPOCtndXEzUDhESUNxZDFBa3BicGJVVUFtVTc1R1Q3K2V1Vmh6RmhUQzR2VG4yY3NVV2pTVVJqeEF5WFFGNCtlVm01TEkyc29LS2huTWphVmN5cC9ZaUxUeitNY2NQNmN2RmZYNkdoTVlFMEpUdk5aWmFkRFY5K0NSOS92TzZ4UngrRkNSUGdsbHM2M2g4bXdGVXdyZ3NRZy9mWHdMbjk0WjB3ekZvT3l5Uzh2QUpPN3d2RDh1Q3pKcThHcXBuUHpoRGdKZ0VMaGhkRGpnWHo2NkVxM3FKeXR0aWV6ZWI5M0pvV2QwNnE2WGNxZEdONGhRTmJtbnBUT0hRTlZXQUlGNlVsWVRQQytDNmZrMi9WY1VUcEI2eU5sV0FJRnlrVWpVNFcxWW1DclZwNC9YTVdjOFhnUi9sSnlZdFlreHRZODZ5ZjJGeFAzOThvTjBadEpoU3pIb21JMXBCMEZkOHNLK2JObVgzcFVWQ0g3V2hjVzIreVlGUnJqZXR1bWxwUGcvZWNrNzVaQWtKRGw0RGcyajRHcDNVenlHbExyMWdCMkpyb3h3MDAvTGNhWjYzZGNTcWJhY0lSUjBCcGFXdG55Sm8xOFBiYnNCT0lNbmE2YkJWaTIreUc5ZStiOXZUN1pOTGhnZHVPWmZHS0dnNDg2d25lZVBNNzhMZSsrVmYrNm1WRXlNZEh6NXhQdjU0RjlOanZ6OTVZdGlEekJWQ1E1MmRJcnh5NkZRYzU3WkNlaElJR1U3NnJZdkdhQ012WFJsc2FnMlN3Rlh2V0I0SEJEbWFad2l4U0JJWTVhQmVzVW9YYklJblBNbkhyQmRvR2JRdGtsaWE4dHcwQ25MV0d4MjJkUWFkSHIyNjVuZGhTMFJob21vUVA0UVByclRlcCt1cExTbjcrTTRxdXZRaXl3dXRKd0l4TjBxYXpRbXNNS2FtdmFHRE93a3J5c3dQTVcxUkZ0Q2FDRWJCd2JBY1FDRU9tSmZtSVFLQnRUYi9oZnFRUUxKalRtL2pTM3ZoN0xTRm56RFFDdlpjZ2hFWWwvQzNLaXdUcUhYQlNmZ01KNUpwNkk3dEVhd2hLK0twQmNsU1J5Ny9IeEpsVlkvRDBHZ00wbFBnMEdvRkViOGVHSWx0WXk2bXUxRm9yaERRUndzQnBXRVg5ekg5alpuY2xhK0FSVzcwVmhBRGJkbG00c3BxSFh2bUtPVXNyT08vb1BkbG5SQzlNTTBNZXRMUDBNMjBJajB6ZlVaeDR3VDhoNTJWa2xnKzFxbzd4eDQzaXZPUDNZRVY1UFMvTytpdjd6ZCtmdkdBK2xVc1hrT1gyb2JITEcvejA5TjNSODQvbnJqcys1T0g3UGtTVTVLRGpEbFEyYm5FOUFKaFNVQncybU5BbnhKQWlQeDh2aVRCOWRaeVlyUWxZWXQyeXpHRExwb3ZVV3luM1Vnc3BxQ245M0NMMlRBRTMrN3VDa3NSUHY1S3V2UTNJQ2dFS1MyNDlqZnVQWGUxcnZqMUtRc3dVaUZESUs0WlBrZHFKRG80VHV0RWZqMXpWeXZNTENWT0RDMHA3OFJ4cGVKT3VYRytsUzVrUkpwMzJuQU4yTTMzY0ZpN2d5WGdqYnlTaTJPa2NxOU5nOUZBWVhWMUM1OFZ4VjB1Y2hRYm1vUXFqaDR1OW0wbjhmMzVFbFNTM1NaRGZLQmkxUUhMeWg5QVExcXdvMGN6dDdUSnpnR0pPYjVlVkpacjZzTVl4UEwrWjFOdkdJZGZaNUVNMDJjNDhNaTFBdWxnaWhHL3FoUlFraWhIWmRTeXZLdWFZRWRNSitaSThQL2tBZWhiVlFzMVFxcWQwSVRuMllSSTZDY3JjNFFSOVVtaUVhN0R2Z0FYODZlUVh1ZU90STNoOSttaVNqc2wvdnQ0VERTUnRDMU5KamhyK0hUY2UrVGEvZk9Fa3Z2aCtFTnB3UFpuM28zUklDWVJwcFBUZktFWitya2RvSE4xQS8yMW9RcGdHdnVLQ1ZKNi9pemFOVGRzMFdpRXNQKzdpQ2s1ODVWYnlTeXFJREtoRGZaWlBzRFNKTExXUldsUDlZamRlK3V0VEdBUHowUEhZRmxtTnRtc2RrQUJIUVZBcURpeUtNWGhJaUwzeUlpUzBpWVhEMzJjbVdGN2pZRWl4UStWMlU5Smx4cXFtbHQ4ekozQUdPd1NPYWxtRmkrZVg4L3NGNVR6VnA1alREejZTaWZzZGlQWHgreXkvNm1hQ280WlJkTzRwREJnL2p0dXVQb2l6VHhqRjR5OU1UL21wTnUwbTZkMDlqK3QvdWllbmxqZ1Vmdlk2c1crK1E0OGFTdG5mYmlQN2dIRVFEREIzVVJWUHZmd3B6Nzc2TFN1VzEzaWJvWG52YlM1NHJFRWh5TFlkcUxLNGZmRVE3cG5lbTJzR0xlV3FRVXZKRDhkUVNZdUVFcGpiZUQ0NVd1Q1RHdE5uVXhjSmNzLzhBZHo5ZlIvcUc0S1FBOW0yZzJvdkszOWRIVHo1Sk15ZjcrWDF2L29xVEowS2d3ZDdNYld0elFWWENsYXRndnZ1ODJKeDlmWHc5Tk13Y0NEc3ZUZms1clpiTGxsU015QXJLUzd0WHl1RzVTYjBJNHZ5MUJlVlFabFVBcm1ySEtVT3VLdk1sbVBKWFdWbURQRnRVelk4WGMwd3VCaTRFc1d4bG85M1VzOWVhL2w0RGNXOXdMTXRhMzNITGlhbnNvYUdOejZoNFowdmlDOVlocXB2UkRzdXdqU1EyV0Y4ZmJxVGZjamU1QjEzSUZhM2treDRvNU5ES1lFMlhkNmYzZy9uYjBkaUtNMVpCMy9MZ2xXRnZEWjVFSlYxWVJLdVJFdVZPbm9Fd2xDc3Jzampwa2NPSXhMemNmTCtzMUZhOHRqYm93a0hrNnl1eUVVYnFxV0dXd01KVi9LUC80Mmw2Sk5oRE8xWlNYWXd5VnRmRGVDTnJ3Znc4ZlMrT0thTFZ1SUg5NDVHa1hSeldGSjVHV0hmQWdMV1doVFN5NU5QTTVUa0JGcWRGMEpBUWJhRmtXcThheG1Tb213Zmp0S3RlaytFQXdhMWthU1hZeUIyZ25SSzVmQzc5ZXZaRjV1eWh6WnBYL2cyS2JPOHVtZE5kcmJGM2IrZVFDanM1N1FMbjhRcEhFNWxnNlozV1E3MzM3WWZEejgzZytmZldlclZTKzZDbXI3ZXBudWowZExBakVVNHU2dkdKd1ZQclk0U0Q0WVFQMEJpMmRGakVtbCtaNXJITnR3TThQdnNVajZNTlBITUk3VzgvV2s5MTV5YjVJUUR5d2xIUHNGSEZvUDlmUmtjM291emh1OUZPUWN3b3pIR3grWHorYXo4TytiV0xhTSswWWlYWUMzVE13ZE9TSFE4aGpBdEFtUDJRU2NTMkF2bmJGOTI1RTVTbCt0RXRsSlIzVktoL05aZXUwWEZxLzNqbFNsbGZOd25iK0kvOFZjc0hEYUMvcE9uMC8wN1RhNkt3VlEvdmZaME9PaWp0NW40OW4rOG1Vd21mcFI2am5ZeTlXTVpkR0xMMFVodlE2c2pkQUpYZzVsMDBVRVQzUlRGamtSSTl1K0RTNUtjNmlqYTlKTDNFMWt1c2pxT0NJUVFwb2wwbkI5bDdVOW56ZC9wRkhheFZoN25GNTQrSW9YSGUrWVI2cWJ5L1dqV1ZkYnBMZ0xoNlNxc0k5OFZyR3VZSmxxOVQzTSt1bTdKYmRjdGVrWHJ6MWovOHcxcFpBVGlEaGZBM2o1REtWQ2F3UGk5S1B2aUplci84U1IxZDl5UG03Qkp6cHpMbWlQUEpldU00eW00L1RxTTBpN2VhNU1PK0gzSWhrYXlsenZJMmhCUnY4VDgzbDZuTnpzTytIemVYbDVUUWMzTmY2SHBYNjk0Y2sxS1pFNDJlWCs0Z2R3cmY1cTYzZ1daR3RNV2ZUenc5UnlZUGc4ZWZ3bk9QeEZPUEJoS2lqM3pwb3RsYzBsSk9TZm0xL0JTYlFHUFZaWXdQWkxseFlRM2pCTm9nUlNhMFZtTm5GOWN3WW41MVpUNDFxdWhNYUNpRWw3NkFCNTdHYWJQM2ZxK0VCcHcwUVNGWUlLVnhaNW1pS2xPbEJjVGRVeHhvc1E3Y1hLZmlpZUl6bHRLWlBZaUV1VlZBUGhMQ2drUDYwOW9jRzlrd04vQnkxZTArM3F0Tlk3amNNTU5OL0NMWC95QzJ0cGFwQkRzaytVUjFFOXFha0pwVFY1dUxyLzg1Uys1ODg0N3Q1cHd2RU56dWgwQmZvWFJOWWtzY2hCQmJ3SHFtRVJWbWJockxVZ0tNRHJPbVpFd3d4M3NpRXR2UjR0T0FxVU9nZDBUQlBvcXNEVFJiMDNjaFJaNmlZWEkwdHV2TmwwWXVOcEZPblZVeEIzK3ZEQ2JkNnVLdUx4blBmdDJLd0V0Y0pJUkRHbnNRQmZxNnUwNDJRS2ZWQnlTMDhDbEpaV01GSTFNK2pqR2U5TksrR3BXTnFzcWxtTlpQdnIyNnM3S2xTdEpKcE9iZGQyTUhHQnkydEVCZm5WM1U2dm5xdXFpYmZNMzFkZGo5T3VEZGNSUmlKeHMxUEtWSkQvOEJLSlJSRGlNZHQyZHBvc3JwWkJTc216Wk12N3hqMzl3d2drbjhQYmJiM1Bvb1lkeS9mWFhjK3V0dDFKYVdvcVUwc3VaQlpDeXRieFNxb1VqU2luRmQ5OTl4MjkrOHhzT091Z2czbm5uSFU0NjZTVHE2dXFJeCtQazVPUzBmT2JXR1R3S1pwWERxZ2JZdHdjTUtWNlg2SnNXOXNWMnpEZEtyVWVkTkJpNXQrYjF4YTl5N3d1VENma2QrcGYxSVprb1N1VTd0SEUraEUyK2FFSnJRYUdzcDcyMVY1Nm1iVklnNnpqRzl5VzVvb2tTV1V1TnptWjN2WUNQa3J1enlPbUZFTW10OXJXdkQ2T3o4UWczZG9STkoxSU52MFhhVjhaSkFYRkhjVkIzeWQ5LytSY0FmdjZ2ZlppNVNoR3laQXMvUVljZmJXaTBOdkdaRFJ3eGJBR2pCcHFVRlRZeFoxR2MwbXdZTmlDTDdLRERxdHA1ekZvMWtFNFRnRzl1bE9qVFpHVnJBcllQTFRYSkJQVGVJNEZiYjFHNlo1UjlqaytTVEVLUG9RNVNlR0hIYWQ4NFZNNE5NRysycFA4b2wvNUhOQkt4RXZoY2s3cDVRVVRjSkdoWjZMRDZRVDVkNVNvV0xsN0xxdkk2TE1zZzREZjUrcnRsMU5kSFBKUGJOSkRCSURJTm1tdW51enNyazRlWndROWhJdldaU2NoZ213U002WGY1L01zY0hOdGl3bjdWdlAxMlB3UUplZzcrbHBmK1c4TGcvZzBNSFJUYitjSklBSTVDRHNoQzE5bm95aWdxTjRSLzl6Q2djV2I1b0NxR0tBNGg4aXpVZ2lZd1pVYUlkaUlJd0RBazNZcXpHRHUwQ3dmdDBaMGh2Zktwckl2ejZZeFZmRDVqRGZPVzFSS0oyeWwvVnR2MVBTazByakp4SFI5aGZ3T0hsWHpGTVYyK1puVE9HdktzT25BVmJoUzBBVlp4YjhJRGp5QTQ1QWg4eFFQaHNxRnRIcitLUWNON0VQa2N3dnRCNGRsUWRCR0U5NEx5T3lFeWVUM1R0Qm9TQzlmOXZqNnl4a0hKRFJBY0JaRXZvUG9wN3ozZFdLcTNmR2E1Yk5HUGdpc2gveUR2NzlwM3dWRHNFTkp2RGFGUlRRU0dSVkJ4ZzlpY01EcTU2OVg2U3FCWGRnU0FaWkhnVHMwUU5TVTRVWWRqaHVWeFJzNXIzRmQrSDN2OTlGYjJmNllyTTFaV0VnZ0k5aWwyR0RTZ0wyNGl6cWR6bHZOdVJQTElGNVc4c2JBSGp4OTBFb3VlL3dOWG4vWXlINjJwNEx2VkN1a1RIYzRoMkJCSjhPN25DeGt6ckJzSDd0V0hnOGIxNGF1WnEzajlvKzlKSkoydGxwdTFEWEhlKzJJUkl3YVdjT2krL1RoMDMzNThOblVwNzN5K0NIc0xlVG1QSDl3anZSZmFVOHQybU45TVNJR09PUFFhMDVYRVNZTnBiTEtSbG9rNzV4dmlXYm40ZXcrQVpKS2lnQ1R3NUN5V3pLMUdCRTMwRHl3VUlTVStMZER4T0ZJcFFqbTVLTWZCaUNYd2F6QU1nMVpFaXpzWnhpNmlORFhYWU84SUtPR1ZNM2MwTEFSN21pSDZHejZXcVNTVGsxRktwTVZwL2p3R0dIN0NxVTVSRVJRTDNBUnZKeHI1TWhsRit3VDlEUjk3bWlFK1REYjlQM3RuSFNkWGVmWHg3M05sZk4yVGJMSnhkeUdRa0dBcDdoUjNDb1VDRmJ5dXRFRHBXNFVhcFRoRlN0QUVTWUtFR0lTNDIyNlN6YnFOejF4NzNqL3V4Q0ZFZGlNMDUvT0I3TXk5YytXUjQrZDNNQTZET2QyV2p5RmNINlc3UFR0R0xnb2hRV3AwS294U1VKcG16b3NsZ01TUkFsc3E1T2VrR0Rlc2p2eVNOT21JU241Sm1uSEQ2bmg1ZW5mcVd3S3VmK29nRHRuMmNLVEE2MGpPWDl0RXA1akJIMFozWVZWeENHSGFyaVo3R0NsK0FsQnRsWk1HcjJWMHhSWlNsc2JwZzlZaWdFK3FPblBwbUdWOFd0bVpHY3Q2SXhYbkM0ZFRWUlJzeTBaRzB4eDNYRzkrZlB2WEdKbHNJWHIzL2RSL09BOG5hYmpZSzlzdzREUDNWeFdrYVdPazR1UWVmd3dsUDdxZDlmMnk0R2M3WDkrV2djOVgwbFN3b3g1T0cvcG5wano4QmlJSXFDcS9mZ0ErbUNXNThUcUIwT0ZiTjFZemZzaDlUTHpuWjdTWjQwRk5nanlLaVhVZ0ZFN0ZlR25wZEtwYWF6RnNrL2xiVmpDaCsvQ2piWmM1NnBjK1Nudml1Sko4T3kzT2kyM1VocVdidTA4TmRmM3V0R0RuaVZWNjlwTnA1SnNHb29aakg1RklSekw3bHYrOTJSS0FvNkFYS05oWlljd0dCNlUwQjQ4dlRXUFlpMGR6UUVKajFBdXhLSmJod1pPZmo2OTNDNncwa1pZWFBBZDVOMlhzR0NjU1IrNkhIU08rWUZlS3pQK2tCQlFGTlozaXRzVnVEcFdXam1NaGNLeU1ucVB1QmVPUkVxSHJSRjkrQmIxSGQySnZUc0ZKSkFoT09wbklNOCtEcWlDRWdwcVg2OTVmMHc3TEpXTGFEcCtzcmNld0hKNmR1UmFBb3B3QUhrMWhUSzhTOUtONGwzdEZkaVRhYm50Z3EvMHNsSTczYm03TmVkVVFWTm9HRjBXcStHbXdsQ3U5ZWNTa2pZbGtuN0xhSEhCTWdWQWxRcFdVZlRNSldSSVVzTklDa1pBbzN2MTFQVHFBUUJHSzI3UEJOaEV5eFVVbmxYUGV4SEllZkhvbHYvcjNjbEpOU1pRY0wwS0EvUlhvRmFzcUtsWWlodW9QNFBmNmlDY1RPL0duclhYVThuOElmRFE2K1JVcGhSUkxpNzNNNytKbmFHbGZ4cFVNWUhiOUNsYlZyV2ZzNWdUOUdsUEVuWUIwekI1aVowRW1TR1ozWTVaeEhuTTJSZ2pWTFNFWjBCamM5QVl5R2FHcVlDSjFUU2w4VFFteWZBNDl3ck5vaVpmUldEYU8xbWdMNWJLRkhzRWFUdFhmcGpubVlYSG9FdUxlN0MvVkxqckNUK2ZZZ2xBd3pUZE9YODJqQ3hJSUxZRlVmQVI5RGZUbzNrVFFrOGZIYjViZ05HWnp4dm5yT2Vta3VUejR2bytXcFNjUWJlb01tcmxIWjQxa2ErNlV4RUJRR2V6S1AvcDhodzhLeHZOTi9XTXVHZXVRNVZkSUo5MW5PbWhZTkwvKzlaZnE1Q00xUHc4R3kvaG5xcG5YMHBIREczL3hTMGpKOUpDekhVaWFvR1RhR3FLNDB5Y09OMGdLQ1RuZU1PTkxQMlpDMlVmMHpGNVBRRXVRc0FLc2ovVGtvOW9KZkZ3M25uQTZwME5FbkdqSDN0UnlGNy9Vb1NiSHNtbFl0b2JLOStjUjJWeDdWUG42WDNTSzJEYXlJQSt6ZXhhT0ZrYVBOSkZ0bVdUMTBoSHJhakM3QjdBOE5zcUFUaWlmYnNqb0MwZTlGWWZPRkplRWxEaGQxQzJNOG41R0Q3MlN0UFN5ekJqRUltTUlhZWtsSmR1aEJtdWJEdmhGWEV2dWNKN1lZVjNzME5oTTdQQzcvWFhBS1lKNHlrSW9BbFZWYVdzek9INTBFWS9jMUIrQVcvKzVrcG1MVzFDOUtvNlV4Rk43VjFPdEtpN09rNTBNZ3VJd3NlOThmampoTlNZTitReVFmTHk4Z0VmbVpQUEJlaSsyRkdSN0hZU1FidHV5QTFuK2p1RGkwUzFjUExvVjU0dHdveFNCMVdUUS9FSURrUmt0U0VNZXVFSWtwWXU1dmhkQ2FtR3B6ZDBuT254emtZZHoxMmg0RFFmbnE5T3c4OURaWCtWZDBFY05RN2EyWWM2Y2cvRDc4Vng0TnVhbmkzQXFONUxlVWd1bWlYN0tSSkFPeG95WllKaUhTRFFvR1h6aEdIYlV0UytFWlVNaXZoTTNzc01SMERYMG9nS2NWQXBwR2toZDNhdDExcTFUalA3bENYS0RKdGxCU1Uyemx5V1ZmalkxQnZaYVNkSTA4WVhmOWV6cEE1TGtGcFFqQkVRM1Irblp5OFUzOC9tTytxUGF6NmhROW9rUEhlMTMyNDdtMFE1MXk2M2hDRUlJeXRsZUJ5Mk9qdlVSUmRjY2Y4VmgvWHlmOE5FZXRWT0VDblljS1JVODVaUFFTOGFTWFBjU3Z1YjNLTWhXYVV1VDZmbDFjUFNKbG9iRzNaOHlvNysxWlVsdWU4NURRSkVzdjZFRmIwUjFYVmg3V1VlMVk2dlU5amdQNElWZGRRYjFDTjIvbVpkVnNyTUpudjQxdEs3bHROei9BUEhwTTFBQ0FWZG1PRWQxeW4ybDMxN1hQcjJ1WFIreTJJYlBzNjBSOVFIU3lDZS9RTm5iVjMvMTUvYlQzU1d2VkFpa1pYTE1zUU5KQnYyc1dya1EvNmQvSWw4eHlGTFNkUFlVOCsvc2ZwaURCbUFra2dUV054SkxtbCtxVzNaay9iZ1FJRTNKOEdGRjlPaWlZRmdtT0xxclFnbUpSMU5ZdDlsaTRiSVdoQzZPOW9FN2JIUmNnWnFkNWRaQUtCQTRiamlCTVVQd2p4cUlIWTI1Y1RQVHdva2xRRXI2NVViNXkzR1YyRmtkaTk5NDJ1OTIvdHp2Tzk4NHZNZng0Ui90OURIL2pEUGFRZFpvdUkzbU03RTVhZUFHTk5vQjlIL0tsTS9kdzA0czdhbzdBYysyUGFwNGRSZjN6SkhvdXNhM3Z6dWVwMTlkUkVOOUZLRi9QdTZySXR3Nktpc1N3Sk1UNTJlM3ZNVjk1ODlDQkNFZFZ2RXFOcXUyRkVEU2l4cE1ZanNIYnJmT1dwems0dS9YOHBNYkNyanU3R3pLQnVra2xqcUUzN2RKTG5kd1VoMEx4YnRQY2twQVFEcDRON1lSdHlPSUhJRm9rdVRtUTIwM0FRcW90c21nMHI0QU5NYmJhRXRGYVF6WFlRckJwa2c5bHd3OG1mK3VlQi9UTmcvVFRiRU51V1hycXVCb1JkcisrU0NrWVlCbFpuUU9EZUgxSEJKZFUxb1dJaGhBU3h1cyt0cmxkUHY3Zzd3NWRTcTNmZXRXSHZucm93aEZRUkVDMjdaUkZMYzM5RzNmK2hhVjY5Yng4TzkraDc5N1Z6YmYvbU4wdng4OE90Z2QyU0g1UVBXZHZXY1dqbFFJYVZHY1RJMkY2ZWpjMmZkWElBWDNMSGtFSVNTbTQ4bGtDK3lkRFpaSW1DU1ROdVBIbDNIeXlWM28ydFhGZWR1MEtZWmgyTHozWGpXSmhQbVYwS1Vjb0V5MXVDQVk1ZnhnREU5emluKy9tZURadDlLczIyeVRTbi81UzVZVnFWeDVwb2RMVHZVdzZySWpHKy9nSno4NHZQMjRmMzEyWjc3ajkzc3BMc21sb2FHVlVOQVBRRU5ESzhYRmVZVERMclpaY1hIZTdzZExjaEZtaUw2WGY1M09KYmtkSnhuZWZLYkRKTnlPb2NTT2V2NGpiWHlsbENBbFRkV3JjRkoxbVBGTjFLOThsWFNpZ2V3Y1FXdXp3RGJDbFBRN24zWHpucU44eU5rRWNnclFGSUUzNUFIelFBT1NlNmJZcmwvWTIvdkxQYk42TThlWDVkTWo2S00xYlc3ek5kdFM0aEZ1ZDV1Z0lqQ1FCRlZCM0pBWk9YWWs2elZ1akh0cnZaMFFSK05JaDgvTWRGRDlzZ0JwU0FxNitDZ2RNSTBDdFlwRk1vdHN3ME8vUkN1TGhZZCtlV2sycTRVVUxUaVRlSnVKOE80ZGxvYm1DWkJUZmdxTnJRdXdJaldJV0JOQ1dVdks4dUJrNTJHRVNsR0NQVkJDQS9IbER5U1FWWWFxS2doRnBiQjhCRTVpSTU2V1pRUzljUkp0YTNBNkg0ZUtHMysxYllkRXRJWlV5d3FjNkRLY3hBYlNzVHJDa1RaOFdocnBtRWpIeHRZNlVWUitDcHJIZjNCVTlWQ21QM204NC9pQXBycFEwMzkrUHNVakw2UzQ2Mm9mdi94V2dKOTh3ODk5ZjBudysyZWFlSzIxaVlzOVJkd2NMS09YQ0JCM2JKSTRxRWNyNXZaZEw1VVNFZkJ3NzIrbXVuN2xrQS9MY3ZCNlZMNXgwd1QrOGRKOE5tOW9RZ1M5aDNWKytkYnd0TmVqMExNOGg5d3NEMHZXdEpDYnBYUDFPWDBKK0hRZW43d1NSMHF1TzY4ZnB1bnc1T3VyYVEwYkRPeWRSeXhoc201VEJNTzBqNGE2MlZIZkU2ZzV1WVNPUFJFN0VVTXZMTUdPUmNtOThHck1tczFJMnlIcmhOUHg5UjJFSFEzVCt0cHphQVhGZUN0NmtkNndHdUh4b21ibDRPbFNnWnFUajFwY2h0VllqeE9Qb2ZqODJ4bjFYbEx6NWhpWGw1c01DQ1Q1YTIwSlUxcnppVzl0TXAraHVKbG1ZYzE2N24rL2xjVjFWZHcwNmxRR1gzZ3hucDY5aUx6eUVzbUZDOEEwOWkzLzRRaXdMemNINE45ZWVEc041VW5vWThMWUZBUWtOTml3SUFzK0s0SWFMOFJVVVBlMG1Sd0hWZFZKTEYzRnVFQ2FBWDlaeVVNL3VvWlJzNTdpd25LSXF4cVdaUjMwM3JQYVp6OTlHTk55YUc2SlVWd1k0c3h6UitPMURjeTNwK010eWlmVnJZTDFKNXdQRW5yT2VKbEE5M0xZdkpuNk45OUhHVHFZbWVrUWRaVjFGUGdFU1ZOaS9lNERpQnVnQ29SVWtFcVVBY01LdVdqaUJQNDdaelpyMTIybXR3Y0dSUlRlN1pxZ3BqeEpxMjg2T1Z0T0lONlFUU3dlNjdDRkpMY1Yxa3NVWGU2VXArbVlXeDJOY3ErZEx1MUZRVStBQzRlY1FtTlJMdUlnQzRYbldINEFUbW1GUGdNR1VERzREOWdwck5aV1NDV1J0bzNRTllUUHR5MDRLZE5wYk5PRVZBcFowb251ZmNiU3R6VEZzcnIxN2NGWHNaRDBWMzNjNUN2Zy9rUTlaZ2JtV2U2cXdFcElHNUtabjVuOCtRZFpET3F0a1V6QmxSZjZjVklaeGN3SE0yWWEvT0crTFBLekZXNy9kWlMwa1drY3N6Tk9oRnNUakF1bWNwT3ZnUDZxYjl1OVA0ODZjcjl0ZFpyYmRwb3J6em1OL1B5QmtQb01GdjRGK3QzQTEwYU9BMzBnNGVnbWJ2M0ZIMEY0MjlWb3RxUmtXaXFKWHdpTzgvbFliWmk4bFlpejFERG83L0h3Zzl3OEFQNGNDYlBTTUJqczhTQ0F2aDZkMmFrVVNTbTVKQmpDY3dEYXd1VDhVWWUzWkdtWjFpR0toWFFFZXBGSnArdnE4QXd3MlhKL0djMHo4bEIxMjQyamRDQmJFWURQbzVBMnBXdDhmaDZQOHlvTTdSWWl5L2Y1WWxMWEJEbWFSZzV3enNnQ2txWkRkVXVhVDlkRmVYTkJNNjM3MlJEeVNHL21ydXpBUzJ3RWp0RGRRSzhBNGFUcEpKdm9KK3NaUWhPRHZTYTl1K2ZUZVVRL2NzZGRTbURzR1BUKy9WSDhPeHUwMHJhM2FmaENWVWtsRS96dWxzdVpQdTFOMHBwT2o3d3M0c0tIYmFlSVZxNWg5cXlaZVAwQnVuWHRlc1FyZHBOL05SWFRjbWhwaUZGVUd1TFVLMFlSc0ZNb2I3d01KY1ZZRmYzUmhnMEdDZFpuaTlCNlY4REc5VGovZlpQRXlMRzhFKzFFdzlwYWl2MDJDUVBTUC9nVTRpWmJ1NFpKYVdWMmhMSk45MU1VYlp1VFUwcWIzcjBMT2ZmY1hqejMzRXBxYWlJSW9YNmhNZWorWHBEdmd3cWlkR3VyUmswazBDeURIdUV0Sk1zcjJPUVRSL3c2UDFSMDBTY2Z0SWZWajhqTGNSdW90SVdSaVVTN1BkL0wrOG1RRTBtVGV4NmNUU2lnTTJsOE9SZWUxcE9uWHkzaXUwL3IvT0dxSnpoaDBMcURnbGU2di9Ka1d5N0FqblZVNmxiK3RZT05tem52VUN6LzRyVGt6MnRTbk4xb0lZWGJ0K3J6S01lUzNGSnQwaVV0dWIyUGp3YlAwYzE2bEE2bUVpSHc5ZW1KcjA5UENxKzdsTVJuU3doUG1VYjR2UTh4TmxZZmtrZXlwSTBtTklvOGVYeld1b3h6Wm4yREs3cWV4dy82M1VxUk54OXBXU2hGQlhUNzY0TVVYSE14bTcvN1k2UmwwZjN4UCtBZnNqTm9kdkRZVVJSY2VoNmxkOXhNNWZYZlJXZ3E1Yi8vSmFGalIrSGdKcUZvbWthVDBjcXZWLzZGWnphOWlrUlM2TW5EbGc2V1BOcGMrbERScnZid0dlZU94dmRGOXZEMGx3bjAyRzRQaTZHRCtUZ2RvcjZ5amh5ZmlzOUkwdTJuUDBDTFJwQ2E1c29NUmVEczBGQXRzbjREaVE4K1J1TFE4TmE3bEY5eW9hdGJKNUlaZ0tBOUcwcmp4bzFqK1BEaGpCa3pocUZEaDlLN2QyOENnY0J1VGNSczIwWksyKzMvbVJGUVFnZ1FHb3F2RExNbUMzUHpSRENIWTlWY2liOVhBVTU2UGs1eUFVNTZNZEpZZ1hScXdHbEZZaVBRWEh0ZGVNZ2dhckU5V2U1b2R2U1JRS3B3UVdKTlE2Y2lPODZmZTFkeVZyY1c4SUFUZ1VqTUxWalBEcVVwTGpaNE9uY3RseFEzOCsyMUZWUkdRZ2pkY3BzTmRDUlNheXdDczZmQjJ1WGtqQjNEOGVOS3ljOVdzUjE1VUJMSG51dGd6VElwdTVOV2h5SUNnd242K3FQbytRaWhJbFNOU0NKT205bEdwOXpUQVltWjZJMWoxU0VMSTNqcjFxSTZSK1hFb1NacDJ5ZytIeTN2ZllDL1J3WHg1U3VQK09paUVBTHBPSVNDQWY1K3g1bjRTcGN6ZTJrZCtiNDg3SHlOSWs4Ukg5ZTh4NXFXNVFRYlF3U3lpcGcwL0V5Q2FvaXFqZFBvVmIyV0FmM0wrTk4zVHVQbWg2ZVFNbXdYYlA1Z2JGalRCRTF6RGJSUFA0VVJJMkRRSVBoZ0Y3dDYwQ0JRVlpnM0QwYVBkdWZNc2tEWEQydzliR1ZiSnFEQkwwY0FPcXlPd1FWRjRGVEFtTTZBQjZKbXhsZTZqUitEYmNBNVBlQ3Z4MEtSRDE3YkJEUHI0ZFZOc0NtMkE3Q2VzdjErR1hlT1d5dm1RTzljT0xjclBMY0JhbUp1MFlEYzQzeExUaXVieHJmNi9Jc3NMWVlRa2hKZkk3WlUrVTdmdjNGMWovK2dDcHRsYmYzNStkSjdhVTduNzlPQTVIZ2lYTmI5djl6YSt6RzZibGxQMDRNZUloLzVrYW50NzdIckFQb0hPaFJjYU1CZE94OGVQYmpMVGlkN2RadU55UkthVFQveFNKck9uVldDdWI3UGpYZ29TSHB0U2FDRUJlekNPaFZGMEtzOGoxR2R1K0FjZ1BYKzZkS09ZalJRNEJGOHUwTGxxczRLK2ZwZWFGbHVJSXI0ekFqaEY1c3h0eGp0cTVwNVBIRFBQWEQ4OFR0L1AzTW16SmpoN3FmL1VidGhYK05vSDZkRDFGYldVK0JqZXh3dFlTQk5oN0xPdVp6enpXZlJOUVVuWmFKbCtYWUR2bFE5R2xiUzRKNEgzOEcwSE1xS3M2bmQwb3J3NmwvS2R3VXd1bjgrVjV4YXdZRHVPWlFWK2luSjgvSFh5ZXVPQ3ZnREpSdWNOUGdHV3ZpSG1xaTVrc0JvQzYxQUVwM2ljV3ZpMk1Hdm1CWWtGN20yb2pTUER0OVJPbXlVUW9ScGdLcmk1T1JpSjlOVTN2Y2I2cDcrTDJVLy9oNEZGNSs5Z3c5QUhFR3Y1V29LemlIb051SklpYVdwL0dmS1VsNzQ3d0ljbjRhcEtpaEpnNzY5aXduSERCcHF3a2hkT2V3Q3h3S0JURnM4L2ZBWUFuNlZZWlBlUVhoVTBsVTlhTnpZSFcrM1NySkhmb2F2b2hJaEpJN2hJV3JER1FVT3B4YlkyQkkrYWxPWTJxeWlpWjFUQXJhdUlFdkNyYXM4dkZpdjh1ZStCZy8xZDVsbDc0QWtiSUpmQVUxMDNCc2k1YmJtUGJzZFZWeWZseEFLZGpwTTA0eGZZelFzSjlqM0RBTGRUMER4NVdSZVJPenZkZ01remVFNGI4OWRUVlZ0SzVlY01vUUxUeGhDVVY3d0tEODZCUHBaWFZVOVdZcERibDZReWNFQUw3eTluRTIxWWI1NS8zbGNmYzR3REpyNTVkdi9vb2Ywc2ptc0VMTnJ5ZllXTUxxaU45Y2Vjd09EU2tZUU9rdmo3bXNuOHNlbjV6SjNjVFVlajhvMTV3N2pzalArdEpkckFnSzZRdmM4aFZ4ZkZvT0t2YnhmbFdCZHM0RWl3S09LOXNJTStVcVRsZGpQaGcwUzhFdnVXeEVudEZFd054b2tubWNpRllNNTA5NGhHRks1cjNzdUR3d1FrTlNPMW9ydkJ5a1NITTFsd1ZrSlFVV0xoYk55QTdLaUIwcCt6blpuUnp2NjJVTDkwdnZ1NXptWWhRVEwyKzlTd2dkWUhtTEpBZ0orVUVRZHFHQ2xpeEFpaFJwTXVBREV4di93OHYwS1ZJallRTEdpOGgxL0R2MTlBZGFPSElLM2N5Y1hjUGJ6ZkFKQ0lCUUZ1ZFZ2MDQ1ajhOeHp6MzNKbXBUNHprZ2pRcExrcTE1a1JPQTUzaVExMVlQd2dtZWlnZi95Rk9rWkhzd0ZHdllPZnNPY21DQXZLaGk2VnVHaUdSQUpTamFYU0ZaVzJDenU3YkNpd3FhNlJCSU9TcmJXa2loeXIvSGtqa2orY0ZuM2ZRUVFrQUxGaytMOXQyOGszRktCblZmUG1JcjExTFhsTTZwaUE1cGlNMW16R0ZteGdYbVZQUkZ0M1NoYWR5WW5udlpQSE1PM2I0TUpQSCtBTnB2TTJHdXRpUURMdG5TbUtaYUZkTnh1Q1c4c0dKR3hyd1E0Q2syeExKWnQ2VXhySXVDbVowbXgwelgrSi9UZlh6NklaZGswdDBRcExzem16SFBHNGJWTnpLblR0dW0vNnlhY0EwaDZmZkFxZ1I1ZFlkTm02dDZjaGpKc0NCOGJYdXFxYXNuVEFKOFB5KzlIMkE1U2lKMEFCSnhKeCtCSnZVcmVJQU5aRmtYa21IaE1rOVFudVJqalcvZDZ6RHUwTGlHVG94ZlFCY3ViYlA0MHA1a1hMdlp6KzFsRHdVcURybENaV3M5TG40VTVxRGlQRXFKcG04K3FZMGpjNWwxSEZmbWpkRERvaW90RzdMWVdIU25aM0pabVNsNHhYLy94ajZpb3E2VHR6ZmVJVEp1Sk5DMXlUanVSM2hVRi9PYXVTY1JTTmtwejQ4NEtvd0JGVmJqdnVyRTRNMmVUK0dnT2RuRWhYZjc0UzdJbUh1dUNRQUhMMXpmeHdwdEwyVmdiWWZ6b0NwUXgzWGRUUEo5OStJczNqUzBFYUE3ZW9FbkUxdm41NHY0OHVxRXJkL2V2NU5aZUd3a0UwamlHamlrRjJqN0tLVXNLZENIeGVRd1NLUytQTHUvTmIxZjJvQ0VhQk4zQ0cweVQxblQzR2ZaMXMrYmx3VTAzd2JKbDhNZ2pjTjU1TUc0Y2RPMTZZRFdIaXVKZTQ0NDdZTllzZVBGRnVQWmFHRHpZdmVkK21yMEFoVjZiTThwaW9udkE1UGxOMmM2TG03SkZYVW9UaXZpS01DclR6ZWZlK3ZkUk9nRDd3N0ZaLytZN2hGOTlneFZBZGMwV1dtZlAyM2E4ZGZZOHFtdTJzQUxZL09vYlJGU0ZubDg3QlEyMTR4OU9TbElyMTlQNHlQUEVwcy9GYkdoeFFlcWszQjdCRUFLanNwcms0dFVrNWkyaDZMYkxDSXdZeE5IaWxpT1I1UGIvcXpaVnRibTgrTVlJdXBRM2NlcW85YXlvS3VMMTZVTXdWUWRic3pONjZ2YmZKQXlWRjk4WmhxYmJqTzY3QlFYSk8zUDZZcGtxQ1Z0QjdzRC9IQ21RbXMwSG4vVkF0eFdjazViU3Qwc1RzNVoxWmZPbVFoSUNwR3J2aGJRUUNHR1JTUFducXZrbStwYmVqOEE4VEdCUWRuNzZSMjhjdnN1VFE3WmZweURrUVJHQzdzVkJmblA1WU5LbXZXMS9TUVExTFVsKy92SUtVc2JCTGY3WjBiNG9LZ2h4NW5tNzVIbDNyV0Q5aVh2Tzg2NnJyS1BBSzBoYU85c1hVb0xRQkcxaGc2dnVtY2FJc2xNcHp4NUdTWTg4UkJPc1hqeUliOTBaWlUxbExRUjBoTWM1cUNDSWNsdDJWTWV1b3dPNXVoUUtxbUZ5ZVdjdkEyODREcDgvaDh2LytqcFBWYWV3dkY2RUl3K0thUlNYRGo2aGNMaERpVGlBVndqTzlHWXpTdmZ6NHJvdzkvMDB6T1FaQm5kZkUyRDB3RGd5dFFRbnNRaVVKeW5UTzlFcE9Kd3plaHhIVzUrdnN5cXA4WEhqSmo2b1c4ckM1clhVSlp0eDdFelRyc01CVEUwSXBKbEdMKzlPN3EzMzR1azNoSllIdm85aDJRaVBTbnR2b0NPdEx2ZmlzUVg3ekwxMVJSRHdLTVFNQjl2Wm5qRzVhMnM1Q2FpS0lPUlJTQmdPcGlQM2VXKy8rT2l1RDN6eHZwczFBSTdEU0UzbCtkbi9vRWZ0UXJxZEdTTDQwWk91SFZqZWt5VmhrOW91Z3ltYk9Cb3B4K3gvbzUwWFgyenY1UXQ4bm8zb2Z0ZmUvTC9ndkZNUGI0YjEwS3lqS3VsUittSjVGbS9IM09IRHJNT3ZWQVJhSWszam1QNllXb0xTYVN1UjQwYWdYWEFlNWpFNm9pNUIrc2EvNG5Nc1RHR1NPQ2VBMmZkV1d0Yk9wZWpqT2dyWGI4Yng2QWNvODQ0c0cvYXJrTDl6T0ZPUlA1L1NZREdPdExHa2pTb1VWS0ZpU3h0Yk91Z1pqQmZUc1ZHRVFCVXFqblN3TTNYVFFnZ3N4OTJ6MnRaalNGU2hvQWdGMjdHUWdLWm9TQ214cEpVNXB1NXdURVVDdG1PaFpING5wYVErMlVMVlVaWjRhRWh4Ryt0ZzI2Q3E1TngyTGFFTHo2RGx4NzhqOXR5cklBVFJwMTRoTWZVRGN1LzdGam0zWDd2TnI2OFZGbUlVZS9CM3R2Q29Eb1FGV3FqSTVUNGU5NXp3WDU2ZzdZRkhzUnRhRUxwYnQ1VjE5UVhrLy9JdTFMTGlqQ1BSZHBGajkxV0dPREIvQlN4WUJZKy9BdGRmQUJlY0RDVkZyc0ZVckp2Y1hGTFBCWGt0dk5LYXo3OGFTMWdRRDIzTEJWYUVaRVFveXZWRkRWeVExMHlKeDl5aFdBc2FHdUdWNmZDdnliQmdaZnYxc3BDQWpjUXZCQ2ZvSVVackFUNHg0OHpLOTZPT0dvcWFGWEx6Y3pyUWFmQmwrUnI3NG1lTkxGaEovWE5UYVB0NEllbjZScHlVQzJ5bitIeDRTNHJJSFQrY2tzdlBJSHRFLzNaTG1OaWZzUkZDVUZ0Ymk2cXEzUG05NzNIL3IzN0ZNWTdEVDA0OEVZQmZUSjNLUEVYaHp1OTlEMVZWcWEydDNjRmVPd1R4RHdGWUFxWFFRaHVVUk91V1JxMHdVQW90TjM3WHJHRnY5R0JWZWJHVytYR2FORkRiNXpudnFIbm5nTmU0d0cwa3BOZ1o0R2xGdEZzRndmKzFvKzRvTkpDZFRRcHVqWk16ekVaNEpOSVdpQXNNV21kcXRQM0hqMXpwb1NQQ0ZvcFFpYVdqK0hVLzQzdWRUTy9pUHN6WjhDRUxhbGJ4M1ZnMnB5UUhjL3NKZDlLcFlDRFlFV3piUkZXMGc3RDRjanRJT1JaMDloaGNWZGpNWmZrdGlJWTRmM3N0d1gvZk15bnNuTWMzdjNVbDc3MzdMdjM2OWFPdHJZMm5ubnJxY3k4VERBak9udWpsaG90OERPdWg4LzNmNzl3eVFkT1VQUzlPVlVXR3cvaHV2cDdnQXo5SDJqYkc1RGZ3M3Y4VDdGVnJpTjN5WGF3bHl4RVpYbndvMUdraEJJWmg4SXRmL0lKKy9mcFJXVmxKUlVVRjFkWFZGQllXTW5UbzBHMDhXS2p1NHJUYXdsak5MZTRZRk9TajVlYTRleTdUeUdqSWtDRVVGQlJRV1ZsSmp4NDlxS3lzcEZldlh0eDExMTM4NVM5L3daT1Iyd2RFTFVtWXNwWmdnOG1rYjE1TU1CUTY2UHp6T1dhM3EzM3hwZmxHMjhobVUyV0kraDROMUdzaGFCRlVsRzNBOWhkQlk0Ylg3T1U3bEtzTmxLbE5kRkthQVNXREU3d3ZDOUhtYTU1UHFWRHJ1TW4vQnAyVlJ1TFN6eitUWjRFSEdwMGNJaklMZ1kwOHdBVytWTTlwTjMxaUozTytneElzdGVIRDJrV1AweFZsRzM2Y0tXMGNKTzBTVFpoZTA2N3ZhenFTNGl5TnZLWVczbnJibGUwL2JXcWhPQ3VmcENGUk9qS1JWWUxYQTM2L2g5b21tNFlXNkZ6cUo1RnlxRzJXSkFLUW4rc0JqckRHeEJsbHhySEJVYmJpUDB1Q2VaSzJ6WUxhRlRxdHA4Zm9YYUdqbUNwTmJUYWFCdWxHRDZOUE5mbDB1a3JsYkQ4Ymd4WTVYU3lVTkVoTGNYTlhrVGkyK05MMUYwc1piTmpjeUM4ZWVZdnNvSTl3TklscFdXaENJZStrc2ZTK2ZEeGVYVDM0WXpQazJaMmYxV25IeGJUVkVGT1VEdk56SFhFcElFZFlVMjk1aEQxdk5VZWJwaCtsQTVNVmxnSFB2MTVBV3lSSWo1NXRTRDFPTEpWZ3lVSVAvM3FoTStOR0N3WU1TQjc2bkhBSDhLam9GNVZodmxZUFhZUG9rd293cGpjRDRMbW9EUE5kRHlKbG9aOVRRdnIvTnJqRjNFZlQ1bzRjL21zNzZGNk5icVZabkhwTVY4NDRyb0tjb0llMGFWT1U2NmN0bXFhbUtVNHNsaWtTL0JLQktIQWJhdHVPaG0xN0NPb1JUaW4rak5PTFAyTmt6aFlLdEJZVTA4RktBQUVkWDk5akNmWTdIVitQOFdoNVhWR3pPeUdGdWovYkNpY0prZmNnL2pFRXgwUEJOZERsajlENkhEVC9HK3dJT0JZMFoxd0pqdVgrVHMyR2dtc2g3d3BJcjRYTjM0VFl4MkFuLzNmYVFNdjJZbTdvS0xubnV1UGIrajVnSEp3WDBDVCtJVkU4dlZ5ZnMvcHlNVmFENTZzemVWS0FrUGhVbTU4UFdRY0NicDQzZ0lTdGJqdDI4TVdEQUNmRnBXUDZNZnZkSjFtcUZQS25hZDFZVzI4UXlOVkoyQjVtMVRxY2Y4RXdtcHNhbVBaQkl4Um1FUXdhMURRMGNkOG5vemluOUMxV2YvSjNydTl5TlhmVXJnSHBwejBGbjVRU1ZWV29iNHBSMnhpbG9sTXVmYm9YWWxtU2R6OWVSOXF3OXZ1NmlpcW9ybzlRbUJla1crY2Mrbll2SkpZd21ERzNFdFBhTTJibjB5ZDJPYnpYMnk3dTFvN3ZIK1NXWVd4V2RVemJnSGRlb0x4bE15TXNrNlVsUGFrNTUyb00wdVR0cGY5UXk4dWgyNWlSMkphTnZtUUpXdGNBL2xTYW5qMTc0czNQdytQeklSVGxzT0VQUzJUb0s4R21XdjJDMml4d09qaVZWSEdnTEFxNXFmYmxld0lvVlRXR2FuNGlqc01pTTBtWnFuT05ONDllcWhlUDJKNlZuNDlLaWRBb0ZScFBwbHRaWkNiSjAxV0dhbjZXMnltcWJmT1FxL0RibWtLYmFWVGR1ODNtRnJTL2ViSFY4eFZMNkpDQ290d2tibTJEMjlzdWJhcFVOd1RCQm0vUUJodXE2NE9rRFJXQlJEb1MwTENqRVZhZWZoSjVnSFdROUM4bmcwMTFiRTJZb2c5Ti9qYWlFKy8xTE1DeEpacVV5SVBjWk5MZTQ3Tks0bW1kb01mZ3hINVZET2plZ0FCeWd5bmVYMVZCM05CeHZrQWZFRUtnS21CRlUzaENYcjc5N1ZPNVp0SUF5cWJOb1BrZkw1SmF2OG1kU1hWcjB4TzU5WWNJUmNHT3hpQVVvTWVkdCtDOThneitZUy9qeVkvZTJPMCs1K21MUHVmbUR0THlFeTlheG5PL2ZBUGhVNGkxU1VKNU5xT0hnYTVCSUIvU2JaQ3NWeGx5ak0xVGR6N00vYitFcnJrZUROdHB0NXFZVi84SGJiM0Z0V3Y0ckdZbEhrM0RzRTNxb3kyMEphUGsrYk9QMnNHV2JEY3V1SE5HL1ZGbnlGZUZGQ25wWVVURkRhMnJ2S09URFdQZUNIWHJPeWRRY2txTkZueENJajgyaFI3aHhNY2REQU5tM2N6L0FxakRaei8vRmFidDBOSVNvVEE3aDlQUEdNZWdIeGdZYjA4blVGeklYMHVMK2Q3NTk0S0VSeWYvaXFLK3ZXRlROZlZUWnVEMEhzekhvencwbkxLRmJFVW5GRWhTN0xzZDFRbTdBZklPR0wrRlAzMFlhMnM5WUdHSXN6SjJqSkd4WTlMZEtsaVRzV042ejNpWllNYU9xZHN4dnpoanh5UStKLzR2SFFtT2RQMWtpc0IySkhackpMT0FCR2dxRS9ya1lWZ09jOWUzN1ZWdXQ3UnRRbWVlUVh6cU95Um56UVpGSlhEaVJFTG5uME5zOG10SXd5RHl3a3NvMlZsZzJZY2R5NUhTMVF4Ym9pa2VlUFV6bGxZMkFkQVVUWER2ZVNNekVKeHkvMnQ0L29jb09HcG9POGduQlJRVnplZEJPZzYyWWJ2T1VPa2NlSjdGN0QzMzliS1FxSmxNazUvRjYxaGdKdmhKc0pTUVVJbEtHMjB2RjYrYUxmR1YyRGdwUVdLWmh0Q0JpRUFOU3JyY25pQ3hUQ015VzBjTnlmMklPV2QwZlNjT1NoQWxPUmNaZlIrcjVDZG9xc0VQciszUHRXZDI1NzVIRi9ITWF4dkFsbWhaT283allxa2NrYkpOVVhEaVVZWVBHTUdJZmtQNTcwZFR0OWtMVy9lbVk3dldtSzdwMk5MQmtmSXJyOTAwL3V1djhzTnVRZkhZcUJ5YXRuaTRyL3RwakQyaEYyc1h6K0dQbTZmelNxdkJqZk5ieVk0WFNlZUViMEZ3ZTVORktRUkpYeUZHcTBHUHhCSzZCZGRUNUYvQ2VxTXJzNE1uNGNRaWxKbVZkQzlLMHlYUUFpR0RXZVo0dW9aZm84SmZUM21va2hLbG1RMWFYK2FIcmlFWkxIVWxvbEF5Y21QM3RkWXhmcm8wQ0EwTGkwc2ZHa05PeFhLR1RKaE9XMk0rQXdzclVId1JXdE1yS2UzY2wzc3VTekI2NEJZK1c5R2RqZStQd1JleVFUaXVqM3F2ZlFqdStXSEZ5eWRGNDZqMWpHUkdMdHgyaG1CMHFVUkkxejd1dUt5UEhlalh2OTRyVzcxRTBiakxYOHhBWDRnVkkvdmo2VnoyeGZpTEhVZ0hrcyt2Q0hCTUFRNFU1RUF2RHlSNmcxVUxlc3MySmZpd1NjOFNTUHJucmVTYkEvN09wQzd2VWVxdnc2OGxVWVdOTFZXU2xwK3p1NzNCdE9wVCtOdUttMW5aMXAvMjVsaFdXK3NCdm9Od2U1ZG5lZ2E2L3JsTTM3NnR4dzdWK0tvS2VUM0tLUnN4Z1BER0xTU2EyNDRxWUY4MXY4ZWVGWGVYS1NSVHBDS3RwTklXU200U1gxSW5VYjJCUVBjc1lva2E5SWdmSmFHaUk1QWQ0VmcrU3Z1Z3VUb0VSSUp5clpwUjNnV004aXdnTGtNSVlJdGRScU5kU0ZwNkRvZ1BDZ0g1d1Z4MFJTUGs5V002TnEySkNMcXFFZlQ0TUcyYm9xeGNmSnFITEcrUTVuaVlwbmdiRW9sbDJ4aVdTVmxPSVZKS1doSVJiTWVtT1JIWjc5b0FWVld3SFlrbEplZ0tTemJHQ1BsYy8vV1NxaGpveXJZK1NsdlAvY0pyS1E1U0N1eGtFQlNIaVgzbjg4TUpyekZweUdlQTVPUGxCVHd5SjVzUDFudXhwU0RiNnlDRXhHNlBkcWlPb0U5Wml1K2ZYa2ZBNDJBN1lsZGhBVUJ5ZVl5bXArcElyb2p2OVAxK0dPWnVMRWdJbE94c3ZOMjd3OXExZThVMEdvS1NCNDVKczdwRWNJZDNOT1c1WmRpSG9wL3hQeGQ5UlhhdVFDa3RSdVRtWUs5WmoxUGZ0SVB1NkNDVEtVZ2t3YU52WDJpSHdOWmM4UE9IU2FVdFdscmk5T2xaeEtSVGgyQ25ESXdwN3hMTXo4YnMxNDlWNDg0RkpQM252SUZXWElpenFacjZOMmNRSERtWWVXb1JhNVp2cHNBRENkUEdmbWdHSk0xdC9qTlZrZGdKaldPR05QUGVyOWZpOTloTVgxUk8xOEptdXBmRnNHeWRVMzdRbTNsTENsQUQxdTU3WkJkNjhjWEczWmV2NHhESzh6Rm5ib3lUankvbTBYOE5SUWk0OVJ0TG1EdXZEczg3WVNLdHFkMTZLeCtsejFjUnZwQkpDQUZwQTZkcUkyekZtRUlnVXltM1ZzM24yNEYzQ1pSdTVlRDNaeTU2MUJmWUhwTWpoQ0NWVGhPUHRGSzE1TDl1ZmtONVgwTFplZmk4M25idnIzR1VPcFl1Tys3aXcvcjVidVdiWDdJa0JhYmp4ZTlKNDVoaHBPTEYxKzg2Y3ZXTHVQdkszbHcxS29SaXBvbHFBUlFrb29ObFhGSFBIcDh2alROcDdORnN5VFhQK09pVVp4RzRyUnJDN0YxU3NBTnNMYysyNEF0TEFmZjJ2QXk5c012bnRtaDdnUmNmZ3JqMTFqNGtIaDNmaUdFVVB2QXI5SDg4UnVTcFo1R21pZUx6YmF0WFBrcDdSMzBTQ3c5b0JVaGNWY3lUV1p2SnBFUm9Bc1VEcUlyYkowKzJuNDIvcTcvNmpITjN3V2ZkMFYrOUozeldYZkpLaGFiZ0dCYUZ2VHN6WVZnL1ZtZnBMSEVhOFNoTHlPMmNTMHM4eGRwcWl6T09HOE9tZnQyWXM3R1NMbEpsMVpJcWhLNTlvUzNhMGZYanFuQ3cwZ0h1KzNvdEZ3OS9EbHBLSVg4TEpDUU5tMzBVZDQzeHdvb2J1UFN6TEZSUEVrc2UxVkVQQyt0TlZmR1BHRWp1K1pOUTgzUHc5dTZHVnBSUDBiZXZJdmVDVXpHMzFOUDY0aFNTQzFlQ2xPUjdUWWFVTmlOeXJJT3E2bm9MODQrb2NlMzExbHZ0Y0JVYlVNRlo1REl1WmZqMjc5cEJodTM4VVNCVEpxZWZQaEFrVEgxdkpjTG45dWJlTVRZc3BhUzVOWUZsT1Y4NC83cnFZS1oxbkxUTzJTY3M0VTgzdkUxRmp6QkV3WXdvS0VLQ0NtMXhIemdIbmhucDlYcEpwOTMrVnpWTkZyZi9ycDZGYTFMODVQb0NPbzNSOFE5VVNDNTNDTDl2azF6dTRLUU9JV1J3Sm8xQnBDV2JxelhpdlJRYWlyeFV5QlFiOE5HMUprbDZrMEFVZ05RVUdoS3RPQklHRm5VblppYUlwR0lnSlpxaTBqVzdHS0dvU1B0d2JBUmhJelF2U21rUklyTjNaVk1MVGwwajBrcERCL2RReUQvelRIemR1Mk9IdzJ5NDd6NVNHemRTY05aWmxOMXlDNHF1NCszYTlmQm5JcXFDVENTUmpvVmFWSXhhWElqUWRPeTJNSFoxTmRKT28vaXpkb2lySDZ5cHRjR2pvMnNxRzYrOWcrTEtUZnpsMFVmbzNxc25kOTE1WndhZVNNVzJiVGR2VzFQNTNmLzlIMVViTnZEeTVNbjA2VjdPMm90dlJrMGtVWUorcE5YK3VuSzc2RHRWOWVUckVrZFhzZHBhRUk3enVmRUhSVGdrN1FEamNqL2dtejMveU8vWC9JREZiU09aM1RRUlI2cm9pb2xwNnlnNGV4Mi9VRlZCbno1NURCMWFRRmxaZ0o0OXMvSDdYWU9yWjg5c3lzb0NEQjFhUUcxdGdwVXJXN0R0SXpONDVRQTZNTnFiNHNwUW1HUDBCR3VXcFBqblMwbW16ek5vYUhadzVKZHVFOFlPMWZubVJUNU9HT3VuT2RnRG1IdEU2MldGdmlQcmVRM0RJaEtPazUwZEpKbE1nNERzbkNDUlNCeVB4MTIza2NqbkgvZEtoOFRtR3VMeHRzTStCcnZWeGV1V2xBdThta0JYWFgzS3RDVnAwOVdYMnJ1LzVwRTJ2aTUyb29MSEYyVFRxa1hVclhxSFZMU1dubjExaXNwVU5tOHdxZDYwSHQwL204R24vWWhBVmphS0FnTzY1L0RpYjhadDF6azc2SGtuamRuNTgvMHRPK2QvT2cwYjBSU0JJM2VHNTVhNy9Tc1BTcitiSDNhNFVpcHdISXZHK2xXVWxBMUNTZ2Nodm5vMit1SGZVMVVlUEw5TlpsRTdqcVErMnNhUW9scG1Oc1hKelI3TXBJcVJ6SmozQ3FlWHhWa2Q5bVRzdmIwZk8wVlJ5ZXMwRE1mOEpzMXJua1JOcjNjYjE1bHhJaTF0NUZxMUJNMVZKSm8rSWxwZFRsYW5TUlQyT0ExRjBWR0VndGVwSkQvYmRkaEZZbXN4a2hIOG9RS2tZOUpTT1pYb2x2ZncyTlg0dFJqeGVJSkl4TFgvWkNidjEvYjJvcURQTmVTWERVTlIxSVBDOFB3ajNHZUlmK3pyTUw1bDJlNDBxSXFyaGovMFJJcS8vQ2ZOZmRmNytOMGRBWDU1YzRDNy9oam5ieTgxOHFMUnlGWGVFbTRNbGxJaC9jU2tUUW9IOVREcDBIWGs4QXlKOEdrdWo3UWRNQ3pTcHMzTUJSc1JRaUFDbmtPRHI3eTMvaEZkcFNqZlQwMWpuSnlRaDR0UDdVbVhraEQvOTlSaTZwdVQ3anNJU0tadEhFZWlLQXFxQ3FtMFRlZVNBTmVmMzUrRzVnUi8rYzh5bWxwU2xCVUhhR3BMa1RiK3gyTWNRZ0VoOFhUdGdWNVVpblJzaEtZalRRTWxtSVZNSlJHQklObVR6a0VKWnBFMTdtVDhBNGFoQklLbzJibGtuWGdHU2pDRTR2T2hGaFNoZUgwVVhYczdRdE5Rc25QM1MzbTgvYThKTHA1ZzhmVUpOci91bm1aWU1NSGo5Y1dzVC9xM1k2MElnUzBkcXNOTlBML3dBMVkzVm5QRHFLOXh6cWhSRkhRcEp6cmxEV0x2VHNWdWFqcXdQcStIR1NsQVNvTktGU29Ec0RRTi9scTNmR2hxVjZnTlFrTGJydXVKUGZoT2hhcGk0dEQwN0FPSUxRN2xUei9GYng1NmtyLys3V3Q4NzVacnVBNkxBRG9SVEJRT25sbWpmZjJhNXlEWHovblhuOERkSi9WQ256MmIrSlQzV0J4UmVMQzVnT3V1OWpNaTRBVWhtTEt3bm1mKytBbS8vYzVFZWcvclE4UHpMK0ZzU2ZPR1ZjN2JsU2JVTmtPT0RrcW1hU0F1Mm9BUUJna3JSYXJicC9UeWpTT29sdEtZWTVQYnU0U3hJejA4TXZ0VGNyMHBJS3RqSjFUYm50RmZVOTBMcnplTzR3Z3MwMGRabHczdXNFdVExc0ZkYUlYQlhQNXc3dDNRcmVMZ0YxSmM4WnQ5NTJOQ0lJU2dkNjllSERkaEF0bkNJRGxyQmpJZVE2Z3FpcytQVENhUmh1azZKZE5waE0rUHRFeGtJazV5OVNxeWgvZG5YSzh1bUpiRjZzWU5TRVU3NENJQUM4a1puaXlXMlNrbXA4TVp0N0xjdWdkUkJBenNyVEdzcjhicUtwdW4zMHp4aDN0RHFCNUJubDhnL050VjZoUEdlckFOeVhjZmlGRlNxREJ4dE02aTFSYkwxMW80YkorbURCd3k1M3B6T01PVGhmVWw3OUNoKzAwQVFtTGJDazJ0QnZuNVlIendFR3FpRXZJcnNadnE4ZlFlU0VOVEc2WWwyajBncHdyb3BHck1TNmZZYkZuVTJqWlppc0l3cjVkUDBpbW1KUk1BTERiU2pQSDZDQWpCMUdTQ1JZWktVa3FPOGZwMnhFbmFMN3E3K3hXSHQxUnBtZFloTnFEUUpLbU5QcmI4czVTOFNXRktMbXNnTkN4R3c4dUZHTFVkQ3hDbktvSXh2YkpwaWhxc3FFNXNxd3Zma2ZLQ091V0YzcjBDM3M0T2FHUURoVms2QlNHZGVlc2l0TzVuQTdWRU96WGkzYkZ3dXlPTHVOMFdtakxEdXdRT0dpaTY2MFIwMG5TU1RmU1Q5UXloaWNGZWs5N2Q4K2s4b2grNTR5NGxNSFlNZXYvK0tINy96czl1MjFzN2NycThPd042NDJRQWtyWlVydVhEOTZkUWxGOUVGSVdxWkJxVk5FRlZrUFFHU1VmYjBQMEJzckkvQjBEbENBTTJ2dUNHTndFL1o5OHdnWHZQNmt2b282bnc2c3VzYlE1dzE2WWhYSE5iSnk0SXVRQlNyODlwNDRrZnY4ZnZmajZLM3FNSEV2cjNvNVJ1VUhreU5wbzNWdmdoMlVoR3djbklBMG1YTHJrQVZGZEh0cW1FenJhaURJRnQyNXg2YWdXLy9lMUUxcTl2WS9Ma0ZoUkY1WXZ5djRRUUpBMkhEN2ZBQWpHSXZzZjA0VnV4UjRsbDUvUG84Q3ZabkJCRXQ5Z1l0anpDOGx2M3JvSktibE90TzBZdit0c3pmejR3Nzc2cTRqMzNkUFJobzdHV0xzSmVzeDVyeFdwa09KSnBObnhnay9MeWZ2NHVsYlpKcFN3aU1aT3VuVUtjTWJFcm55NnA1ODMzaS9qbVkxZnk5Mjg4d3dtRDFyVWpVSDA3a3k0UUJ0aTJSRkVFamk3WVVPV0NyUGFvOEtDWUVzZVJDRVVnOVlPLzhEVUo5MjQwT0x2UjRrdHFNOXc4UWdGbk4xcFVldzN1N2VYRk91cFIyeitXUWNkYXh4dWpyVi9wSVZTelFnU1BHUUZJMGxXYk1UWnRPU1FGVnU0MFNpeHBrNlVGa01DL3ExN2s3Ym9QdWJ2dlRWeGZjYkhiRDg0MENJMGRTYitQWEFBZ0pSUUUyeUhtSkZudy9EOUJ3b2pMYnlTaytQRVBHVUMvRHlZalBEckM0OEV5RFRUZEE1ckc0MVV2OGZDYXY3TWxXVSsrSjllOXRqeWFkSDJvNmV2WFBBdTVBUzY0ZmlKM245UUw3K3paSkthOHgrS0k0SUdtUXE2L1pxczlERk1YMWZQTW56N2hvVzlQb1Bld1BqUSsveUp5aThHYlZoZW1WTnBRVThNSElrMkJxbURLakQ0a1hkQVhHMWcxZFFhKytuVW9mVFFTYlFheGpmTlovVmFRaWpOUFE5dERNdlNPTkh2MmJHYlBuczBqanp3Q1FGbFpHUU1HREdEa3lKR01IajJhSVVPRzBMMTdkM1JkMzExVkJvd3R0VFQ4NGU4MFAvNnNxNHNyQ3MxUFBVWEJOVmRSZXMvMzBEdWR1SDEvR090eHJKWEk5Q0ljWXduU1hJMjBhNUJPT0tNWjZTQzh1S2hBNmhjTG55T0lqclJHS1hzcnRqUWhNUzBOaE1NZHZUYnhxKzZiOFJmWWJGeWZ4VjllSGNtN0N5cW9hWGI5bjUzeVkwd2FXY2x0NTMzR1diMWJPRGsvekk4cnkvbGRaV2RzcWFKckZwWVVIVHUxamJVa3ByNkcwWkRGNVpjVmNOS29FTG91TXVDMUhlaVA3RUJiSStVVTRnZ1ZKekFDeHpzVVJkR3hIQjBoSlpvUTZLcEtWclFGbVgwOGRyZ0IvOU8vUWwrL0FHR21VT1RSaGppSEEzVysva3JDbnk1QXB0TVVuWDBhU0VtNjlpT0VxaHpSL0VHeEpaZWUzbzIrQXhQVWJ6Q29zc0tjUCtJeVBxNThudzgzdjBhaHQ1VDhTQTUxc1Exc2pyelBaelV6T2IvL3RWdzg5aW8rV2ZVUmpUV2ZjTzNFTzduMWdoSDg4ZG01MklwMmNGai9CeC9BYzg5QmVUbTgvRExjZVNmMDc3LzdlZjM3dzFOUHdlOStCeGRkQkpzM3crV1h3NlJKQjNSN1I3cWk3NTB0OEpEanVxTlNDWGhvT0t4N0IwWU9jVjAwbFMyd3BCWFFNbWE3QU51QWMzckFhMmRCZlFzTWVCWFdOYnJuYkJYZlhiSmNHVm9kMzI1L2JHV0JxbkNUS2s3dERMODlFZFpIWVhJWUZCWDJsRjlyT2pwUFZsNU96QXJ5czhFUDBpTlloUzFWSklKc1BVcElqek8xWmhJL1h2SURWb1Q3N3JVUFdGVnNUaWlkeFIwREhtR2NtRVg4UmNuR3lYN01CdUVXTUNnN255OGQwRXNrQmVjWkJNNVdXS1NOQW5ZR3VmN2JqODdZYmJGS3VUMHhTbFhrSG92amxhbCsxTld6M2NMNEhjaXJxMXg3emxDdVB2MUVEc1E1UGJJakJJYUVmSS9nVzkxVXJ1bXNVT2paQzFrckFCc1NjeUpFWG16QzNKUStaSGJWLzRiZHNMZHhOTGJGMFI3NjlrVDZaT0pvOWk1eE5KSHJBZE5oMG9sOWVPTEJDN2orKzVONTU1MFZLQ0V2bHIyNzdMZHNpZUxUK1dSdUphZWVPb0EzLzNFbDE5MzNDdS9PV0kzaTFiOFFPMDRDNFpqSk8vUHFPUHY0THZpOUtsNWRZZnI4ZXJiVXhZOVlZTTNEeG42d3dheFNpYzNROGZXM1FKY0lXNUtZcjVOWXFPR2tkdVkxMG9MMEttMGJQenhLWHcweU50Y2N1US92T05pSkpMbW5uMFJ5MVRxTWpkVW9maCtlMGtMTVRkVlVYWEVyTFUrK1NLZWYzMFhid0tHb2hrRUFHM3RycGNGaHhFS0VZQnU4bzVRQ2FlanU0K2xXcG1HSzY4azRHR3hQQXFhRURadGFjQ3dIVFZjSmhyd2t3MG11T0dzb3F5cWJlUDcxeFFRREhoSkprOE1wOTF2aWdyN2QvWnVscUtwd0UrMmtRSGpkSk9KMFZROGFxN3JqcmFnaWQ5U25tS1hWUE56YjR2cHVwdHYxUlpWY25SWTh1RkhuVDVzMVBHTDNzVkdBWW85a2JsamgyRTk5UEQvSTRPUWlteHM2V1V6TXM1blNwUEtIVFJvaHJRUGV6MG9qTkMvaUM1b2lPdWtvVnF5ZVJOVk1Ja3RmUnRFRDVJeTZnVURYWTFGRFJabmlBOUVPNjFXUVNwc3NXVmREUTJ1TWxaVU5YSFhHU0ViMjdYeElnZHM3SCtZc2E4dXUrdG0xejIzMzY1N2NDOCtjT1NTbXZNZVNpT0NCNWtLdXZ6ckE4S0F2NDlkdDRKay9mY3B2dnoyQlhzUDcwdmo4U3poYkRONjB5NW15TGcyUkdEV2YzczE1SjIrM0t5Kys0MldtZjdZTVZRL3gwMitkeGNMOHgxaXlhUzNDMXZGNExaNTlmVG12dlBJSlBic0hlZWpPU2R6L25aTzMvWFpEOVg3RWVBVGtCVlNHZTMxMHl0WlpXSnRpMXFZRWpURUxqNmFnS2VBY1ZkMitrSDR5cm00LzVLREFEa2l5NStyY01GL3dXamVCNllsVFdub013VWFGUk82bnlJQ1B1K1lueVJ1Y0pIS0tpWm9RTG5qelB0SXYvblZRbWZuaEk1OGxPQnIwYW9Nek44SFFacFdLWkN1eE9UK2hxa3NwdmlGOXlEMXZFb0ZqaG1aMGkvYXBVdXoxNCtaOUd5dmhGczdKSFNzcU81SXViWWRwbHE1dXMzSjVpSGVuRjdGOGJRNURCdVp4OGJtZDJGaHI4ZW9iWHBMeEdIMTZ4NWswc1ltZTNSUGd0Rk1lejhFb1ltcFgrZCtlU2RmaWtHMDBCL0FJd2RtS2w2QWVvdHN0dDVGOTdKanRDMktYQlJLZVBSZXJ1WVhjRXllaVptZTFtODlvandENU51aERMVHpIbXFTbWVFbS83OEV6MmtTR0JZRXJVc1FlQ1pCOHhVdlc5eE1vZVduczlTcE9lUHVla3dMc0hkWm9Ua3lRRnhVTVhhdHcwUXlJQkNXYlN5UXJLMndXOTNaWVVXRlRYU0lKQnlXVzZ2SWNSZTY1bCsrUnhoK2VPNzU2SHhhN0FHK0tEZXY3TXJwNk9Jb3ZSazF6TVlzVmgzTkh6R1Z6Y3lFQUY0eWF3eWZyZTFQVFZFTEFueUMxWlJpLzZCeWtSOC9Wa1BidFV6UGs1L2Q3WXdxa3JZTGlJQjJGZFEzRi9QSy9GOUJrZUhCVUc2UWdibW5iaFlscXMzQmpWemJYbHRKZ2VIQWN0K2lKekRVNnVvR3p0aTBPdER1NG54Q2dINlE0MGNVM1BBSzVJYzYvN2xUdVBuazArcXc1eEtlOHkrS293NE50QWE2LzhoU0dCVjNVaGlsTE52UHNvek40NkxiVDZUMnNQL1hQdllSVEcrTk5pcG02SVF6UkJOZis0VTRDT1I1c3kzTEZzT09nK0gza2xYWEhXM0FQc1hnT3Z2Yy94Q3lLMDNEcThkaWRMRnFQYVVVUGVaRzI4NlcyVVVmV0pXempqUkt5UElKUEd6V1diazdSc21ZVmRaRTAvUXI5ek5sczRkVVUwaDJzZHUwNkNxWXRNVEtBTXA4bmQ0OUM5QjZsanFCL2ZYdnNIdHgvN3FiUkN2cFEwcThYT0E3U2NURHJHek9GRlFLdklqQnE2ako2azlpbVE1azFkZmc3U2VUZ2ZnU0dEbkJ6L2xVRnM3RjVtN0Rzb1VtK2YxNGZGT1dMVi9hekQzKzVqbVZKdCtteDZqTm9UUHE0NTVOQi9HbE5OKzd0djRHYmVtN0c2eld3RFIxTENyUU0zNWMyYkhYeDdQajMxbk84WGdNejdlR3ZLM3J5d01vZVZMZGxnV2FqK1F4c1IyQTVZdjkycEJDUWxRV25uZ281T2ZENjZ6QmlCSng1SmdRQ0IyYlRDQUhGeGU2MWtrbVlPeGZHallPeFkxMmc3d080dHBUZ1V5UkRjMU9peEdjeE1Edk40NVc1Y242clQ5ak83blUyUnlRZGpIZjRpdmU5bFk2RDV2SFFQUDh6R3AvNEIvOVFRbGl2VG1FeGIzSW5BUUFXUC9BQW5WSDRoeEtpOW9sL1lIWHJRdCt6em5DYlkzUms0YmFVcE5adXBPNkJ4NGkrT3hzbkdzOVVUTHYxRVRzT29UUXR6Tm9Hd2xNK3hJNUVLZjNSTFFTRzlXdi93bkxuYUxDdlkvZTBzaE1QYzRDWXJXSkpqYXlBaVVRaGFXdll3bkZqRzJLWHdKVVF4R3dWdnlyd2VpUUtrcFNqa2JhMWpIOVA3c1JBcEpTa0hRM0xVWkJDSVR0Z1lUb2FNVnNITFZNRkxQWnlld3VMNXNnWjFQcVgweW4zRlV6YlJ0a1hGaU4zNW1zZHdTSk9IbHl5MjgxZG9CZjNidGwrbmZIOUNuZnFNZUU0a2xtcm01bjEzeWFhb3djWEJIU2JmWEhkQ2R4MVVpODhPOWdYRHpRVjdKRG5MWml5TGM5N2U3NkdVNTNtRGJzTGIxZGFuMnRmU0Frb0NxWDVhVll0cTZkN3IrNGtJMitSbitNbk8vZFNOczUvbTJOUGZvczY4emdxcTNJUXV0MXg0RTR5QS9TMVExTlI5eG0zZjNlNGlWL0ZnZU44VWZwZU9KeVpKU3NRaXNMNHk4ZHcwdC9uTUMzbVFTb2Q1MDNicXRIWndCdEdoQlAxRUdXS2puTkkyd0x1M1g2M2tSUXBHcmNHQ3pqQkN2THZhYTFjc2lEQ2xSZjZ1UGtpUDExS05Sekh3akdxSUwwQldsOGpXeXRnckg4QVk0dVA0N2F1eDFObG5zTzgxaWJlcjF2T3ZJWVZWTVpxU1Z1cGpCOUxjSENVRExIZHY1K1JqMHAyTHZuMy9ackFDYWRtaXRoYzM3UlFOUmNndngwYmZ4NXBkYmt2WEZXeHorOW8ySkkzVjBTNFlIRE9YcDMveXRJd1p3M0l4ck1mb0FndlhyM3JBNzl3UU92OHJDRURJQmFERFp1UVk0OEJCT3EwMXhsZTBZWGhHejlCTGxseFlLdjB4UmZiZDI5YVRxYUI2dzZKWFZ0ekJCUmNSTFIycElvSGZuUjQ2Mk1QL2VTb1RucVV2cEQrNzU0QjdXVHFTYnk2dTdmU3B0TnVPVE4zSEFDc2kzQWswdWNsZS9GSzZ1NjRqTVFsM3lSN2FEZWNTSnEyS2M4eDVpZS9ZZlA1YTdHZW00d21CS0p1T01GaFdXUTlPUmVmN3NYeDZBY3U1NXoyaTIvSzdiaHNIYWV2SDJuNU8wZVlQZisxYnNmVEw3OG5qblJRaEVMYU52QW9Hb3BRTVd3RFJiaFlMYXBRU2RscGRFVkRGUXBtWmgwcFFrRVZDa2tyaGRjVFFBaUJiUmc0T0tpS2lxYW9KQzMzZDFzYmJGdU9qYWFvcUlwS2FvZGpRZ2pTdG9HdWFPaUt6dnEyalh6Q0swZVo0cUVrVlhWVkY5dENMU3VtNkxFSHlicnFBcHAvOENEcGVZdHdJbEdhdi9jTFlzKy9SdjZ2NzhWL3dsaENZNGNRL0UxM3pJWjFTQU44eVY3NHhnMEhJUG5oWEZwKzhCRHBlWXNRZmk4NERwNmgvU240emIzNEpvN042RXdXUXRYY2V4K2dhMjMrQ2xpd0NoNS9CYTYvQUM0NEdVcUtBQWVLZFpPYlMrcTVJSytGVjFvTGVMeXhHQWxjWDlUQUJYbk5sSGpNN2NhbUNnMk44TXAwK05ka1dMQ3lIYmY2TG94MHF6M25GNElUUFNGT3NIMEVQWVVVWG5ZSldST09SUTM0TTBEdDdXK1Y3akZmWTI5ZngzWm9mdnRqTnYzZjAwUVhMc2RxaTdsMjJnNE9xZlNtT2hKcks0a3VXazNYTzY2aTRMVHhoNlIyVWtxSmxKSndPTXlqZi80ejkvendod3dwS3VMeTVtWjZqaG9Gd09YdnZVZXlvSUQrUTRidzBQMzNFdzZIRDYyVHhBYWwwTUp6YkF4dFlCTFA2QVJPVE1HdTlyaEx0VWNhZlVnUzQ5TUFTcGFOTVNlRTA2UzVZREVIdUdSK1V2L09BVDY4K3dBS0RqR1BEd0VFalJUT05zL21nUlVPL045dXR4UmZ2RSsyS2k2ZmMxd0lzRlJKeVhmajVJNndNWk9ncHhVUVlLWWtoYWVZQ0EyYUh0UlE0OHJuUC9FZXJyOG54VWtSQ3RGMGhPTjduc0FQVHYwWlJhRmlmdlB1eitsVzBJdmlyREptVjM3TXUrcy9aVzcxVFZ4OXpBMWNQZlo2VkpWdHRWNUhXZ1d5S2lUanM2TGNWTnpNY1o0d1N6OU44TzlYa255ODBLU3hWV0tJQmthT0dNRXBKN3U2MS9lLy8zMnN6OG5UNjlOTjQrcnp2Rnh3c285T0taM0VaTzhlbk9PZkwrdGtheHZlcXk4aitQRDlBRmd6WjVQNDJhL3hYbm9SYXI4KzVFeDdrOWFSNDVGMTllRHhIUFRhU3NkeHNDeUxwNTU2aW9VTEYzTE9PZWN3ZGVwVVRqLzlkRjUrK1dXZWV1b3BTa3RMUWJxQTJLbDFHMmgrNDIzaXkxWml0YnI2cXBhWFMzRFFBQXJPUGcxZnorN2dPSlNXbHZLVG4veUVsMTkrbWVIRGgvUGdndzlTWGw3T3ZIbnplT3FwcDdqbW1tdlFOTzNBbTNUYmtzSWFtOStmZERNVjNTb091Zy82dVV0MjlqOTBkTDZSQUtRdENXVnBuSnFmWmlMakNCZTJFZWdjWUdOakRSdDl6YnliR3lRYU4xd01zYjE0aHcxMkdWMlZlalk1SmJBUHpaa0VFaWs5VkdpYnlSWUpMdlBOb0xPNkVVUG1FRlNpM09SL2s1L0VyNk9QVnMxOFl6Q0lBOGNsdWorcjd3R0pDeW5Cc2gwVVJlRExOSXhKR1JhT0k5RlVaYmR3M1Q1VHcveWRQb2IrOVBBQnY3TmIzeVg1L1lhcEhGL1VuM0U1UFVISzlva2lESnpTYm50QkVSQk4yNXpTVTJQV2kvOGhISTBETU91MS96RHU0bS94MmtxYkhKL1dJZlVrRW9GUWJLS3BFSWFTejZuSHhmQUZRalEycHdrRlZWUlZ3VXhFbVA1Y01UZzZpakN3NVpHWFpDSzJ4ajBGNkY2SmtSQmtkVE5JQ1l1Tm14VjY5bFJJR0E2NmdJMmYrdG40dG8rU25oYlpPUTd4UmgrT3owUVBPWmhSRlcvV2wrZFBibU96am1UYW5OVzBoZU1FQTE0TTAzTDVoQUJzRzVsTzQ5aUhRVzUrZXkwdUFmNlFpd3Viak1jNlRDNVh4VDFIMVBwVHVuUTZ2Qjl3OWM0ZnN6b2Y1cys3cEdNdTI3dDNiMGFNR01HbVRadFl0bXdaMFdqMHFPL3BmNFEwQlhTL1E2KzB4cW83ZStEM1JFaFpnb2JYdXRPandIRWg5UTYxNkZNQTAwSHBHa0xwRWNCemJnbUpmMVRqRnhJOTIrVzFqcENrTmlZSjNOUUYwU09BMHRXUHN5NEd1Z0pIMDl3T2UvTHFLb1dGUVVvS0F2VHJsc3Z3dnNVVTVmcVJTTHdlbGNFOUN4alNxNUROOVRFQ1hwWEd0aFNSaFBHNW9sWWdVUVRZdG9ZdGRZS2VDQ2ZtTGVSclJZc1luYnVKRXJVUjFaSllCc2k4TG9SNm5raWc3NGw0U2dlakYvUUVmNTViZzZpNFVZUGQ5a3dST0NtUXFVeWZsTTl4YlczTldIR1NFSGtQNGpNaE5BSHlMb2V5N2xEL1c4ZzZHWExPZE0vWE8wTjBPcFRjRFdvdTFQNFlZalBCVHU3Y1dPZno3Z011L0tYd2d1SUhHby9zdFhEQVBpUzNPQWgwUDRUR3VkZlUvV0NuT2g0YnhCR29XUlpXaTA3eWt5ek1PZzlxam9WWjUwVW84b2d0cEZHRUJFZWhWM2FNODd2Vzg5YzEzVWpiR3JNYXN6S3VGWTFzM2VLV1BodVp2S21FZFpFUUtBN09RYkNiUk1ZM2xSZklZbVRqR3pSRjVoSWFkZzlybDVwb1hvZEVXeHBzaGJESFM2OGUzY2pORHRJaWwwQTRUbHlZYUVFUGk2cGJHZGYvUXFwcVpqQmlvQmRWZFh0UHRNZGlrZEo5dnRLaUVOZGZPSktoL1V1eGJRZlR0Rm01dnBFWjh6YVFTcG43ZVYxSmw5SnNidmo2Q0FiMExNTE8xSEl0V1YzUFI1OVVrVGEvM0kvU0V0TGIwN2plbVRGMUFIVjQvNkRNNDNzZEIxTlI2WDdsalJ6ejRVdEV6ZVhrRFJ4S2pRMGVkZS9YaGRBMHZIbTU0RGdVRlJiUjB0UkFmaUNick02ZFVIemV3NDRsL01yczlwWFFLWmFVQ1I0YnBXSm8rN1o4WmFZWnRaTHhXWHpaL0hncytNWjhtd21WN1N0WUZBUzlGQzlaUW1XaG5TQ0p3L1hlZlBwcFB0U3R6N3FqRGlVRS9UUWY1NVBEbzhrbTFqdHBSbWdCZWl0ZWFteHJXeCt3ZzAxYnh6TVZhYU4yMVd6V2ZUWUxQYmVjc1dkZmlqK1UyeUY0MTFLQ3B0aEVFa0hlK0xBYjN6aC9GZDk2OEhqU3BoZE5NYWxyQ2pCNVJuZENmb3NCUFZwWnZqNlB5ZTkzcDZZcGlFUzROV1hTUXMzTlk5Z25HeWtxREdHYWR2dmtHeFVYZjdrOHM5MEdvMzFhRTl3N2R4UGxrVFJQRGlyRmxCYkVVb2ZldHloY1hTYzdtT0Q0M2h1eEhZWEJuZXJ4WWdPU3daM3FtYmFpQnhQNlZMR2lwb2pXZUFDeEEwNnFxaWpZdG8wVlNURnNlQVgzZkdzU0V3TW05c09QVUQvMVE4em1DSXFxdUJnZU95ajVRbEdRdG8wUmk1QTFZaWhsOTl4TTFhaFNIbDQzbVdrYlBtWkxNckxiczc3azN6M3ZWMU9ocFFXcUxsbE9YaGtrbXlRK3J5UVZoVGZlZ1Q4L0JoVmQ0ZXZuZ0JBMlJwUEMxeWJGS0o3Nko4YXNxY0FLbUloMjBtMTAvdmRvYWYwNkRNdEVDSUVpRk5ZMmIrYlJlUy96cldNdUlzK2YvVDl0QytkbDZlMjBSOVZ0Y1I4aEZHUTc1Vi91bW5rb2o5WVJIakx5U1pzeHlVYWx0eEhKL1RqVmNONWJvYTZqRnZzS0o0ZFYrWXlSdHBZaE5JUGovaXFaZXpzNDVsZDZMTDUrdzE4Z044UUYxNTdLM1NlUHhMOTROb2szcDdFa2F2T2JWaDgzWGpHSlArWnRBUVFmcm1qa3FYL081TGUzblVHdm9YMXBmT0VsMkJMalRTZWZLZXZqRU45Q3d4TXAvTGtLbHRVeGZlVXUzc1dPMFdiUEpqcmxQWlprN0pqcnIvWXpOR1BIVE4zRmpxbDcvaVdzejdGamhMbzkvcCtYNjJkWXp3SStYbGFIWmRtdWZhTzU5Ui9Tc2xHeUEveXdSNXF3bzNEeEZqL0VZM3V1TVpZUzRmRVFmMjhhTXBsRXljOEhLVW5PL0JnUkNDQUNBWnhZakxvYmJqcHNjYjlGSm1nL3BuY0pwdzNyeHJ3Rkd3RTQ3ZndSSE5PN0pGT1NmUlR0WkcrbzI5OGZib2NKVVFHRGNPVVdMQ25KNzk0SklYd3VNTWFCMHVDM3Z2UVVPNVBCb2lCNDNZaXd6RW56Y0xBVFExVWZMZEpDUVh5eC9hZUFOTUZzVXNpWmFGSnliWXJHLzNoUmdoSW5MY2c3M1VBdGNFaXZVMWwvZXhhcDlRckN4ejdHSTl3Z3ZsUDNFQ0l3REx3OVFIalFaQmg3NDUwNGhYZlJ1YWdmVC85MExMZGMwSXM3LzdTUXViTnJ3TzlCOTJ0WWx0TmhEcytPdUtxcUtNaGtndFBHbjhwM0xybVpYei96SitMUk5vU3Fic3ZYa3RJaEo1U0RiZHZFV2hwQTk2QjRmVGhTZnFWeGloNHJOOFZyZld5aTZUWXVXUmhuYkxvSnp6aUg4Y3NiV0xtMGlsZjZCWG1vbjJUTUZsdWt4YzRkR1FXUVk5VHlqZEpYR1Z0WWhVOHhtRjlmeWx0TjR5bVBWekl3c0lZdVdWc29EVVRKQ2RpODBUcWNFYzU2VGl4WWpsOU5FZEFNR3MwOG5rbWRTYTJ2UDFMcVlBdTh5UnBzUFlEbHpUNG9manFoQ3FTcG9vZWE2WGY4TzZTaUJTeGZQQmd0VllKUTJtaHNMS2RpV0JnMXY1bG5wZzNEZGxRbUR0L01LL2RQNDdvSEpwR1NlMDdMM1gyTmI4MmpkVUFvYkRaOC9QZFRXRllONXg2cmNlTWtENTBMWFpscDIrMWVVcmxmNUdSOFFlY3JJUzdUQytqMHJXOFRHanRxdTJQa0lOSCs1dk1yQXFRQjNRb2xrM3FCVjRGT1dTQTdRMzAxcUJia3ZnZitLcGNISCtyNHJvSkQzOXpWL0dUa0w1alU1VDN5dlMyNzJQY21QalZGbnJlVkVuODl4ZjRHZnY3WlQxbmQxbmVIM1BOMmtNZi9lT2FBT2JvUUFrVlJNRTBUS1VIMzZFakgyWTRwZVNCMDJsa0hzS2dseWVZMm9sdnFNV0tKbzhyWFY1RFV2ZEVvRWltMHFoVEthSk5BWGhyVjhPRER3Sk5uRVZBTmpGWUR2VktnWkNBM2o4S1JIMnJlYU9NWFNYSkVoQ0sxQ2E5amtDMGllREZ3TzVJZUdHbUtTbmxlQ1pQNkhrTnVJSVJIMWZsdzNRSk0yeUkva0UydVA0dVVaVkNjbFVkQk1JZnkzQkttcnB4RHRqZUFWL1B5L3RyNVhEZjJiQUNxMitxcERUZnp3b0ozU1Z2NzdpdFJoTUNPbTNpelBYZzBoV2hERWoxTFo5TFBGd0FTWFJVUU5ja3E5bU5ZRHVtSWdSTFlQY2RaVlJ5a0ZOakpJQ2dPRS92TzU0Y1RYbVBTa004QXljZkxDM2hrVGpZZnJQZGlTMEcyMTBFSWlkMk9xcjdYNC9EOTArdm9YNWJDM3JXNXR3QnBTQ0l6V21oK29RR3J5ZGcvRUQ0cFhkdzFJVkN5cy9IMjZVUG91T01JSG5jY25sNjk0S1dYOXRvUU1WVjRzVmVLTGQxaVBIRG0yWXp2TVRJekZnZVJBL3p6VjErTlRTdDIvVnZpUktJWVU2WWg0L0h0K1BlbWhUbjcwMHpCMnNIdkkzM1JaVTlDNXp4dSs4NnBmRzFvVDR4cEg1SitiUXBWcHM0Zms1MzUrcFVGOVBIckNFWGh0Ym1iK1hERlFuNXg4empLaHZWbXk5K2Z4QTVMNXZwNjg4eGFFeXJySVZzSGRaYytQSTZnS05zZ0t6Y09LUTFoYnVTOWVWNU9HR1l3WktSRlFaYmg5cGJaQzdya2tzVmZZRVY3S0tXZTZaK09vYWhZUjByNDgrOHJPR25FRWg1OFpSRmdjQlNCZDI5OGUzdFkwTkxCMmJ5WitQZnVnVVRTUGRseDhKeDNOZ1NER1A5NUVSeUpGRzdjTmZqUS9hakRoM2FvUWVmOGp6UmJrOUpCQ0lXNjZ0Vjg5UHBERkhROW5zWldBeVFzbmplVjVrMGZNK0djdXludDBtL2J1WWZkTzN3T2F6eWNxVGpMVFhwcGlGb2RkbzljTlhCRWpxOGlKQW5EdzRTK3kxRVZoN2MvSFljZWpKSGxTMkJiSnMyR3luZit2b2xYbm1uaHU1dGZZVng0T1VuRlExTDFva243a0MxQUFjU3pIVmIrc1lKT2prTFpiVFhZVzN0U2ZGNVBBZW1HYzRRUDFxNXp2K3JkQzJRNmd4OGg5dkc4TDZIeFF3cmJaUjFJVkJTc2pDOUxSV0dyWW50Z3ErT2ptWHZXUlJIQ3hmNEFQSDM3a0hmSGQ5Qjc5YVQxLy82RVhkK0FraFZ5WTkySEtyWjFoTVhaUDczSHQ1LytTNG1PZ2hlSHBKUTBBRWxWbzZLaUowNDBndGxRQzNZS1RkRlFkRittdDhQKzBNNStwRjM5MVYrTXo4cDJmTmJ2N0lEUCtvVjVwUktFUXF5MmpiOHRYVUtzU3dGOXVwVVFxZTVQeE9sRWMya25wdmJwem1YWkJZeHVhQ1BIOGZIMjhrMFpESm92WG1zSG8xOEZRaUVXRDhNcW0vQzZNL0VQZW83YXlGbytlYjJFNGNjMEVkV2pvT1FjOWJNY1RycUtaWk5ldFlIVThyWGtYWE0rbnU3bENFM0ZONkEzMHJDSnZQaytadFdXYmZXdkFoY0hROTJhMDN5UUpsTWNZYXRHMmdjaSt5VkMxYkNicGlDRWpnaU5jTCtOdlkyVUptcmgyVWpiYWxjTlNCRmdtemFEKzVRZ2dhbFRsaUg4K2k3N1cyRFpEazg4T1FlQ1hvU203SFJjRVJJaEpHWTRTR0duWnY1eTQxUXVPV1VGbUdDMEtXaXFnNlk2V0k0TGpoenlHU0FPSEczZzlOTlBwN0d4a1Ztelp0RzFhMWRNMCtMdmsydFl0dDdnd1ZzTEdUZk1UMkNVZ24rZ1FuSzVRL2g5bStSeUJ5ZTFFK3o2UWZXWmFERllKRHlvUFJWS1d5eWNHSVR5TEJiMDh1TmZacUdsSGFSWHBUN1dDa2hXQ29XV2VDdE9Pb0htV053dzlFenFZeTNJZEF4VjFiRVBteHdhVjBIVVI0ekVkLzZaYUtPSG94YTZ1cDdkMUlUMTZVSlNrOS9DWExCNDN4VEdmU1JmdDI3NHVuWERhbTFGL2ZuUDNUaG4xNjdrbjNiYWtjRkFGQVdaaktOV1ZCQzg0bUs4NDQ5RExTNEVUVU1ta3BqTFZwQjg0eTFTNzd6dit0TTA5ZURxbW80RFF1QXB6S1B4cC85SHVxcWFPLzk2UDkxNzllTENjOC9GdG0wMFRjT3lMR3pMUnRkMS92dnFxNHdaTVpMcEMrYlRmOTZiclA3YTVkaTFqYWg1MlVpemZXMVBWOThKY0g0R2oxT2ZQWnZFMUdrc2pnZ2VhQ3JrK3F2OURBOTZBUmMvLzlrL2ZjcEQzNTZ3azc3enBsM08xUFVHdElXNTZJNFIrSU1lYkh2My9ENUhLdmpVSkJKQlhhb1RxckJKTzE1ZXFyN1M5YzFMRmErYXhwRjd6MnlraEVna1RWVlZsTjY5YzlHMDdiL1ZOSVZFd3FhcUtrb2trajVjMCtlK2xHeWdVTEU1TXhEajY2RW8rZEVVcjc2UjVLazNVaXhkYXhGUGZ2bUxGZVFJTHZxYWwydk84ZEM1WnhGdkdTZnpZdTNKd0NWZlVmL2tQbDVFS0VocHUzNnlqQit6SXhhTW9pam91b1pwV3FnWlA2aHBXT2k2aHAyeHViN3dlR01URy84em1iaGl3bUdNblNPQkhMOUt3Q09JcEJ5OHVrQVZncUJYRVBRb3RNUnQwcG9rYlVteWZRb0pReEpPMmUwaTRZNjQ4UlVDYVZ2RVdtb3hVZ25NVkp5Q1lrR25iaDRzVTlLdHQ1ZldsamlXbVNMY1VJWHFLeWEvVXk5eXMzUk9IRkY4MEZ2Uy91QzdWeC9XL09DSFA3cWx3Kyt4Y2YySE5OWE53ZXZOSlRlL3kySHJYeitnWmFrZVdjTHlZTlF2UzhDanFsajRTRmtXWnd3N2hVdE91NTVYTjN4R283RUNvZWo3Slk4ODNpQ0YzU1lnaENDeTZYV3M4Q0k4dWtVczVaQk1HK2lxRFhZVWtXd2tVYSt5UEZsQktMdUFlUDBjN05wbHJHN1NRRUJlM2xwU29jWDRjZ2NRRFRlUUhaNkJpQzFBS2phR0pVaW1iUXdMZ2o2Qmc0YVdPNXk4cnVkUTBQVjRkRy9nNEt3cmp5UXczcTIxVEh6aVJhWTdqczlLdWJWWGVzWXptWkw4NU5Fa3YzMGl4UTl2OVBQWEh3WDU5YmVDZlBmM01aNTZ2WjZuMHczYzZDdmx1a0FKWGFTUHFMUko0N2cxeTE4Sko5Ym5DWXI5NjJuOVJUOFJXM3RVS1lJelR4MEFFdDU4WnpuNGRKUmROb2VMSG45NDVKZjdmUm9uSDlPWjhTUEttRHl0a2xXVnJWUnVpUktPR29SakJyR0V5WXZ2ckVjSVFWc2tqVVR3ekJ0ckFFa2ticUpyQ3FzMnRCS09HYVFOaHhFRENybmdsQjdNWFZMUHRMblZKSkw3YUxkOTVlci9CSXJQajZYcHhHSXhBb0VnSGwzSHRtMXNWZUR4YUVoZFJTZzJCSDE0UXVXQVJFb0xMUzhIdzdCUWRRK3ExNGRobWlRQ1dZUkNJWlQ5eEpTZnU4cGlVNlBEOGlxYmI1eG1jV04za3dIQkJQK29MV1Y2V3c3RzF2N2ltY1VlVGlmNHVHbzVXeUxOTEszZnlMWERUNkwzNVZmaDdkbUw4S3V2a0Y2eERHejdDSjhodDE4YmdJYXJBbHRBWElFUHN5Q3FRbFhJTFMvUzJUUHNqN1J0N0pabXRMeGlVc2xWSkh4UFlyM1ZuVTZ4T01LbmNjdk5sekZuL0NBZXZmeHl6bG02Z3RFZURjTzIzVjUyQitGZHRXLzkrQ3krZDlWb2V0V3R4bjc2TDN4WW5lYWZaaGNtVjVtazEyemg2b3RTNk1JTm5kcUd5V3VQemVUTktZdTUrcG9KM0hQWFBWeFV0NG9MWG51YnVjVVdqeWJMZWZiVFJuY0JDSUhFUXRoWkxQL0VJYWpPSTZxVk1peXJpS0xFSmw2MFg2ZStwcGljN0NzNDNyeVltUXNiSVpCd2kvQTdpT3ZYMXZhaHRtRUF2WHBNb3pIU2wwMGJoeUlkNkZyK0dUNS9FK3MyVEtSTHAyV1VGbGNlVkdQQ1hYU2lIUzM1amlldng4T2dRUVBSUEY2c3l2WFl6VTJnS0dpRlJlaWR5MG12VzRQVlVPY2FvOEVRbnA2OXNlcHFNWnNhc0Z1YnNUWnZ4RE9xQjBOS2UxTFZWa1BLTmhBSEVMYlp1Z205UXVGNlh6NXI3VFRMckJTcVVMR1JTT0hXY3RRMWdoaWc4TU9iQStpYVFOVlVDbk1WTEhOblhQdkNYR2hxY2JqK29pQ21LZm52dERSMWpSWU95amFiV00wa2Z3M1NmRnp2eThjckZLd3ZFZVFkdXQ4eWVReW1wWkpPcGFGcEpscE9PY294UHdVazR1MXpvS0NNaEptSG1iWjNUMGhzQjhVcUxTVkpLV214YlQ1T3A4aFZGRzdQemlFaEhaN01nSDhPOG5pWTZQUHg1MGlZTnNkaHZOZUhYMUZJYjlWU3hZRTh3djlvTXFPQTBPQTQ0VG5aSkt0OUZKL2RSTW1WVFRTL25ZOXRxbWcrQyttSUR1S3NFUEFvWERPaGxJOVhoL2xvWlpqV3VPV0N6V1FFV2M4U1A0VlorMllZcW9xZ0tFdW5KTmZEMnRya2Z2R0drL3ZsdE1QWUNvUlF0eVZWS2hrbmFYdHNuci9zTnBZS05sdFJwVXk2MEVvZnA1b2hOREpZdCtuVG80RE9JL3VUTys1U0FtUEhvUGZ2aitMMzc2WjBJTjNBbWhBQzhRWEs0ZGFwOEFhREhIZmh0U3o5OEcyaURadnhoSExSSFVseDE0SDg3UEZYS1N3cyt1S2h5VG15QUZWdS90NGs3cng5S0wwYVo4R1QzMlBWT29YZlJNZnk3RW9mZGtNZFYxMmZCT0hPczVNMmVPT0ZPVXg1YVNsWDNEYU8rMzc0S09NYVovSDZDeTlRMWQzREwxcEc4TzhQRXdqYjVmcXFxdkRPT3hjQk1HVElFOWkyazJsSXZGMnVnTTRMTDZ5aXNqTE16Sm5WZ0w2dFVlb1gya0FTNGdiRWhJZEdtY2M1ZzBiVDRNMWxucG1QYXNVUmpuU1Q3QTZEOFEzcTZiMTNVZ3NIVFhIMmNGd1MxTlA0OVpRTEV0a09GTi9OVUQrQTY5bzIrZ25qOEY5eEVmRmZQSXkxYUttNzU3SkNxUDM3SUJ1YmNacGJEcUZNRUVqSDRmMjVOYXhjOXg0dDRSVGpSaFFoWlNtMy9WdmhrZXVmWnVMQXRSeCt1ZUtTZEp0TnlLK0JSOEdLU3h5djRPbTNYUUN1SDMybkNHbEl0SkFDQmlUYjdJT3RySE5zbTgxbDllWSt4VWVrZ012cVRWNHQwcGlacHg2dElOem4vYmFWTVhUY0xTYSs5c2V2NU5CSjB5UmR0Wm5JdEptRTMzcVB4S0psT0xIRS9oWFh0ZmUwWmhoUWdTZVBxQlhqdTR0L3lZdlZiL0d6QWQ5bGJQNXcxM0R6NkNnZUhjY3lVVFNkaGxnRDBlLytCb0NHODg0bGxOUGRQUllLdXR2S0FVMzNNSzlsRVQ5YjhRZG1OMzlHbGhhazBKT0hKZTJqZStrd29adCtmQTUzWERXR3ZuV3JTRC85S085WHAzak03TUlyVlNiMjJob3UvM3JhMWFGd0d5UzkrdGpIdkRwMUtWZGRmVHozM25VZkY5YXY0cHhYMzJabXNjTUxpVzR3UXdQVDJKYXB0N1docEFRbVZ5NGhwM1UrYTMvMFcreEFMdDZhTUhMSlluNSs1bWw3clFkNFBDcUtJbkFjTUUyTDJ0cGFhbXRybVQ1OWVrYmtDaW9xS2hnMGFCQ2pSbzVrMUhISE1paWNvdURZMFFRN2wrRXJLS0R6S1NmaTgvbUpyNi9DdGl6MDd1WDRodzFFT20xQUNLdXhrY1RpVldTZmNqeXFweWNFTXVBR01vazBLM0hNNVRqcFJVaGpDZEpjaDdUcmtmTHpnUXVVMEpIbFFQZms1QnplRDFpemp3NVdJYkdrd0RSMGh1ZUgrVnYvOVl6Smk0RWZubjUxSURmOS9qUlN6U0VYNlZkMStWSlRRelpMRm5mbEw2K041Qi9mbThyVjU2emc0WDVWWEZMU3hEZFg5bVJoU3c3bzFyWnJkeFNaRnJ3N0w4cmNaWEV1T1NXSGIxOWN3S0Nldm9QdUcyMGZEd1hvSW9yS0JsSktDTldUZzJVa3NOSlYrTEx5c2JRQ2tBcjZrdWtrYXphaGVyelk0U2FVVUM2ZW1uVmZXZUMySTAwRmJaczlEeERrblhnOGJiUG1rZDVTeTVFOE5Zb1FDTU5rZVA5eWJqL3ZHR1lzZVlxeVlDZk9IbkUreWFxMXJIbnRGZFR1R2x2c05Zd1Y0MUNDWFdoWTlRbUJ6VFc4LzA2TWZ0L293ZUQreDdGeXhTZThOdmZmZlAyMFNYejBXVFVMVmxhRFIrMlFKbmM3VVVFQlRKNE1XNXNILytBSE1IaXdXL1czTlhpcktQREtLN0IwS1RRMHdDOS9DVGs1Y1B2dEIzeDdSNEtxdzVJRytMOGxjTWRJQ0doUU9STnFxbUJrTmhDRDc4NER4d0RWNC83R2xtNWprNGRIdTdyaWVUTmdYUU40QW1CSk1ET0FXKzlNY3U4ejVEV3duUXpBMTQ1N1I0TVhLcUZ5TXN5c2R6L3Z6WmlianNaL3FpNmtLdDZOcDQvOUpsMkQxVGhTUVJFTy85bDRBZCtaL3dCaEkzdnZuRG9TZW1WdjRMWitqM0ZKeVgvUjUwYW9mZFpMY3FXckE0bGQzWCtPVzVDWk04R2k4QXFEVFoxNzhvdTFOL0pTMVhsQTNrNm5qdWhmZGdDVDQ5QzJPSmN0aXRnTlIwdFJCT1dkY3NudFc3cG5ZTkJEd0JCemRNRk5YVlZ1S0ZjbzllNUZURXE0WTVxY0Z5WDhRaE5HWlpvak5zdjZDS0ZiZm5RbWQxdzlacWM0MmxhN1llYzRHcnZFMFk3ZkxZNzIxMlE1ejMzV2hFeVoxRGJHV0x5NmptaDhMNEZuRkVFMGJyQjRWUjAxRGRHOWlsOVp0a01rWWJLNUxzNGZYbGhOZVhHQXRHR1RNbzdhcGUxQlRrb2drd0luSlVoK29xRVZPaURCaVNtN0t6d0txSm5qVnRQUmhtNWZGVnA3MWhWSDVvTUxnVlpjaUt4cm9QVGUyMmg2L0hsYUc1dFJzN093MjhJSW53OHQ0Q2N5L1dPU3N6OWhWcGVSL0Q0d2lyVmFQcmt5aFNKZG9KbkQ0bFVBYVNsSVUzUHRXMXZoZTJlNlNBbS9uM0k4VW5HUWhnNjZpVkNkZzJLTFNDbXhrU2dlRmNkeUdENmdqQ3ZQR01La2NUMXBpNlFZM3IrVXgvNjdrTFViR3QxaW1FTm9JWW1NbnVSSXQ3bUo4Q2pNK3JqQlZWTDhib3hZcHFXcmNPb3BoQ1l3TmxaUXY3b1hGNXozSVplZE9KM0dtSmVpa0UxalRHSENaejYrMjlYa2toS2J4MnMwQ25TSkkzY0dTSkZBU0lWYVErQlhKYWlTcENPb1RBcW10YWg0bFBaU2JTUlNiaTB1RXFScUZoQmJQUVUxVklMaUNhSmxsYUhvQWV4NEkwYnJCcEpWY3pEYTZyQmlOUVI3aktkZy9IZnhsZzVGS05vT1Q5OWVXOUQxNzIxcERQUEtCOHZZVU5QQ3BaT0djZWE0L3VTR2ZJZGtMVHgvbUxPdENidDgvc2E5cC9PZEswWXhxRzQxOFgvK2dlazFCdit5eTNtbDBzUlp1NGxMem9saHBRMEFZcEVFci83MWZWNTlmUUZYWG4wODkzN25MaTZzV2NGcHIwN2xreXlIUDhWTDZEVGhZY2FPS0tkelNUYXZURnVKVEp1TUg5T0hwa2dMUDN2dnUraVJnZlFyUGgyajdHUGVlYzFMdlBoK2lvN3B6NG81NHpqMitOL1NlV1JYUmczc1RDU2U1djFwSy9kNUgyNzFJZXVxb0V1T1JxNC9RTzhDRDdNMkpWaFlteUpwT25oMXhjVU1QcXI2NzBZL1A2RnAvNXhUWGtuMUMvazgzQ1hJdFcwT0lUejh0RVFsV1RTSVg4NVpTMFVxekcvTHZkeTJNVWFYZTFvZ3ZYK0ovTC9ZelQ3ZGY1dFVVUVNvem5hL2xOd2h3VjhJaENJeXVUbUgxZ0VucE9zYk9IRUwzTGhTTUxCTm9OZ095N3A2NlhiUktlUjNLOGN5TGVLZkxzVXhESUxqUnlIYUNiUXVXR0hzL2VZVFlFdEIzRkRKOWxxN09HQU9hMVVPS2NIbnNSazhvQVZkaEZtMktNbkxqR0RoaWdiQ2pXc1pmMnlDVHNYMk5sT3ozVlMzejU0NW92aUQ0dlcyai9ObWg4Mi92YWptNE9yRFd4czlSdWJNWTgwM2JxSDhydTlSY3NYRkNJOW5wL1BDTTJmUjhQVHpkUDMrWFNUWHJDTnJ4TkNENWd0VGloMmNKb1hVT3g2VW9DUndXUXBwQ0dSVWdBMzJaaFZ6bm81M1VobzhlM1pxU0FIMkRvZHpZb0s4cUdEb1dvV0xaa0FrS05sY0lsbFpZYk80dDhPS0NwdnFFa2s0S0xIVno4L0JPdEw0ZzJIc2ZRR09aU3NFUFBEYy9ORzB4SUxjZVBJVWhuYXQ1Sk1OZlRocHdHSzJ0QllROUtieGFRWSszZURXVTk1aWRXMFgvam45REo2YlA1b2Y5VmhOSXFXaHFSM3JyTmdLM25UeTRLV003NzJXZjN3MGdlcVdmRGFsdlVnaHR4VUdpY3kvTWlOVTRvYUhSTm9MUWxKZTJNaE5Fei9pNDdXOW1iNWlBUHVicWZYNlI2djNTbStQSnRLRVk2bmQxNnNRTkxURWVmWEQxWGgwcGNQZHN6ZmYrM1h1dUhJaXZXdldZVDcyQ0I5c2lmR1lMR1R5eGpqbTJ0VmNlZDZ4cUpsQ0tUT1I0dFYvVE9HMU4rZHc5VldUdVBldU83aW9aaDNudlRxVjJVRjR3dHNicVdsdWs2eU0waUJ0QjAvUXk5U2U1VVR0RkZsRE8zUE96Rkt5bFJBL0wvYXh0TnQ4dmp2NFl2UTJIMm5IK1ZKWFprZldKV3hkSEk2VW1GS2pvWGtsbC85ckRxWVNvRGFlSXBzb3ByOEhoWG1udUUyOVpmdjNVbmZ6WXdXR0xWRjNYeHFmUzdZRWorcVdaeDZVT3NTamRzTUJjcXNqaDlhZmMrMEJ2NjYwTEt5RzVtMXhDcXVobWFvYjdrQm9Xb2V1SmJIRFdsV0Z4SElFUW5GUWZUYlZzUUMzenhuS0gxWlg4SU1CNjdtdXh4YThIZ01yclNNUjZMa09kc3g5WGkxWFlrWVVCQkt2MTBDYUd2OWVYY0g5SzNxeXZpVUhOQnZOWjJCTGdkVWV0U3VLQXNHZ0c1OSs0QUhvMlJOQ29mWlJ1bFhWdmRZSkowQjV1WHVQWUxEZDJJSWlvSFBBRWhlV1IrbVJaY3BuTjJiTDE3ZUVhRTVyUXQwMU4xNGM1dnhFSFB6dHJHYko5cGtJZHE0VGJMZG5iV3VmOXh4MC9iVlUvdUszNUR1U3pVSkJvTkFqa3lOV0x3UUJvTnlCRnBGRjkrdXY3Zmk1bG1DM1JXbis1OHRFMzVuMTVUbkhRcmo1bm9rVXNZL20wL1RYLzFEMnkyK2pseFMwYTIyc2tudVk1eG1HajNCeHZHdFJpWlFvbWtWOVhZZ1hQK2pISjZ2S2NCUVROK0FxZGdlYUVxQW9Fak9sOE1hc251aWFnNVVVS0I1ejk2WXhPeXcyUnhITVhWbEt5TnVQK3ZvUVFrMGpaY1pJbEh2SG5DUVNXM3JaMG5RZGVmNUtjb01MU1pzcXFyS25hSkJiSXlpRXRoMGxWRXFrTk4xYXdRTm14anMzRFVxa3JWMkhGMDBSQkx5cUc3K1Fra1RhemdCRXUrYzREcGlXUTlDcllWZ2RHOW1LN1BMNWxoK2R5UjFYamFGWHZXdGZmTEE1eldPV202OWhyTjNDTlYvZjNiNTRZOHBpcnJsNmwzeU5vb3g5TVg5WCswS2lhaHBuSDVOZ1Z1Qk5lbmNkZ0JIUHdiSUZKV1d2RVBBM29yZXNwRGxlQVZvUlVpWTcwTzhuZG1KVlNTT0ozK1BmbGtNcTlxVkw1RUVReFVKUnlFdkhPUG1VUGpTTjdVRmt6Y2RvV3BEV1kwN2xwTFZSRmsxZVNxT1doWEE2SmtZYmx3N04waWJpMkV4T2gvRWlHS1VIQ0FpRi9CMlMxd1FTUmNqRHJzWjc2NWdNMG56Y24xWEtqSGlNWi83Wnl0c2Z0Zkc5YXdLY2Q2S1hZRURCdGpNMUNWWVRkdVFEaUh5QVI4MmluN2NuL1VKanVITFFXT3Fad0tKb2tnL3ExekN6ZmhrcjJ6WVNUa2N6ZkZMcElId0lBWTZObEE2S3h3ZUt3RW5FQ1I1L0NyNWpqaWZ4MFh2NGp6MEIzOWlKSkQ3NkNJd3dTQnZoOVNFODNuWUI2VG5TNm5MdGZRanlPZEtORzY1cVNQRzdEeHM0cG11QXpqazZaZ1ljVnR0cXZ6bHVuRjlYQlZ2Q0pyLzdzSUZlaFI2R2xQa3hiWGxncFZyN0E4cXp0WEVGWUgvbkxzU0dEU2cvL2pIaTFBd284bzkvakhQRnRjZ2VQYmI1c25aQ2lqdUVHekkzejRlbUNieWFGNy9tUnlKSldTblNWaHJMa3JTRmpmYTFNWTQyZGo5S1J6QmRmMjZYZGpIbkhRbHRVVmRYemMzU2QrSlpCNkk3M0hHQTcyZXI0RytGL0htelNROVlSUFMreldpdDllUU9HSVQzbHprVVgzc0psWTg5aVY4TGtIM2RwV2p6Rm1LR1k0aXlZUHVBald1ZWRqR3BoQXJDbThsNVNsdEl1Mk9hRWh4cCtUdnFFV2JQWHovdzYyUjVRcmlJUlFxMnRGRVFLRUxaVmc4dGNMRm1yTXd4VjJmWmJyZXBpb3JsV0NpbTIrcmI4V2c0MGtFZ1VCVUZ5M0YvdDAyR2YrRXhnUzN0YmNkaVpTUDRJYmNlWllxSGdYRW1OTTNWcngySmIrSXhkSjcxQ3VHL1BFSGJBNDlpcDAyTXhTdXBPK01hZ3BlZVRmSHZmMEh4N3g2bStSdG5JUzBvZVB3aENDZHArTjZQaWYvbkRWZEhVUlNVN0N4eWYzMHZPYmRuL0grV0RZcHc3OVdPNURnd2Z3VXNXQVdQdndMWFh3QVhuQXdsaGE0d0tOWk5iaTZwNDhMOFpnQ0tkSE83a0ZDZ29RbGVtUTcvbWd3TFZyWS9GcWlTRlVMeGViRmEybmE2dUNRRE5aRklFcGs2bmZqTXVXUk5PSmFDYXk4aGE4S3hLSDdmWWJkVXBPTVFucldRcWwvL2s4aW55M0JNRTNkbks3dnA5R1pyaExhWjgzRlNLYlNzSURuamh5TU9NTy9raVpkZjNtK2RXUldDL3NPSGMzdEZCU1Z0YllqU1VnQzZxeXEzVjFUUWYvaHdidjMrOTdsNVo0TnRuK2phaXk0NndNVU1lQ1Rhb0NUYXdDU2U0Mk9rWHM5RkpoVjhaN2NCa0hvakYrRno4SjNyZm5haUtzYWNJSmppZ0cyTkpyRi9zU1FoSFFRT2pxS0RFT2gybEZrWGZnMWgyNHg3OFczU2FnZ2hKWXBqSWxHUSs2dE03RElsMHJJUXV0c2dXV2IybGxBRTBwRkkwOVVQZHp1dUNwd2srRTl2STZ1dmdablVDZmsxZEQzakFiVWcxbWFSTXlaTmRJeUs4VTRPU2dpa0pmZnUrcG0vdHg3ZlNYOVFWQ0twQ0pQNm5jWUQ1LzRlZ0t1ZnVwaVAxczdnOWhQdW9pQllpTEYyQnJuK0hBd3J5UjltL0pwM1Zyekc3UlB2WUZ6UGlSbjczVVFWNnVGZkt5NEZSUjZEcitlMWNWVmhNM2x0Y1Y1OE5jRi9wcVpZdWNFbVpVQ25UbVZjZE5HRjlPN2RtNktpSXRMcE5FT0hEbVgyN05rME5UVWhwY1RyRVp3eTFzTjFGL29ZMTgrRFo1V1hwaWtlNGl2M0VZellzaEM1T1hoT1BZWDBpNU5SQ3ZKSS8rZGxuQzIxcFA3Mkw1VFNFa1FvaFBmcjU1Tjg2QThJbisrUWdBeExLV2xwYVdIY3VIRk1temFORTA0NGdSa3pabkRaWlpjeGJOZ3dwT09nQ0lXMjkyZFM5NDhuU0s3YmdKTktiNCtGQ0VGODhUS2k4K1pUZXRPMTVFd2NqK000akJneGdpM1YxVHorNzM5ejBra244ZmJiYjNQY2NjZlIwdExpK3UvYlRlQ0piVGl6aDNxTmRuUytrZXRpRjNUMktkd1JmWU8xYTZJRWd4cDVocVN6bWVhS1ZBNUxQV2NUalFuMnloMHZkWkxTaTBkWXhLU2Y3UmxLWHphT0FvR0RGQTQ2RmdHUm9reHBSc29RR2c2R0RCQVFDZktWQ0RvV0NBY05HeFA5Z0N6bWxYcjJnU3gwaEtvd3RGOFhKbzd1VFVYbkFnQ3F0alR6NGFkcldieXEybTJNMm81clNCM1EvOERzKzh5L0wxUjl3S1BHcDd3Y2ErQkVmeE9YZGgzUHlMd2VXOU5FRHcvMkswRlRWWVo1NFJ1UFA3N3QrOGNmZjV6SHJ2b1diNmxxaDRhSEJCSnA2dno3bzc1RUc5OWo3Y1pxSE50Q1NrSEFyOUtwY3hHVEYvWUJ6VG1pYTFrRUlHMndETmZYMzdZMHlCSkRvZC9wTVFwTEhhUURBYTlBRHpvb0NXaHJVUEJuQ1lMWmtzNzlMR3JXYUNoNzJ3QW00eU15VFlzTjYydkJjV2h4RlF2M2V3bU4wK2V5N3BPUDBBK0RzWG5zdCtQYlpZQVZSV0hwMHFVQURCNDB3Y1hJYlljMTg0MUxkLzQ4Y1ZidnczeTExZTcwS2Z1cFJ3L3Z4KzA4ZWFlUHAvL3JNSC9lVHBQYi9aSjkrdlRoN3J2djVva25ubURGaWhXazAya0dEeDVNWTJNajBXaVVlRHgrMlBLMUEvV24veStUbEFKVTJOd29LTXd2WWJBV0pMOWxKUWtaUVBGWkZNb3dJem9kaHloTVlNWHEwUElPNVdCblpqdFB4N0VrbnVQekNhNkowdlJhRy9GdkRrQVREdjYvclNUdmhCejA0L05JYjB4QnZyNmpCRHc2NFljNU9ValNwbzFwT1RqTzF2VEk3Zk9tWkJxd1diWWtaVHBZT3hidDc2RFRDUUdPcldGTG5hQWVaVUxlRWs0dVdzd3gyWlYwVXV2UUhiQjFEZEZ0SkRtOVRzRGY0emowNG42bytUMFFpclpkUDFZRXRpM1pVQnZaN1ZsN3ZBSjJCT3hXc0pyQmJnSnI2My9ON3ZkMkdPd1lPQW1RYVhCU0VINFhvaCtBZnlEa25nY2w5NERJd05ZSHgwSjlGclE4Q2NrVjRLUXpzUThkaEJlVUFLZ2hVSE5BelFPdEFOUkMwTGIrVitCK3IyWUR4eC9aYThFOElEeEgxOHFSamtTRUJxRjczSml1NlIrRWpIenMrbmlsUEVDZThQbS9GYXBFTFRTUmxzQ3M5bUYxVG1QV2U3RERHbnBwR2llcTRhU092T2FRQW5Cc0JSeUZsSzNTa1BKZ09wSjBLc1ZMbTdzRGtFNmxVUHp1c1pTdHV1ZExFRXJIbzRjSUFkSjA2RmZxcDJxaGw1NGxwVFQ1QjBDeW5zdjZhOXg4OG1BYTR4WVZnWjRvdmhERm5mejg1OXVuRWhVQlFvckZnMU9YOGZaYUR6TFFtV0oxR2QyTFhtRms1ekY4c2pHTzRsRU8yUDdMRG5ub1hKTE4rSkhkdVBEVUFVUmlhUmF0cWlNU1RTRWxqQi9abFphMkpBdFgxTzZUcnlzMzIwZW5vaXhPUHE0NzU1M1NuNmJXQkV2WDFCT05wMEhDeERFVk5MVWxXTDZ1Y2MvT25mWXljQ1VVNjI1RHh3YlQxMkhPaGc2djA4c3NlaWNqQitvZGhiZWEweHlUVjA5cHB3S1dOMWlnNytQTFpXTFcvcHdjaWxwYXlNbktRdEgxdzNLL3IzQUNIT2trZ1ZZZnJDd1dwTFY5K0pYam9PcysvTHFYaEpuQ3NyODg3OFZydWZmYTI3Wk5XV0x2WWdOcXhxZTN6RXF5MWs2aklGaG5HOVRZNWg1L2wwQWlFS3kxMCtnSWJDQkxLT3h0dENEYTd0andrcmFtOVRRdG5zcXFUK2F5ZHZsS05qWFoxRzZwNXFKYmY0REg1M2VCUlR0Z0RZRE5UZmRQWVAxcnp6UDNpY21jY3N0WnhKSUJySlRGKy9NN3NXRkxGamtoZzNETVExVnRGbWxEelZRL1pEUkt3NkR0alRmUXNqUk1TM1o0aXFPREJFZWcrbXlrSTdBc1FYRTh6VTJMYStrU00xaDc0VVJDZlhzUWtDTFRYMUIydUkzemgzOCs4N24rVzBWSWtra2ZpemVYY3NxQURheHJ5bWR3ZHhlYmE5MldmQUpla3prYnlra21mUWpoNG15NTZSY0NPNVpDZURSdXVIWWkxNTgxaEw1TEZ0SDZyeGVKTDFpQnRHd1VYZHQrbzR5UUY0cUNIWXNqdlRwZGI3eVM0RFhuOG1KT0hZOHRlSlQ1TmFzd0hBdWhhcnVOUkt2MDd6YkdmbHRsdFQ5R3dXZ0hrcUNvYnYrZ1pBdzIxMEQvM3JCbVBhQzUranM0ZUhWSUhXTlF1VVFuTjZEdG9RYm5LTzJKbWhOdExLK3ZwQ2lVaDEvejh2NkcrWVJUY1pvVFljN3Vkeng1L3V6LzZmRlovNnZoN2FDeEN5eWp6VFZDRVVqRmkrNHRhQmV2V2Y3dmQvNzhWZXRYY0hock5SbGU2TkhjZW12VFFsbzIrWFphbkJuYnJBNUp0WFo5TjlUNTVuZURYWTVmNDgxOTFsTGs1TFJRTmpQMlVUZUJidlkzOS9wdUlhOTVXSTlHYkpmUE45NTdHWGRjZVFMOWFqYVEvdGZqektpTzhwaVR6eXNiWXpqcjEzUHh5UlBSejNMMXVVaWp4YXVQdmNlcmIzekdsVmRONHQ3djNzV0Z0UnM0KzdXcHpBejUrSzl2QUdpelFCcTR6WmJhWDc3dWFNZVlHVHZtWHp2WU1kZnN3WTY1OTY1N3VIZ0hPK1p2R1R0R09yYXJEU2c2MXc4T2NZK3ppQ3NHRFdYYUo5VTcyTElTVkFVbkV1T3VWZmxZdG9SNGVPLzZEbWZrc1FnRXR1V2ZpR0RRelIzTTFMMG91Ym1IWmtIVVJ2ZU9PeXFDM0pDWHBHRngzZWxERUVLUU5HeHlRMTRYbCs0bzdSWDVCL1U3TUc1bXRDRzJUQ1d5ZERIVnowZm9ldCsxK0JQL2d0elJpUEtUd1Y5NjBMaXFqY1NycW15dzBsd1FydVNYV1oyNFZNOG1MaDFNcE52bmVCY1JLOU9nNWtnNjNaTEFxRk5vZnRWRCtVOFQyRzBDbVdHZFpvMkt0N05EdDEvRVdYTk4xbjVnYTd2M1ZZcS9qVlAvVzJUZEEyQ0hjUktmb2hUZWdocnNoeVBCY1J5T0cxekluSDlPNHFsM0dybnZ6N09wWGRzS2VRRlFWSTZFR0lpcUtKQk9NYnovY0g1OC9kM01YN1dJaFl2bTdJUUhKeEE0UmhvUkZIenpuQ3VadFdnT3VUbjVURjh3eThYUy9RckhlaVlmMTFWNEhjRnRTOEpNMmlUb05FSkhsVkJ1ZXJobW82RElvL0Rpb0Z5bUZ4U0xtS0x1TkJLS3RCbWhMZURTd2V2b2xKdWl0a1huL2VvVHNmeDUzRjd4SE1QTG1nbm9KcG9LQzdjVVVGblhoZHNHZk1pcDNWdGRuNEtoOGRDcWNWVHBBemxQZTVraWI1Z3RpUUkyMVNaWVczb2FsamY3b1BqcHBHMkRaaEpyNnNLNlR5ZFMycW1hVXpycmpCNDFGNDlWaGRGOENab3hpcXRHdnNiRFV3dTQ4L2NqK08vdjZwbXhzQ3Zoc0IvaGNmWTVyOGoxZnd0UUpBS2JsQVdMTmtCMW5jM0hLMnl1UGNYREplTTBkRTNnd2psTGxFTzhEcmZpTDhibnpHZmpEZCtqOU81YktiajhndDN3Rnc4M1VnUmd3REZkQmVmMnpHSmxzODZjVnNHRXJwQlZEZW9jU1BlMXFibmFvdUM5R0xsenBhdWVIYUtlQlFKSmpqZk16UVAreGhsZHA1Q2w3MWtIeWZlMmNFYlhLZFFuUy9qWlp6K2pMWjNiYnJYODJhZWUyUzdYMmR6Y3d1Wk5tOUEwalU2ZHU5QWxQNWVqZEpRNm1zd3ZhV29yQWQycjRZdWtpUms2SHRYQTlLVXhQQUZDaVFqQ2s0MW9sbmdkRFZNVGJuNXVCMUpiekRnNmFYdWNMNEdCaDJZN255cTdLOWxHbExnTXNOa3VKK3hrWmZLNzk1LzNDU0RiRitLWWJnTVpXekdJZ01kSE5KMmdLSlJIM0VpUzVRdlNyN1E3YVROTnlCc2dZYVl3YllzZUJaMEJpZC9qb3l5bkVFVlJLQWhrMHhodG9UQ1lpNnFvN0lvMXREZmtPQTVkeTBQY2Nsb1hRbjZOUDc2NWlYVmI0alMxcHJjSnQxNTljdmpPV1YySkppMys5azQxbXhxU2JzMk9CRlZ4a0ZKZ0o0T2dPRXpzTzU4ZlRuaU5TVU0rQXlRZkx5L2drVG5aZkxEZWl5MEYyVjRISWFRYk9tbFBkY01SWER5NmhZdEh0K0xzNnVOV0JGYVRRZk1MRFVSbXRDQU51Vy85azZWRU9pNzJpSktkamJkUEgwTEhIVWZ3MkdQeDl1bURFZ29ka05JemE4TjhMbm5tVG40eTZSYXVIWDArWHUwUTZqdDduY2V5YzAzejducWNBckpqZkZCZk5FZE9iVDB5SEVFcEtrUVVGMEZERXpLVlFoczlISHQ5RlU1akU5cUFmdUE0V010WEhSSXNwMS84NVhKdXUyd1VlU3NYa0g3d2x5eHBjWGpHMjVObjFsdTBMSzdpekhORzRWRmM4ekVhU2ZEbm43L0JzeS9QNS9aYlQrSDJQLytXMDVaK3lza3Z2TTY5MlJyL0dOYURQMzlZQzdhMUxROUFJa0MxcVEzbk1ubnVzYVJNaGJyYVduSnpEYXFpM2RqNGtaLzZpQTZxdlZjNm5LcnFuNnMvT3FwS20xSElJM2Qvd0xrL1BRc2g0UFZmZkVncmhTZ2VEY1UrT0hoUDloSGVlczJ3bkM5Y3owSlhvVFdNdldJbHBBMXdISnltQmp6bm5JRUkrREEvbm9uSXlRZGRSOWcyVm1NVGppcVFaZ2VCU3dBNSt1RWQ1NnB1VDJOVVFEcWR3b3l1cHNTYlE2aDRPU0FKZW9QVVIxZGpHT25NVk1uRERrWkl3amE4YkZzZS9pakxpaUlZM3MyTmViKzNJclpIREs4RG9XWDNQTmgrZG5TbXhramE0cURNWnpxY2grV28vUDI2UjdqWGwrVEVBVXQ0ZU1vRjFJZHo4V2dXSG1ueWZqeVhtWG5YY0w0MWk5dXJYNlYzWWdPdFd1alE5WmJMdURvOHVTYjFmKzZLQXBSOHUrYUxjWE1WYUl0QWJnazg4WnI3MWYxM1F6Z0N1ZG5zaERPeFYrZDlDZjN1dHFIdE1qZlFpa0lFS1lKSTZVR1F6ZDVuVjMweGpYNWtUd3ZReGNWUGhlZGp0YzNHZGpvUktEbUJyQ3N2UisvWms1WmZQMGhxL2dLVVVIRG52czRIa1k0MGZKL3d1cjNJY3hPNzZyb1FBRm9jbS9sU1lRRUtkWTdKRmQvOEJpZGZmREdPWlJLdnFxSng5a3lhM3B5Q2JHaEE4d2ZZb2Z2R0RsT2E4Y0x1NVZ6dDFrOTNjNXAvYnNWblhiTWpQdXVYOTlOOU5PSGlzd3JIUmpvS3FpYlJoUUVKNk5HUTV2eHhJNmxMTkRCMFFBVWJsNjNFLzk1NnBoODNob2FaUzlIVE9xcFBCY1BHZGhTRStIemI0S0Rrd1NKUkZRMEtvcWhid0xHeUtPME1CWjBGNVQzQjI3QzlWOFZST2x3VUZvbFowMERieTIramQrdU10MWZYclE0S0lxOVBKL0xXQjlpUjJFN3p2Tk9VSDZUSmpFUmlSOVN3Q2xVOWdEa3hzT3YvalZwMEtTaCtaSHF6SzNvTFRnTW42UjRydmdKRSsva3JiRWNpc3J3ODlNZ0g3dk5uZWI5UUYxUnovTmdaN05XdHBLa09scUZEV3VPS016N2hMemRPSmJjNGpaWHBWNkh2MEh0SlFZSUYzVXZhd0d2aU9BZG1NL2w4UGg1NTVCSGVlKzg5ZXZmdXpaMTMzZ25BckNWSkx2NWhMVCs1dm9Ccno4ckc2eE1FUmlyNEJ5b2tsenVFMzdkSkxuZVFLVmV2T1poa2U2R3pZWkZxVVduTjBzbjJXTFQ2ZERyWEd3amhZR2N3RFdTbUYySmJPa1pKVmlFRmhkMjVvTTk0UnBiMTVaNFpmeVBONFJURmxxQjc4SjE3R29IYmJrVHQwUTFuOHhhc1ZXdVF0bzFhM2duZnBSZWdIenVheEtQL0l2WGEyMkFhSGNwRWhLYVJlOUpKZUx0MkpUaDQ4QjUxdXNQSUtFTWFTYnpIalNYN1p6L0VNM2dnU21FQnhxY0xTTDA5SGFlK0hoeUoxcWN2UGhUUzc4OUVwdFBiY3gva3dmUDlTVnVpbHhRUmZlSWxLcXRydU9DTmYvUHAwaVdjTXZZNHd2RVl1cTVqbWlhbWFhTHJPcDh1WE1DQXNrNThzT0F6K2k2Ynpyb1R2NDYxWURsYVVYNzc0SVptNk9ZZm5za2RWNDJtZDkxcXpDZit6SWZWYVI0elhmM01YTE9aS3k5SW9tVjBQVE5wOE9yZlArUzFOeFp4OVRYSGMrOGRkM05SM1NyT2UrMXQ1dVJaUEU0NU1YVnJQN0V2OU1yeVVlTXBMQThQcGNrb3hxOG1jS1NyanluQ3dYQThLRGdvWXUvMFM4ZVJ0TFlhaEVJNnlhVEZva1ZOREJuaTV1UXVXZEpNSW1FUkN1bTB0aG9kWnJOM0ZHV1EyUm1xcDdra0s4SUpuZ1QxYTVJODlHcVN0MllhYktxejkwb05IOTVmNC9yenZKd3h3VWRMYm44ZURwL0ZtK0h4YkRKTGpueTl6RHhBUGl3VXBPM2d4RXhVajRJMExiZFdPa3REcUNLRHNkV2VQY0JCVlJVTXcwTE5ZTGpZdG9QWHEyTlpyck5ZVlJYU2FYT240eDZ2aHNqSm90UFlnWlRtK0RwT0VyejMwZ0Zmb2t1ZXpwQk9QcmEwbVhoVUc4TjI5NTFYVlZDRklNZXYwaVZYWjFPTGlkOGo2Snlyc2FRbXpaWlc4Mzl5ZklVUTVKVjF4MDcxWnRObkJsc2x2V1dCcGtNcUlmRDdFcVFUY2J5QkhCQUtqcFJZMWlFd0VvTkhmaDNqL3ZBSjE0ZXVFSS9WMGJ6eGR3aDdDN1ViREhMemYrSDZSS1NERUIybkhIOFJOa3RIWWJhWWx0cHV6eTEzMkp2dHAzTFpCOTF2SXdIZGNWQVVneDdCTG96SzcwSXlGcWFUcmhQSjlDdmMzNW5RdlNFS3VrM0FHeXFqYWMyTHBKdm5vU2x0Uk9NMlhsMUZTb0dpT0NSU2d1ZmZtYzc2YWd2RnFzTk9CR2hvYzMyWXhiazJudXozc2NRaWVuWlJ1WEtDd0Nja2xpMndIWWpHYlRRRmJKR0RwM0FzUmIwdkpsVFFDOTBUUEdnN1NTdXc4UTAzdHYxdDFtZ2RkaTlGY1V0Z1IvVFh1UHNhSDdsWmdxZmVUUFA4VklQNy9wamd3WDhuK2RuTmZwNzhkUllQM2VadysrL2kvUE9kV3Y2WnF1YzJmeWxYKzBzb2tWN1NoeW9Sc2owM3RSQXVacHl6STA2SGNQTk10dGFaN05PamZUNnZrMks3MC9sSHQ1NE13SnNmclFNRXUyNFBtZEcvck1QQXByUnNoNnlnaDlLQ0FMb3VpQ2N0M3Zwb0k2b2lhSXNhbUpiTnVrMFJIQ25RRkRkSGFPM0d0bTNEMk55VzV2bXBhN0VkaUNjTWRFMmhVMUdRbkpBSDI5cjM5YU4rUmZvSXlreHY2VmdzeHBJbFM5QXpXUEE5ZXZZa0x5K1BXQ3pLaGcxYjJMUXBRbEZoZ0xSaGJjTWxjaHdIcjFlanVUbEZlWGsydlhwMUlSZ01FWTFFMkxCK2ZVWk9XUXdaTW9SUUtMVHRYbnZueDRQTmpRNy8rY2hnVFkzRGRhZlluSGFNVFk4ZWFaNnRMK1M1aGlLcU03M0d0KzRmMDdaWjA3aUZmMzN5RHFzYXE3bCsxQ2xNbW5nQ2hlVmRpYnoxQm9rNXM1REo1QkhwdUJlQXFVQjZGMWVwVjRBR3JBeUNrMkVYS1JOTWU4OW1rVkJWd3M4OFMrTlBmNGFkazAzb2ozNjBiMVN5cGtjZmxHU2N3SFZYY2V5Zi9rei94Y3Q0NlBycm1mekVFK1FEV3FZWFJZZkxvUWUrVmtyanJ4N2c3VGFMSjBRRi82MjBzTGJVb3VoQVNDT2FzbWlXN21oRWt5WVVoZ0RCdi85dkN2OSsvRU91dlg0aTM3dmgyd3hZUEk4N0prL2pkWHhFaFpZQnpCSTRLWWVUaDZRWTNTTUxKLzlycEpNeHBMK2NpVlZEV04yakhsTzBjZjV4RHVsd21rL1dCaEZlcDEzOVVUSXpxNmFwc1c3VEpPTGhVcEpiQkZJS1BHb1kxYU9Tam1heGN1a3B0S2FIRUlrVlVaQlhoY2QzRk5qdDgrV24yeWlsUjgrZWxKU1U0dGdXNmVZbUY5VEdTQ004WHZTeXpwaDFOV0FZYnQybXB1SXA3NGJkMG9SanBBR0ZkR3NUdG1OUmtsVkFyOEt1TEs5Ym13R2RPTUROeS8remQ5NXhjcFhWLzM4L3QwemYyZDUzMDN0Q2VpQWtJZlFxb0JRUkZRUkI5R3ZCQnZiKzgydFg5SXVpQW9KU1ZSVHBuWVJBQWducHZXMnlLWnZ0ZmZyTXZmZDVmbi9jeVNZTEFaTHNiZ3JtK0ZyTXpOdzc4OXg3bitjODUzek9PWitqcU5aTWJ2SVY4TjE0SXhHVkxWck5jcnExZGtpZVcyRGpWeG0rOHhtVGdpSU5IZEI5YjU4NEJVVndVclhrSjNkWlBMZkFwcld6bDhtQUFzSkM0eVpmQWRXYVNmb2R6WUY5TXBEclRXV05QUm16YUUrRkliMGVsVHNHa2kzZ3pVZFZuZzlMYjZVNThHUElhR2hCMWErNUJudUxIZk0wMXpHUFNrbXI0N0EwbmFiYmtkUmtHd09VNmpwTDAybHFMQXVmRUhpRklFL1RjRkFuNkJRUEF4MzFsR2NvT0x1TC9OTzdDWXhNMGo0dm41Wm5pZ21PUzFMOHdYYnNxRTZteVlQUTFJQkVmeHlsMkZnZlovcndISzQ0dVppeGxVRmUzZFRGMmwweFFqNmRvY1YrenArY1Q4Qno2TUNBYVFoR2xmbFp2RFhpRnBNZm9wdzFKcThmakFLQkUyL0ZUcmdGaTBZZ0h6MVlQQ0N6dFZxTE1jTnNZNHJaeVhDNnFDd09VSDNlSEFwT240MS82bVNNSVVQUnZMMnRFK1U0V2RZY3pkWFBCeHRNemhxSm5rQWhuL25tVDVnL1lUSmR6WFdzWDdTQWJWdlhzMm5MV2hwMzc2Q29xQmpidHRFUDhMMkJiMzM1MkY0Zmw3M1U2K1VmUHVKRmZmZHpyRzNWK0hYbVZCN1k2SWZXVm5TNkFJMW93aUdUSlNtTHhoM0FMUnE0Ly9ZWHVmLzJSVnp6eGRPNDliUC94NlRWei9LTHZ6L0pZMHlnQ3g4Q2llTW9IbjU0VXhaTWRaUEs5bkVNQ2FSMDlWOXJhNEpubnRrTTJTS1Y5N0ozQkdCb2JxRnRvanZHNnVFemFMTjBWRk1Ncis0MjVUNVc5T1lMSC92NXdXOFdBa1lYTnI2alRpb0pScmovMGorUnNrMkU2SjhyblBPUC9rVldQR2VkaHIxbVBmYXF0VDNKZStic2t3bmM4bmt5OHhlU3ZPMlBxR1Q2NkRsRFFyQjhYUXZZa3BPbmxmT0g3N25FOUovOXZzME5mL29ZOTM3MklVNGZ2KzF0L2VTUElzYU14eFFzWFoza2lUY2lYSGRKRGhOR2V0bXdJY1dEejdtRXVaZWRrOFA0WVI1V3JrOXgzMU5SUGpqTHhHT0tJNWZab09CRHJSWUZsc0lXaDNRYUJaYmlRNjAyQy9OMFRzZ2hHUFlPaUFKM2txb096V1V3SElEbnZTdlM4YjY3ZmNxeWFILzRNVnIrY0ErcExkdmN4QVREZ0dPTWtNWldEb1l3S1Bia3M2SnpQWmUrL2lrK1B1aERmR3ZNNXlqeEZyckJwU3h3VmhhdW9QR3VIL2Y4Rzl6a25iMEJxRmFyZzU5dHZvTUhkeitPUWxIa3ljZFJFbHM1SjliVE1TUjNubHRBMjQ5L3hCczkvckNmanZwZDVKbUtlRUJnSmhQSXJKTnFKbUtZaFI1Q01zMER2M21jeCs5NWtVL2VjRHBmdmVFenpGbXpsUEgvZVpaR1pXRWoyR2NSS2RCZGlwMHpDcHVJNTdlUTZOaERvNWhLenJScUJ0VThRbzZLMDZaN0Rncjh6MlI2eng5ZDF6QU1nUkFhMGxGa0xKc2RPM2F3WThjT25ucnFLUUN1eDhlNW8wL2l4V21qT0MrL2hNcHJyMkxTajcrQi84VUZCSVNHZnU1Y0FMb2VlUkxqUXlYVWZlM0hHRU9xQ1o5ekd0SktveG02V3lnbS9BalBPSFRQT1BUZ2g5MnJrOTBvcXhhVldZUE1yQUYrMTJ0OHhaL3RQTFlud05MZUx5Zit2MjhmMitQOThHVUhaeHJpa3BqYWxvRnUydnp2Mk8xOGMyaTkrNkVQN245aUROZDk1ekx3WjlEQ1VSQTZXazlDbm9VV1NwTk9tVnozL1N2UnhiLzUrQWMyTWlNM3hzcVphL2pGamtxK3MzMFF0bVZnbURaU2lRRU56VVhpa3J1ZjZPUzV4VEUrZDNrQlgvaHdJVGxCN1RqaFE4cTJKaE1DWFNWSjZkTlFubEdnTEJRQ2FYVWlheGNSWExzYlI0V0lqejRaWitkR1VBNXl4R1NjcmN1dy9XSE1aQ1JiclBrZUYyMi8xLzdpRXRtcGQ2MklWVzVrWnE5ZlA0RE9nMzZja2RJSlhjY3NMRUI0VElTdTR5MHZKYkdsNXJqZUF3MmhjY2taZzFGbUUrVkdDV05HVGlZM21jUDIxYzl4V29HR051NUc1dFg4azlhR0hkUTE3YVN6UEk5UnFnQm5aWVE5eTE3aGd0TytUVHdaWThuS0Z4bFZIT1lqNTQxem13Z2VpUVkxeGNWUVZRWGQyVWhvU3d2TW0vY1dqRksrL2IycUt2ZmMvb0JBbFF1bDNMSUUybEx3OWNsUVVnMm5YUW5iRytETGkrSHBIYUI3M0NKYlRZQ3lZRXdoak15SDJqWlkxZ2JDQnhtNVQyMDRDaDZ1M1l0eHV1L3RqLy9MYlA1eGF4S2UyWUViSVR4RU43UXJFOGJVYkRkZWhwdjhLNVZHMUE2OTk3SlhrT3VKOE5HaGovTDVrWDloVVAxMjJuN2hJZkthLzhCRkN0bUIrY2RKaXE5Slk1MFM1cS9OMS9DSDF6N0Z0c2l3ZmxjenlwSHYzQTlGWldNeWp1eHpjK3orOU90ekRNRU4xUnFmcnRhbzlCMEVyaVlBQ2NrVk1ib2ZhU05UaytLNDd1cDRuTWd2emk4L2lEaWFTNHJSTzQ3MkhIKzk5eld1dStGMHZwcU5vMzNsc1pkNVN2bnBGaHBka1NUWGZlMC9KSklaOEJpb2QzbVdTaXJ3R0t6WjFNUjFYLzhQSHZQZ01SMUhLdTU3YmdjMXV5S1Vsd1JJWlp6K3pnejg3NFdMZE5CQ2l0aUxIcExyRGN4S0J6MVBJYndLbGV5dDVEU3ZJbmlhbTRnWGZjYUxUSjRvTjMwL1NHYlhudU53NGdwVU9rUDRuTk1vKzlybk1DdktxSjR3bXZ3UFgwTGRyVC9DN3VoRUtJV3lKVVplR0NrbForeFp4bFJ0SGZjSFR1SlB3YW1vSG1CVURQUlEzM3RibEJyRmVUSCs1OHpsUFBER0pIYldsYUpyV2YxbUdReXBidWJhV1d2NDh5dlRhWTJFMERUWmI5YXFlby9SS2FYUWRJMmRXNXJwUGlQTm9QSmNLa3R5dU9NZlMybHQ3SEtKMDQ2aWd5dXkrNHNUdDhHbkl3dzNUcWdGalo3UG5hakZwUitzNW9kZkhzdkZONzVCdzU0RW5rQ0tUQ3JJQnlzVHJJekIxY3Y4ek1xM1dSOFgxS1VGWXdPS0FrTnlkejNZeXYzVGV2Qlh5Q2dvTU9BWEl5eVVnbyt0OVBGbVJLTXBMUWpxQ2w5ZjNmNXNnYW9RR2tMbzdFM09rZWtZN1F2dlJSZ2FhQjQwYndpaEdhaE1BaWZkaFV5Mm9QbHpLVG4veDRSR25JT25hTlIrUGVMRmdNeHZnU0NhVExONDNTNGEyeUpzM3RYQzFlZE1adnl3STE4d1ZuMmNxYks3cngwRmY3K1hyWjAyOXhuaitXdDNqTWJhSnZJOEVLM0lJUzgvU05tSVN0Y1ZyTWpETjdvTW53NFAzcnVBeC8remxDL2RmRDdmL3ZsUE9IUGxZazU5L2xWdXJCekpJNHQyc1dUeGRzNDlkeHhQL1A1cS9GNlROTTI4c0hvb3YvbWR4TE5sQmVVbERoZGQrQUcrZmZVZjJSWlp4b2p3Tk81NGVBVy8rdHNpbm5oaFBXZ2FsMzV3RWsvKzRkRG1MRUs0R2xVcGxCQ0VQQnBqaWowVUJIUkdGM2w0ZlhlUzdlMnVIZUV4WENmd2hDVzNUNGFlMW5MSStzOEJjb0RmaTFKT0RTaFNTQndSWkxoek5yL1Y3K2JUbmhSRmFaMVRiVW5OQ3BNTFRta2xTditFQm1VaWZmam5hZ0xkc25HeVdLQmg2TzU4c0cya2JTT3RCTmcyUXNxak5rbTBySjA4dVEyK3NsWXdxaHNpWHJoOW5HVFR4QkNQZmVZS2N2TkxrSWtrZGtzSFRqeUIwOTZKVVZ4d2NBYkFlNG4xM2tzT0lDTjFZcGFYYUVTak5lWmxVR0VTcjE4U01qTG9RaDV6aEc2OXIwR2c2WXFTWW9GcGVKZzJvNVdscjBmNDl5TXdmblEzcDMyaWxXSERKRjN0eFJRWHA5Q0VRcW45WTFkOWtHWDNIMWY2WWZBZmY5NFAzK0lhQkltT1RSaStBanpCQ3VpdmVPK0hMejBNUDFRblU5OUk3VGUvUjN6ZGVnWi83NXNZK1hrOW43Yy85UnkrWVVQcGVPNGxXdi85R0dXZnZKYmlLeTlEQy9nSDltYWJZQXlXcUlTQXBEdmIwdk04bUtkWTJGdDFaTVRkdjV3R0RaVVU2T1VTMmFJZHRFdWhCT3pQdFpjYkUrUkhCWk5xTks2Y0Q1R2dwTDVZc21tSXc4clJzSHFVOTYxaHdPTk9QK2lIa3ArV3pjUGQyVm9HdXNNVEswOGhONURBMUcyVzd4akpNMnVtNDBpTkQwNTlFME56YUkvbDhQeTZxYUJKZHJXVmdRSkRVNGYybTRkbEF5czBSMmRZY1N0bmo5bk1BMHRtSXBRQXcwYnRSOEx6dGxFSWhkQWRzQTM4M2d4bmo5bE1RMWNlcjBnTnFUdW93MmpDZmNVM0hqa0ViRTIrUGJkRkU2emQxc0xWMy9uM0Vaa1AvM2ZaUkZwK2V6dnp1OUxjWjViemFMdVhlSDBMZmxOZ2xlZGpteWFKSEplazFUWk5HRnFPMzZOejN6M1A4L2RIRi9ISjZ5L2dxN2QrblduTGxsRCswaUx1d0NHSlFOL1BLeFZDWTg2Z01TVHFhaWtvR1VWQmVEayt3K1RiY3k1bnQxN095Wk5uczM1KzNVRXQyNEdzU3dDWFl6cVdrZno1d2tvdW5qYVIzLzE2RWROSDVxTTdLVlkycGZuc1o3L0NzeXRpWFBQWXZBRWhWd3A1ZElZVytPbElXTFRGTFpMV3UwZk0vYVpHVWRDa0lHQ3lveU5KSkRYd2VVTkNDTjQxRkNJRVdyYis1b1QwbGtHZXhERTl2dDF2eFNkMzl3YytLWHJwT2VVNFdQWE5ETFJUSVFGMGlWUUNsVFlSWGhjcnNxVkEweVdhN3JDOU84U05pNmJ5bXkxRCtlNjQ3WHgwU0QxNEZJMzNCSW05NFdKWW9WTnR5cStMUTBid2oyM1YvTy9HRVd4b3pRZmR3ZkJta0pBbEUraG5LU21CYzg1NWp3MWQ1NENMVWRQY3o5NEpOQm82MVAzcmIxOGlhL1BrbUpKWmhRbFI0YmZVMkhDYUIzZm1xdlZkWHFIWU54V0tvNjV1YXcwTllGelZ0Zzk3emlvcDN6WC9SVG1PMjhqQmR2cHRMbGZjbk95M1MyOXNkZTl2UlhFLzN0K3Y5OC9YWkNJUkRDVkpJUWdpOEN0NEVoc0JYS2dNa2dKU2dLRWttVWhrNEgxZ3h5SCsra3E2bjV5UGpDY09QdWRZQ0ZRcVEvVEYxd25OblU3K1J5L3F5ZjN0RHhuMm14OGMyeHZhbFpkeVhFdnpJMi9UWHhKRlRHbzgra2lLN3NRMjVBRXMweDdlakN6cm15TTFscnlXd2JaQnQ5ZVN0aVNhbnVWZEZnZlFrY0RPVnNXL2F6TEVZclVvSVErandZVUFZWlBNVk5JYXVaVmI1eVlwQ25xeDVZRytLVnZuQlNpWndVcDNZTnR4RkFyRENHSjZDOUEwTDJLL1l3OUhYdUhqdmRYRmcrdmViZ01WK2ZtZmM0ZVRGekRaM1piZ3pwZHI2WXIzSnN6TUM1cmNldWxvVEYwTWFJanc0M2YyZnYyckN5dG8rZWt2ZUs3RDRqNXRDSS91c1BiNUYwSFh2K2dVM2w3K2hSQ0N2LzcyT2Y3NjE5NzVHZ2YwTDVUQW8xdkVZMUZLOGtxcDcxcENlZVdMdERsSmhsZGN4MlVYLzVRZjNicWF5T1lWNkdPbjRHVFV3TVNOY0NmdmpvYXR4Rk54UmcrZXhNNjZqZXhzMjg2NTB5K2pvV1UzanJJWlZEWVNjUXd3WkFoQVNNV29rS0x5M0xsUVdNNjAvTE14ZmZuNGd0VVVuUTRqWDFwSFcvb2RmUDErK1AwTWlrZlRYYnlRaWRJaWJYNmJiR1dLNWVjei9pSUs5WDNOUmx0dGsrNjBlQ3ZuMVRFakV2QUt3UWU4WWFhYmZoN1oxczAzZjlETlkvUFRmTzI2QURNbW1HNWNYQWtYZkFlVWpPTWtWa05pRldqM1VXNVdVaEdjd2tYRFp0RTE2c05zVHBvc2F0M0ZncVoxckdxdm9TblpqdHpiU0tpZmlOYVVrbWorQUVMWGNScWJzd0VVQTkvSnA2RjVmUWhkUitnNk10cU5YbHlJWjlSb1ZEcUZ2YXNXdTdNZHpkOTNNcnpqclM3M1VQS205M29MRTh2OXZQNkZrYjIrUXhQd3B6ZmFBUGpzcktLZTFNSEtYTFBYc2FiZVIxM1JGNEx4V0F6OXhodWdwZ1pHallJTkcxeG5aTUlFdEsxYlllUklpTVdnTHczV0RxUkhEd3REQVpseCtNZnY1M0wrM0NybXIxdkRnOC9maTNRazExOThFMmRNbU1nTHIrM2hnbysrZ09iVkR6dmQ3a1JzOTRTOG55UWNQRHpmU2ltUVdYS2R2V3ZwMjMvYUNzRC9mV1ZzejVwMG9TcHgxT0sxd2xHb0hCLytaVHNJckxJd25UREM5Tk9jcjdGMTVUK1FKT0FMTjlEeHpNdmtseFZnMVRXQngvT3UrYitISkdmOHFHKzJoUVRONnpvKzlmVnVjNHZLeWhCQzA1QnBoNzZuMEYvWTY5WHhscjlUOWZQdkRyaWQzS2VaOE5IZWRZTkR3bFg5QVBaa2NMbzdzRFp2Y1cyRU1hUFI4d3ZBMjdkR0gvbmV3eU5kVlB2OUhYQy9QSkhiZm5paWFXNU16SEZBMThuOXd2V0VycmlJanUvOWh0akRqNE1ReEI1OG5PUnpDeWo4NmJjbys5UTk3ajFmdkl2ZDMvNGZuUFl1aE9rMkpNajV4T1VVL1BoVzlQSVNzZ1l4R0FQTFJTRWxMTjhJS3pmQjNmK0cvN2tLcnJrWUFqNTNTaFFiVnM5ZUlnUWtVdkRRTS9DbmY4S2FMUU5UVGlOTWs3SmJQa3RnNGpqcWJ2MGg2ZTA3MzQ3M1o3bVVaQ0pKMTdNdkUzMzFEVUp6VHFIa2M1OGs1L1JUajUwbUlFcVJhZW1nL3MvL0lySjhQY3F5RWU4WVJCVnVkYnhsRTFtK252by8vd3YvcU1GNFN3djdkRDBYSE03YVZ2c3FGS1BQUFVmVmpoMDRnSmIxVlRTZ2FzY09qT2VlNDl6Q3dpTlJ6ZmpPeXQ4UjZHVVpqQ0ZwUERNU3BKL0x4Vjd2eHhpZEl2a1BOeWRPeTNXd04vaEpleFRlTTZQSVJoTm5od2RubHhlTXZpV0VHb2RCMENPUVdLRWdxY0pjUXJ2cUVjSWdqaGZ6OUduZ09DUWVtWTlmT3FCc1lvTXI4YlozWThiaUI4RmllQkNQTmhEQWF1dEEyQmE2MThYMW5IUWFwUnNZSlVVQVdDMXRDTWZ1K1Z5bTB6Z1llTUlCbklDR0ZtL0RFQkxIY2o4M1JCcWhOQnhSaEQ3U1MrYUpidlM0alhhUTMrK2sweWpEeENncWdMZUVQakoyaHBKUUNkODg3L3NBL0hyZVQxbFp0NHlSSmFONVpPVkRnQ0xvQ1dFNU5wclFLUXdXc2FPOWxpLysrMzg0Yjh5RjNIekdWNm5JZGZkMFJ6cm9RanNtdHhJQlRBL0YrR1J4TytjRXVxbmJFT1BPSjFLODlHYUcrbVozamhtR3dlREJneWtzTEdUVHBrM2s1T1JRVTFQRDRDRkRtRFo5T2krL05JK0tZb2VyTC9UeTRRdDhqUFI2U0Q3dnBYbUJRYnBPUng1Sy93cE5vQkpwOUZFak1FNmRRZUpIUHlkMTU3MW9lYm1JNGlMaVgvc3UrSHprM1BsL21HZk9KWG5iSDQ2S0hTR0VRTmQxcnJqaUNtcHJhN0VzaS9yNmVqd2VEOWRmZjcyYlR3dkVWNjJsL3JZN1NOWHVjUG40TkEwMG93Y2dsS2swc2JYcnFiL3REb3h3RG9ISko2RUp3U2t6WjNMNzczOVBVMU1Ua3laTjR2TExMMmZZc0dIb3V2Nit6UGNZYUI3VXZZYUg3dldReVNraVBDU0EyV0hqRDBoTTZTV1RDYUMxZWtCbE9OaUVvMkY2SThQMFJxcTBGcGFpdnlkR3BhR1F5c01rY3l0WCsxN2hqdVFIaWFvQUcrM0JuT3BkQ2pLRVIzVFI2QXlpVGViUkt2UDRVdUNmN0hHS2VUUjFMcHBJSFRCR050QUlsYzlyY1BsNVU3amhpbG1NSGxwR09PU1M0MFppS1M0NVl3TDNQcnFZLzd5NGtsU20veHB3OVdWTk8wb2lFR3lMTmZLM2JTOWo0S0U1MnNvRDNmTnBUWFJ5MjlSUFV1akpPUUpWY1FlbmY1T1d3NFJ5blphVmkxaTBkRVhQcUJZdFhVSEx5a1ZNcUo3RGhrWUh2Nm4zbTczVHErMnFFbWkrREt0MlZyRnE5UWZCN2dhWnljWVV2T0F0aEx3UW1tNW44OUdQZ0FrN0FEZGEyZ0t6d0NKVVpoSHNBaWVXUS9Vd3hmaUpnbFFhOHNNNlhsMXczVGN6aElLMmEvN3VoY0U4aXZ0dTlSejB0Sng3eXVqZUY3Si9SeHJoYXBoUnNWYTBTQk5DSGYydXR0ZGVQcnp2ZnAzanNIN0RXallzV1lTdTYwd2NOb2p4NDAvcXNkLzdJcDk2eSt2ZGNRL0hrMmdWWmNmVmVFUGx4OWQ0KzBNdXZQQkNObTNheE91dnYrNWlpRlZWZk9NYjM2QzB0SlF2Zi9uTGJOaXc0WmdjZDd2SFZSNEZtUk40Mm1HYkdoN1lXRyt5Y0dPTXFvbkZQSkI3SlovOThFdlVkeFR3K0d2VG1SR0lFR3RUTkhaQWRmRXhFTy9MZ21BeTd1QWQ3R0ZOd1VtazR2bXM2eWhoL014Y3JzeGJTeWFleFFoUzhzUkRQbzdFdGlVZDNTa3NSMUplR0dSMVRSc1ZSVUVLd2o3U0dZZjEyOXZadExPRG5ZMFJtdHJpT0dwL004TnRNaXNkQTZVTWdtYU1XWGtiT0xOb0xhZm1iR093MFlpcGd3eVhvVmZQSWpSaUZyN0txWmhsRXpDQ3ZmbTNFaW1iTGJ1N1dMdTlqYlUxN1d5cmJYL2JXTDBqNmFIVTJ6YzMzVDlsZ1VxRFRJS01neE1CcHd2c2RyRGJ3RzZCMkVJSXpRWGhCN0x1Zy9DNzc4VVdRdEdOWUpTQ1VRUkdBZWo1b0lkQkM0TG1kODFUWVdaZE51MHRCdVQ3UUIzK3YrNGhoMkRpaW15enhYMmVqVUFqNDZTNHBQaFNUaFp1SGVGeTc2VTgxYlVUais1RDlUQkY3czJEa1lmSWM3SGpnTWE3bm05VC92MWFVbHNDeEJia2d3Szd4WU4vZkp6Q1R6YlFkbWNsc1lYNSs1SmhqZ01SMld2TDkyWW85Vm5zalB0NWFtY1pIaVBFOElvOExqMXBKZ0JQcmx0Q1hiU0xwM2FXRVZNNlkvS2pOS2RNdWpLbVMrazAwSTZUb2RQY0dzWE9Id2NqdmtEenhpNElCUGw3clUxRlNRcy92MnFhaXdaTHQ5SGM2VlBHZ0ozbXV2dFc4SHlUSDN3R0RkRUVJOHJQb0hYOXVNUENtdDl4MjVMZ01YVFNHWnVHbGdpaGdCZS8xMEE2SGdyekFsU1U1ckIwVGYwaEIxamRwbWc2eVpSTmMyc00wOVR3ZVEya1ZCUVhCQ2t0RExKd3hTNDJibXNkY0xYZ0V3NUIzZUc4VUNNQXowVXJpVXVkbE9yL3lUN1FkWG85L291VW9DU0p0TVdadzRjend0ekRBNDB0NEsxQ09JZklqWkRsenZDV0ZsTWRDcUNiSnVJWTVSMTl2eUN0Z216UHZvT1ovRXJoTlR6TUhUYVpzY1ZEV2R1MGplVU5tNGdkUkkyUE9FUW80OVpBOFVHUDN5L2MzbHduR1Q0TUJBR2hIUXdsSmgvMzVtR2o4QXNOQnpqYkV6cG9IZkNEZUZQL1lRQkM0Rmd4MHBrRUdSeTYydHZZMHh6RnlXUlkvdXpEakpzeWc0bG5YdXp5a2ZiVGIrcDc5M2NKWGkxRFUzdVFFWmRjelozZmVZMVgvL3drVDcwMm1NWHJTbmx6WFFrYmR4VGcwMjFTam81SFNMUXNXYWRRYm1OVGtZaFJkOHZOeEZEWVIyQnRCRFVkUGEyam5kTktjcWNYdFRtRTZkWEpwRE5jdExrWmJjRldOcVUxbHRsUi9HaG9Rcmk1WjBmRGh4UUt5elpJMnpvZGNSOExhd2JSbm5Uemt6ZldGZEVSODVPMGRESzJnVEpzZEtIaE9Bb25tbVRVNkhKdS90U1pYRlRwSS9Ed1AybDk3QVZTdTVvUmhvNW1HcjBTSG9TbW9hUWtFK2ttT0dZazVUZmZRT3Raby9sWnkyczh0V1ErTlpFbWhLWWpkT09BRFNQMXR6Q0RDNkhRYlEwN25DUzNRS0ZzZ1JDS1RBYnlTK0hzdWJCbVBYem93cmRnbVE2RUsxS2tOUXNQQnVrK1JDYmVUY3pLMGNlWUpsM1hyOSsydW5FcnIrMWNTZHEycU00dHhkVGRuaFcxSFh1WXQzMFo0MHVHb1d2L3ZiMWg4Z045ci9HekV6c3djb3RveWVRQVVHS0NuZHFORWVqL3V0empybC9CY2NaUGozTDd1bWlhQnpJV3hyQXFndWZOd3Fnc0liMnVoc1NyeTNGYU90Qk5uU0YyUW55aWE2dHZXckoxeWpPaFFjTVdCc3ZQcWpkRGY1UEkrWmF1ZDNQbVF4SXJBWXR1ZXMrZm5YZkw4OGYwWXoybGR6a2dkMTB4aU03YmY4eWJYV24rcHBmd2FMdWlyWDRUQmFaR3ZBeENCVkc2SG5iOWd0QVhvdmlHK0FoNTBqejQxNGQ1K3JFbitlVDE1L1BWV3o3SkdTdFdNdlhsWndoaUkwVS9jVkVkUUg1Mlhoa3QvL3R6bnUyeXViOFBmc3o0TlcveTViMStESWJiN0Q2VlptR1RqYWRzTkp2MlJIQmJyUGQyTUlVRzZ6YTN1cVdlbmtPc0E5bS9hZXBiRzZnNngzWi9JVTI0T01CcDR5b1lWWjRIQW1vYXVwRlNvUmtuZUVVT1hpLzFZVjNZQ2NTcW40SFZRSEtYUmZxMWJTVFBISTJzMkliZVdRc2RxMkhLZDhHVGMwUThVazNUU0RzT2VlRXdTdFA0WGxjREszd0p2dXN2SVNSMG9zckIySDhjQ3RCaDJLL2k1SnlSQVVzZ1l3SzdSU0QyMjc0MVEyRjNDNElUYllvL2xxYnBMaDlHdmpva1NqYlY5YWpMNFpiYURNblZvSWRSc2RjUXVSOUF0ZjBGTGZjaU5MTUNSNEdJdk13blppN21xbk8reDQvL3NZTS8vdkYxWk1haVh4MnNyUFFuYzRJUUlLVkRLSmpEZHo5NUsrTUdqZUJMdDMrUG1HMGhmSDZYQ3lQYkVENFVDblBHNUZsODl0SlA4TUU1Ri9DN2Y5ME42U1M2eDRmelBzNnZQNnRnSnBlT25jcTR3VkUydjdHVUlhZk9Rbms4Tkl3WUNlb3licHA2RWhQekJYOWFzcFpHMVR1Znk1QnA1dVN1cGJyWVF0YzBsalpYc2JKak1GY05YY0tGRTFySkR6b0lBUmxIWjhPTzBSVDVFNXcydEpYaUFqZTAwVkRuWjJGaUJrT05MZHd5NkJFRzU4ZloyWlhERDdzdVl2TTcxRW9NR0U0bkpFcHBkRzZhelBuanUvbktsYS9SS0Vid3doc3pxZllIMlpFWlEwSE1SK25RaFZSVjFQT0R2MDFoL2VLVG9DaDZTR3RBWk9lbGNHRE1ZSjJkYlpKRVNnUEQvYXc5QmZQV09PeXVUL1BhQm9mcnp2SXdlNHlPd08xRkpZNEJMRTNvT2xaOUUzdSs4YjhrMTI2aTRudGZSYy9QUFNibnQ0WjdyMGNYd3hjbisvRFVGbEh3Wm9TTFZpUkpuYXhvYVlkUjY2QWw2S1ZsY2lucFQwcGtaNEw4cllDbUVFY2g1S3NMaDVrbFM3aHN5R1BrbU5HRE9pZkhqSExaa01kNHZ1NENYdHB6THJicUgwNFgxUmU3SzlzUHM3YW1obFZyVjFGUVhrVlhNc21XMWN1WlBYTU93MGFPUU5uMjBhdjMwQVQrd2p4eUtrdnhoQUtja1BlZi9OSXo0bDJWc2RCMXJ0YmJHVk1SUkZsUlBMN2grTHQ5ZUhjMUVCaDNLclJ2SlZ4Y2lDNGpQSjdPWVhYYXhCUWNFQk04UEZuWTY5V1hmN2Z5eEVON054Y1JqWmdNc2R1cDV2WFVxZXkyQnBIQnd6WnJPQzFPS1NucDY3TkphanNPU1N1RExXMlNWcHEyV0JkKzAwdDNNb3FwRzZUdERBM2RiZmhNRDlYNXBTemZ2WkZoUlpWc2E2Mm5NQWo1L2h5MnRleG02SmhUaUdkU3BPME1aclpYcWpyMEMwYlRCRisrZURBK2o4YTk4K3BCS25TUGkyVTZHWWNjbjg0WExxd21tWkhjL1ZJOVNEQU1pU01GVGpJSW11VDAwY3Y1enR3bk9IZmlDa0N4YUVNaGR5d09zMkM3RjBjSndsNkpFQXBIMHYrQmRTa1lWWjdpV3hjMkVmQzQ0K294aG9Ea2hoaHQ5emVSM0JqdjlmNTc3UzE3N1hjdEhNWTdhaFNoV2JNSW5ub3EzbEdqMFBxUk13Tk5wNkdyaVM4KzlsTlcxVy9tcHhkOW1ZTEEwYkYzY2p3SHo3ZG5Db2xYdDk3eVFCVmUzU0prSnJGVS85ZFN2WnUxNHRUVlk3MjVBczhGWitNNTh6UlMyMnJCNzhPWU5BSFZIVVcxZGFDUEhBcFNZVyt1T1NxWXoxZW5oNm43L0RkWUczZDROSDg4OTlkWmRHK3JBMDFDMENDV2R2dWZDYVdSVER0UWtrTkhWNElmM2ZKM2Z2dC9ML0RsTDEzQURkLytQcVh6WHViYXgrZHhMem5FaGI2dmZrYTVkbVUwNG1IYjFpSHNUQlFnekFaVVZ4enFkZHFOV2RSMUxRYTlGYVhNOTF5TUx1L09BYlkyeHlKRklmOWNzSWR4NHhlZ2FmQ1ArUlpKeWhDWlRKYTU4Q2o0dGNjWlR2NC90Nzl4NFB1ckZNcnI0VFBoTmlaNFBhUXRHOThuUG9ZK1lpajZTU2NoZ2tHQ3QvOFcyZHBPNnA3N01KVER0cDN0M0g3blNxeEl3cTJKSG9CaC8zRDhsNC9wL2Z2RHZOajM3VVRKbnA3T2c0ZFBvbkhheDVuL3hGY3dmRVdBd2ttdllPYUhmc2VnWVpPeU9KeU9sUHZPT1dyUTV2NHJUb1A2bVB1cUxDVFlteHAyckNMRlBsTXdiYkNiOTdpd0prNGlQVEM2WTg5RFQvWVRTQUhCNGE0T2lXL1hCMHpWN2VXZDh4b1cxNTMvSk5mTm1jZlFraVllK2RyLzR3dDNmcEdkYlNYa0JlSTRXVjcvWE4xQkNjR2oxZWZ5VXZrc3JtbWF4MmZxbjhaVTltSHdhZmJqeEVSZzVGczAvbUVRS3ExUmR2TWVsOUJXN0wvdVFET2hvUld1dUJXV1pFUDRTOWJDNzc4QmVRVnV1UnNjM0hFSGs2bzJmVXgrUDlpZkxVaEhKNTRLWWhoK3ZJYUdabXJBd05sd3lzb2cybU9vNWpkSXJQd0QzUzBwTkNYUXg3NkVkK3puQ2N3OEdmMW5QNmJyVDNjUmUrb1owQTAwcjZkdmVNdGhTTlhQdjNNSWMzMHYyNm82ekxWeUdPZC85UExlcHJpcDNuMHhXcTYvc1hkZUs2RUllQVZibE9SWlBMU05PaDlwK0dsdFdzZEpIN3lBaXROUFJhSlFtVk9vT1BzMDJpNjVpTzEvK2pQUlYrYmowZjNaY0pUYlYwL1RJSjJLSWdRWWZqL3FRTGhWcXZmTHZmMTBuK3Uwcy95czc5UlBWN3huUDkydlB2WXlUK0Vqb2d5OHBzTmxZeHY0MENrbWQ4L3JabE9ONHFsMGhwTkdsYk10YnBKcDFLbXlUYUl2THFNODJzeWdJb3N2Zml6Tms4c2RIdHRZUWNZK01FL3RnTmVQdXcwc2lTWThrQi9EZitvdldmVkxIOHJJcGVMc0tONEFSSk9tRy84OUVUWTl0a1NCRTB1aUJmM1lyUjFrYXV2d2poNkc4SG1RaVdRdkhOZFdncWhsb0dVRzNLSG85ZXEzdjc3M3YrZGhDQTlhYUFwN2sveGw5d0lBOUpKckFPRitKanowZDk5YXBVQjR6ZXkvMzFrZk8vdm5Xd0tHTHJFaUFmSkt1cmo3YzA5ejVkbWJJQVZXdDRhaHZ6M1FJb1FDQzhaV3RWRlYwc1dlNW53MDAzWjVmZzhGdnRFMEJnOGV6TXlaTTVrMGFSS1RKazNpdHR0dVkvdjI3VDNITkxUWmZQRzJGbGJWcFBqcC94UlJrS3NqUEJDWXB1RWZyNUhjTE9sNjFpRzU4UWoxRmhRdTlpY0RnckdsRnRabW01anBrT2QzOE1kU0ZBcUw5dUVDYVhyZTluZ0g1MVV3c1dRNGFTSDRmNi9keS9LR2pTak42RWZNdW8raWEzaE9uMFh3RzE5Q0M0VkkvUGx2WkY1WmhEQU1qSlBHb1ZxSG9xSnh6Q2tuRWZ6NnpjaXVDSmxYWGdPbjcrTlA3OXIxamladzVWZS9DbElpZFAzQXh4a0dWbXZyc1hFUE5RR1pET2FvVWVUKzlFZDRaODhFS1luZGNUZnhCeC9BM3I0Ymxjd2dUQjJ0SkJjdHJ3U1JuNGRxYW5aN2pBamhjaGNMNFM3b0l6QTNsRzFqbEJhUldiQ0VtdWtYTS8yVlI5allVTWNaazZkUnM2TVcwelN4TEF2THNqQk5rejFOVFV3WU5JVG5YMXZBNlFzZlpkZEhQay95eVpjd1NncFJqdXlYTWYvdVE5VzAzdlliNW5mYS9FMGJ3cU43TEJMMWJmaE1oVlhpeDlZRXNTd1B0eTJBUWZuNFBCcjMvZmtsSHY3SDYzenloalA0NnMyM01HWFZZcjcxL0t2OGdpS1N3b2V1Wks5YVV0ZnFkWDFBcjVhazI4ckRyeWVRU3V2SkJaVG9qQSt2cFRsVlRxZFZjTkE1Z2xJcWFtcTZpY1VzY25KTWFtdmRMSnA0M09MMTF4dHBhSWk3TldySGtUaEFyaVk1eHgvbnc2RW9RMUpKWG4waHlmMVBwWGh6dlVWMzlMMnZKeWNvdUhpdWwrc3ZOUmt6b1lBM21NTjlMUmV4SkhZU1hUS0g5ME5oYS9QWER0OWZGRUtnTWpib0N2L011Y2dTQzdPd0hHZGJoT1RDbDBFS2hPbldzdmFidFdZN0pGTVpRa0UvaVlRTE1BUUNYdUx4SkI2UGExTWtrMm1DQi9qY2IzckltemlPd3JLOFk5WTF5UFhybkR6WVQ0NVhZMmQ3QnRNUWVBeU5lTWJCa1lxRXBRaDZOQ1pWK2ZDYmdoM3RGc1U1QmljUDFuZ2xKZWxLT3Y5VjkxZGx5VW10ZElwSVd5TUYxWk5vM3JLSDlTc1MrRU9TUkV6RFVYN0tSNTlHSUp5SGJWbXV2dHNUNWVmM2I4RjJUbkF5SEFGancrV1BqVFhSMmJvS3J6Y2ZUV2tvSjBsbjJ4YjhnU0o4Z1VLVWt0bTYrZjZYUnN2TEhzdkgxRUFFcldlL0ZLeE1oS2t5VTVTWjZYNzl2ZXZ2dUxRUGV0VzF4eDFia2t6YmVEMXVMbFk2YmVQekdSaUcxb3ZYL2ZEa3NTT0cyK3kxWWt3cGFRcWExSGI3R1NJRmJicGtaOXR1NWpkdDQ1d1JIaFNTdzIrZHF6QTlRZkxMSm1KNGNtamZPWmpZbm1kSWQrMm1PMmJoTlhYOFBoMmYzTTN1N2Uwc1dPNURhS0JrSG5ZV1d6ZjJLRFRSZ3BRdGVHY2s4YzF4OHduU0dVbmFjckJ0QjI5dU5jSHFpeWthZWc3QjNLRm8rbHZKTHZwSjh4Mm9SbGlBWjRTTk9jZ2w4dlNNc0xIcWpRTWVSeiswSlhFYytOQ1pIdjcxcXhDL3VpK0ZaU3NlL2swT3AwMUo4Ym1meHVtTUtMNzB5d1EvK1V1Sy8vMjhuMGQrbDhQdTdaTFAvVHJHSHhZMDhNZGtNN2NFS2pqZG05dVRBejFnKzhKYnRqM0hBU20wM3JtQlBRdkx5ZVlHaUo0OTVGM3IzcFZDK0h5WTU1MkJNWHdvKzRKdEd2YjJIVmd2TGtBbGs0ZVVoeGlXcVhlM3laWGlLOS84T3dBaEo0VW1EdHlUelJhQ1BKbk9JamhIejZxeGJjblNkYzNzMkJOaFIzMFVXMHJhT2xPdTF5TDJjcUJJaGhWME03bWlpWWJ1SEpiVVZhRVU2Sm9pWXpzMHRpV3kzQ2xRdXlmS25ZOXNvSzA3aldVZnVsSTRsTGpFVVpHM3hDWGVGWE5JcDltMGFSTmRYVjJVbDVlVFNDU29xYWxoMnJUcENLRjQrZVVkUFB4d1BZV0ZIcEpKaFNjTDZWZ1o4UGtFSFIwWnJycXFqSnR2cnNCeEpEVTFOVGlPUXlBUW9MV3RqVTJiTmpGeDRrUThua1BuOG9za0ZBdlhXelMwU3pic2N2akUyVFpmcXN3d0xwamszc1lTWG8vbXVMRkxzYSt2VzF1aW0rZTJMR2RYWndzYkpwN0dSeWZNb2ZyNkc4bVpmUnFra3YyakpWNWVlRVFmcHhTUWx4SlVkTHVNd3lyTExkbHNTNW9jaVNiMmNUOE1MNEJjcnhzUDNYdWw4dzd3bllWZitRcEdVUm4xMzd3SnIwb1N2OVFnb3pkUTZQOE9WZC8vWHh5bHlCT0NuLzcxci96MW9vdTQ0YnJyWUs4ZUdtQTh4aWk1NkM1TXI0ZGtSUlYyZlJNWUVpTmd1b3BlZ3kvLzlsV01qRXZFWS8vMlZUQTBKQXFqSkl4dFMvNTIyN1A4N1crdlVqeWtuSFJuTVRFN0Nyb0xka2pIeTdUOHJmeG83SGFXQnM2Z1h0ck1uajBGdnhLVXpEeURwQkE4OS9vNnpJNkYvS0o2QVovZE01WE56aUEwTXYxYi9xN0E2N1VwcTFwTzB6UDVWS0lUT0syQ3poM3o4UTJTR0J1Nk1FeWIrdUZKdklXTmVIenFSQWVxOXdEUzgvUHoyYlJ4SThOSGowYlpGc0l3OFpSWFlwYVZvNGRDbUtYbGFINC95blpRNlJSR2ZnRjZiaDZleW1wRWF5dlN0ckVjaSswdE95bnc1N3BrSHYwdzRkM1lyMksyR2VTandUTHV6Q3ZySVQveStRU0R5eldxeTNTY2NzSHJuUnJGWHQwMU9zVGI1NHpTb2ExVDRsUkxKcDBqcVd0eTJOVW9TYVpVejNkK3RLdUoyV1lRNnlDMzdZRmFiM3R2bXlaQVpnU2J0dTNpaktrbnd3dVRJYWNTcG53YndpTmc3bzlZLzllWElTM1FRdENmYnJNUUVNeVN5R2dDRENHd3BPU0pSQnhMS2V6c29scVpTYlBPeW1BcFJValRlcFJxVUdpSUU4SGVRN1R3d1k0WmVLc3lCR1lrU05UNmtRa05wMXVuN2FrQ2h2eWdqdmo2QUczUEZpSjBOVEQ3aVlMNmpneXZiT2hpK3RBY3pwdVl6L0JTSDV2cUV4VG1HRlRtZTZrdThoMVNVOGQ5OFExQlFjak1HcCtIUHZpd3I0OWtIMHFSYU45TnNtNEY4ZVp0QUFSTFJ4Q3Fta2FnYUJESDY0UlZTcm1ORDV3bzI5NzRPV05uZlo2UDMvQTVBTjU0OWovY2VzTVZmUEk3ditPa3FTZmpPRGJHT3pRSDkzN2czT1BxdWd0bS9ndWRJWFFWajBDMXRnS2RHTG9IUjdvTytNM2ZXY2JYMHY4RFFPbzd5N0pPSEJoR0RyWXRlZkQyRjNqbzlvWGtqYWpDYnA5RHpJbXlmeXJUVDM2eWFLOXB0WjhUTG5DY05OZGROd1dBKys1YmhXbjZzQ3g1S0VzTUtRUzZraXhNNXBLMkZhYXdjWTR4Q0h6MmtLMkhEcEJvZ0xiZjJoYnVYdWcxTEtaWDE1N1E4ZjJ5VDJoczI5WE5xZzF0Z0dMSDdrNEMvaEY4NnM2UGMvZW5IK0tNQ2R0UXh3S0dMdHphZ0pJaEhwNytaUmZON1JiMy9MQWNsWkk5VFhwVlNtSlo4TXUvZGJCc1U0YWJQbHBDeTA2T1dLSlkyRlpNaThyRGNoRVVNRFhxRUxZVmtST0VJQWNIbnVwQVJtQk1kc0Y5Ni9rQStCVURVZ24vUGpSQWhXbVNkOG01ZU1wTDZIcm1aYUlMWGlkVDE0QnlKRUxYanJGSHJyQ1ZRNDRSUUtCeCs3YS9jVXJCWks2dXZnUUhoUzVCSWdsb1htWmYrZWw5d0kxMEVBZ2NvVENBZVMydjgzL2Ivc2FRUUJVS2lhMmNFK3ZwR0pTbGM2N0E5SHFnb29xTDZ4ZndjVU5oZWt3Y1N5R2xJdlNqVjRtbUVnQU0vOUYzZUNtUlFVc0pkSitHRlhQby9PRmo3TG85U0dKSU9lbk9ickFzMExWOXVzT1JpSEFPOVgrNkczWGJMOUIvY1JiaGhrWFUzdmNRTTIvNEZLT2VmNHl0UzNlZ24zM1JRV0VQZi81bG1KWHJiRmF0czZpcHRlbUt5R3g5NHI3NVpSZ2F1dTRTYUtadGg3OHJpMHQzTnhEYnNweC9vUEhVSGIvRkRPZHdZMDRKRTBlUEpWMjdrVlBHVDZSeWN5M1dIKzVGYnQ1RzlkOXVkLzBmMDR1VUV1bTRMUEJhTmhZaUFJU08wSElSM2luZ25aTGwvdjVkci9HR3prZ2NWL09oNm9NZk9PN250Q0VVdHRTUWxzSFpwZTM4YWN4MlJ1YW1jRElDM1ZUc3FnM3k1VHMvUkU2MWdjOFV4Qk1lRXJFME1wWjBtZE84R25oMVBENUpoZ3czM25ZaFowemNUV1ZwRE1jU2ZHTmtQVmVVdHZQWlRjTjV1YmtRREFkRGs5anFoRDNSR3drVWJ0Y0UwbGwvekFGbG9hVlg0VEFkdzlBUi9pcWNuVFhJZFNzSWJOK0lkWVVYVzBvOEUyZWpFbEdNbFMraFpSSlp1K0M5OVlQMm5vMSszT0N5S0N4eW83TUgvQklkVVZDQVZsWkdmeWR0czJWanI1Y1hUaXcrcHAvaUw5N25NeFFwS1NvT00zZHFLU3UydkVRb1VJaSt2SWFOcTM1RmFkVWVSazh1Wm9XeGsyaStqZG9XUlNaMGZDZE5vYUtsbXZhT2Y3SGw4VWVJZFhZei9PelpEQzBkeHRQTEgrZVVTZWRRWEpSTFEyZlVUZTRieUl0WXNBQjI3ejcwODNidmRzKzk5dHArY1JNRUxsNy9zeFh3KzAwd3ZnZ3lDbFkxQVRib25yZm5qUi9NZmZuSnlyZkJPZWdDbkF4Y045WjlmZDhtTUwxZ0hZYi9mRnJ4RXNwOHpUelhlQTZMV21ieVB5UC95dXppTjZrS05MQTdWblhncGE5QTF4ek9LSHVkcjQ2N2c5bmlkZUtQS0hZOTVzZHFFWWdETkc5UkVzeFNSZUdITWdRdkZieXU1bkxiOHMrem9IbE9OckI3d3RjTUdmQ0pLbzNQRHRJWjVEL0lkYU1ndFNaTzVKOXRwRGNsM1VsMlloc2VjQ201Nkc1TXIwbXFvZ3JySGVOb3B3SUhqcVBkZDl1ejNOY3JqaFlEQVYvKzVDeStmTjFNQnMzOURmRkk2aDJKMzEyb3dDV29DT2Q0cVh2dEZtNi8vMDIrK3NPbjM5T05VRUI3VjVxRm5hMVlHWWM5YlVsOEh2Mm9rZTBQdEpnbHJtSzBXbzRNMXFBVVpIYnFwRGNiT04wQ2E3ZU9YaVRCNlUyeXFwVExmV28zdXVNNkFSRzhqMFRUanI4eEs0WG05OUg4aDN2d0RodE02VmMrRGNKTDNaZS9UM3JIYnJSUThPMkUyRWRycUxaOER4MG53ZExSUlpvNUk3Ynh6emRIZ2NqdzY4Zm5aSlZuQm8rZVlzNkliZHk5NENSSSs1R213OEUyQys4UEhhRUVOTFpFYWUySTgvajh6ZVFFUFRTMlJ1bnVTa0xBYzFRTEpaVlVCSUlHczA0clpkbmFUcnE3TWdoRDlCUnc2ZG1raVV4R0VvbmFQZE5DWmNtOElwcUZYNE52RHJGWUhvTk9TK05iZ3kzbVZ0ajhkUmZvZUNnMUJRNlN0QlJvUXBGcndEQy9ZbXhBVXBzVS9IaUhGNlVFUVVOUjRsRzlHaU1ldnFFdVhBSUlKWW1zZnhRbjJVNWcwQ3dTT3hkaUo5b1F1djMyT2E1cENLRXd3eVhrejdnUllmaXl5YnRpd1BGNlRRZ2NLZG0ycDUwSG4xL0o5dnAycmo1bkVtZFBIMG5RZitTYUpoOXY1UzBSUE53bVI3SklDcVpVNWZIbXpST3ByaXJveVR0b2JJM3l6ZGV2b3IwcnlaVlNvK1dOVzhrSmVudk9mK1NadFZ6eHVRY1lPV2tvbjdqcWt6dzBwcFNIQU51UkdMckdFNjlzNGU1L0wrZlVpVVA0M0ljdjV0Sy82VFN2a1ppZUdSU00vUUEvdTJzaEcyc2luRFZyTFovLzJBdysvN0VaT0k1RXo4WTd4QjgrZGxCS1lpKzVvTlBXaHZBSDBJSUJrQktsdVhsT0pVR2RBcitmaWh5VE5VMHBsdTVKMGhLMzhXZ0NReGZJRTNtRTd2ME9URGgwYklSc2s3V1VteGVvaEk1d29veU1aYUM0blBuNWEvbGt2UmU1RjFQelQzQlZ3bUdOY0gydlYxV1ZoWWQvcmNJTllnZURmalJObzdHMURYU2Q4dHhjakdBQVQxVVZRamZkeEpMRG5SOWJkeC8rK0xLcU9HREJkVnNFbzdzaGFjQmRZeFNQRFZlRXdnSlJrQXNlRDdyWHpVSTNxOHIySVNiOW9YUGY0eXVFQm5nRkRWdTkxTHpteDdFVlNUUTZsQTl2b1dMcWVRN2hzRVJsamxWM1c0QW1pQ1JMNklxRTJOV2NKQ1Z5U2VVV2taa3dEbTJDUTJIMUNqWjBkaExzQm8rL0RQUTRPYjVXOWpGRTlrRml6Y2VWZnNpLzh1SSt6dVo5czhEVE9SUk45K0VQanpnUVNuZ3NRVTRZZVhrb3g4RnFhMGZ6ZWRFQy9pTXlOZkVwOUVFT0l0Y2xNbEVwdDRtSHlGZG9JWVVURllnOGlUQkJCRlNmcjFTaHNzcGN4M0J5Q0tSS0tPd2VRblhMQ0NLaGFwWnkvbitaZnRnbnR0UjU2STNUdWY2MGVadzhiQ3QvWHpJWFIycWNQVzROeTNhTTVKNEY1NUd5VFJDS0krbVNLTUFSaXZtYng3QzlwWVNtU0JnbEZFcSt0NDhtcFd1ek4wWEMvUERKUzluVlVZQWoxR0d2dnY0bzhGWktZVHRINWdaK2VYVU04N1NQa0t5c0pGcmZ5b2QxaGVuMTRFaUZWSXFsZmc4cmYzeUhlMjArUDlmLzlJdG9RcURyR3BidDBOUVo1ZWZMV2lnZWVocnBEMDhrbmNxZ0tlbFdHU2lGWnVna0k5MlVmZVZPaXRHeFBhOFMzN3FEbEhMSTMxUkhjZEttMmZNVW1ScytpNmV3REpXMjMzVWhESFJkQWdoTVlHdGpON1AvMk1sdG84dEp0bS9GOFJpTXFCekc5RHNqWEZzWnhRRHNmbTZMNWpVMFJoVDVtVDAwbDEwZEtlWnY2M3JQYzNSTk1LVXl4T0FDSDRZR0c1b1NwT3pEbjRNTlhlbURtSi9RSE1tNFpNN3E3YXZSa1lyV3FFVkRkNXJqRU4wYVVGa3dlc2t4UGI1aDd4ZFlWVURLMGFnSUpuaDg5a3ArdG5rNGorMHNCOE5kRzFLNWhBeWE0YUFaRGhzN2N2bllLOVA1OWZDaC9MWnVNemsvVitSZDY2NkZwcC82cVZFQnZsSTFtcFhiaThDVUdONE1FdnFleTdKalI5L0F3VlFLb3RIZU9XRkt1ZTl0M3c0KzMxSEpGWlhLalQrUENGbml1aUVSUm9RczlkQ3VzSHFwS1VpM3JRbFR3ZlRkTHR2aTgrTjhMZ2ZxQUlRa1l6Kzc0K0FNQ0ptRmRFWHY5KzFOMjhBNlFBTjB5eWI5OUR5YzdidmVkczRCditzZ0plL3NQakJRN2s5K0xPSDU1OTM1Ty9vc2IrOHd3ekhnV25oMW5YWWh1SUlFWDhURGFlaDhKY3RHTzRrZ0MzRzRYV1I0bEFDRDlJRnZoQ3dUU2JxZmVSV3JzZTNRMTRzUTJCM2RkRCs5Z1BBRmN6Q0s4dnR0elMwS2p1YUVES0JFVjc5ZEhRaFhoM2JhbXF2SXJONStlNDhuTDhCcktQTHkzSDhYNTJsMFI4RUlTbUl4Nkl5NGFiNGMwRTUwbTlGMlJrUzJtZC9oelJlbEJMcm0wTkl4amcwTnBmemcvQkpjYW80REZBb0Qwa25UMmJRRTJ6dUlrQ2NIVXpOSTJnbHNsU0cvYkNhYTRUczR4L1lkcFhkSDRrY1cxNzFGUlFrbURzN2wycm1EQ1FkTTJtTVpubDdSU0VObnN0Y3hjOGNWY2N2Rm84Z0xtZ1A2K04vU1A1blNpKzVHOTVna3lpc1A2Rjk4NWJldlltYjlDMnV2ZjZFT2tLOHh0SUowUjIvL1F0UGNtcURobzBMRUkxdm9xbDNLa0xPdllmRFE1NmlVR1dMZFovRFlvLzltMitZbG9CY2duWUZ0TnVjb2gzVTFTeW5LcjhKTzFoS1VXNUNKV3JidDJZeGxwZGhldDVIU2dpbzhucVBmYkU0STBHeUhRVVZCOUtvcUtydEE2U014OURCYUY2aUthaXFMUW1pN2JXU1dzS3EvTVlaOG9mTXBYeUhibkF6TjBzWkFjSk92a1BHNnR5ZnVwWUNmTkpZemYwc0EvWWprYWV3NWZNd0VSYkZtOFBsZ0lXZllRZjc2Y2ljZldSbmgyaXQ4Zk9aS1AxV2xHdnZnREFFaXV3OHJHNW5aQWVudDBQazRZYU9RbWY3eHpDeVp4UmNHbmNaTzY0TzgyZG5LSzAzcmViTmxJenRpVGFUdGROOG5nR1ZobEZlUjgrSHJTTDM1T2lMZ0o3bkVKZUpGU1h4VFo1SjhZd0ZDMXluNnllMllWWU5CU2F6ZE80ais4NjhrMzNnRjRmUDNpYnZoZUszTFBUU2NUOUVVdGFrSW03MmFYcWgzc1BNYkloWmxPUWFHZGhRUlRLVWdGSUlMTG9DMk52ZjFtV2Z1KzJ6YU5DZ3BnZWVleXpLQ2kzN1NDNGVIY095MU1jSTU3bjU3VWttQXVOR0ZadXBNS0hHeDlYQ09ENVRtRW91ZGlNK2VrQk55V090QVpmR2d2Y1J3U3NHaXRaMnNybkhiL3kzWjBNV2NpZm05VklJOGl1blJTa2pNVEFDVjBWQjJnbWhWRVRNZi96ZjFYWXVSMG1iNjcyOWd5NWVYMGRLMUhHMVhQU0dqSDhueVIxelFKOHdIcGFodlNiSG90ZDA5T1dCYWcyRE8zRUdVVi91UVF0Q2YyOFR4bHIrVGYwWGY2d2FGMEhwSXJ2Zi9ONEJFb2FQMWtMS3BQbTRjaDMxK2RpNGdKWWw1ODBEWHNldGNYOURKcE1GeENKeDdMcjBMUmZzQnh6bVlSQ1lGOGgzeVV3VnU3TktSNnJnam9UOW1SSGNiMkNuSFJpOHZvZmd2dnlEbkU1ZlQvczJmazE2OEVobU4wM3pERndsKzZFSUE0bzgvaHhZTWcyWGhtWFlTaFQvL0pyN1RUOG02R2paQ045NjVCdkg5dnRkcCszSE5DWEZjOHo0b1I5SzlhQlVkTHk5Mmlmd1BhdEc3cFA4ZEx5K20rL1ZWRkgvd0xJUngrSE5oK3c5K2NIaXFEUEFKd1V2SkpFVU5EWXp4KzNHU1NWQUtRMG8yTnpUdytpOS95YmwrUHltbCtwM3U0K0RuaTBJcnN0R0haSkFkT2lxbWtYZnZUaUszVkdHdGRuRWNjM0tDdkh0M0V2dFpHYkpEUngrYVFWdHY0OVI1anJpZklYV05nQk5ueS9peDdMNXdKbWY4OEU0Q1NpZWVGeUpRV1FaS0VROEh5WW1rU0dLeCtKUG5NK2k1SlV4OGN5VUpQUWV0ai9rVzAzWXVocldiYUh6ME9Ub1h1MFdVK2FkT3BmeXlDMkRLZVBlZzFSdG8rczhMZEN4ZUFRSUtUcGxLMlZYbnc3UnhXU0J0TGJROWpkTzExTFYzOGs0bWY4SUh3SmhFNFF6Z3FvMDBQZklpSFV0V2dIcVA3d2Z5WjA2bC9Jb0xZZEpZOFBWdURCN1B4TGo0cEErUjU4K25POW5GZ3EzenlBOFUwSkhvNEhPbmZRbUFPMTc3SFdGZkdLa2t0clR4bTM1QThNS21aMWl5NDNVK01mTkdycDl4SS9xeHFGT1ZJTSt3dVRpdm0rdUsyeG1TakRMdjZRUVBQWnRpeFNhYlJGTHR0OWRMYW10cmVmREJCMW0rZkRuZi92YTN1ZU9PTzlpd2NSTmRYYTJjUGwzblk1ZDRPV2VLbDl3OVhqcGY4QkJaWWVCMHV2YkdJWFAvQzVmTVc4dlBKM1Q3cnpBbW4wVDhhOStGYUJTdHVwTHdrLzlFSHpFYzYvV2pGK01YUXFEck9zT0hENmVrcElUS3lrcnV1ZWNlcnJubUdxcXJxOTJZWmpKRi9mMy9JRld6RGVIMzc4TklWSmJVVzRCdWFDaDA0alhiYWI3Lzd3d1pNeExONzZlOHZKeGJiNzJWVjE1NWhSdHZ2SkhxNm1weWNuSjZmdnY5SmtjaTN3aWxTSHBNak8vL25LR1pidWpXWGQ1NHYwUEttMHZ5ZXk5a25hdER5d3NWQjMyY20rODRWRy9pT3QvenZKU1p4aGE3bXFjenA2S2hHR3Zzb3RtcDVKSFVHZXh3eWdpS0ZEOE8zc3N2RWgvbFFIbXRSOFRFMUFSbnpSekQxMjQ4bDRtanEzb1Ixb2VEUGlwS2Npbk1DOUVWU2ZEQ29nMjltdnYxR1ljK0xIaFNvV2s2amNrT2J0djhKSEVuVFZHb2xKaVZvaTBUUWRPMExCbTlRTzdsdkR5S29nbElPNHE1cGZDUG45MER3SzJmZE5mNXIvOGE0ZEVINytIcTM4MWg1UjVGME5NdnZlN2VqcWZ1TlgwOUNsRmVpaExsKzgwekJkSUd4MEdxNDlzM1VJQWhOSFkzMnBCdlkxUWxPTytUYVlKaEU1Vnk5eW5wWlBFckszdE9TaUVkZ1o0dnFSaGpzK2NOOEI3RWxQbkoxNjU0ejJPS25BemxUdnJvNEYrblBORHJwY2ZvWXdhaGdLU2RadnUybXF4dkw5bTJiU3ZqeDQvRE5NMCtOSURwbzlJOUlTZmtmU2lpQjRlRTFibnVxek5iOTJuMUU0amFvZXpCQ3RJd2U3VE5iejNOckUyT1lXZlJNRjZ2Q1ZIYlVjVlQybVdNa1grbnBEaE9kUVZnSDAzMW8vYjlOMlpqaHd3Q004SzByU3RsdEd4amFIRVhiYmwrR0phUFl5dFVVeHE1T2ViaXZ5ZHcxdVBEVHNseWtjUVNGdHZydTNscGFSM1NrWXlvenFNamt1TDFOWTJzM2RaT1czZlNyWU1SQWlGY0xFeEtBK1VZQkQxeFRnNXZZVzdCR3ViazFERGNXNC9QcitFVVRNWVlmREwrWWJQd1YwM0JMQm1IMFBibFFIUkVVbXpaM2NYR0hSMnMyOWJPMW0xdGJLbnJZbGRySENkbG4zZzRSMWllVFJZZXRGNUkyaWtzbVVFVHZlMTB2MUhJNWVFelFialAyUXlmeWJPcGgwamFDV0Rmc1ZKSlRNMlAzL0FkZ29IMURubjFtc0lveXVDSjZ2akd4cEVKSGJNOGcvQkl6Skkwd2llUHV6M0tiZlNrTVRvYzU3eUtObjY5YVNUdEtaaFdWczVuVGptVEQ0eVpDTURRL0FMdWZQTVZWdXlxeGUvVHVHcElBeTgyRkxHc3RRQWxCdmk2QldBcGlvczF0ckdlaVpXWEV0NitFWlNOMGd4KzhXSXJyOVM4d0tKYlRzZjB1WmhVUzNzblUzNjVpSVl1RDJiWXhFcW1DQVNyMEdaZXc1Ty9YVVk4ZHl5WTRyQ01pb3pWT3puUGRsSnNxbTJqcnFtYnpiVnRUQmhWUWlqZ0FRUTc5blRSdGpETzh2VU5wRE4yeis5WnRrVHR0M2NwcWJCczJldTd1eUlwTm01dlpYZGpONXUydHpKMlJBbEJ2NXZUdXF1K2krYTJHR3MyTjVPMjdENGJSNGFRNU9rV2JiYm5iZXRFQUVWR21nL243dUtxUExkWmZMR1I0bC9kZzZtM0FnZjg2U0lqVFpkallxdEQ5OEVHRWpmclFRQ0VSc3lYQTQ3R0dLZVdrMXFmNWZhV2wrRFVFc2c3aDZpbWNjaFZ5a0tnKzMzb2Z0OEpKWDhFL1lXREVaL2g1ZXFKNTNEcDZEazhYL01tTzdzYVNOdVpBZm10Q3owNWgyVDU3bytBSHF3NXV6Y1BadSs1aHpLK0g4U2IrdTBaT0k1RU9VbFM4VTZNVUFuZGNRc0xneWx6NXJCbmV3MGJWeTNscE5NLzBLK3haMXNMN3ZzM0FneEpZMmNKbDk3NlViUndoS0s4RkMwZGZraDVRRmVrc3YwVk12dmY2R3c4SmxwVXhKU2RGdm5CZnNRQkQzU3RBandJTnNzRXRhUzUvckpXOHBibHMzNkRuOTBxaGwvVEdTYTkrTjlZVDluYVRiUTVUU3dVYWZTOWpWK1BpczB1d0hDb3FTdkhkblF1UEdrcmIyeXBkdmNMeldGaHpXQjJOSlFnREFkTjAzRVNhZEFFVjEwMmd4cytPSVVaTGJ1SS9lUlJXaGNzUXlhVGFGNXY3MGt1QkVMVGNPSUpsQzZvdU9vU3dwKzhuQmNITy95bDVpRmUzYkdNdUpWQ0dDWWcrb2M3VW9PQUQxSnBDQVhaMTEvakNON2c0bS84Ni9DZlNTYUozVmFIMCtybVErbkYxUmhGMVFoUEh6ZzFmaittWDYvUFozZ3BEUlhpMFEzaW1aUmI0NkliRkFSeWlXZVNkS2ZqRlBqRC85Vys4T0hpSkVJSU1zbG0wSUpBZ1BrYjF3Snc5WlRKU00wbWsyekc0eS9ONW5UMmo4NDkzdm9WSEcvODlFcUFDUG54amh5QzA5Qks3cWV1SUhUWjJXaTVPVGpON1FpL2wvU3F6U2pid2Q3VGhMY3p3dFJVdXpiTWl1YWRuR3E5OE9uUW9NbkwvQ1ZQeFlUM3ZsU3FhelZDenpEcno0bzMvcWRQMXBWU0NqM2JqOHB4OXNZVmo1NkhHOXR4Qm9FUGVCaGRXY2t0OWEzOFB4MU1yOW5ETnhJS3ZJYitVN2NPK0tMZ3pleitZNllYMzBobng2UDRhbkxRSjFZUUd0U05TR2RjbnBjQkFqNUxMN29MdytzaC9hNzh6WWZ1eHpoU0lUdzZTMnU3V2JvVk5CTXc5YmZsY1NzRm10Zklicm4vUFRpcEFEeUd6cGtUcXZDWjd2cXVMQWhoNnRxSkVGdGY3ZGlEMnQ5czJIUUhuVnUySUF5Rm5qOFdqOXhDKzhNdlVmejFJU1IyYmNMclcwbklkd2RNL0ZvV3F4VURlQmtDS1NXREJ3L21jNS83SEY2UGh6LzgvdmM4WGx2TEdpdkpyNFBsVERiOGRDZ2JEWUdtZ1IwVkZIODRUV2lxaGQyZ0lSTUNkTkJEcXRkMm9PY283RzZCY2lEdnJBd3REM2tIakdOYng4MnBkL1FnUG1uem5hWW4rVUR0ZldRc1owQnlQczdvenoxWmFKQkpNbmZtMlp3eGVTYmJHM2F4ZGZjMmxNZUwyaitmWGtueWN3dVlPSHdjUlhtRkRLMFl4T09MbmtlWUpzNzdQQUo0dzRRTEdUOXlOSXlVTkZjTXhod3pocFRqRUpneUZlOUpKMUZjUFlqekhJZUc5bHkxWXFjSFMrMUxRVENpVFZRRWRsUFg0Q0Nsem10dDQvQTczWHlvWWhsNUlkblQyaWVaMFZnWEg4YlU4anBLdys1ZTZVaU5OK3ZMMkpVc29kTGZ6cnlPYVZSRW0wbDNSOWdlbW9udENSMUJuRTY1Zk1RSmpaL2MralNYVG0zakIwK2V5bitpWHdkZDR5L25mSkVITm4rQ1RWdS93VW5oQ3BvMkxxTFZxR2ZhaFExc1dEV0xsSFdRcWtSbUxSa05QQnA4K253UGY1MlhZVzJOZ3pUZHo0VUJRa0pOaTJUWHl4azJiTE81ZUk2WGowMUxNNWg2MEh4WW1oZGRTVTVFcDk5N1QxYTQ5L29yWnd0T0gyUlFNei9HaEE2YjBZRXgxSlNCVlFGR2s4THdiY096TzAxcXZFbjl0UkQ2ZjJDbU9TclVsaDQ5dy9sVkwxQVdPRFRNckN6UXhQbFZML0JxNCtuWXR0RS85N0NQT2RlT2RHaHJhV05yb29NUGxQdkowZjNjdGFHWjBhMnREQjQyRk4wd2p0cjhVSTZrczdhT3hwVWJpYmUwbjFndzcwT1paNVM4TTY0QkNFMXdZWW1YOGcrZlIvTFJ1MUVaU2NtMFM4aHMzZ1ZqQzRuZS95cUZvK1lRbUpIUHV2K3M0V1V6RDYrU0E4WWIvL2NYZHAxNGFPOGhLZVdud2FrZ3FmeHNGOE54ME9pU3VYVEpmQ3o2eHIramdLU1ZvcUc3bGUzdDlaU0VDcWpLTHlYUEgyTGxuaTNFMGtta2RKQklxdkpMS2MwcDRNMmQ2L0hvSmlVNWVTUXlhV3pIUmlwRmR6SkdjU2lQaHU0MkRPMHc5WnlBcHM0MFg3cDNDNFltMk5tU29qY3VMZGpWbXVMemQyM0dkaVF0WFVuUUZGWWlDSnJrOU5ITCtjN2NKemgzNGdwQXNXaERJWGNzRHJOZ3V4ZEhDY0plaVJESzVVMFpvSDNPNjVGODY4SW14cGFuY0tUb3VTNlZVVVRtZDlEK3p4YnN0Z3p2V1dpOVg5OEFMUnpHTzJvVW9WbXpDSjU2S3Q1Um85QkNvZmY5M1AvcDlMOGY5TVFSU0tZWDFhS0xmZHBLRjVLenk5ZVRheWF5dWV2OSs5QnZmcmZIRjQyUi92ZFRhQlZsZUM0OEc5blNpclZ3TWRhQzE1R05UU2pieGw2NXpzV1U3S09USTFWMC9wMllwbzR6WkJpSnBYV2diQXkvQjBmcEtLbjR3czlmUmsrN3RiNzIvNzBLcG83UUJIcHBtRWgzaXY5M3k4UDg4dGU1NUZTV2tPcW9JUDYyK2hsQTAwaWw0a3dMcnFZME1KZ2xyU2w4cGlDU2lETlkxWUNWY0oyRVBqd2JsMUhOb3AxcXZuQkhSL2JkUVFneTJaM3ZCRTUrTURqNVAxNnBmU2VrR3VIMWNla3Brb2tvWk1ZQzJ3R2hveExKYk8yejV2WTBTV2ZRUERvZEhUSCt0V2szcWM3SWdQWFIrbUQ1T2U5ci9hZFFhRUpES2NYT3VwME1IVFFVVDZDTWprUTU1ZDR3UWdpYVl4NTBYeWtBeTlhK3llaGhZd21Id2owY0cwZlRIOVdFVzNza2RYaDJsN3UrcjVzbzBLVExQM3VzZVBTTzZzMU5VUlRVR1ZucTdmbjM5b1N6bnpvVDZQMTBXNTFFc24vdXRRR2hjUzZIVzNTakYzVWk1YllmOEZSd1VqQnVNbnovMDNER1RlNzczLyswKzU3VHVVOWxIK3h4NzduZVZWODBCYUFTdERYdllOa213YmhpRDBMRTJOaVNZZVlFeUNzY0ExbzR1M3YwMHdSV0NpVUVNcGxpMDBQMzB4cGJUYXBOUnlZcVFJZWN0Z2pHaW1jWk4rZGs4czQ1azRLOFBNd2hnK24rMndQSVNBUXRHRUE1UjY0cldmN2xCOThmeHM0R0dReHhlSmhRWDgvdk1ROE9wRmdsS0Z0QXJrVDRYRTRjb1lFWFdOZ20rVTh5VFcxdUJiTktKcFBuODVGT0pIajZpYWVZZStvc3R4N2M0eVYzeUZEQ1E0WVNyaDdFbGovY1FmTXpEK0lKZUJBSW5FeUNlRktqZU80NXlJeE5iT1ZLZE10NnozalYzbjY2NzQ1WEgwby8zU2dvbmFIaE50YlhtM3cwNE9NcmM3ZXdjbmNPLzZpcXBtYjR5ZXhPZFpDWU14RXVLS0owN2ZOYzNud1BNNGJHc1hKR3NyRWh4YkRjVGphM2xxQVoxdHR3aklHdkg5ZEFaVml4b3hETzhwSjJrdnhxUmpFeG9mR2ZDVHNoNUdIWlUwV2dNbkNpRzhPeEpRTE1zaUtFRUxUKzMvMmtWbThpT0hjR2VtRWVlbDRZdTcycjU5RGFTSUM3Vm8waUdSeG9iMk5kcjFjdlBML3d2K0JCdUlUOU1ySVFvZWVBNXVaK2F6bW43SHRRMmZkazVEVzA4Rnoya2Z6MzF6WjM4QnV6cHJuNjJPb0tjdDVwNjNud1M0OVRYSkhBNnRiUU5JV2h2d08zbVFETDB2RG4yNXcvZVR2M1BERUx6V3NoblVPYlVRVUZCVnh6elRYTW1qV0xUQ2FEeCtQaHpEUFBaTWFNR1N4YnR1d1lON3JBbDZzUUdkQzZiT29Ea0IrejhKUW9mR0ZCYnhwMlFkcE9VOU95bmM2dUppSldrdDN4RG9TbUgxTTZSQ3NwSm5EVHRXZ2xSY1QvOXpaU2p6K0ZQbUk0dm1zL2pEbDJOQ0kvRDZGcllCZ1lrMDhpY05PMTJPczNJWnRiK3V3Z3JUNzk5SGYxejk3THpIRGljVGdXOHBvVW9PdUVQbnNUM2xOUEJ0c2g4YzlIaWZ6MjF6aDdXck1KZmhvcWswSHVpQ0xNZG9UUDYvYTRLaXBBeFJMSVZNcnRGV0lZQ05NNEl0ZWxMQnU5SUIrNWZSZWJKNTdMbUdmdVkwUHRkczQ3YlM0TEZpM0VNRTBjMjhheUxBekRJR1ZibkRGck5uOTc0QUd1KytjZE5IM3RKM1QrNFQ3TW9nSjM3dmV4RnZlbVJ4ZGpsbzhoT2EyS3R2bzJMaHl2OEhpcmUvZ1U1MGZhZWUwVHJnTmpSOXE1OGpNVEVackF5T2IzYmV1bzQzdVBkTGoyenJUVFNjY1RhR29mQzZWQVlTa1RxVFJNelhJNUhkRFFoWVBNTGw2SmhsUWFvM0kyODcxeDMySkorMm5jc2UyV2c4YnAwbW1iTld0YXNlMUNYbjIxQWIvZmpUVWtFaFoxZFRFMmJHZ25uWFk0SG1SdmF2eG9NOFBsd1NqbisrTWtkeVg1OHpOSi9qTS93OWFkTmdmakhvMFphdkR4aXp4Y2RvNFhWVDZjdjBRdjROR3VNOWlTSHV4eW40dmpyZlB6Z1NYNnBEcGNOZXh5aWhrK0NyLzFkZFJwWjNMdjNUL2k5SE5tTXVHME9kamRwOUQ1cTl2QVRtVjVXZnRwTzlNRVhvOUJXMXMzZnI4SFVMUzFkWkdiRnlJYWNiR2ZuTEQvN1ovbmhyQTZPNmw5NEJIaTNtTTBvMUxBa0VJUDFma20yMXN6ZENmZEhEbS9DVjRqeTFPbUNZU0F4bTRMbjBlUXRDVHRNWWZoeFI2R0ZIcFlYWi9zMHg1M3ZOMWZJVnpRMC9RRnlLK2FUaXJXU1JrT3JkdGZKMmw1U0Nac3lzZWNqaEVhUnNud21SaStYQUJhT3pMODY3a2RKQ3pwenVVVHFWQURzRm03T3JLbDdnbWs4dEhkdVllT0xndXZHVWZvY2V4MGpHMWJsMUpSa2lMRnFlUVhWRkpRa045LzNONDlXTFRnaFVneHI4VUsrRW5GRnNwTUY5ZHRzVHo4cVhVd2MwTWRYRk5Rajk2UDVFZ1BMenpwY0NaemRrTzJRQ3BDUlNFdVBXY01yeXpaQ2NCWk00Znl4TXViaWJWRlhURFZhL1lCNUh6c2lPRTIrK3FYd1VncDFzZUNmR0RRTmlhVUZHRUdpc0FJSUdVS1E4Q2h3T3pwZElhRld4dlFOSmc5c3BLMlNJekZPOW81WlhBUnJiNnhpQ0tGVDE5Qk9ySVYyNG1qR3dLVEpreUtFSmdveCtVWE5qVFpZeE03VXFHaE1FUUVyRFlzU3hKUE9UZ2lSTEIwTEVWREx5U3Y4bFQ4b1dMWDNsQ0srcll1bHU5cTU5Umh4WlRtaC9zbFJpUjhDdUZSc0wrdmFpcjhNOUpvSWZkNSsyZWtTYTd4Z0xYZk1icENaUVFxM2JjeDdFMXYvdEhuL0Z6Ly9SaHJheHdDUHNIemIzVHp4dDl6dWZzL0tWWnRkdkI2b0tWRDh1a2Z4L2wvZHliNTJaY0NQSDEzbU8wYkhHNzZSWXhmTGE3alY0bTZBVmMxVXdkN2V5MGpyOGVnVUtRUjNSR1V0cmNQZ3N2NW9GVlZRRHJUNHdacHhZWEk5czUzM2hNTEM4QXdJQmJIbURrZGZYQ1ZxMWQyNzhGZXN4NFJEaUVDZm1SSDUwR1A5OG1XcDk1elgwdnVjY252L0Q3elhYV2lBRUl5ZzNPQUxtaEhUTlVyMkZrZnBYWlB0R2MvZFdudTk0MUlFekMycEkwTFJtMW5WMmN1R2FuVEZBM1JGQTFsUDk5M2JHdEhrcGFPSkpvNHZCcmFRNGxMSE5QK2pKU3NXYk9HU0NTQ3orZkRORTFTcVJReW04ZGtHRHJwdEVOdGJZcjZlZ2VsNGlTVExoK0cxNXRFMTBPazB3NnBsSU5oNkFnaGlFYWphSnBHYm00dVBwK1A3dTV1MXF4Wnc3UnAwdzZMSTltUnNMWGU0WjRYSlZ2cUhhNC94K0VEazIxR0RFdnhRRk1SLzJrdnBEWGpvU2Z6WDJoa2JJdlZEZHRwaVhheXViV09qMDArazVFVHhpRGs4ZWRYYVVCYWc5R3RPbDlhNUdkdktweGZ3TjJSTlAvTzZob0plSFg0eEprd1l3Z29leCtpZXNvQnpTZWIzR3MveXZidC8ySmo0Mk9rNjIyS3FrWlMrZm4vZFQrM2JURE5vM0xOUmlxdmlKUlMwTnlHRVRCd2xJYmRVeVFQOFhnbVcrVUh4TjNrUERjdnl6VzQ5ZUl3dGlOcDNWSUh1Z1paQUVrS0RXU0t6NHpjaXQrSTBsRy9DYXQ4UE4zSlNuNi8vVGJBNE1ZUm44RWdncVZpbEpYRXVDYThndSsyVmFDTS9zdUEyT3ZnTGw5eEVmV3hVUlNtdDFEKzBRVGVPYnRvL253SndlcnRlSW1oS3d0RFQ3Tzk3aHlTOFZLbW4vekNDVkxNZHhHZnowY3lIbWZscWxYTWprZlFjM0x3ako5SVlMUkxMbTlHbytqaFhMZDRxdDF0VHV1cHFFWXZyOFJadW9SWUtzYUsrczM0MFFoNmcvVFh6ZDVicDZFaHVOcVR3NlpSWi9IYWtKTVJWaHJIb3hISkZUVGxhRVJOV0YwakVOdmVlMFBVU2lDUnIraXVsampkQ2kwandmUXlkK2RTcmw3OUZFSzVEV3dPNWdvR2FyM3R3NE1WR0g2ZWVYa3RuLzNJWE94TGwwUFJDSWpzd0E1RjBDbm0rZm1id1BTakJpQjlmVzhnSXEzQVZ1NHZ0RG05UWNmdS9UWUhXeW5TcXZlNS8wM1NKL295QVRnQ0dkR0pyUGVUdXF1VTlHNFBtWWdPbWtPc3hrK20xU0RaN0RxQWFnQ0JmVWNxYWx1U0xOa2U0Y3h4ZVl5dkNqSzgxSS9YRkwwTXdzT0piMlJzdDhoZUtnNjVDWmM2M0IvTm5ta2xZM1RYcmFKdHczTVFXUTVBckcwNmp0SXdnZ1dZL3RDK2g5RVA4N2RPaHFoTDUvR2ZOSUJGVmF5YlVYZXVZdUtkTDNLUzZUQnFXQ0dWMDhhU04vc1VBak5QeGh3N0ZzM2ZtNEJGT1U1UDUxN3hEczEzbEZKc1dQcHZXbGY4SEROdkVtdm0vWXFTUWordDNScWRPK2Z4OGF1bWNPbDVvMmlyMzBSUjVkaDNiajU1bEF5WHc1V0lWdWtDV3EyTkdMcUJJMDNzL1ZqZ0UwbUh1SEx2cDBnNlBYdUFiYnVGckxydU5rVHQzTFlETU53TXcvM1dsWmJWM2ZzblRhcHN0ZWZHamUwOXBxWnpHTXp6Q2pBMHdaNHVLOXRBKzlpN3YwMS9yangwTmFaQmNtdkFYVUpDa2FvTjBIUlhGZjNQY2c1UTM0L0tXNUdadjVEQXpUZGhUSm1JdlhvOWFCclc2MHVKN3RpTmFtMUhwZExIaGgwcElKRzArUG92M2lBVU1EbDNUalZYWERDY0J4NHY1c3NQbVB6dTJyOXh4b1J0cUtQc3R5bkFzaFZEUjNpNThxd1FEenpiVFdlblEvVW9IOE9xM0xWVlBjcEhaNGZEYTZ1U1hIdFJMa05IZUZtMVRSMHg3RC9rUUtGMWVMK25nQ0pMRVhJZ1l2QytGK2R3ZFpRU29LbXNWKzRTWXhoVFhNQS84MklBYVF2d0t0Y2JWMktBZE1YN1I0eUNmTUxublVINDNOTko3OXBEZFA0aTJoLytENGxWNjQ2TlJKYTN6aHNsMFFTVStZb1lGUnJxWG9QUWU1dFplLzBJVFVQTEpqZnRYVklqUTBNcDh4VWhrVWdsVDB5QVkxUTh1VG1nRktHbVBlVDdEVGVwWXo5LzBZbW1VRmt3MDRoR0tOUTFkODFuSDJscGtSZkxUcFBjVklNdzlHd0NVM2JMRTY1cThOZ2FLWkVtOEtPZk1PeXM2NmxaOTJOeVM5TU1uWFFKQlRQbWtuNTVFZjdFd1RrWG43a3A2QmF0SmhTTkxRNWJ0enVzWG0reGZLM04ybzBXMjNjNkpKSVMyOTQzNTlMQU5xK2kwRlBNR0w5SmJXc25HeUpSVWdsNHZiNmVoK1kvelRBTnZuZnljTmJ0RUp3M1pnd3YvZnVmekI0K211R2pSeEVJQk5EZVVpam1PQTVLT1QyOU5kOEswdmRzKytieHBSZTE0OHlmZUN1QUxJVEN6cGlFL1dsdUcxL0RqZFZ1c21JbUk5RFFRRGtrQ3o3TkQzN3pRZko4M2FRYzhPdGU4clZjbWx2aVBQZkdKamFzN21UM2ppakp0aGplWW9OMFJ3Ny85L2gwZnZubEJUaHBnWk9CRWNFVUw4M1l3TDExSlh4MTYxQzZrMTUwaitzWDlMZTJDd2MxUG5KT0xsKzhxcEFKdzMxOWNLeVBwRmlnVWxoVTRlalZhTTRlRkY1OHpuSzBaSXFZNzdkb29oRE5YMFJtNVBuRUx4K01zK3BsWkRBTXd5ZWhqNTJCbFloaGpaK0ZaOTRENFBYdjIyL2V6VGI4N3JjT3poelB6VVBsNW1Mb2pmdFdyUUJkMTlBRGZqeWYrQmp5b2d2Ni8wWXZtTi9yNWZKbi9uWmNyVEhsT0dSYTJ2QjV2U2pISWQzWWZOenFDeUVFSW1NemFuQWhJeXNLMlZXblVUbG9NSUZFRkljV25IZ1huZHVha2Q0Z0h6ajVTbVNra1l6Y2lsVmswTG00bWFhV1JnTFN3dG00aVRrZnVweEVJRXB6YlJQRFNnc1pNYmlBeHRZdThKZ0RpdnR4K2VYUTBnSS8rUWwwSG1UZ1BEOGZ2dk1kOTl4KzlCc0JEQy9FTEhoemI2NkNDZnBiR3YwcDVScUtXN3FocGhOR0ZzT01JbGhTQjU0QTJHcGZQdkZlS0g3Ly9PSzk1RjBidS9ZcC9zTnBKR2pxRnFjVUxlZVBOVGZ5MHcyMzBKWXFZRkhycWZ4bzRzK1lVYkNLM2JHcUExN29pSEF0WHhqekZ6NVMraWpta2dpTkQzbEpibkx0ZzdmVjFFa1FQc2lkYTFQMDhReTdLNGZ6NDVwUDhmY2RWOUNkQ1hOME9qNGZhMG9GQWdaY1hhSHgrY0U2d3dMaW9MVnVhbjJDeUQvYlNLOVB1Sk9nUCs2bFlZREg4L2IzQTRFREV3Wm9tdnZaZ1NTVE9Xb2tHZ01wcWJ6Q2ZveWo2UWhUQjJ6bXZiR2RodVlJWFpFVUdCcnZodks0c1RhTjdraUtyLy95UlRiWHRoMzA4ODlZV1Z0Q2Q4ZVZUTnY5MnFqZzJOaXIzV2NSbXV6T3Y0N24zVWJ0UWgvNDlXeTNhajIxYmlvRGRzTitaTXNDekRLSlVTWkoxK2drVjVwdUUybnJSTUQvaEJ6bE5TTWxSazRZczdTWVBWLy9NY0Vaay9GUEdFTjYrODRlWFM4MGdkMFp3ZlI3V0ZBMWc5OEdwbE5qRkpDblVtN1IwUURva2JkYWR2bDU3OVJvS052OVdQTWdoSmUwREhMRm56NkhxU3Z5aTlqWFdFOEpXaFBWN21lR1JrR3BINlhTSURQUUQyVHZCMk9KU3FYUUF5YXJOalh5d3J6TkJISzhPRUtBeHpqNmtHalNZZkwwSWw1NllBNlgzclNZcDU2b1E4czFlK0tHamlYQnIvUDh2RWFlZjc0ZXZEckNvN2x4UjEzeTFJcVJmT0dLSlV6MVcyREE1VXQxUmdRa2FKSm5OZ3hHTjFzb0NGb00xVHlFZEFWQ2taQ3dJeW1ZMTJFUWR3VDVoa0lJTis1dTkvVitLQVZLa203ZGd1N1BKN0ZqRWMzUC9TL0s2c0pUTkFxcnN3Yk5zRUVYaVAwYWR5a0JPQXBwS1RKdExYUXMrUk1GcDM0ZW9adEh6SEFWd2kzVzZZd2tlZW5OcmRRMWRiRjFkeHVYblRHQjRaV0ZKNVRXQVdUNGpmK2liVXNUK0hYbVJkUGM5ZmZGZlByS2FjeWNYRTFiUjV5di92SUZFbzBSQ0hqNDU3L1dNR2JXY0s3LzBHVEdEUzlteWRvOS9QVDM4OEZSUFAva2FuNy9Jemp0b2dsODdNS1RxQ29MYytlL2x2UDBRMHVoS01nekR5M2xsMzk5a2U5LzVSeG1Wa2N4MGhwMy9leHg3djNiRzVBU1BIaDNpcy8vcElUUFhUMkQyWk9yaVNZeS9QS2VSUWMzWDRWQTZEckt0b2s4K1F5K2t5YmduekVOc1o4TnZqY21QNnpBcENTa016VGZaTm1lSk91YTB5UXNoYW1yQVRIcmxITUloWnhTSHBCTVJ1MTlYd3g4VVdqdDFuV0hmVzc5dFRmeisyVXZNSVpjZE9XUTZyaUw3aUVtdG1ZUVFMQllpL0dsTTg5bjNmMi83OU1hMzEvKzhQM3IrdkJkYmo3VTFOR0RlWFBGUnRvNjI4akZvcldrbkZGVFRtTFFiVDl4ZmJhK2JESWZPSHlDTjVmd0ZzYTF3cXdXc0FXc3k0Y25oMEpjRnhTbUplbE50WWhKazhqVU5SRjVhajZGTjMwWWNRU3dlWlc5ZjZra3REVXFnbjZMdE5EWjNhWGhVVW5hRUV3b3Q1QVpoOFk5VUZya1hzdEFpeU8xdzdyUnRtUFEzQmhpUXpMQmxtVVR5US9PSVRnOXhGYmQ1dWwxMVN4cWZKTUxodFF5cFRGRUlKUjJJV1oxT0tETThSN2pGSDJaTVRoV2d1N0cxd2dXVEhEeno2MEU2ZGdlNGgzcnlTMmZpMjRHNkhlU3lJUFEwZDdLQ3FxLzloVktQMzRWNGkyWVR0RWxGOUowLzk4cCtlaVZqUHYzZzJpbTU4amNhVU9oT3QxQXVoWldpQnhGNE1ZazFuSVQyYXFCejgyN01JWklsT1NRaTlDRVV1NGZDa2ZUaVFWQ05PZVhzTE5pQ0RYVkk5aFpQb1RtZ2hMaS9pQ09wcU1kZ2g1OE4vMWdIa1g5d0NGc29TcExmankwc0JsRE9KdzZZak1OWFFXczJ6T1l0bWlZYjEzOGI0TGVGSTh1bTBWWE1raDVmZ2NWZVIyOHNHWXFRd3ViczNOcjRGa2lsZFJ3cE1hV1BWVnMyVk9GTUMzVUllVFpLS0dJSnYyOHVIWmkxbmVWZXlmSSs5NytsWU9xU1NtRmtVaFFYWnFMbXc2Z2VtakpMVWVSeVhHTDJJVWpDWVQzN2EwbUVNNFBZOWtPSGZVdENGMTNHeVNvM2syYlRZK1h4Q2xqaUhyOG1MazV5SzVPVEROSXhjZW0wclp4S1lxeG1ENXZyMmJQNzR5bkRteGRncVlMa2ttYnBhK3Y1eWVYVkZLem81aGdzSnF3WDJQOXRpWitQbjRqOTcrcGtZcW0wRUsrWHZtejd3ZjV3cjlyRDBxM2RjWnRPbElLK3kxS3kwRWpsb0gvZTYySmY2dyswYVRpclRMRWt6aXV4dXNaVk5WbmMwblpOblpMZTQ4dktIUWRvN3dRWVJoOTN4czZOcjJqbFdZclFhay93NHlpZHY1emJpdmZXekdCLzEwK0d0MXI0ZXdsTThybW9laUdqVEJoNWE0Q2RyMFE0SXFmTnFLZjdlNERwZVBTUFByUGNsYWVWNGdSeUxqNnBMK0tnRzY1cFkvN3VRT3JWL2ZPK1pBU2xpMkRiMzNyNEpsckI4aEhVZ3J5UFE3bmw4WEVJTCtsUnZzeS9McytyTnE2ZERGN2gxdW91bWlZbDRUSDNYWWRYU0Q3MGZSTjN2MzM5NTZnZm9VSVNXU1R4dHQrM0xaUmFhZVhIYU1jZ1VvNlpGNWVRbWJCOHQ3SGF3cXRUS0ppR2lRUEhSOFdmWEJkaFlDOWZRTGpNY1c4Rlc0ZThtVVhlQWdHM1BGTHUzL1RhTlVoeG15VmxBaVBCMkhaN0ZZeDJvQ2RXSnlzNFhidmN5Q0Z3MDVwMFlaa056R21XdmErM3hvSUlucXBzQnBiaWEvWVFGOEtDMUpydDVMWlVZOVJrRWQvTVl6L3Y5KytlV0xUSEhBdDlSYnhnY29INFpNb0hlZ0dXbFIyNzNManhhR2dxMlluanRFb3lvY1JRelNLQ2x4MTNONHBhR3FGdFpzbDBUalVOeWwwdlZlNmNNOXZDMVIyUGZhaGVZYUF0TFQ0NitzdFRLbjBjT240UENUcUxmV01yaTRTd2tDWUpmZ0RRWjV1V0V2VVNqQ25jQXhsWGsrMnlXaGZNSTYzUzhhV2I5TzNsaTE3ZEpCU2lvd3R5ZGlxNXg0STNMeURqQzJ4YkhsRTh3M2k0UUpYUWI2RGZ4R0xaN0pLOWozOGk4MjczK1pmU0NrUVBzbWs2ZzZFRlNLM01KK3E4Q0NrbWtObHFJVmxPd3RZOXVaaXFpcktxSStWMG0zYkNHMEEzR2ZsNW9URUVsRmF1aHFaTXZaMEROTW1QeERqNUNGbHREamRlTHg1dEhZMkVFMUVLVFQ5eDBqcGhVQkt0NmxTWVVDUTBpM1NrWjBJajRsME1pakhacUJKdURNb0RPQjZYd0diblJRUnRaY0daOThOYXJVTjZ0UGVQcE45SGtudE44SHc4Wk53R1F2aU1mNThWenRQTFVqenZjOEUrZUNaM25kWWZsb1BZS1hzTnB6SUt4QjVCWStld3hqdlVNWUVaM0R0U1dmUVlsekIycTVXNWpXdTRvWDZsYXpoaFQ2TlZ2ajloRDU0TllIVHprSDQvYVNXTDhiZXN4T0VSbXJWVXBJTFh5Ym42ay9pR1QwQnUzRVAxbzV0QkMrOEhMTjZLQjIvK1FISkphKzU4WUhEbk5ESFcxMnVjd2h6VUNvd2RjR2FoaVFmZjJnWEwzeDZPSVB6UFRqS2JiajJ1VmxGUFppUUVDNkJVbDFYaHZQdjJzNURIeC9NdEtvQWxxTU91ZmE5dHp1akRsZWhnU0ZnMkhBMGZ3Q3hlaldVbDdzZnIxNk5HalFJV1o2dCtYVlVGdHZyKzc0U1ZvZlhBRWFUa0pBMlhoTTJ2RGFmUHo2OGlSOWZlekpTbUh6Lyt5OXg4elY3OE9hZGhFY21DRWpqc0ZWSjVJU0JkMExlUjNLb3BxQlNDcFJnUjJPU2VjdmJzV3hYZHoweXY0bG93Z1lFUC9qTE5xNDZxd3lsd0RRRVowOHZaSENaSDhUUmE4Q2xOTGZSWlRJRHhULy9QdVFGaWQyN2xjU0MxOWc2dXdhdHNBaTdwUjd2dHMwSW54OTFsR3RIOTI1aGtlNDB6ejVkUTBHQm4zRFlqUk5HSWhtZWZicUdEMTh4aW5DZTd4MHBPZzVIanJmOG5iN21KdGhLc3FsbEo0UHlTdkVaSHJhMDdXSjAwU0M4dW9FbEhWb1RYZGpTb1MzZVRVVk9JYVdoZ2o3dGNvZE44Wmc5VFNhVHBGNS9IZStFQ1doZWx6UlRkWFNRWHI4ZS81dzViaFBVZmx4algvemd4SU02THVnekdWeVdpNGczOXRqQUNqZVBhdkx3WW02K1pDTFdBRFMydXYzeC94WkZqWXZ2U3dsSzRadDdDcFZ2UEViMHZuL1QrYjNmSUh4ZWtzKzlCb0JlV0l3VzhKUC9oeCtUYy8yViszQnRJZHp2T0VLaWFUQjFETnh3T1Z4K3RodVRKd3RMQ0FHdGxydDJpMDNMcmNYeHdVMVh3Z2ZQZ1AvTWczc2VnNVdiRHFyODhxRHZvVXFsYWY3dG5RaXZCN3U5ODhCckpkdG9XQThGeVpsN0tvWFhmNFNjdWFlaStYM0gxSlNRNlF5ZDg5N0U2dW8rUk50YllIVjEwem52VFFvdm1JTnUrQTk3REpHTkd3L2JUMDRCendJemhHQ3NiUlBkdUJHVVF0ZzJtNEJsdGJYTUFDeU9ZcW1hRHNJdjBZb3Q3QjFlOUpGcFVvL21nYW53WGR6bExxMW1rOVNqZWVnajArNHhsUm1FWDdyNCt4RTBJeFJnT0pJV0VTQno2UmxVekpwS3RPeEp2RTNiMkhYNkxBcUxDbEZLc2Z1MGlaUSs4d3pSc3BGVW5ENkxqT21uWmVsbThoeUowOGQ3L2RYN1ZuRG1LU001NytmZkkrc3RrZ0tlV2RmRVMvZTZ6WmJPblQyYXMzLytYY3JlK3ZrZEsxQUt6cGsraHJPbS9wUmdhUllXdEdEK2ltWmVYcllDRkp4MytqdWMvdzdmbndhZVd0dklLL2V0T0tDZE5ieG9KQUFOM2ZWMEpqb3dkQk92NFdYKzFoZFJnTS8wOWFxbDNjc3JrdXZQdzNac2Z2L3lMM202NWxtK2VNWXRuQjZlaWkydG85cG9kbjhaSDBqdzhhSk9Mc25wSkY0YjQ0NW5renoxYW9idGRXOVBYSkpTMHR6Y1RITnpNeTB0TFl3Y09Zb25ubndHWVRkejJUaytQbjZKbjRtRkh1ekZYcHBlTmtsdTA5MnlqY09CQ0tWQ2VEM0l1ajA0bTdhZ2p4K0wzTFVIYkJ0enppeXNWeGVoT3J0ZEcyM3BDc2lrUVFzZGxYUkhJUVJTU3NMaE1PUEdqZU16bi9rTVE0WU03Zmw4eDZiZE5DOWVRZGpuYzRlWG5Tc0tnVWM1R0VoU0dCZzQrTDA2MFRmZUpMRmhNNkhwVXhFQ3pqL3ZQRWFOR3NXb1VhTjZma3ZUM3AvTkR3YzYzOGd0SVpLMHBUMDhzWGtqcjZ6NEdUTW4veGlsQkV2WGZaY3pwbjZUOXJRSGxEem9jcU5hcDV4YXA1dzZXUUk0NzNtS1JJQ3dXR3lONDY3a0pkam9KSldYTjZ6eDFEa2w1SWtvRVJXa1RlV3l4eW5HTDlJOG1wN0xLNW5KUjJXbkUwQmhYcERyTHB2SlNhTXFEOGpicVFuQlNhTXF1TzVETTFtK2ZpZXRIYkdqUmdXaWxFS2kyQnFwNXo5MVM5aVZhQ1BwWkdoTlJRaDcvSXpQcldaN3RJa1htbFp6ZWRWTXZMcUpjcjJSb3pidkxVZFJGallvN21yaDkzZjlpeGtUTkg3MVRiZDIrOVZsTVg1LzE3KzQrWWUvb0N4Y1FqeWwwTFQrR1d0WXBnNDBRZDNHVGoxV3czNE81aEcrUi8yT3B5b1F1a0xGRGJhdDBSbDNUcElydmhuSHlRaklaRjBoRzlBbEJBVjJYQ0VjRFYzUDlnUnpGTTIxT29ZdXNnM2ozLzNucHFUZit3cVV5T3FFWTBCVTN4Y2ZDa2dtMDlpT3drcWxTQ1JUN0szL1ZDZkkwNDhyaVRVMi9kZGQ4M1BQUGNmWHZ2WTFacytlemZyMTYybHBhZUVYdi9nRnJhMnRSS1BSWTJhY1NyaTlnVFFGQ1Yyd0ljZGRXek02QlFGSElRVVk2Z1FGNWlFWk9oSkNma2wxVVNGUnVaS1BWZGZSSmtvSUJReStNdVl2RkpwMWdPZHR1T3ZSVWRRQ2RpZXg1N2NqVHNrblZXVlM1bXRpV1NaQXNSWm5pTkZPSmc2eUtZWjhZRGRrSEREMTR5SlA0b1RzbTErT1ZEUzB4Vm04cnBFOUxWSEdEeTJrb1MzR3RqM2QxRFhIU2FTY3JJK3RVTkpBS1oyZ21XUnFUZzJ6ODlaeWVuZ3pZNEwxK01ORnlKSnowUWZQSUR4MEpyN3FHZWc1WlQwLzFkQVdaMnRkRjl2cXVsbXpwWlZOMjlyWXRLdVRobzRFcEIwM3g5TFUwZnptMjl6c2RBMDRFWEE2d1c0SHB3M3N2WC90N3Z0T056Z3hrQWxRYVZCV3RpZUhCL3pqSWZZYUJHZUN5TUtOS3VtK0ozUm91d2RrbGpKYm1DQzhvQVZBRDRHZUMzbytHSVdnRjRHeDk2L1FmVjhQL3pkTUZIZE4rM1FmcDVXZVJ0Z01rM1NTaU96L0hDVEYzaUpHaFVlZ1p3R1pVZUVSZkhUbzFiU20yOUJ4T1kwVUNyL3VKMkpGV05hMmpKU1Q2aGRGSnhNNlRyZUJaMUFLcTltRDVuYzRYZ25HWE5XcnFFLzVlYlc1Z0ZRbWcyWmJsT2VFbVRsb09LVWh0MzVyNXFEaFBMRnhCWnFkSkpVeGViVzVnUHFVSHlXT0hDZDVSRE41b2ZGQnByYVZjc200VWZ4cjlYWk1MWURqTi9GNE5FeWZuNHhsNHpFTlN2TERtS1lKZnRQTjZwTU81dzNQNC9HWGY4M09pSVpUTlFYYWt6Mjh1NGNpcDA2cDF0NTYwVks2dlVla2xPeXE3eUluNk1YUU5kSVpoNjVvaXFyU01OVmwreFp2Ym82UGNNamJNMnZDSVMvVEoxVFNIVTBkOEhzemxzT3UrazVDQVMrNnJwRk8yM1JHa2d5cHpHTm9aZDUrejFPSlJ4Y2UrcjNWZ01tK0RqYW04MmkwL0c5N3BuSEh4RUpqdE5mMUFTMDA0bzU1UUxPajNFd3l6dHZGYS9IU1l3NDNFeWlVMEFpbTQ1eXg0WG5DZGdzRlhkdlpVSjlpOU9nOG1sczJNckhsbndUOWdpMHlrQ1ZZVm9lK3FFNjRoc2VNNk1EVWl0SDh6L1FQc2FKeEM4OXNXVVI5dEcxZjQ3UitGazlmdnZNNG1UZENDSlNTTkRkdEpRY2ZrZTRPd3FsZDVBWjkySTRncWZ5TW1uMFJnZndTbXBvMlUxbzZHdEZQQ2VtM3lLZDdMellwMEhDYjRhWWlPblpFdzBTaUk3Tk5hZCsrSUFYZ0lBbTBlV2o5UWd2eGdBZkhrUU1TeTVLQW1kWlpMYUw4SVZsUGlWOXhWbDZjN2tLYmV6SXBSbVZ5bUVVUUZkQ0lZMUhVbHVRakdIaGtuRWZTclNTT0l1K0ZSTEc3SzRla2dFektRemdjQndYZDBTRGJPbk5waitTQ25rRkZrbFFQS3VUR2ErWnd4ZmdpeXVhOVFzYy9uaUsrdmhaaDZtaGVYNi9rQnFGcEtDbXhvaEY4ZzZzb3ZmRmpKQzZaenUvUzYzbGsyZk9zYWEwRlRVY3p2ZGtZNUR0UEhFZThkY3dDeDFRWVVTL2RuVkFhVm1DNzVZd3lEa3RYZ3NlRWhVdGc4QWpYTmhkWlJSRnA5SkNyRERLYVlxRDZlNW9WSXc5TE1UZ2REY1NYUFUzODlYOWh0KzRDd0NnZVRIRDJod21lZGpWNlFRVkhtN1JjS1VWbk1zTGs4cEVzcmR0QVhYY3oxWGxsbElZS1NOc1dzWFNDcEpVR1AvKzEwbGNWNDloUi9Ea2pXTjFRUnpxWlFST0tOWTExVENvZlJDcGUxeSsvMGNzMlBNNzZGUnh2L1BSQ2dVcWs4SXdjak9lQ09RVE9tSTZXbTRNd2RJenlZa0lYbjRGMzdERGl6eTNFMnJxajUrSG1PUmx4YnF4ZUg1L3FySndmcXZqa3M2SHEyUnU5K1E5TFlmNHJKYlRkekxyVEFSUnZmT2FBd3pqN054ZTh5enFHRVlNS0tDa01nb0tXampqYmRuY2NZZnJlbGIxZUJRYUhRRW04eVQza2xXWHJjSlRkczdkTG1ZSThGdzh3WkFSL2J1KzhndUlDUDlocDdLYXRhTHJ1Y2xBUG9McE01Ulc5YXoxZ1gvd1lsWDFJdXVFMnRYN0gvWHNBaXUrY1k4UkdmYmY2SkFHWXVvYWR2VG1tcnJrMjMxdlBVVzVQSEtrVTZCcEMxeEc2ZGt6Mml6cjJ3YVRzUkd4YmgycCtqZlk5dVJoNmdweUtCRTZrQzduSlJxYkxhTjJkUzA1K21tRGJHNGoyZFZBMHlYMWlBMFJpNWZvcWl2ejhmTDcrOWE4RDhQRGYvdzYxdGV5UWFhNk03T1FId1RLdThlWVRVdzZXVk9nQmlDNDMyUHpSTUVhK0lyVkxJLzg4aTZwdng3RmJOSVFCTWlsb3V0c0hHcGdGaW5TRGRsaVhJUEt1QUxzZGxWZ0pWaU00M1FqL2VEQ3JFZUZ6M1JJMTIwWVlCaUwzWExvZmdmb2ZuRWw4OHhhQ3VXRnlOSEVjOUtvQlU5TzU1TlJ6OFJnZTZsb2F5S1FTYUVMMDZDZzNCMEdqTzlyRmkvTWZaL3FvQ2F6ZXZvbmFobDE0L0VHc1JQeDl4eCsvdjR3ZlBaYmRkWHNJaG9LTW16aVJaQ0xCenJvNmhnMGJobTRZMU83YVJUQVlaT0tFQ2NyZnRGdDBKMTF1QzVHTW9PSmRMSy9MWiszdUtZUXliYnpKSUVia2R6RzZzQk9SclhGVVFOTFM2YmFDakt0b1FkZmRYZzZXbzdFbU9weWtwYk16T0lZL3RGVXlNdm82UWpyc0tSNzFqbE5yb0hBNnFRQ1B3K0syVGg2OE81ZVUwUTA1a2xPSHJzSHY5M1BkaU1WOHMzNDJRMHBnOWpuTnRDVUttVHgyQjU5ZWV6SmtUTVJCWU5LbUtYQWNoVXdxaWlvMFBqRGRZT051aDlYclhYNW1qK21HR0JGdVRDZmp3QnRiSEdxYTBpeGRGdWV5anRlNHVQRjU4aldISk9Lb2VlaktjZkJVbGxQMjljOVQrTEhMMzhhL2VNejRQRmtnWkZReGpDOEdMU1NZc0RpTzN6Y082MzkveE01MEdpVmg1R2xlcW4vNWJRb1gxSkhaTFVoTWhNUTR5RjJUcFN0V1IzTE1pckFud3FUQ05XamkwSjZ3SmlTVEN0Y1E5a1JJMnY1akpGZEk0RGdPdWFFd2paRU9vbzVKS0JCMHNaaWpQRExOMENtWk1JcFVaNFJZVXl1SjlxNFQ5dFQ3RGZkNGwwK0VBR1haK01lTkpXL09MTHp6WGlTeGFCMDVGMVJqanBsSXkrdlB3RmFMMEJVVHlSMDlBdjJsV3VpUTJaNlFBeU1aeXptdTdxOHVqdng0RlpCVVBpeW5pSFpSQUFoc3BXTmp2RzA4aHpNNlIwa2F1bHZwVHNhSnBaS0VmVUVhSSsyMHhqcko5WVZJV21uR2xRMWplRkVsQVkrUDRjWFY3T2xxSWVRTjRNZ2ttcWFoYXpvTjNXM2tCOEk0U3FGckdoeE8rdzBoY0tUaXJxZDNnUVF6YVBUME5zbytBS0lwbXo4K1dadHRWaG9HNlhENjZPVjhaKzRUbkR0eEJhQll0S0dRT3hhSFdiRGRpNk1FWWE5YnIrM0lBWVp2cGVDcUdSMWNOYU1UdVplclRoUFliUm5hLzlsQ1pINEhLdk11UFdLenRZSkNDTFJ3R08rb1VZUm16U0o0NnFsNFI0MXk2M0VIV3FSRFJYNDUzei8zczF3LzR6Szh4dEd6ZHo0MStwVkRPdDRRRHZwK2RvUXVKTk9LZGpDcGNQZUFqTy9tZDEyNENudjlKbEozM29mbi9MTXdaMHhHZUF5c1phdFJrU2c0RHM3MkhVZFZuNlh5Q2trQjdHbkc4Sms0eW5NQVBxMjMraGNLMjFZSVUwY3ZDWk5LMmFRT3dLZmxZbU9BcnRqZDVXRjdsMFpaU1FvcjBrMXJPa1FPM1hTempiWnUzQjVwQjdFdTlYZlZjQUpCQ3ZTY0xNRm9LbXNUSGpuUHdUbk9jZklEYmZRQ0VFb2dOSUd1RkZnMlduRVJzcU1ENStubjhGeDJLU0l2Rit2WjV4RkZSV2hscGREY2hLRWtldFo0RUVJd0VGbE1wbmI4OW5rK21IMWZJR2pyYU9QTmRXL1EydGxOeDZZbldQRFByMUJkVklwVk1BdUpSalV2TWYvdXl4R3gzN0lxSG1ieDZsZTQvcEtiQ09ibXUvZi9LSWxVWUVud0dDNmwwek03M2Zkdk9NbU5FMmNzTnhkZFA4cHVtNkVKUmhSNUtBcnBQZjFYeDFWNEtRbTdlV3RuamcxUm1wdmVhMzdRRm5QWTJaYlpweWY3WXEvM3BTNVRaWHNqQWtaSWtUdkYxWE90end1c0R2ZW1DcDErTmQ3ZHZnbUtqR053M3d1WHNydTltQ0ZGTFh6am45ZHo1cmkxRENscW9iazdENDlwdXprTWpvR2hISzVvZkltYjZ4NW5aTEtlVGlPRWN6UjlkVmVoWVhlYWxOKzhtOUl2TmtEWE85eW43UGF4WlJmODlBdnU2eTI3NEhUNWx1TVA5cmozTm4vN0pMWVRZLzdLTFd6YUlwazB1NTJVS3VLMUZRYVdiZkdCczZyUVJMaC83M3cyZDAvcEJuczZPdmxYYmh4NzJJV003TFNKQkVvSUZKUlNzbU1qSTFNWmxKUjRSbzhpNy9PZnhSZzBpSzQvM2tsbTJ6YndCMUNheVBhckdlQkg3em40L1dKTGF6MEFFNHFISE5adjlmWDhkellyTlpRSjVFaEV0WVBJVldnU0RDVlkwT3p3YUpjWHo5Z3hqTTZwb01DWHdVNUJTVmtwanovMmI0b0s4cm42NnF1emp5NGIwL1Y2R2Z5MVd4R0RGYzB2UG9qdTBSQ2hVc3ljNFFTbW5VVm1Wd1AydWczbzFudHpTZmR2UDEzTjdhZnJLSEJzV3UwY0FwNDB1dGNneHc4RlZqczVQc1hvWUJxTk5CdHNQeEVuU201QTRQWG9tQjVKYXlxSFBDTUM3NEJYRDNUOXVDTUJ2OFdqaXd1NCsyUFRXQkY3ZzNtRGZiVGpZVWtNWm12VGVYUnhDUHpOT05MZ2hCeGpObGpHb3ZPUjUwaXUzb2pzaXBMZXRodmZoSkdvdHlTdU5TWjhQRkNUUjdkUEcyQWN1bmYvTzh1eS9tdFFUV0dXZzR5alV0dFJ5VzJvK0JyMy9lQWtoSCtFYXkyYkZlK0poUGFYYUpwQXlkNTZ4ZEFsZHRvRVIrUEhuM21XNzM1OEVkaVE2ZFl3OWZmMlE0Vnc4eWh2T25jVjl6dy9ZeCtHZEFqUzN0N096MzcyTSs2OTkxNmVmUEpKWG4zMVZWYXRXa1YxZFRWcjFxd2hrOGxRVVdUdy9Sc0t1ZjdpTUY2dit4c3FEY2tOa3U1WEhKSWJKQ3JGUU5NMXYzMjkyZERjck5IczA2ak5GM1FIREVxaWttRzJqZEVDSWc4MzJieEh2MHFhNGwwMFJkdGRXeVNMVlIwem9YcGRZRTZaaERuN0ZOSlB2MGp5OFNmUmNuTUpmdU9MZU04K0hYdlZPclNpQWtSQkhpb1NSZWc2bnROblkwNmRSUHJGbC92Y01EZTlhOWY3WVBrTHNDMk1NYVB4Zi9BaTk3azNOaEg5L1owNGU1b1JubUEyVDIzdnZ1MEJ4MEVsVXlpWnhoZ3pDbVA0VU9KLytTdkdrS0hJWkJyVjJRV2FPRUp6MmtZTGh4RHhCSnZtWHNuUSszL0hLd3RmNC9wUGZJTDdIbmdBVGRjUlNtSGJOcnF1NHpnTzExOTdMVHUyYmVPSHYvb2h2cUhWTkh6OVo1amhFQmo2dXllanZaZC9VRkdHclJSYXRKUEtJaCtPY3BNVzlsb2VHYWxJKzEwZUVTRWwvdUErZTlud2FBek9LY0J5Sk8xMWpRaGQ2OVZQVEtCd2xFRzVyeDZ2bHFZOVUwemNEcUVKQjRYQVVUcUdzQW1iM1RRbUsybE5sL0JLeTNsc2pZMGw1Zmp4R3dmWGU4bTJGZkc0eGU3ZFVYYnRpbEplN282M3NUR09FSUo0M0VLcFl6K0h4UUdDUWpISGwrREtuQ2duMlFsV0xVcHkvOU1wRml5MWFPdDY3K2NjOEFuT1BObmsra3M4bkR3amwzV2VrM21nOVVMbVI2ZlQ2dVM3bWxCSTNpOXkyRmVpYWFEcDVGOTNEZUhQZm81V0o4TW1LNDlMcHB5RGI5eEplSVlNUTdhMjBmSFhlMEU2L1VZU2VkcmNTZVNFQTdTMGRKR2JHd1NndXp0R1NVaytYWjB4QVBMeVEyLzd2TFFrSDd1amcwRHpObkRTeCtTejBJV2dPRWRIMXdRdFVSdkhiZmRKWGtCbmZMbVh6b1JEeUt0UmttUFNITEZwN0xiSU9JcVdxTTJvVWk5Rk9UcTZFSzRPK2krNnZ3cndod3FRSmNNeHZUNjZHOHJRUEFWb3VvZGdYZ0ZLNUZJNGFDYW1MeDl2TUl3akZVSVRDRU5EbHdOcjNUajg5OHJlQ2padmFDb3IzM3lRcW9vU3FrYWRSdkxQVHlCZVc0Qis2eVVZVXliU1dQc0tJYy90NUkyNEMzQVFvbjk3dURYYlh2N2RXYzZxZUM0WGhsdTRJcy9sMUZrVXkrZUZyaEphTEMvbmh0dW9NRlA5YUdNZGNxQWVVQmlPNUp5elJpTWR5YkpOVFV5ZlVNSEtEUTBJWU5xRWNwNWRzSVh6emh5RnBtdTgvRm9OdHA3TkMrampIQjVvM0FiQTFoVFZLc1lwSXpxNVozY2xIOUZ6bURKNEpHTktCNU4ybXBFdThkbEJ1NXBLQ0RhMXhOamFGbWY2MERLMnRzWjRiSDBqSmI0RWEvZHNScE9LS2NYbmtoc29KdFB5TXBibFlEc2FKNDhwdzJneEVZYUI1akZ3VW1sUW9QdTl5SXlOc215bWppNGptVzVCT1E2NnB1RXJtVTNweUNzZ09JUzZMcHNSZ1N3SG5JTFdXSnAvcld0a2ZFVWVKZjNoS1F2UTh5V2hjeE40aGpvOW5QN0NVUGhQU1NNTTk3NEd6MG1pNVVpVUxiTGMvWkRaWVJCN0tZRGRyUGRwU2lnRlhvOGdrVlE4dThqaXN4LzI0ZlBDOS8rWVpNdFdtOW1UVFZadGRuQWMxK3pYTk5qVElybjJPekcrZGx1Q24zN1J6L3g3Y2xtMTJtWkhvNE5oaUg0dFQvalFsM3Z6UVAwLzcrcmVlNmttR1BuaWR0SXJleGZ0cWJZT041Q1c1VkFRZ0lyRVVOM3Z6Qk9uanhpS01XVWltWmRlSWYzb2svaHYvTGpyQy83N0taeWR1L0ZlOWdIc1ZldVFTenNQZXZ3Rk12V2V5clBRazhXVDdYZGZFd3B4ZE9NL1BiR1N0L0I4dm5VdkVBcVA3cERyVFRHMk5FTitJRWx0ZXdHUHJoOURhenpZZTkvTTZoNkpPcXdZenFIRUpZNXBuOFp4V0w5K1BXUEhqc1cyYlNLUkNMcXU0L1A1YUdob29MQXdqR1U1ZUwwNm1pYVllMW9PTzNZcU1ta1lPODVrNFdzU3BYUXNTeUtsb3FHaGdVQWdnR1ZaUkNJUlROUEVNQXpXcjEvUDVNbVQwZnZRUDdVOXFuaG1tY1hPRnNWSDZoeXVtbXZ4amVvMFk0TkpIbXd1WVVVczZQcVJZbDlEaklaSU8vOWF1NUJOTFhWVTVoWWRNN3pNaDJyb1NBRTVhWTN4elFZeVM3OFJFRkRZWVNIallHZlhnS0hEa0FSTWsyNSsvanZDZ1ZJaU5BTjdVeTNXZlk5UmQxTU9Jc2VMK25rTjF2RFgwQytZaTJHYWRFckpyMjY4a2RhLy9ZMnZBMGEyYm1pZ3hSQXlhOXFhK2dFRDkwTGZqNFJFNzYzOEZXQTdXY3BObndkd0NXTTBGTkl4R0ozYndtRFJUTEpnT004c3FhQW82VUUvNVQ4c2pQOFZsSTlUdFZFc1htcmhOY281ZDJZVkp4WFVVZFRkVFp2TVIyRDNUOEFnQ3h4M1JRZWpLUysrY1dXa29qa2s1NVZnREtsRHlsMDR5b08wZFpUVU1UeEJ1cUxEeUZqQ0JaMlAxTnpiMTFueTJGNGoyZkg1L1g0cXk4dFp0M2tMM2UyZGhLLytNTnJVVXlDVlJHVXlxSFNLOVBabU5IOEFzNklTWlRzb0pRbWZkeEdPeDAvbmhubElBU01MQnRHUml2WVV5dlZYV01SR1VhZ1VOelhWc0d2TWVld3VMY094TFJvUk5FYXpIcDA2aEMvVTNUK3RRQ0VNazBIZFRkelVWRU9oa3FRUUJ4MFBHSWoxMW51alVSQXllV1plQzcvOXp6eUd6cmlVN2xVS3hGQnk4Mkhudng3bXBkY1RFQXpoOUhlakdBVzJVcVNVdTNKMUlkNDExMWxrRlowQVVrcGhaMEhYUG5IWUhPTXNuVzhkWFU1Zm5HUkhZSWN0ckpSQUxzNG5PVTlIQkIzQ2VwYnNKcTZoeFhTS2gyZGdwVGJnbTNKSHpPYlJOMXN4ZGNFNUUvTHhlL29lSmRNRmpLbndjODVKK1N6ZEZxVWpaaDJ5TGpnc0JaSjlVSGFxbTFSSEhVN25Lb3FDV3dGbzY5UklkVTdFVG5YajhZZjY4RU1IK21tSlJqb0xPZ24ya004ZXJZVDVBb1NkcG1KTEoyTzI3R0RpdzhzNHlXc3hjbWdCbFZQSGtEZjdGQUl6VDhZY094Yk4veFpueVhHeXhlYlpPU0FFbXFZeGN0TEZCSXVtVVZpUVE4T09WWGc4R3VtZHY4WHJEWEQ2aDY0ZzJyeWFYSDlsZHQ0ZVhXTDNmc056WkhiK0NBUDdMYWllYVdwWVZwUnhZNnNCMkxpcER0UE13YkprejlhOHR5RXFlQStvZitVQmRMcVVDazB6V2Jhc0xvdTVldzU0M0VHRC9kbHpqMFVidStXQmlzUFgyeHFnUVhxWGo1WWQ1UU0wd3ZxM2dFOTlVVTRhbVlXTEVRVjVlSys1RW4zU09KeXQyN0UzYnNYZXVDVmJpQ09PR1dLMVZOb2hsYktKeEN3R1ZZUzQ2UFJCTEZ2YnpOT3ZGUE9adjF6RG5aOTZrRE1tYk9NbzkyUjA4eFVjeGZVZkNQUDNGeU9zM3BwaTdnVmg5R3cwMXB1bjgrYVNPSVlodVA0RFlReEh2WjlyODQ5cnlVMGQ3bVFTb0N1WWtrWU50NUdhUUIvbDZ1N0FSNk5vVWlHMkc3REt1eC9SM2dsNVA4cmVWTElNRHBzM3ZJN3A4VEo2NUNsb1djWVRDV3lwZVJNcmsyYk0rTmw0MEkrZCtXQUE1Z2xXMW5jeFp0ei9NejJrRHVRUDc1ZElvd3dENnkzMmx1VW9oS2FqK2ZXMzRTZFNLVHlHbDIyTjZ4anhzOStTWFBFYzlVdWU0S05mK0Q4MDA2UjcrOU84M3Z3S3NhdG1rUC9JSW9icnZ2ZkVJR0lkMGcweTZWQmFwRkZScVhQRzJWNVFDaXVtcUcrVWJLcXhXYm5PWXVWYW13MmJiYmJzc2tsMktiYVFvallZNDg4emlybGtTVDJWUmhERDFDaHgycmwvV2dVL3JXL0FiTlpZM2RIQk4xOTFpVWJMeThzWk4yNGMwNlpOWThhTUdVeWNPSkdoUTRlNkJOTUhBSm5mMCtFOElRTWlHaUNsQm83R1I2cWF1SDMwRGtxQ0ZrNUdvQUJUS01CQk9mRGpQM3BadjNzMTlRMk5JQVRCZ0lleTBpQ1R4MVl3WTJvRkgvM0lPTG82MHZ6bDNyVzgrVW9kT0VsZVhqME00Z3Q2a21WdHgvWEdiaGpjd2lYRm5keThlU2ovM0ZNR3VrVFQ1T0VsQkEwZERUdTI3UE9IRERoeldnNWYvV2doWjAwUFlacHVZdSt4djErQUZMbFkybWdTbnN2QU53bVYybzNRVEh6V1U2amQyOUc2TjZOR3pFSFRCSWJQaTExWVN2S3FXeEI3YXZEVWIwUDVBNWpwQkhwM0cyajZRZU95R3dlTk8yZ2pWKzVzWTBkOWV3OE9KNldpcnJHRDliVXQ2TUV5Q0pRTytMMzYzVzkrZVZ5dHM3eFpwOUM5YkNXZHJ5eWs5T3JMc2RvN2lHK3BPUzYzVnlGQWw1SlJWUVcweGV0b2piVnpTcmlJaWxNbVlGV0hxTjJ3a0VpOG5ZcmdVTHd0UWZRSjB5SGFpQlJwZG93dnhyanBNK1JWVkRKcTZoekt4azJpc1hVZGFUdERhMndubzZ1TGVPUE43UU52R2dlRGNNc3RNSHc0Zk8xcnNHM2J1eDgvWWdUODhwZHcyV1VETWh3N0c1UFVQTmtlMkFvYzlYYjlvQXR3TW5Eck1uamlZbmo4TEpqekhHeHJkVzAyMDNTTGRBK2s3cVFDellCbDJaNWVtbmw0dllBQ2VwS0hkMTdKb3RhWlpCd1BDRmpjT29OUHZYazdWZjZHM25OYVFhNG53a2VIUHNyblIvNkZRZlhiYWZ1Rmg4aHIvZ01YSkdUSDR4OG5LYjRtalhWS21MODJYOE1mWHZzVTJ5TERzc1dlQXp5L05RTkQwOSt4Z05UUWRJUjJsSXU3RlBoMXVMSk00NHREREVZRnhVRXZsL1NtSkpGL3RwRmFIVWZaLzUrOTg0NlRvemp6L3JlcXV5ZlA1cndLcXh5UkVBSWhFRG5uWkRBT09JRURQdHZuZUsvVDJZZnZmR2Q4UGllY0U5akdSSk56UmlBQlFqbG5hVmNyclRhSHlhRzdxOTQvZWhTUlVOcFZBRDJmejBvejB6MDkxZFZQUGZYRTM2UDdiejR2dVFRS1lKRzdLaGtTSms1ODUrY1RKOEpqaiswNU9mZC8veGVlZXVvOXAyOE5TQnpOa2p6Nzhocml5UnpYWERpT2U1OVlpbUR2QUEzZU1iam13bkhNV2J5Rk4rYzJGZ0E3OUY0TXdWMzVmNCt2dDhreERKUmhJY3hqczBHeERHbENZMXpNTWtYeGVaN2ZScnZnOUVqU2F3eFUrakJzMkhMUDh5c0VXSU5kZ2lmYk9CMEI3SlpDdk93d1RyVmh2cDlUaW8vVFhzbDFNWXFpdE43K0t6TExWbU9XbDJMVjF5S0NRWVJob0ZJcDNIU1dvb3ZPcHU0SDM2Qjh3bVN1emVjSjRYckpnd09rNzVXVmZINlg5eHNmdTNtdnZqb2hMRlJ1SGFyM1lZeUt6eUxNVXJSK1oycWpsMHhvb0oxZTNLNC9Ja3MvZ1BTUFFtdjdrR09OcGVIUDdaZWQ2Q0NZUFc4VG1WUU9wQ0FVOHFHTWdRSGxPU0FLR2l4ZTJjY0ZINXZOdkNXOUVESlF5b3R6Nkt6THozODRoYWRlYnVYbGwxb3hveGF1MGdWZFZ5QkRPVjZZTjRyL3UrOU12bkhEYkJEd0w2TnNUaTl4K1BYRE0zajRUeGNUSExtUnVTY3VZUEhRSmd5cFVEay90aFpJb1FnYlVHWnBUMi91dDJud211TGx1emNRVy9RZ3VmYWw1RHFXSWFURzdtc0dXUUJsVVR2OXBQQVNzMldnR0Y5RlBVNmlrK1RhWndrUFA0ZEE3ZVFkNXh5dVBVMEtIRmV4ZEVNYjdiMUoxbS9wNG9NWG5NaXBKelFROWhuSFpkZE9OTGdzeUVzdmY1WEpZMnQ0ZmY0bXZ2UExsL2kvbnp3UE9RZGN4VVVmbnNiZFA3cVdvckNmZjc2NGttLy8vQ1crOVc4UGVVV2NQcE52ZnVjeS92T0w1eEpMWlBuTmZYUDU0UjllWjlialM4QjJZWEFwRDl6L0dUNTQ4UVFXcit2bHBSZWVwdTFqSDZMbjhob3dCT0huRTZ5YWZ6K2p4MHhoNXRzYitQWXZYdUduLy9zOFA4MDVvQlRtOE1wOXNLckhnVzUzRDNackcwSUs0Zzg5Z3IybEJhT3NGSjNQNHhzeEhPSDNJN1JuY0dvZzRwT2NXQnVnSm1veXZNekgyMXZTdE1VbEVxdmY1WEowMnFUOVgzbEs0eDlVdldzeXRZRGd5S0ZFcDAxQ21BUEF1Ni90Q3NodzJ6Ti9QWEFkMzFVNDBSQkZRdzMrN1ZISlU4TTFBUnZHVzgzY2taSjA1OHQ0cFVMeWI0MlN2MzdBSUQ3emZzeEVHbTBjdWlKMzlia25IdkkxZWxOOVBEQnJNVTVQa3BQVG5jeXRMMmZ3TlIrbDlQSUxqcXp0VkFBWG05b2xDQmVheDg2dWdlNEFrTk1veXlDOVlEbWR6N3hOZHZOV25QWnV5ajU1SGVKd05PUFJvQ1VrTWdacjJnT2NXSnJEeUxvNDNacklzRlB3ajZxZ2VGUWZhYjJBMVMwMmxlVVpEZ2VFdEJGU0Izd2ZBQ1crRHFyRE9XS3hLcHJiWmpEeHZDc1lYd2xyWWc1ZHZiQmhwY1dXdWppWGxyVlFXaFJIYmdQRE9CNHUzUDlKUnFPY05GMGJIcVZ2ODh1RXkwOUFhMFc2WndWT1BrNjBjaXFHRmR4WjZ4elk5VlZZWStIVFQyWG9mM3lIb3VuVEN0dUszdVdrb2pObm9LV0IwOXVMcjc0ZUl4SStMRW4vT2l2SXo3ZnduVzRUdWlWRDZyY2hVcjhQNGovSEpuQjVEbnVaU2ZEYUhMNVRiTEl2K1hEV0dPODZaVUpyN3crTkt3MlNvUWp0cFZVMDFUV3didkJJbW1vYmFDK3JJaFVNNDBvRGdkNytIVU81L1NZZndrZFFQc2ppL2Y4TlV5dndDNjQ0YXo0L2V1a0c1cXdkUTNleWxJdXVlZ0RMY05qY1U0RkFNN3lxblVRbXlKUHpUcWM1Mm9zL2FuUEZXZk1nS0RDbFFnNXdyck1RbXFyaUdBSFRZVXVzR1BjZ2t1VTBZUGp5RENxT2tYVk1PcEtSOTBWSVd1VHplTmg5Z2x6ZTJkMlY3d0ZaT3g1d25CWUN0MUNBdTkyMzdMZ0lJYkFzY3creVF5Q1ZTeVpVUk85SHJtVFVpRUVrZlZHTUZldW9MaHZNYlJkYkRKK3dqRk1ydmtOcWhTS3FYTlErN0tTQnJrdVFRcUF5TmtXNUxHL0hvb3p1N0NZWnFxYTlMOGdwZmN0WjJWUkZJRllFamxlSTJwOHBpRGxIc2I0cmc2dWdKMjIvYS9PdTdXNFlwVm5Va21SVGI0N0duZ3haNTlCR3RHcm1rdjArZHpnd05OZTdYVzRKTklQeU1VYkZXdWhadUpXZTR4di9PMGdkWXdyVGlDZjJiZzl0eSs4MnRpTUFDNFFoMGE3eVlqeEtJU3lUL05aMm1tNzVHblpMdTdldjFKYlQ4SmVmNGF1dktlUnBhRkFGNEh3cHZmeC9RK0xrbmUzK2pMM1NrUHAzRWVvQ1lXaklDRnIrcTRSelA5N05EMzB1YW0vN2d3WXNUYjVWMHZXSW4vb1Blb0JHN1EvN3lXK1ZYbjVjZjI4S2p6NDZBRXltb0xuWit6c2FlRjZES1dCU0tDZUsrd1IxQzZUZTFHbHg4bVl2M3ZMcE9XbVNmc0dxYXBQNWd5MnlWdit0RVJWTDdGTUxsbUVYNjhJTXFzbEE1L1lRaEpFQ1k0aUxDQlMybmxOenlGb0hWUG9kK1RiQ3I1RU5Mdm5IZzZqWVFlUjNIaVIvYVEydFhZcGw2eHp5RHZUMEtkNWE1TTN2ZzgvbUtDdVIrRXc0WVpSSlRZWHNOM2VrTUE4c0xyN3RaNWM4OUFnbGcwYnlRQ1JNb21VclNpbiszM0NMaEZTbzlRRk9sNUtMNitzSUpWTXNlZWdSWmt5YWlCeW94bDFTWUxlMFkyOXVRK2ZzZ3phNzdQWXVjbzB0aEthZDBHOURXN1NrOWZpbWVWZ1ZZcndhMmlHZ0svQ0F4UWNESzBCa0FRc2lyc0R2d2ltblNLWk5scHg2b21UWVlFRWdDS2FFV0FLYVd6VHpseWxlZlZNUkRDZ2FtL1Uyck8zK1dPN3ZrSzlJd2VaNGp0dGZhbU5FUllDeFZWN2RseERiSWxRRkhVMmFoSXRHc2FCbkRiOWIvalMyNjlBN0JyNDQvaHFFdEFyeHBQNnJvWk43RURSUzdMaTZRSGlBTG1KWFoxSlRWNXFmUDcyV2dNODRyUFY4QTJWZkNEemc3NkNaSlp2cUlpeXlEQXFtNk52NE9vWjFBV1JqOUhaMUl3SzFYUC9oejNISDNmUHhBdjM5SEgvWGhRaVgxc1JUdmVUdEhKV2xWU2kzQjl1eENRb2JKN3NGYVJWakdoYlpYR283VHh4SmcxZ0R5akRZM0oxay9lS05qRDF6SkQyT1psWFRKbkoybUZITnE5alNuVVFacGVnQmJCamphczJ0d1FyR0czNWFsVU9mZGxHN1RjeHhsK2dBclUzRHhPMXNSK2V5bUVPR2tYbHJKcUVMcjZUdk56OG0rZlJENUpZdlF1Zno1RGV1QmFVd0txdVI0WWhua3lnWDM3aEpaQmU4ZFlqeTRkaXF5elVPQUNSM1czUnQ2cUFRejMxbUJFTkxQWDNMMnUwYTFrNGRYNGFXK25qdU15Tm9LUE85NDlqQmtIRlEzOS9wTzcvOURheGRnenRtTE1hNmRhQTE3dWpSR0d2V1lJd2VYWEJzOWw4QzFUUHh1dy9XYVltZHpuS1NmUzQvbWRmQjdEbXp1VDQvRHpQdk1IZnhLVHc5dG9Kdm5OUEo4N0cvWXRtQmc4WmJPZU1kZHNMeFFwdmo5UDVTNklYdzVPRHZIdGxNWmFtUGJFN1J1RFhONVRNcUFjSFRiM1J3LzR0dEJQeVN6dDQ4RjAycktNam9JN2VUYXlFd1Vqa3lrNGZSZDNLT0RiZC9sYUx2UGthSlQ5RDM3R3hRbW1KZkNDUGtReDN4NXZaZVRwZFNtb1dMMmtGcjZ1dENMRjNhQ2NDa1NaWDBkS2RadUtpZHM4NGFqSlNpMytiM21NN2ZPVUJ5bE12OGx0VjBwK01NTGE0bW5jOHlmOHNxaHBaVTR6Tk1CTEExMXNYU3RnMzBwR09jTy93a0tzTWxHT0lJNW1ZTGdWRldodHZUNHhXckFOZzJSbG5aZ09URS9iK3pCdSszWFZvc2JkeSsrSTZpR05kRjljYVlYQmRpK0l6NkFWbFNkeHdYeURzcnB4d05ocE9VY05KWXVQazZ1TzU4cUs3RUMrd1ZtcjkxMkJhUDlKWnpaMmNWR3JpNXNvUHJTcnVwOXRtZ29Lb2NidjJROTkxSFhvYS9QQW9MVi9VVEJyMFF1UEhFOXRlN1Q1ZFVHaDBPRWo1ek9oV2Z2SkhvV2FkaGhJS0ZtcktqU05mVEdpZVJJcmxpd3p1YUwrM1gxNVVpdVh3RFRpS0ZFUW9jdE95d0RxSmg0N1pNbkN5d0NhakdhMXlUMmJEQkV4dEswU3dFbTRRZ0J3UTRoT3lkZm1wY2dCS0lzQ0wzZERIbTJDd29RZkRqM1FBa2YxeUxzejZBc3pxQS8vS1loeVo2aE5hLzRhWm92L0lDOVBuVENXY2RObi83VTdSMjlaRWFXa1U0a1VBRGlhdk9ZdGxKRTdBclNpZ1drdmo1cDlMKzlqTEtuM2dKMXdnZlVrT1ZQejB5ajUvLzdrVUkrWmt5cmc0UUxGcmRBc2tjUmJVbEFQenk5eTlCZUtmanExb2dsYU9vemp0K3g1MHZRY1RQbERFZXB0U2l0VnNoa2FPb3BuRDhMN3Q5Znordkh5bDhmMzg0VkxBTmwxTHMxVitxSFJkaFNLenFTaktyMXJMdUY1K2lzcnNNMnpnSS9QaitWWGFKR0M3bkZjWDVlR1VQazFXTSthK2wrTWRUZVdZdHloTlA3bnR3dmIxOVBQelFnNHlxajNQRHBSR3VQTjFQVGN4UDN6OTl4TjQwc1R1OWRYOUlxcEJob09NSk1yLytJNUhmL1J4bitVcWlELzRkMzhVWGtQcjJiZGl2emNZOGFUTFpQLzhWRVlrY0VsOGUrcDYybzc1dnpKZ3hCZlZHNGJxYTJVdmJxRXZsS2ZZTGxDcjBQaFVDdjNicGt3RmVEVFN3MFN3bHFHMm1PNjFNN3R0SWNzRVNJbE1tZ1dIZzgvc1pNMllNV2hkd2RHWC82cGRxNTJaUVIzZ1BHOGg4SXluQXRSVkVJbnpDMzBqVkZqL1N1cHpoSVEvWWZaNXhCZFdiWTN6YzM4aHZJeFc0MlN6U0ZPOWV3eTFzZ2lKSFhwdEVSR2EvZGlLTlFKS24xYTNuK2Z3cFZNbytOdXNxd2pwTG8xdERqc0VVaXhSWjdTT1BTYVhvNCtuY2RON01uNFFRYWRSaDdqSW5CWXdjV3NWcEp3N2ZZM3hwWngzL3RDbkRHVG0waXU3ZTVEdnE2dytmZFF5R2tFVE5JSjI1R0MyWmJ0cXpNYkp1SGp2bllpQnh0T0lQNjE4Z2JQcTVwUFlrZk5MZ1NLRXhTUUh4dk10bFkwMmUvdU85b0ZPODhLZGF6eVlHWHZoVE5lV250ZkwwUGZkeTltZS93b05MWFVxQ0p2MEJ1ZkpFeDVOSHRjbHl6a0R4aUZRVUJ3MDJ2UlZreGljaHIxeGlHU2dPbWRqS1pkMXlXUDF5Z0o1ZXpRMy9saUZnU2tJVmtwN05zSFdwSDEvQTg4SHNTeTFlODYyZkhsdmV1ME5jQUVwcExOT2t0TFNFMWF0WGtjdG11ZWlpQ3pGTm83QjNIWS9XSFV2MDdDMy84cjY3NTdWcjEvSy8vL3UvVEowNkZhVVV5NWN2WjlteVpVZmRPRzBCUzRzRUc4SVNKV0J6d05NTG5xb0JxV0ZFU2pFcHJ2RWREMEVkZ0FDRWZGNVFVMlN6OFkwa1Y5MjZpUmRhenFhc3ZvZFR6RVU4Tkx1VWtnbVJuVXVNanB5U0kwQ25YVlN2alh2Ykt2UlZkWng1Z3lEY3JuR1VaRUt0d0w2L2pZNlZtdlJKdzZuZHRBcWhqalBEZnV0bEdzOVhmUlJNV1NibjBOeVdvTE1uVFM2dmFHNkwwOVdYSmVkNEdPNWFtNkFOSWxhV2lhRU5uRmE4blBOTFZ6Q3hkQXVoMHRHNHRkZGpEVCtEY01QcCtPdW5nRFN4WFUzejFqZ2JXbUtzMzl6SDBqVmRMRnZieVlybVBucDdNK0M0WHV6ZVp5QWp2dTNtb2RxRGpianhPbEJaMEZtdktmV2UwcGQycjNVeEFoQTVDMG8vQW00ZnRQOEUzQVFVWCs2ZEUzc2FFaTlEOWIrQlVRSzk5MEp5RnJnWkVEYW9KRGdkZS84ZFlZSHdnd3dlKzd4bzdBY1RhZ0R0RWpHRDNOQndQV1grVXBUMm5Pb2FUY0FJRUxXaTI4K1BXbEUrTmVxVFpOMHMyenB5U0NIcHlmWHlRT045b0Yzazl2blVoeVNyWk5pbCtQSXVWRTRTS2UzRDdUR1BPSjc0b1loZUJHenVFYlNrYXppaHRvclczaTc2c3BsZGZJRUNRVjhtUTNsUkdiV2xGY3pxNkVCbGt3ai93SXNVcFFGVHN6Wm1NY2czbm1kZmZKQnYvdHVmS1g1c05URlhRRDdIbDg0ZWo1dU84YWU3N2lVUURISEx6Ui9tMDlNSDhiMm5OcE9UQVVwTERNNFpLdm5MTEp2TFAzNHJmMyt1SFN6cm9PSWMzL3pNR2NidVh4TTd6YWVyOUE0TVVlSDVFbmEzRlN6VFlFaGQ4ZlorSlVQcWl2bmlUYWRpNzVZWXR1dDExUTQrRTE1dHl4NThHT0xoWHgwRUgyaEJSRHBjWDd5SnYvYU1JTzc2dGp0Mk5SQlhGbXR5UlR6WU45U3pCWE5GeEpXMTY3UFhncWlSNXdQRnpXek9oN1kzNGw3ODlWbWMrTk16andxLzJUWU1yRXl2eTMvUC9pVzU5bTUwamNWclRUWXZqeGpFOUo3VjNQYm1MTnBIaitFTHljOFVOczREMTd1T1pzcmI3eThjRjh1d3VIamtxZFJHS25oazVSOXBUWFlOS0thT2VwL01xOWFLVkx5RnVLNWhZYmRpbEE0VFB1bFNhdE12c2JWOUUvVmpwekRpaEJQbzdtNmtzbXBrdi9uanZ6eFc3MmtYOC9Zcm9SQzRhTDBONDNMdnhvMFFBcVh5OUQzekpKa0JqQldZVVJjeHZvL2Z2dGxKY0VxYWo4Mm80bytQeG5Fek5pZDlGS2Jua3RTSEhkSWIvYVNYUlJCbWdQR0VxTkZSYXMwQTkrYmEyZXptWVlBUXU5NXREOVJhZ00raEwrM25yZDdCRkVlOHVzWllLb1F2NktCVkdoek54ZWRONEZQWG5zVDVJa0grZDMrbDdZbFhjR0p4akVDZ1VPeXNkcExmRWplVFEybEY1VVZuVS9LcDYzajd4RkwrdXVWWm5sbzlrNzVNREt5QTkzejJRN0VxemI5ei9LYmhNcVl2Uk5NYkFSaWJ4VWtLUW1ITmxxMndaZ08wZDhIeVZVRE95K0ZBQzNKNVRlQzFZb1lMaVoyMUVRTVYyejZJUUtKS3gwaTgrQmNTei84QkZldllmbzE4dkF1bmF6TXFtNkxvcWk4alE4Vkgxclp6Y3JRbXVtaExkTk9kaVJQMmhlakxKS2dycXFBNzFVZHZOc0dhemszVUYxVnluQTVjc2RCYUU0eU9vS2V2Z3plWGZwbTYrampKdk1uTXhlVU1DZDVCYWNsZ3ROYkhablBhZnFKakRaOGVBVHB2azM1MUh2N0pZNUNsM2hyV2p0ZkEweHBXVC9xMWVlUldiUEJxVEhlS21VczBnNXlVK0ZCc1krQ2tUTmZFcDZORHZ2MUtxUDc4Tml0OHB5UGNGL0tJbUo3K2E1YzVYM3pIenlaemU4ZTZHalcwbk12T0hjKzE1NDhENEpHWFZ2SHdpeXRadDZtYkl4VmMxUGxDWHdqaGcveTJRZXhrb3dyVEEwY0hyOGJHMlcxZmNEUUlZd2NXM0FEbkJ3dzAzZ2k4RS9kOTI3SWZxRnNUUUhGT0hoVW16djdWSjRuOU9pNzlGanFaeEUzRVBUNDYzbFRtNEx4SjJvV3VKWURHVFJvWVBoL0J3WU1JWFhZQitjNE9aTFFjOGdvN0UvT2NudDNMb1B5RVEweXUyai85ZHUzYXRmemdCei9BNS9PeFpvM1hBOFlzZE9HK0xkWEdRanZOOThNMVJJUkJBaGZkSXRGS2JKZDNuUTlLSWlmYkZKL3BBUW9LQ3hKekxaSUxUR28rbmNVSWFkeTB3SXpxQS9BSGVoZFhIWGNnd3FjaXlqNk1qajJMclB3OGFzdlhRZFlqSXVNUnBrbHE3aUphL3YxL2lMLzBHaklVSmxCWmlldTRYcFh2VWJ6ZEMwQXBoVDljeklrakoySjRDamQ3U2pyUVFEeWRZdjZHbGZ6MnNiOHpkOVVpN0h3T1d4MTRMWFAyclNYSDFPb0pCSU5zMnRSRWJXMHQ5WFYxOUhSM3MzNzllc2FPSFl0cG1teHFhcUttdG9aUTNSZ3REVU1nRk5nWlpMd1QyeXJpcmJZaERMTGFLWGF6dUxxYm9kVXB3bjY5VTcwOE9GcGlwSHVvTXJzUmFKSXBTR1FFSGJxYXV2eGFSbVU3TWFRbWxHM203YUpyY2MzZ1lkL2Z0UEFXMTFOUG5zUFZsNzNJM0ZYaklCcml6SXE3Q0JWOUhWLzh6NXc1NWhXZWZQZ1VmS05mNG9PWE5mSDhLNmVRN2dsaUZPVnhYZkh1MGw1RFdSUnVQTU5QVFZSUVZpeW9MNWZjZEs3RjRGS0JNZ1JQTDNDWXY4WkJDYy8vTEF6dmZqb1Rpc2VXV0t4SVRXRk9hd3MzYm4yY0UxSkxEdnZ5MjRhL0dEajlGT3IrNHh0RXBrL2RweTEvUkdXQUFLbGdjaTJzMmdyQ0VWVDZJVjlmU2NWRjU1TlowT3U1Q0thV0V2OTdPYW5jWm9weUFuOGZwQ1pDMFhJUTd1R2VZMDNFU2xJUjZFSWNvRDRnMEZRRXVvaFlTZHJwSHh2Q09ZUWtSSzAxbGltSmxwZHpTaWlBaUJiVDFkWEZCWk5IRVkyV1lCb0dqcU9PV01ObFpUdTBMVjdGaGhkbTA3ZXA1YmdxOVI2a2Q4TW9GUVdiUlZSWGtaWlFlc1ZWWk8vTjBOdlpTM1JrR2ZHdGFZcE91eHhyNG5neTJzVXNLVVowOVNITkFheGZQY2J5KzF6bnlQaitGT0FNMEI1WEZBaFRGUzFqVUlsWGI1MnhzMnpzYm1Gd1NUWEZ3VEFaTzQ4bERXS1pKQXMzcjZFejBVTjNLc2Fna2lvc3c2U2hySmFnTDBCUE9zYW1ubGFxbzJXNFNoMGN6d2l3SFkwTWVQV3k5bTc5c0F4RGViZ2VvaGlFNHV5UjgvanUyWTl6NFFrTEFNM3NGZVg4NXEwaVptN3c0MnBCa1Y4aGhQWktQUVk4aUM0WVhadmwyNWUyRWZLcDdUaTNtUlZKdXY3ZVJtWmxhcy9tc2k1Z0t3cUJMQ3JDUDNvMGtkTlBKM3phYWZoSGowWkdJb2RWaVRoOStNbmNmdm5YT0hQNDFJSUpjZVQwbllCaEg3aDV2TnRIcGxDWThqQkZEUE83alRlZng1NzlOdTZHSm93UkRXQklkQ3FOenVmQmRuWnlJaDBaT2JqZHZ2Q1pCMjVmYUkzamF1OGNZKy8rTTBOcTNLekpRL056L09TTDlYeDQydVhFdTd1b3JBanlINzlhZ0VxM1lZU3QvY1BUcFdnL2hQVFJzMThjYTM3eXZmbjdoTllJS1RIUWFOdkdHRHNFLzAwZlFqVTFJOGVQUlFRQytLNjRERGx5T0NxYlEyOXBSZ29QTDBpS0FwNkVPSjdMcnc5SWpua3hwcnYrK1VzNjJ6c1lPbXdVcld2dVEwLzRNdW1Ld1hUN3BpQ0FzdG9wT08xTkxIcjFMeFRQK0JwdnpudUxEVTFyK1BuMzd0cGhyeDZCdVhjMVBMZEpNNzlESXdYTWFmZnUvai9lVkNnTnAxUUtMaDBpT0JveVpVSit3Wmxqd295czh2SldpNElHQWN2emwxNXlRcFRUUjRZQTJOQ1I1N25saVNNK1htRkNhTGhMWUpCQ2FMQXFGS0dSbnVDcnZEaVAzU1hSQXJKYkpPbU5ocGRqMjg5Nm83KzRGMU82L012ZlBzOXo4MmJ3Mk1McFJBTnBUTk1objRPY05qazMwc05YTmovQ2pQZ0tNcVUrRXVWakNlZ0JGTkNKem4wT1hBbHcraXpxdnRSTTlSZTM0dmFLSFU2cmR4cFVxQ1JjY3g1VWVlWGpkR3oxUGtQdXROWHM3M2tES1ZzMEtDVm9iTjFLUE5mSDhwNCtFaXBGZTByVDNGR00wbjR2M2JDL1JZRVFDTXRQYWZVUVlrWDFOSlFQNTRTZ253N0hZcTBxSnRQYlRxaXF3b3Y1S0JlanFwS2lqMzhVbzdxSzN0LzlFYkZnSHBiZXByZ2RXZCthMXByMlpDOGJlMXQ0YXJXSFJYakYyTk1ZWGxwSGRhUnNuekgvUS8zK3ZtME1qYVd5RUZhb3dRSTNhS0NVQjlYeVZrenhRS3RESWxUT1I4OC9EeEE0S2t0WFN4L0RLME0wcnZkeDU1MTNVbEpTZ3QvdjM1N0RrTS9sdVBiR0R6TDJsbjhqbit1bDlkVm5LUm8raWNHblhrYm5LMjlnTEY5T09OT0hxeVJLR3UrNmxmUzN2OXB6V0dqNjhnSFNya2tpM2tNZ3IxbmJiakptVEpRMWptVFMwR0o2c3BwNXJUNUdsWnFzYVpTTXFkVms0eWxTZGhoVTBIUGs2b0VmNys3NnI5WmcrazBTVzdyNS9OM1g4TGxidWlocjYwWUtnMERGR1A3bEw5ZVEyTktOV2Z4T3ZNcmpkT1RKNmV6QmJ1MEUxd1hEd09ub0lUVjd3VHVFcU5LQ25KSmszY09yelJ4cjliR3VPbGdtZHhIQmthakVBbFRuWDlGMko4SS8yRnR6WFk4aXJBcGsrYlhJOEVpVXlzTkFhNVZhb3pLT1YrOWtlTGthcHFHd0UwRWlaUW4rK1kySHVPVHNEYmd4ejNkcUdmdm5mekNreGtrTFRwM1V3aFducmVTcDF5WmhGcVZ4WEhrQVE5TTRqa05uWnlkUFBQRUVkOTU1SjVzM2I5NStmTWFrSUQvK1FnVXpUZ3g2ZVZFWnlLeFF4RjUxeWF4UXFHd2hWZUJ3d2taczY1dWRodFY5QnUxMWdxcThuK0cxWmJTMWRMTGNVaFIzZ0J3bXdMZVRtaUFFd3JRUStBcVlXdXFveWlvUmhvRjE4b2tJMHlUMzdJdm9SQUwvZFZmaFArOHNVSnJzVXk5NHZacUhEY0dhTVExWlVvSW9MY1k2ZVRMNWwxOUZPdzd2ZTVJQ3JXMThKMDFHbHBlRFV1UVhMY0Zldmd4aGhUelp2UHVtdXkxL1Q0RlJYMGYwaTUvRHFLOUZCa0lrLzNBbmJvLzJtUHd3K1RhMTQwTEFqK200YlB6ZzU2bjk4YmY1NjkvL3pyQVJJN2p0dHRzS3ZtMEQxM1U5dkI0aCtNRVBma0RUaG8zODllNi9FeHcyaEkwZit3cW00eUNDZ1VMZTRrSDRkN2IxQ3BQR2R0enIzVlI1WkVGR2F3UnF0M2hvM25WQmdPVXo5K0FiMXRqYTVLcTZoemkzNWdXK3MrU1h4T3hpQWpLUDBnWittZVdEZys5bVl2RVNmclArRzJ6TkRPSzM2NytPejhnUk5OTW92U2VCWSs3VjFtbHR5NFBXZFBWNTQzV3lUcUhYOHp0ekxoVmdZNkNQZ2lTZWJlMndoNW8yVjRSU1hCRk80Ry9MY1A5TFdlNS9Qc3VTTlE3N3Mrd2I2ZzJ1djhESEJ5LzJVVHg4S0E5bHp1UCsxZ3RZbkJtTnJTd1ErN0hudU5ZeEpRb09PUHEyRTQ2dExpK2wrSE9mUVplWHNPQ1pwNGxXMVZNM1lpelNOSkcxMVpSODdqTTRUenlHNk93cytNc092WmI3d3grWXNSMkR5NnVEOW1wbWxWTGI2d3JWWG82YkFxTHVHVjZmeDRGaTJ6LzkvS0MvYWtrSSt5VEpuQ0xuYUVLV0pCcVFqS2p3TWEwaHhNcldMQ0dmNUxUaElSWTJaMW5UbnNOdkNuS09KcGxUaEgwU3l6ZzBHTFpqYlg1MW9SaFlhNDBWQ0ZGUk1vVjhPc0d3YVNlUVNYUlJPMkl5blp2WFU5VXdHZVhtdmQ0Q1F0QlFHK2FIWDVqc3hVZ0djTXY2eGtkMyt5Q1ZmUjhwR2g0VE5HMU9zcldyQ2lGNkdCcmNSUERLejVBLy9TYk1oaEhFMnhkQjZpNmN6SEl5c1M4UUxwNk03c2ZDZEZjTFppYkttWmNxcHMveDhYQnZMV2RGdkU2TkQvZlcwdVg0bUpjcVptYWluQnRMdDJMMEZ6Q2sxQWM4VTlyVktCUU5EYVVBekpyZnlQMFB6NmV0clErQSt4K2VUemFaWWZpSWNtOGR2cTVBYTYvZnh5RXk4VUQ2YlFTZ2xVc2lWWXhVdGNTeXE1R2lCRU5ESk96bjNCRlRlWFAxcTRTdEtucnNhbkMySW56R1BsVkowelFaVlZQQ3MrdjdhSTJsV2RhZW9pZ1V3RkVwTnJadEpKdktFZzFNNSt3aEY1Rngyc25IVjZQemVTWU9DVk5lYjJHR2doamhBSFpmQWhCWUpSSGNkQTRubGFaMlNCNDdieU1NSDhIeXNTU0t6Mlp0c29JbGpWM1VoUVVqNnlwMitDeWtRVS9PNnpYVlh3cU5TZ3ZjSGdQcnZDekJrM0xielc5aDdjamY4QTIzc1FZNzI4eDVNZ3Y5WkJiNFVlbER6eTh5RE1qbE5TczN1dnprcXlHKytuOXBhaXNrTjEvanA2eFlra2pwL1dMcWJXYjJRT090bnRYeHpyeHB0MFdUMjcxZm9mRDZiZTY4UDJtbDJidUNLQkRGUmZpdnZRd3NnL3pUTDVJcDJFZk93cVg0THI4US94VVg0MjdjdEkzVDkydTg5cjZjQVdKWG0zei9KTzBSbHZaN2F6T3FCVUpvVHFqcFlISnRPMEpBeUxRWldkNURWVGpGMW5pRXA5ZU13bEU3YW5TT2g3YTMrU01sZnIrZlFDQkFJQkFnSG8vajkvdngrWHhrTWhsY04rekZRTFJBdVFJaC9keHljeTFTR3J3OXR3WEhTVzh6K1hGZGwwd21ReUFRUUVxSmxKTFMwbEt5MlN4K3Y3OWZjRzBkRjVac2RHanZWYXplNHZMeDgxeHVISjFuaEQvTFBaMlZ2TmhiUXJkajdueURaT3c4ODVyWE1FK3M0Vmp0SmlZQVYyZ3lwa2JKSFdVaWprVUJUNldBc1NBaEx5RVBwTVc3dUFRTGNpdTlhakdqdnZsYlRyMzE0NENnYi9BVEpEWXVwNXl6ZUd2VkN2NTJ3dzFjdFdJVnAvaE04cTViaUVFTi9QMmFldWZkZisvamYvZHpkanZSc3hFbDFiNHMwY0dEK2RQR2NUUVg5YkkyOHpnTE55L2twOU9ld084eitQYWltM0d6WXdoWkpuOXBITUlOd1MzVXExNjZxQ2lVUnZYREhxd2tCR0RZNE5kWXV2WUtxRSt5ZGVObVZINERibzBnWGprVVNZcHdjUm9uV0lMZGwyWFV5RmZ4aFRWS0hSNVBiMWRYRi8vMTFhL1NHUTRqam9GR1YwSUlRc0VnVlZWVm5CZ0k0Tzl0bytpaUszQ3Fxc25NZlF1bnR4dXRGRzQ4VG1iWllxTG5YSUJ2K0NpY3puYUNFeVlqZkVIOG0rWXpwWFkwbGI0d1dXVWpoRUYvWm1OSUlJZGcwcFlsM0RUL0FYNTYyc2ZKU21PSDM4UGNmeEcxUGY1ZUdKNC9uK1NtK1E4d2Fjc1Njb2J2Z09JQkE3SGUzdmw4RkZwSCtjRi92c3ozYjNPcEdITXRHbWhhK2dqLytUOXpRSmNqaFV1L1l4Z0tRVkFJaXFSRUFpRWg2TjNIVjRKQ1VDb2xFU2tKQ25ISUdzT2ZMdi9qVWIxMlBqMS8xL2Z6VlBLZ05pa2hQT1Z6NnRseElscnkrc01ScE5TWVNkQm1GaFQ0L1pxS1VKNjF0YjFzSUloUWVrRDkrdG04WWxObmpzNjQzVys4SmFWZy9LQXdrYUJKUE9QdzFscjdpR0hyN3dIdmJFQ2M0TzVPMTVVNENPVVViRU5CaTZpZ1JkVHdzZ0NSejFHM3VwZXhxeHVaZE84OFR2RGJqQnBXUnYxSll5bVpjU3FoNmRPd3hvMURCbmN0cE5TdWkxWXUva0NRd1RVbWovenNURTQ0KzNNMG5Qb1JpZ09mSmxSNUlzSGlZYnNJSlhFa20zSDE4L3p1TGx1OUJ0ZUtpb293MTEwM21UUFBIQVJvWG45OUM0OCt1bzdXMWdSQ3lOMTZPK2dENG1Fdjl1WWxVYXBEWEJ6aXVGWFZiL1RMU3c4MXU4aUZ6T09JaFRNUjRUQjZVQXhkbG43M0RmeEFhR1gvQ3pHdEZLL08yY3FxOVMvU0U4c3k0NlJLdEs3aGkzZEpmblB6M1p3OVlkMFJBeFVWQmY2V3RxYWh3YytFWVQ1bUxjNXcyZ1hSN1lsZ3RxT1p0VGpEaEdFK0docjhTRHUvVThQNGdhZWtBZDJXWU9SQjNsK1hKVWkrVDNBUVp3MEpITGlNM3BhWEx6UzZUQktlbG1MaW9CU0c0YTBuNTVvMHkxdkNwSHFEaUhyUE1qL29YUDUxNzQvbjRQVDBrcDYvaEw2blh5SXg4dzN5bTdlaVhZVXdqczU5M1JBU2dhUXQyOFdheEVhbWxwN0F4czYxYkRudnc2aXlLTkZGcnpFbzRCWCtiTTIycytHcVR5Sjc0dmlXdjhUWXluR3NTV3lrTGR0RlEyZ1FRb0I3QkFTYXpncWNsUmEyNVR0bUhXS0hiN0wya29LeWEyWGR2cy9aeGZlajhJWENkTStadzlmK2ZCNGZ1VDlEcUhNOWEzL2VTZEJmenRvZmZCT3gyYytQdjNBZlgzektaSksvbExoVzc1b2lhZTUwTUcrRHloY0FsNFYzYkVpOVFjTndnMHN2RDRDcnljUTFUVnRjakdWUTEyU3c0REZKUUVybVhEMllUWXMxaGhCOFlFd2RtVGprV2sxVytuUDBHUUpMbURpMlEydHJLNjJ0cmJ6ODhzdmJkYitHaGdZbVRwekl5U2Vmek1rbm44eUVDUk1ZT25Rb2htRWM1Nk1qcExNb0xXZ0laYmh6d25yT3JZeUJDM1plWUc0RHN0WWdUZWlMKzNscVpveDRmQk9RQnlIcEZtbWExM1F5OTZVTklBeXFSNVJ6OXZsMWZPYUxFN2pwWTJPNS9ZZExXTEd1bDFqU1QzRTBoM0xZSHVDMjg0SktuODM5VTlaeTY2QTJQclZ5RkUzcEFFSWNSQ2k1Y2MyTzE1VzFoS1pQd3plamhudDlCbmN2MW9mSjdsNSs2SjQvYlpPVDQwaEhic1UxeDZITWNrUm9HbExaWk96UjZPQml0QTZEY2hEU2g5aTZrZEJ6ZDVJLzkwTUVYcmtYMytvNVVEc2N3ODRpRzVlQlllNTNRdVEzZi9yb0FSbWpyVjF4Y29YaWFNZFJQUFQ4SXVZc2FUcHNnYk10VzQ0dHdKT1dPLytCRVE1ajkvYlI5Y1J6ek5HYldINVZHVWVORnJQd0FHMGRCR1hGUVFKR21JQVZ3REJOckdneGN0U1psSWVINGJvMlRpcEJ5Nkk1REtreU1ZT0tWSmRMdzlqQmpMM3dlbnlXU1ZWVlBSck40TkloTERKOVdJYWdvaVNFT0p4cG5kZGNBeFVWY1AzMTBONis1M09xcStHdXUrQ01Nd2JjeDdNdnZDSlhlN1g1VDJ5RXE1K0MzNTRHSzYrQng1dGhWanM4MWd6TnlZSnZhSGNKVS9oTUZuSkVEOWFkRTdlTGVLWHRyRjJ4UkFVMEp3ZlJuQnEwL1dZTTZYSk96UnQ4YmZ4dm1DSGVJUFdnWnRPalFld084YzZDQkExYWdWV3RLYjhtVC9ncXdSdjZMSDQyL3d2TWJEOERWOGtEVWtYbnQ4NC9CTmVJd3V6ZGdMRUgzVnRweFliZURUaXRjOS9aVVAwd09nUDlFcTZxa1h4bG1NbjR5UDVQVEg1ZGh2Zy91OGd1U0tKM0EyTTVaS3F0aFRQM3Yya0Z4Y1V3WThhZWo5MTk5M3ZUWE9EZFhXd0hFMGVUaGtUbDh0ejJyK2N5ZmtRVlQ3Nnloa1JYQW9JK0RDbTJOMnlTUXVBcWpVcm5pWlNIK2Q5dlhzU3FEWjFjZU9NR3BNL2NvMy8zWkhmOUFkMWJJRzlRdE40a1U5cXluMkN6Ujk4RE1rczFKUmZZUkNZNTJ6L3JlOUYzeFBGdHRRYW53eUM3RWxSSzdJN2xmRmpvOWRVTlIva0Q3RDV1MkIwSmtoS1Z6ZUkySjdGcXF0Q09RMjdMVnE4Z3ZhMkQ0SVF4MUg3dnE1Ui84RW9Bd21nSStnNzdNRXYwM2hMZ2xZZFk2clJqSjEvQ0t2OHc2RERvL0I0V21RWjhvQlBldWRFWjRCL2hWVjRlSm8xZWFVMG01eUNERmtwQk91dUFjUlRJV3lsSXB4MWVmbUVyQkEyRTNDbFoyNVQ4L1pGbXRyWm53R2Q0VGIvMHp2Y2t3Ry96YjNkZXlFdkxHcmp5cFBWRURMaGgva2llbVRzS0Fua3lqY1BJTkEwajJOQkk5S1FGaEJvYVBVQzRuQit0d1IwQUlTMkV4Q29lUkdMVjQ2aGNBaU5nZXNxcUtCVE02VjFqbTFvcDNLeWdaTW8xUk1kZmhadnB3UWlXSVgwUkNpY2ZmbCtQRUJnQzJuc1NQUHphQ2phMjlmR1owNFp4VVgwSVM0cmpidDV0WnZCRHQ5SzRwWmRIWGxyRnVhYzBNUHZ1VzJqdFRQTFdrczNVVlVhWlBua1FDMVpzcGFNbnhjZXVuTXpIcnB6TWl2VWRMRi9Yd1drbkRtWkliVEhQelY1UGNUVEFiVjg0bDl1K2NDNnpGemJUMnBuZzJndkdJWUJIWGx6SmxBbUQrY1lYYnFCeDZlZnA4OFhBTlBqcUIvTWtuQUJQdmJhUmM2Ylc4L1o5bjJGelc1ejVLMW9JK2kzT09hV0JZT0EvOXEwblpMTWtubmlLN09MRjVGYXV3bWx2eDI1cUluTEJlVmpER3J4Y3ZRSVA3cHpuWFJXV1ZBMFBNNlRFeDh4Tm5jeHNXWWxXL2R0Q2Fmd1R2ei9nZmNVSTc4Z0RFVkl5Nk51Zm8vNGJ0d3dNQXhUZnM4dmJIL3p6am9NVTBBb2lJWHFtbFRKcVU1YWFaSWpsT29LdlUzRmFUNEttU0o2ZlRTdmo5dDYzNGE2WnV6UW82UmY3NGlDVVM2MDFHczNxM2taNjlHWkd4SVBFbFo4RnVkV2MyTDJPS1hVbklpZzBVRHhDdVJ4U1ExM2E0MXRiUW1OVTcrS0VDSTRaUWZ6UHZ5UzVkQ1crUWJWMC92eXZGRjk5UG9IeEkvcHRqdmZxRk5NQzRTdEJGazJpYStWY21ocURrTWxSVzN3NnZzZzRVazR2ZnFjYkVTa0czbVJnSUdCM3BWbnJ4aHpVcmRpT3BEN1lUalJWUmxVdkpKTnI4ZWtpQXNvbUp4eW05UGtvaWxlU2JPaGk5ZnFSV01iQkFqV3NlUi91TWp1a3J0WTJUcTZQZE04Sy9OSEJLRGRQck8wdC9PRTY5QzU1eFdMQTExWE9GTHd3dm9SMWw5YmpiM2tKL2VEemU3OERRM3BnRmsvUEc5QkdKTHRQbTczU0pQTlFnTkFuTXdTdnk1SCtoeCtqU3BGN3pjS29kd2wrSkl1enppQnpYd0NkMnJYQ1FXanQvYUZ4cFVFeUZLRzl0SXFtdWdiV0RSNUpVMjBEN1dWVnBJSmhYR2w0ZnVqQ2R3emxEcGg4cUR1QzhxSDFTd2NHUnF5SU1FeHY1dkwwMnp6b081OFJGWnVwS2U3bG4zUFBvQ05lak5LU0llV2RYRFAxTFlhVXRkSHMxUERCOUNzTXUzMExXMFFsOG9CYmZSNTR3YkpQS200K1l6WU5GVjE4OCtFUDBKY09IWGdGb0JaRWd4bStjL25UTkhXWDg3TVhMaUtuNVB0QU5JbWQ2djdFTzFqWW14cXhpMTJ4eDNQMk5xMUtZUVpEUEwyNmorcE1JNE5HMWlHRlNhWnJDeTF6dzFqT0YxaS9OWVUvV281VzdqN2wza0RXSlFnQlR0N0JYMWZPUjA0Vk5HMlp5OXZCeVZ5ZmVBcWxZY0h3YXhreGZoSTEzWGZ6Y0hrSU8rY2dkaXRPUGxSSzVsMld0NlhJdTNxL3pQdU1yV2pxemJFMW51OFh2ZjIyamM4ZGtJeXJ0cFA0QzNuZmxuYTVxbXM1VStPYkJ3d0w4a1BIVGRiRFNyZmNNZWNkaTJkYmZHSEVrREkrZFBsRUpnejFHcFhxWEo3RWEyOFJlK1psRE1za2ROWjA1Smt6Q05RSmhMbWpZWnd3VGF5NkdySmxsVVFEeHZidnhwNTdsY1JyYjRGU0ZGOXhJWnRxaHZIUDF6YXl2ckVUTkFVN1pILzlaUkMxSEdhMTFQQ25tZ2JhcWdQODZaVkJpQ0s5aTR0UENvMEVITWNFVzNMUzZDNkdYWnRHTFJVMGZTdnNuV1BCc090U1RCM2N3NEsxRldBcFROTkJiZk5oSGFmOXNsT1ZnSnBpaHl0VlNuU3Y5dUdQZThldVhKN2x6V0UrRnRkYnVQMjk1ZTVIcnBrSUtYem4yWWhJZnM5SXZ4cndhMFRZNDEvL2pXbkk3WVVYRGRCSmdmMWk2TERIaTEwRlM5YzZQRE1yVDBlM29ySEYwNzMrOTg0MFZXV1NTOC8wTVc1RS8rYmVkWHp1WHcvRzljQ2duaDZHbkRFRGxDWWVDdU5QSytMbDNTaERNVHBYeWRDUXBHamtTSkFDdFhJdDdaLzkxMzV4UWFUZVhMUkhIU1czY1F1aHFSUFFlZnZnVEM4Tm1BWjJXeWZKMStmdmFLQjZpR1JaUjNldVpPNjlhcTY3Z0I4b3g2dWtIdzBrUVFUQjU4QkpRY25sNTByT21tRXdicWpBTkhlWXhZT0I0VU1Fb3hvRXhSRjQ1bFhJMjRvdHJacTlxSjZIVEVxRHRDUnptMUw4OXMxT2ZuWmxQVDV6NXlhME96TzFpOWFLeTh2R1UycEZxUzJyTC9nZS9QUjNkWXJhL1dZTCtvUGUvbGFqZEtIV2JLZWYzdHlWNXM1WG16amNnWXFCc2k4MElLUkxPaDlodytvRlZFVXlsQkNqTFBzWTgzMFhvV3ZxZU9RbjU3SnA3bElhVjg2aktBSjk4YnkzZi9Vbncyd3ZMQmRZcHBmdjM1dm9JZWpteURuVjVKdzg3VjI5bEZvSlhPVmdtanZWQkJ4QlZVY1gzTDdyMHBLNnAyWVNDbTVoVWFxWTVqNGZrKzNYNlpqZnpmcTBEKzBidVB4ZkRWUktrMnBNRkZBalRXb3dqK2syeU5zZTZYSW55MTNwWHRhWHBmbll4d044N3ZvZ2c2cmx1NEQ3cVVKTTFFU1lGY2pnQkFpZlRqWXdoU2E3akxkN08zbDE0M0xlN25pTXhtUWJPU2QzNkF4Z21qZ2RiU1NmK2lmRkg3c1Y0UStnc3hrQ1U2ZVRmT1lSM0xZV0VJTHNtek94TjZ6RlAra2t6T3A2RW8vZVIrSyt2NkxTTVM5SDJySDdWVDRjelhXNU45N2RkTUQzSndVRVRVbmFWdS9heDM3YnNaQWx5VGhlVTVoREZSR2YvZXdMQjgzSHRwWlU2QVEvSHI0YTQrVm4wTGZmN3Fua0x6MkRmdmdSdnJsaExGMGlnaVg2RDJTNlRHY09rbzhFUXRxMGJXMm1aTVF5UG5IWjYzUzBGR0VnK1BpVnN3a1BIMC9ubGpEVk1vL1dxdDhBelc3L3g4K09HNk1EU1dlZGRYU1A3L1hYMzFlUFF3Z3ZORjlUN3VQQ2FlWE1YTmlEN1dxKzhxRUdMajJ0QW9CUmcwUGM4L3hXc25uQmhkUEtxU24zN1lKQmZrVEdyVFFxNkNleXBwbjA5NStsNFgrK1I4d2FRZmJiUHlGWVZJWHlLYlR5L280R0xVSnJqVkthRFJ2NkdEdTJqTFZyZTNuNGtiVmU3cnJmWk15WU10YXM2ZUdNTXdZVllnajlvMHkrRi9KMzN0Mm40MkpJZzFnMnllck9adDdldklvcHRTT1ozN0tHUkQ1TkxKdENJRkJhc2JGbks0dGIxN0dtc3huVE1GRDlVVXQ4S01xMDFzaFFpT0Q1NTVOZnRZcDBvVFkwZFA3NStNYU5RNFpDL1c0TWgvN3l0LzArTjYwMGRtczdPdXZGSE4yZVBtSi92aGVqcE1qRGVEcE9oMlFzYWRjcCtQMGgrL3JiZEgvcmRuSnZMVVNFUTZoVWt0QjVYbjFWK3BYWjZHeUV6azkrbmZqdjc2SDg5bThST1B0VTd6S09nekRNQWJFOXBZU1R4c0xOMThGMTUwTjFaY0hYVXdoRGR0Z1dqL1NXOFpmT2FoYW1JdHQ5L1F0VEVlN3NyT0xteWc2dUsrMm0ybWVEQzFYbGNPdUh2R3M5OGpMODVWRll1TXJiZnc1NUU5dE4xNVVLVWo3QjNIb2ZiNXhhaDNGYU9VWjZEano5Qmtjck5KK2J6R0QzeGc0dUxxakI3bzNoSmpOd0NIMVVEMmEvM0ttM0RRa2daaGk0cGtsSm9mWXA5dHByeEd5YmhPdVNCb0lGTmpveWt3dzZJMUdkSnVhNExLbjFmb3doZWN5UldZeEJudDFyanN6aXR2aHcxdnNKRDgvaHJBcWdNM0k3M3g5T0dhR1FGTFYwa2Mva1FFdk1pYU93UWtFRzUyeENCVHl3d0JnL3ppUUxNbGxRQ3BuSlVkVFNoVUllY293NThkelg2VTFrdWVlbEZUejVwbGY3OUt1dlg4cEh6aDlQV1pIMyt6MkpMUGU5dElJbnRoMy94ajZPZjJVZngvZHgvVHUrZmlrM1hUaUIwbWdBSWI3eERsR3dvY3NEZzZrcnJxYzBWRVlzMjBmV3lYRCttSXNCK00zclA2Y29VTHdkRkYxNFBmaEloUVRodE9icXA1TmMrb1ltbERaSkd0MUhOaFZjQzBZRXNueWdySS9yUzNyd3RTYTQ1OFVNRDcyWVo4VUdaNzlsV1ZIWTRhUlJXL2pvbFFGT2J3Z2dsMW0wUGU4anRjSkFaUVJpZjhNbzd6WVpyb3NvS1NiMzBHT2dGWkZmL1FSWlZ3dEErRWUzWWIveUdyRUxya1MxZHlJaVlhK3gwUkdjM0cyNU9xclFuQjRoY0xYbTdXNFlZVlV4V2pXUjFCWmFRRUE1cEtTUFAwZW44SHh3REoweWdJVmludHZIcHpONXJ0emE0Z1VaREs4R1lsdlRqdjRtQ3pndFlaUDQ3by9aRklrYzBlYjFlL1AzN1ZVOVBvQjRnQlJlczllaEljMW5QeExsYXQ5Y1p2VnF2djNKSC9IY0M3Y0FtdTk4OGs1YUh2ZzJYN3Fpa1pwTUEzKzVQOHVtckVCSy9hNjEzTU9OVmdZWm5ReVI3WUJFc08rdXNRcUpFQm5lc0U5a3NybUdIaDNGVVFiRGpWYkNaR2xUWmJTcFVpeGNRa2FPaDNMbmdyQ1BTRU1tQ1F5cUthVzBLUFN1R0lOQ0NFcUxRZ3lxS1dYdUVkWjkrdklwWm5ldXhGWXUzYmtFS1RkSGhTK0tJU1JyNGx1bzhrVlk2MlJaM052SWpJcXhsUHVqUjQ3bk5RUjhKdU1sL00vZGQvSENuL3lVMUFoeUJaRGNraHJCQzMveTg2MWYzOFUvYnYwS0FaL1pienBubVhvL05hd0JMVFJDQ1d5dEdEek9aYzNyQWY3ME5UL1JhZ2RIS3o3OXd6d3YvZDNIdkhzamhDMlRYRjZ6OWkyWHVuRTJUYk0xazZlQkVWRG8vWncyblg5L05TUlVTaUdseExadGxpOWZ2cjBwZ1JCaSs3SGpkT3hRb21YcisvSysxNjFieDdwMVJ6Y0lwTlRnVTlBU0VHd0tDVVlsUFN0NFRxbGthRm96TG5IQWZhcjJaNEcvNTUrOTdVbytkMjBqbWRQaDJXVVZkRGNMV25RWU1hV0lEM3l3RDM5Rkx5b25rR0Y5Wk90NlRRa3BHNlRBZDAwZHVpNkEvVWdYcDUxZkR0b2wrWEFQeHVBQVRLMUNCNE9JNXlTa1hhK09YWE9jM3MzMEZMQStKR2d2bFVmTlhPVWRoWjF6YWUxTzBSM1BrTXM1YUdFQkJtRXp5OWhBSTlPTFYzSlIrUkpPckV3UXFScUxIbnc1NXJCemlJdzRFNk9vbm5ST3NiWWx6cWJXQkt1YmVsaTZ1b09GYTdwWXRibVBUQ3pyS2FNK0Evd0dNbWdXOUZPOXp4d0lwM1AvVEhzTkdFRUlud0hsbndEL0tPaTlGN3J2QWpjTzNYOEh1d0E5RjMvWnUwYnI5Nkg4azFEN1g1QmJCejEvZytSc2NEUHZEdEdpYmUvdklGb3BISDE2NjM2ZWwxTjVaclhQUmlDNWVzalZuRnh4eXJ1NFhnUlZnYXBkUHB2Zk5aL0hteDlqVnZ0c2NpcVBRUFFQK3d1TjAra0RVK052eUpEcGpSeXp6MElBRXMyd3ltcW1Ob3ptOUtHamFFL0dhRXZFU05tNTdmT1Z0SE9NcnF6aHJPRmpxSWtVOCthbWRjeHZXa3RqdkJmRndJc1ZRMGpjVEpMd3FPczV0WHdkUFpzVzg3Y1BUK0NhUDYwa1dCSWkxN2FCTzE1N21LenRFT3Z0NVk1Zi9KN1FvRW5lK3M4bXVQOXprMmxlTVllYnI3NkZiODNKZ1EybUQ1eURHUGpKRSt2N2ZhZU1odjJjT0s3bXlPMFJDTmJtbzN5MHRCRmJTKzd2YmFEWDlXK3ZoZFJBVXk3Q3o3ckdGZVRvYm10SkMwcU5IQjhxM2NTWjRRNXVTNTZ3dmNmSGlUODk4K0Rrd3dEVTZTa053b0sxV3pXdm5mRlJadVIrVGFiYlpkUUpFVXd6UUtYbEp6ODR4VlBSRytsWmtrYWFzdjk3Q0IxaE9tUHlscU42ZkkvMU0xeXJ6L1F4b1dvWVBkazRHM3Rham9wRzhNZjhIcTRVSUFpRVN1bk54RkhSV2w3dkswTkUrdkNmZkJJNjdaS0xsQklLNUhCbEdTYWkzNW9sRDE2MW9WL3ZaVWkvYjZxN3hkd2RnUnQyR1hWNmtxdXVIODNXemNWc1dGdlBpQkdET08rcVFZd29lWmowaW01U2pmVmVhclJRcExSTEJNbEhyU3JxOEhGN3BwbFdsVHNnL2FrL0ZUWmJHUWlmVFN6alIwaUJzR3p5ZlRaVjFVWGNlTjAwUG5yYUVNWXNYVVRmM1kvUjk5WXlwQ0V4UXlHMHEzYUF4MG9CU3VNa2sxalZWVlRlZUJYNnhuUDVSN2lGZnl5NWl6ZWFsNEdVU0Y4SXBkVit4Mjl1T0RPMHgwRnJMRktOSTNpZ2VRVmxWWkJLZVhrYVg3MFZ2dlBmM3YrcEZHQUl3cVdhSjEreStPK3lZUXk1eENMdit2cFBTc3p1QjN0cDNUeXlDNTlEOWJaNWVlamJtVXVpZXR2SUxucU93TGdaQkNhZmYyUjlUVjNOTlBhMjBoeHJweXZWUjhRZklwM1AwaHhyWTFocFBhNVNyT3R1NXZTaEp4QXcvZTlQMlhrb2FYR0ZLcXRFZkRPanlqK0ZaVWVJYUl2eTRneXgyR1pLUzhxOC9lMTk3Qk01MXZEcHQvc2ROcmZTKzVNN3lTMWFUV0Q2SkdSeEJIdHJKNmxYNTVHWnN3VFZHd2U1NTJRRVF5dkc1ZnJrSUR0ZFBEWFRkZTdqMGFFbnZCV3FmaVl2ZlhjQ0M1aitxenh6dnJSZkc3QWhCY1BxUy9qRTFaTVowK0RsT1JkRi9DeGExY3JHelQyNFIwb2gzbDVLdGpkZjVjNmY3NjI1OE9FYisrSG9nN296U1NGUWhRWmkwalRlV1Q5NWlQZGlha2o0Tk44OHI1dWtUMk9vd3l4bS9ySHIyMW1ydHZiTGpXa0J2bVNLc2lrVGlRNnJSeVA3Wis5L1pkWDdUUElLMEFvUjJ3QjJEMEdybk41OERhWTVDbjN0Q0ZUclZ0cFZsSnhXbElvMlJMWURrV2dxMUFJT1RLMjZsQkpWaVBOb3JibnR0dHNBQ0lVOG5kSFo1Z01UZ2lmeWNaYTVXZjR2WE1lSlpwQWVuNE1zcUswSVVGbG8rbmFFMEhpSDRDaVh3ZDlKVS92NURPcytGNlg3Y1I5MS81ckJxbEM0eVFQSUdTdHdtcXo1ZnlERDZPUXMwSGsweGNpaHZ3TXM3TllPdHY3Z0ozVDkvWi9nT0pnVkZXaWx2ZnptWTRJdEJOcDFDWVhEVkpTVUlhVkJkV2tscGo5QUp2L081QU5wR0dCR2VIWFJHK1RzWENGM1RCNXdmOWFlLy9uak1iVjYwdWswMWRYVmxKU1VrTWxrQ0FhRDFOZlg0emdPanVOUVUxTkRhWEVKRzVNSlhOZkJ6UFNnNDkyNC9qQmFhK0ptRlpNanN5bjNaM0E2ZlBqZFlxK2ZvUFRhanFleWtFNDUrTktkbU5vaGs0YkZhd1h0NlFCdU1zWkpxcEh6OVh5a3ExbkpZQkwrNm5lVjd3T1czNFpYcHpxcVF2S0RTMXgrSDh6UVZQUThibm9OSzViOUMrdjZzcHpab0ZrMjJPTHR2bDVtM2wxTDkrTGhpTENENjRyOVduRzVIR1R6bWl1bit4aFZLekVrbkRiR1pPd2dnd2RtMnlRVDZoMzNvdkY4aDFnVzYwTVQyVmd4anFWRHp1Smo2LzdNOVZzZVJoNXFiL2Y5M2VjMVpFMTRkbnlVbFplVzQydDVIdjNnTTBjOWYwdWdQdUwxcFhsdXNlYVUwVkJkYnpQenhVWVN0cWQvLy9PRkhvYVBzbkdpNFBkQjhrUXcxbmtQN2YzdXRUTVBDYlBkKys3RUNlUG83V3pCemVjWk9YUVFHSktTaW5ydit1YVJ5MmVTbGtuVkNhUEo5UFNSNnVnaDJ4cy83bVI5ci9rOTlzV2ZBclNVMkU0ZU9XNDB1U0gxZEs5Y2pSYUNubzRPeXFkTlJSVkZVWjJkYU1Nb1lGRExmc1VjUDVicGpPaGJSKzdCaW4xL2RqQnVVSjloRWJJQ3RDZDZxQWlYc0xobEhlMkpIZ0ttRDlNd1dORzZrYmViVmpDb3RKSkZtOWVTYy9JTUtxbWl1YmNkcFJYRndRaWJlOXZ4bXo1Q1B1ODY2WHoyNERsRzdJU2hJYmI1U3hSYUM5eE1HS1RpN0ZIeitPNVpqM1BocEFXQVp2YUtjbjd6VmhFek4vaHh0YURJcjd3K0ZJY2pjRjRndjAveDdVdmJHRmVieGRVQ25kZkVYK21oKzRFT25LNTh3Y2pab1lmb1F0MkhMQ3JDUDNvMGtkTlBKM3phYWZoSGowWkdEaXpmSWUvYXhMSXBPcEs5Tk1mYVdkL2R3c2FlclFjMDV6Z2FhMDBTMzVvTy9qejNsL3poQU9JRHg2bWdQMHlmdXVlMTY3cGVIYk5wSW11cmtOV1ZISkZDMEEzeis5KysyQWRlanF0QStPR0Y1VDdHenZQenVadExxYW9wNHkvM0x1TGxXUjJJa0xuZi9zNmY4ZitPNnVmL3RkM2VIMnQrOHIyeXBDN2s5ZUZoemJ1OU1mSnZ6MGUzdHhPc3FVUkdvMlNXTDBkMmRlTjJkQ0lOdzdQbmRzS1NPNjVDSEloOXBSQkNzbWpsZk5vNmU3QkVHYUY4TjBWRlliTFZIeUxqYUNJQjc0b3g4elQwaU5NWnRHVVJhNXNYa05OaEJnWEt5V1lTaEVMUmQ2M0JHa2d5QkJUN1lYazN2THhGa3lsZ3QvNThzZWI4UVlMekI0TXBkdGo5UjRvY3BXbnN0Sm5mbUtFaWFqSjVVQUNmdVdQT3FvdE1Ta01HUzdka21kZVlvYkhUeGprS0VwYWtCY1VuT2tRbk9oZ1JqVlhxK1ZOcWI4amhKZ1dKRlNiNTlvSHA2YWEwSUdEWnZMMWhESTR5S0svb1FHbU42L3BRdGtWNVJaWnZmV29FSDVzNkNaay9qWVFWeHRTSzRvRiswclZEMzNYeGFRSGh1S1R1eTAyRXZ0Z0dNVHovM1Q2V1NGVWxrTnJwdFh0bzV4MmllMnFQS29iV0FrT0dPSEZrS1UvMGJPYU41cUhZU21ENHQzREN5QkZJRVFZdFVQMmFuYVZ3YzFzUTJXNkVZekhNR2NVTU1oaXBIdXEwSWsrYXBBMWsrM0NkZVJqV2lkNURNQzBpVjE2T1ZWWEJxdi83UFkyekZ5TXRZd0Iwb3ZZRG5zZFVQc3VMNitkei8xSVBEOGR2V054MDRrWDdVYVY3Nk45LzEyc2JHdDlraDNaZFJkWUlVbFhUUlpGSUlvVmt4V2E0ZDcxRGN3eUszRFJMbHk1REt4ZFh1YVNTV1FLdGZyTFpITEZZSEtVVUo1NTRJclp0STZYRWRWM0Nwa1ZaOVJnbWZQTGZTVzV1SWlDYjBSMHY0OHU4Um12WVQyWkNBNE9LV21DMVFuZkx2YlpWN0c5LzliYXVhSTZTYURkUExwUGg0UVZoSGxwWnkrOCtIT0gyQ3dULytXcWVFci9nMGN2aDNvZkRmUDJQdFNSelc3bnNwQXphemVNSXVkZVpQeHp4WThjRm8wang1OGZTWkxtVlZ6NytLQkxOdC81eUhYYy9Gc2NvVWpqdThUckhvOUdCcG5NRkxGSlJxT3VSRW0yNzdPSXMxNExqWnZKKzZvVHlZR1BRM3Zka2RDcUlic2lzQVY4aGx6OWZETUhSRUNuWTNuTGcrOWdhcHNHa0NYV3MzOVJES3AxR2FRTzdMOEtNVTlady85Y2ZadERnQlBsZWlXV29BeGI2QWs5ditPa25YK1RwQmFOd0hBTlI4SDhkQ05tMnpXOSs4eHU2dTcwZXpINUw4TW5MaS9qK0xlWFUxVnJvbENhelFoRjcxU1d6UXFHeUhwdUxJeVdLdHZYOHdPc041Z3BKWGl0Y05FS0x2ZVlrYmV1VGVGU1NOSkdENnRDSkpLcXhHV0dZbUpNbW9oTkpjcysvUXY2bG1UaWJOdUk3N1hSOEY1MVRLRkFUeUVGMUlFME9SOCt4WThKcWxtQU1IbFJJZjFFNGE5ZWozVHpDc3ZhaWxpcGthUW1CU3o1QTZDUFhZNDBmUjNUb0VCSS8rU1Z1Vnl0WXh1RTNPbDBGaHNSWFdremJOMzVJdG1rei8vR1QvMkRZeUpGODRxYWJjRjBYMHpSeEhBY2hCS1psOGJkLzNNMm1waWFlbi9VNjQyWTl6T3JMUDQ3c2pTT0xvbDYvdjBQWjNzVGV6aEg3UGtmdnlSSXdDQm9aMWlUR1kwbWJyQnZBa2phT3NsQkkwbTRZQWZoa2pyUWJKcTk4aE13VXJqWlFlczlDNTh4MzYwZTViUXhadlpPQnQzZlJNb2hld3VTUGFJemJCWUpDTTlXWDVicG9rdWtrMmJnb3d6MVA1M2htVm82dG5mdE9IL1ZaZ3RNbW1YenNjaC9ublJsbGMzUXlmKzY5bUtmN1p0RGlWSGtUSS9hdkR1U3NvWXVQNnBXL094cnluSU5oZU9IaC9aVlgxekJqMUdpMGhxYVdyU3hiczVLRmI4K21JWnVuL3RUcEdDTkdzTGE2bXU3T1RzKzg2UWY1WUx5eEl5SzNNNGZ2NmZYdW4ya2dkalRqbkFyd0ZmSWxoSUFoWlJiamF2emtITTJ5clZsNlVpNmpxMHdjVjlPUnNFbmxGYTVpdSsvTWI0ajMzZnh1L3praDhBV2pnS2EwYmdLK1VKUnNzb2RRYVEwMS9sSU15OExZYVc4YlZCWGt5eDhjdld1RDhBR2diM3gwMS9lLyt2T1gzazlhQmdBalI5VFQxVFdDa3ZMcHRHeVpUYmg2S3FNbWhkbTYrUFBreFcxVTFReEhXUjhsWER5NThDajdqNGNTeXVUcHZpcjZIQXNYZUNOWnlvcXNoelgyUnJJVUYraHpMSjd1cStLeTRnNUtETHQvZnZnQWJBc2h3SktDRDF4K0FsdmI0cnoyeWxxVUpjazdpcm1MVzhEdjJXcHpGN2RnK0UxZW5iVWU2U2pPbkQ2Y3Vwb2lIbjUyT2JZNjFCcWRnZkhiQ0FvOWtRSVIvdnNETHpPc3JwU0gxbDFNbnFYODVybGY4Znk4UjNocTNVd21sbDdFVHlZTkp6N3lXVDcxMjlPeGN4bUVmSGMvZ0NGZ1ltMHhmbFB5MXNaT0ZyZkVPWHRFR1VNcUpCRXpSRis2bC9WYjFqTmx5RGhxeHQ1TXNuTWhkcXFOVkVzUVM4Y0orU3hNbjQ5Y1FTNzRmVDRjUjVGSnVoaStNb0sxRitJTDFTSkxKdkhZMmdoZGZZMHM2N0g1NkpSNjFyWjBNS3F1RWlFa1FnZ00yYzk5cEdLUzVFdEIzRjZKK3dGSjZPd3NScEY2eHdJVFBvMGJsNlJmQ3hCL0pFeG12aCtkUGZURXcyMHdRLy82NHpULy9jVWd0LzlyaURXYlhNNDl4YVN5WFBEQ1c5NDZrZEx6eHlrWEJsVkpmdlRsRURkOTBNK2ExWXFMUDlISEMzUGR3eUpyN0t5OW4zenU3bU1qMmJNOUxDcks4ZDl3TmJxcmw5eVRYczlZLzVVWDQ3L2hha1E0Zk1CNUhlK0h2RkJIZVRVcEFkT2hMSlRoOUtHYkdWL1Z1U1AzU0F2Q1Bwc3poelVUei91WnY2V1dSTTUvdk5KOUo3N3I3ZTFsOE9EQnhHSXhpb3FLcUtpb29MT3prNTZlSHVyckIyTVlCcTR3eVNpTmFjTHN1UmxDeFhIOEFZTlgza2lURndMSGRYR0VpWlFHeGNVbE5EZHZJaHFOVWxIaDFjbTF0N2N6ZVBCZyt2cjZLQzh2NzVmOXQ2MVhjZC9NUEd0YkZOKzREcTZjM3Myd1lJWnFLOCtkN2RVa1hHUFh0ZmNlNkQ4Z3R1bkV1dENmY09lOVV1OTZuc0RMaWQvcnRsSG80eHE5NnFydFBRVWNCMHF1OFRwQy8vYVhkN0x1SzUvaFgxQ0VzTmljdDdmcjRJZUR6SUc0cUFJUW1vMnV4ZHpxQzVneGRpd1RXTWZmMWp4RTdlcXZVRGE0bkd6U1pmeXFtNWw4NVFwT2lrNGh0aVhIU3lKSHJNbUV1QWZZM0MreklEVFlNR0w0U2xxNlRzREtkbFB0dm9hTFNkWlhoMis0UTNKaGpuS3ptM2o1WUlyRDZ4ZzFaalU0OUJkazB6NHBsVXJ4OEdPUDBYSU1MWkxXdGpaU3FSU21QMENrc2d4WlA1ak0vRG5vZkk3YzJsVzRmWDNJY0JqLzhGSFk3VzFZZFlOeGt3a3lTeGRTTkg0eVJXV1Y5S1ZpZFBWMUVzK2xCMFp3Q0lGaitMaHl3NXNzcnhySlkyUFBSeWo3Z0QzNTIzdFBvdERTNHVKMUwzUGxoamR4RE4rMkxucEgyWVlEMHFlSTlaWHgvZSsrd2xlK21rQWFKci80MlZzazRoWElnRHRBK0pPZWl6UWtCSGtobUdENUtKVUdjZVhTNXJya0N2UGtGNElhdzZCSUd0UVpCajRoQ0lsdExWd1BMUjNnSXhQZU9xclh6YWQzZS8vemZPdUJtM2pDWTJFbEJKK3R5ZkdoYTJCTmR4L1B2T1lCMGVONmZzNnh0WnJoV1p2L2ZOR2wzV254WmxVUG5Pb3FCRVNEQnFOcmcvM2FROXcwQlBXbFBxSUI0eUE0OGxDc2FEQUR4UVRLQnBNc20wSlAzRE02akxLVENKUU54Z3dVN1dwd0Q0QUlVN3RkVkdvYm9UMGp5VVhRSWlwb0VUVzhMRURrYzlTdDdtWHM2a1ltM1R1UEUvdzJvNGFWVVgvU1dFcG1uRXBvK2pTc2NlT1F3U0Npb0ppa2Mza0NsbVRCYzcvZ2xRZC95dENHVXJJNWw3SVI1M1B5NVQrbUtCcDZUeWgxKzVTWDBxQzF0WmR6emhuTTlkZVBMdWh1a3QvK2RpNVMrZytvZWVrN2pYQ244RHNHNzNXcSt0aUJBeU1JQ1ptMUlSSnppMEdCdnlGTDBZdysrcTE3Nk03MDIxM2Z2anFobjM1RDl3RjlVSG9NdUFXRVlQNnlEbkFVMDZiVzh1dnZlUTNOUHY5OWg1dC85eEh1L1B3OW5EMWhQZnBJWWxScmdmUUpUcDhjWk9HYUxFWlFiazgrTm9LU3Radnp6SmdjUlBxRWh6SjhHQ2x1Q2haRUpkTmpCKzRVRThEQ3FFSGNmSCs0Ujc1N1FjbkI3YitGNmRHdW9LUW56dzlyTjNHUzVTRVFyODVIdUsxN0VIMjFQa1M5M2hIOE9aZ3BmWG4vSFlqSDdQNW0yL1E5K1NJZHYvNEwyVFhyUVd1RWFTS01veSs1VWlBd2hDVHVwQkRBdjQ3OEpPZFh6UUNnSkZTR3ZQNENyR2lFc0xVRGVDOXNoZkJmZlI1dUlrbEpxQXlBQzZwbThPV1JuK1FmelkraDBSU1pFVnl0RG10Q2xPNlRaRjROa1U2YUhLZkRUMUpEeHRLYzNPcm5jNzlQOGZ5TU1ocUhuMEIreFIxWUd1eXJCakdpcFp3dlBkbkREY3ROVWdHRmNRQjduaEJlOEdybkNIb3VyMUhaUXJCQmdHbkMyT0VtNG1TWElTK0Z1ZkNmRVhvU05sZ3dacFFna1ZWc1dPSlNXMmJ3ODBnZE4vWTI4eHJKbmZ5SEV0TVVDQ0ZScmladk96UTJOdExZMk1pVFR6NEpnTS9uWThTSUVVeWFOT240UXo4R3lPODN2U2JEQVJNcEpVWGhBRDE5S1FKbElWeWxhVytQOGVDZmUvam4vZXY0MUtmSDg4cy9uc1VMRDRYSjV4UVViZE1pQmtpT1JZcGcwalNZZkNxeDRqS2U2Z0Y2anFuZERvR0xiWjJJNHpzTkxWSklleTFtVE9NR3lsQkY0OUVuakFjN2hYRHl1SWFKM0xxQjRQeG5zVHFiQ2F5WmczQmRhRy8wTHVjTDdCWDRjRS8wek10TER0eHBVdGlIWGFWWXRub3p5MVkySDE4a2U1c3V3MEE3RG1VWG5rUFBVeS9RZFZVdGl5TU94akZjYUNDRkFVSmdhd2ZidFQwUUJDZFB1S2dZcFRXOW1TeURKMDZqVTRFbHE2anlQMHNzRlNCY1ZJbFVlZkw1UElabEVNOGxDQmgrd3I0d1lsdTEzZUdrd1lOaDJ4NDBiSmlIZEtVMUJBTFFXRmhQUTRZY05mUHVhakI4OE1SR2VLSVpKcFpCa1FWclk5Q1ZaYTk1c3dWM0RvZnF6dEY3Y3hXSUhTZU1MTnJJRjhmK21SdXJIOGFhRTZmMUhqK1pWYkt3RnQ3aExFUUVvUGdzaDRxUDVtbXVIOEYvcmZzMDl6VitnRmkrNk4yN3ZPeUZmakgzRjRma1dKdTRNYzVGeW1iM2RIUmIyYnl3OFRtV3ozL3p5TmhjR253U0xxdVNmRzJZd2FUb2p1akR2aWpmbUNYK1VEZVp0eE5vZXdDYVYvVm5QT2w0QmRaK2szSVZSdGpQcmQ5N2tzcXlFQk5HVlJLWVdNZk10eHR4MC9udHhSR3U0MExBNHB4elJwUE4yVnoveFFmbzdFbGhoUDNlc1Qzdzg1ZXp6eDNZbnBBWERIcjJkYnJtQkk3SlJCcVZFYVNXR2tST0VjaWd4NE5Pbi9lWnloemhPOUtRYjViWVd5VGFQVEpEK1BkSHp6L0tuK0NDWTN3eEg4TU5Gb1ZBK0h5NGpvdVFFak9kd2lndFlmQTN2MFBGMXo0THByV1RCbkZrMXRLU2FXZTlxeGZQRzVZSlhGdElvdGJ2Y3E3R2kxeC9aY0QySy9FdXNTUmhlUTFpaE5qMit2RHZtWHJQaGdGRzFFS3BIVjVMS1FYU0VDeWEzdzJXTEl4M0wzdElJTS96YjQvbStUZkhGbERVRlRLVVEya0J2andBbVkzRHlUUU93OS9RU05IVUJRUWFHcEZDbzNLRkJobjlGWU1yNU1uNHlrZFNkTUkxOUx6MUQ0UndRQXEwS2dEbWExQzIzbjQvUnNCUGVQaHBsRXo3REtHaHB4OWRhOVF3MFBrODZUbHo2WjczREozRkN1czRWc0YydXVWN2ozUG5uMmRCTWdmRklhNy80RlMrOWVrenVlcmNNU1JTT2E3NTBuMDgvcmUzQ2hXSXBYejdNMmZ4MlJ1bWN1T2xFMW0ycnAxaEY5OUYwK3oxNERPcG1UeUkvL3JTZVZ4Ny9sak9PR2tJRHo2L2dodS84Z0JzN29GUWdEUE9HODRkSDc2RjdtQTFZQkx2V3M4NWwvd2Vlb0h5SUIvOThEVCs3Vk16dU9xY01lVHlMai8reSt6OTRsVlpWb3AvL0ZnU1R6eUowOVdPMDlsSllNcUorTWVPUWU2eHdMWUF6aUVrU3J1MHE0VXNjWjlubnJ1NFVLVGVmM0xGS0RyMHhvOHlHSURnNGVFSE0xcDZjR0tqWU5qZVBsNXd4L2dNcHpTbDZGcHBBWUxUTHJpWUZRMEd0OGZleGpKQ1VCdzY2QmwyOW1LQ0g1d3NMNHdpblVPMU5qSXlQb2psL2lDYlc1cXdrNm50NXh4dkJyZm5KNjYxSU5NV1J2WU5vV2Y5QXJwMWlIeFJtQzJaUEExT0JNY0prR2dwd2NnTkp0MDdoMmpWZnRmMUhyeSsvcytQSEpUT29iSUJQbnoyY3dSeW1sR3BKcGFrV2tnMTF4TXBic1VYempDaDI2UW9iL0RTNWtuYzk5ckZ5RUQyZ0FFdFBQcVA5elhYYU9XaTNSeUI0aEg0UWpWbzdSSXNIb0diaTZIVjRUSHlEQTN0RVlPL1RpM2w2YkZSN0xZbDBMcjQ2Snd3QjdMUCtYQ2JKYjR6YkVJM1p6Rkh1N2hiSktwVGt2NVRrUHhDRTlVbkVFSWpsRWFnY2FWQk1oU2h2YlNLcHJvRzFnMGVTVk50QSsxbFZhU0NZVnhwSU5BSTdmMFovVDczUjZkOFNEeDZZQTNsTklLc052aHUwVDJzbVRDSTFlRWgvT1NwRDdDMXU1eFRSNjRHWU9heVNXeG9xNkhEVjhMazJGcSt1K0llT3VKUkhHRU1lRzJDRUY1M0l0RnYrci9lNVpvSEt1UE1BOGhWY1pYYW8wMDBFQVdlZTlNZkRvZTlhR3BGcnF5ZU81cmFPRG0zbFdueEdObEVuUE5LL3BYRjhURHBjQlNybjJFTkQwclBGQUkzQjUrL3FKVGhvMnR4WDNnRVdYVWhJMjc1SmRyT3MvYlZaWWhYZm9OYTh4WTNuMzQxZjNqUlFCcnU5aWJPL2VVTzBtaU1QUUlsN1ZEN2Q1SG53Z05sNkk5UlhOcTcrb0NmcjF1b1U1RmFNekhaeGdtMGNwemVHM1RQUXd0M1lrNHZoalI0U0JrZnZXb1NINzVpSW1OSFZLSXlXWkt2ejZIcnJ2dkpMbGxKY01wRTJzODhsMzh1U0dPc244UDNQekJ1VjVOU2V6R01ILzF1SnRwVjNIejlTWXhxS0tma2dqTVJsa24zMy81Sjh4ZStRK0RFQ1Z4MnpnVThWaExndnBmWDA5ellXUUR4RS92Rmw5dnFvVDQ3YXhLaVJxRlRFbXdQMEUwS2tHZ2N4MEM1QnVNcmUvbjM4UnY0Y0VNTG5LdHAvMmVJcm52OW9LSGlvem5PdTZHRCtmbE83cSt2NDRjclI3S2lzeFFNRjlOMFVYaUF1c2RwSDF1ckQ2eEpEaVVDMUhwSnB0dEVhK2lMQ0I2YjdHZEJyWVV5ampjeE9saTNaVTI1NElMcFBsbzZYTzUrd2lGdmU0dXVyVXR4NFdrV0Y1em1vNlpjOW1zWXUrZVB2em9vWDhtMjRtRU5CUEhSVnduNVlkNjZUTFp1cGlnRzZZVnZiazhGeVBhVFY2cjFCNzk1aDZBUUF2empSMUw5alpzUnZvUFBnZFcyUS95Rk4ybjc3ejk0bS9WeFJqNDJTUUZOZUVEZ293QS9NTndyblFtRW9LRU16aGtsT0crU1pPeElnWFlLZXB1N2c4RURBUmd4VkhEdHhRYmR2WnJldUtDbkYxS1pJNXZuNERnMnVYeU9LWldqR2RWZzREZjhGRGVNSko2STRUZ09wdG0vT2VCQnk5aHRUeGI0TFdPN0RCSkNFTEFrUWYrdWdJNmFJOTlZb045dElRMFlrdmJzTU1aVUxXVnpZakJMTnhlUmNSdEppQVY4L2o5OWxMZ05UQ3phaEw5NEVzUmRCbUlHUFB3TFFXbTBuS0ZWdzNubHVmdVpQdlVzSWlXbllMc3U4WTB2MEQ1L05xV1ZWWlJFU3hGQ0hMRW1GRHZ6QXloNnpCQnRHemJCNGc0cXAwM2x4RHFYTXhiUDVSY2I2K2cycTBDN0EyNUhxbDNHZEl6cUM0QkUwSzVzSHN6RWVFN0dPUFVDZ3djK1VjUXBFeTBFSHQ3cExrOUFGN3B4eVFEU3FrZUVwMEQ0ZFByTWNhek9XTXp1Mk1UTXRsa3M2bDVIVzZZYjVUb0ZadXNuVkdLdkl3M3hlLytNV1ZOUCtQekwwZms4dmpFVE1CZlB3MTY5REMwRXdkUE93Um8yRXFkeFBZbjc3aVMzWWhGT2N6T1lBaEVJRE1pNlBscnJjaCtjMDMzd0MwNE13TG43b0x2dlhubncvaHNweU9ZVkd5ZUZ1UDNURnpOeS9lMGdCT3NuWGN5M3ZybU9SNWMwRXZESlEzb1d1NU9OUEtqVnA3WEdzb0o4ODVGdjB6cXNoSXJ3ZE9iVTlubjE3b0VJUGN0bU1YUGpFM3pIQ21KckY5RlB0UlF2ekgzbHVINDNrUFRESHg3ZDR6dnJyUGVsYld3WWdzOWZONWluMyt5a290akhUWmZVVWhMMWNpTnV1cVNXSjJkMTBCbkw4L25yQm1NWTRxZ29yOVZvL05KRTN2MGM2YllFMFI5OW00N1ByTVJwZkJML25CS2tlWFJySUFPTWRRc2M0L2s3K3lCWEtSYTFybWRUWHh2TmZlMnM2V3FtTTlWSGM2eWREZDB0RkFYQ2xBZUxhZXB0cFRnUTRWZHpIbUY5OXhZQ3BvK2hKVFdzNm14bVlzMXdncWIvMEJiUElYN1hQM2t5Wm4wOTlycDFBSVF1dUFDakFBYlkzOVR6ajBjT21rbFZQRUh5NlplUDcyR0hTcTRMaG9Fd1RkeldEbnErOTFPUzl6NVdRQjYya01WUnluNzBUWXEvOUVrQVlyLzZLMzIzL3hZM2I1TmZ1b3JXU3o5TzVDTlhVL1pmMzhDb3JkcmxtdjFCVXNKSlkrSG02K0M2ODZHNnNtRFVGZm9DZGRnV2ovU1c4WmZPYWhhbUlwNXZYK2p0T2FZS21KK01zakFWNGM3T0ttNnU3T0M2MG02cWZUYTRVRlVPdDM3SXUvWWpMOE5mSG9XRnF3NDkxVnNBVWtIS0o1aFg3K1BoQ1VIbTF2dklXaWxZL2RweHZudS9rd0JjZ2VveWNUZjVzRTVNRTd5aGw5VHZLb2wrdnhXS0M2ZEZGWmtIU3dsL3ZoUGhWN2liZktndUU1UUE4M0E2M1RRR0J2bDFUU1Q2WWtSS3k0aTFkQkFKaDdIOGZ2dytIMXByc3VrTVRsK01kQ1pOcUxhV1JGOFBSZXMzWVdEZ0hPSmdMLzEvRDNMcHFjTzU2YUtKZlBGYXJ3RlZUeUxMdlMrdDRNazMxd053NVdraitjZ0Y0L25DWVRyZW04aHk5d3ZMZWZidGplOFliOWdYNGZWMXIvRDVNLytWa21BcDU0dytuNy9PK1RNMVJiWDg4WTNmQUpxb3Z3aFZBRVV5RkdSOTRCcUNVNWJhWFB0Q2pxRmJYZElCUVRJSVVsdEhTTGtWQkF5WDA4SXBicXJzWVlib1ljT0NOUDk0T3NmemI5cjB4UFpQV0FvQjQwZVlmT0FpUDllZjUyZVk5cE40MmtmUHF4YTVGaS9XSlE1ZzIzQWN0UytsREh3K1V2YzlUSGJlSXF4VFQwWlVsT091MzRqejFseDBYd3dSRHFGeithTVNvMGNEYVdIeGNHUVNEWGFlWWZrZVRLMW9OeUk4RVJ6RFAwTW5rSlUrdEhiSkNaTUYvanA4NFVtY0szemIvZmNEUlVNTkg3Y0V5cmhJaDdHZmZKSHU5M3JIYVExbFBzVW55MWFRdmVZRXBqU0dlZURwVjJqTFhJM1M4TXJUci9DaEs2c3doNGE1K2ZGVlBPb3JaMU5tMy82bXpXNFZyYktDcmFvY0RpQ3ZTaU1RMkN5eHgyR0lMSEhDWE9wN200MXVIUTRHM3c3ZFM2T3E1WmVwRDRGd0VFZEJ6dGJSLzRnOUh1N014WGk3ZXgyYjAxMlUrNkswWjNwSkNJTWlLMGpBOEZIcWorQXpBM1JtNC9UbFU1VDVvb1djeHNQYzRBWkkyeTRuRFRKWTljb3JmT0xTRlp4L1NUWFpEZ2VyRUJyTTlqaWNmMGs1bjlpd2dsV3Z2TUxrS2VleGNJdEx5RElPZWNVZW5ELzEyRnYzQ0ErdVJTcUpRdU0zSlN1ZUMrRjBXOWhiZzZUWEM5TGFvYXUxQnkwVkFWTVNMSGJSM1NhTG53MHc1bFNiRi84WVl2VEVGRFZqYkRiUDh1TzNRR2p4cmpBd28zN3g3YU43YnFiZDEyK1hVa29oaEtDN3U1djc3NytmMXRaV2hCRGNjODg5bkhIR0dkVFUxS0NVUWtyWnZ3dm9PQTJjZkpMSGxud3d5d05IOWZpYzdteS9YY3ZTTUNHaE1iVExmWU4yN0FWUlIzTnhoOHZZcE81Mzg5STNkTkRST2JGTDEvZmJYaEh3YXdZTkFvWkJuOUhEY3oxYkNmdXpUQm1mWU9RRURWblErYU5oWHl0c2JERWJMcXZDK2ZmVm1CZFZraXNyMkpocGg5enZXeWsvb1kreUxSbFUydlVTL281RHYreGJMeEx3VUpYa3BSRVc3bEdDbGJQTnR1N3NUWk8zSlZyNENSczVSdmlhbUZheWhzdXJGM0p5bmFDNGJpek9rTk1Kakw2SVlNTjArbEthTlowSldsWnZadG02RGhhdDdHRCttaTdXdHNSUXFZTGQ3RE1RWVI5U2VGYUdWcnBmNC9ZYU1JSVFQZ1BLUCtiOW4xa0NXNzRNcVoyNmxFb1R5ai91dlU2K0J0b0JOdzRkZDBCcUxsUi9Fd2IvQVZKdlFQZmZJVFViM014eE5XQ0hPaVNJNVdNODF2d1lHNU1iK2Npd2ozQiszZm40cEJlVGtydmxCVzN6VytWVm5wZTN2c1M5amZleHRHY0poakN3cE5WZmcwS2xET0l2bEJNNk9VNXVReENWTkNpNjhCaWRZeUdRanNQMEVlUDQ2aG1YVUJXT0lvU2dKZFpMc1QrNDNXZFQ3QS95dVZQUHBiNm9GSzAxTXhwRzgzUERZTlA4V1dqVEhIQThFVmVEOUVzZVc1bmp3cXRQcFdMRDI1eCswbGw4NytKQi9OZHptL2pSRXh2NXdoZ0gxK2ZIa0lKc09zVy9QN1VCL09YY2UvTVV4c2pOOUFVbHIvYVc4c0RjVlJoRkVaeGpHVCtubjBrQlRia29TektsZkxaOEhTVkdua2RqUTFpYmk2SzBnVUt6UGgvZFh0TzRvNzVSSUlYTDZFQ2NhNHViK1dCSk13LzNEYVlwRitXb25WMXBRRDdCcnhZTlFwNzBaVTd0Zlp5NnpzMzhPZGROOWZBemVhRHFSdTZaSHdTUlFBdmpQYWRqZk90VFIzZi9vTWVlT2I0ZWo0VzlXUWhKVWNsZ1ZHNFpVNnBLZUY1WWxLeDZsVDRscVpoeUhsVlJrNnlUb3JwMllzSDI3aC9OWnMwWlp4NVRjK1drSk5hYjVYejFSTTJ6cTMwOHMyb1FvNGZVTUdIQ0ZPYjBoTEZiMWxCNnp3YlNTeU5lemZ2UktHOEs4dDR3d2MzYjRDcG1uREtNajE1ekV0ZldXTWhISHFQbEgwOWl0M2RoQklNZTV0Vk9TZURDa0toc0hxVmNTazQ5aVpLUFg4UGFjMGR5VDg5YzdwLzlOQjNKVHZBRkVVSnMxK1AyVzE0TTgrMzVnS0VoUFlpUFBwemdxUnViQ2RkQlBpR1l0eFJLU21IbGVqajNJaUN2V1RvWFByN2dCUHFtUkhsYk9VZWRNODV1MjREVDI3ckhkR2tOT0QydDJHM3JDVXcrY3BpTG0zcGIrZjNjUjVpNWNRRnBPMHZldFNrSmVCaE9hVHRMMXNtUmQyMmErOXJZR3U5aWVGbjkrMU4ySGtwYVhPSC9vVlZsREIweUdvZ1dQa2xEdnJ0Z0Y3Mi85NlpqRlo5ZWEzQmF1MGpjK3pUSlIxNEV3MkNGaUxCQUZoR24zalZLNnh5eHIrWXV3dXVaVis3bWlzdWQ3SFV4bjI4cWNBL3dLTEJmamtYVGxCUkYvSVFDTzJ6bWNNQ2lLT0xITkEzY3ZNTnhPc3BNR2lGUW1UeVZ3N3ljeDg3R0RtVFFoK292dTF5QVVJSzhvWGgwVEJvVlludk80NUdpZjc5cmRyK3R1MmpZNHJkZi9SUVZ4ZzRwZThpM2R2cmYzNWVXQWI0SWpyK1daQmFTWmgwdEszc29pNGJKVnhTeHRzMmtXRWVKWnlVMTRjRW9JeklnVVhzaEJGSktYTmZGTUF5VVVtUXltZTN4Mm5RNnZmM2hDeWx4bGNJQUd0MDgxOGViK0k5d0RUZjVTMGxxRjF0ckRBVEM1OFZLRW5Nc1lxOVpaTllhRk0yd2taYkc3cEg0NmhUUjZRNDlUL293aS9SKzloWlUzcHpKc1BjMmVDb2lNQmxoZ0hZTTJuLzVlOXAvK2x2c3RnNk1zaEtFa0dqSFBYYTVRd2lrRkF5dEdjeVEyaUdzWEw4Q1lmbDMwZm0xMXJqYXhWRUthWmhnY0ZEK3hmVHJ4eGErZDNOek15TkhqZ1JndzRZTjFOZlhNM0hpUkxxNnVzamxjb3dlTlFwWEtWNlp2MXJZK1R5aGVET2h2ZzBrYXlhUlRqcWt5a2N6dEZ4d2FuV01yTkhEK253OW03cUR4QktLVE1yQjBEWUNoNkJQMDIxSFdib3h6cFBMS3BqSERQSlpoN01DcXhoVWtxWXI2V2U5Tlptc1ZYcEU1a0ZwZ2JRYzFqVldjUGNybytqcnRDaldqL05haDhtTjR3UTliVVdrdHk2aUlUbUtwbXdOUHJzQzRkcy9UT3R0L1VoaUtjMWZYOGlUeWNQdmJnM2l0N3owekdmbTIvemZ2Vm1hWXdwdGlLUE9GRGMwdEVVa2Y1b2E0Zkd4QWV5MnhkQzY2QmpTVThCeG9Ua0ZsNjdSMU9aZ3hUVGhPZmdCMnhEVWJ4RGtPelgyR0pBMkhLbTBMbzBnYVVmb3lsWWNjSzZpUnRDVnJTQnBSL3B0UEErK3ZMbGZiRThwRGRKcEY0MURPQlJHcVMxb3JZNm9NcWNjbDk0TnpiUXVYRUdxbzV2ajlQNGtiZHNZUXVBNkxtWlJFU0hMSk9JTEVBZ0dJQmhBTzQ3bjMzQUsrQkRIRTBDMjB3K0gvUGRobDVEYi85dVRVMUxzNnJVNjV5Q3VIczhtV2RLeWhvMWRtd243Z3JRbmV0Qm8zaGJMcVFnWDA5alRTaXFYb1RKU1RDcWZSV2xOTXBmR2NWMnlUZzZmNFdOelh6dFYwVElHbDFiVEZ1c2lhK2Y2WnkrV0NxMEZiaVlNVW5IMm1QbDg5NnpIdVhEU0FrQXplMFU1djNtcmlKa2IvTGhhVU9SWENLRTliSlREeWJaSzhNRlRldmpnS2Iwb0lYQzZiTG9mNkNEK1NnODZyd3Q1VkJwZHlIbVZSVVg0UjQ4bWN2cnBoRTg3RGYvbzBjakl2dmV4dkdzVHk2Ym9TUGJTSEd0bmZYY0w2N3Ezc0tHN2hlWllPKzNKWG1MWkZIa256MzQzWGhjQ0VqYk02Y0plMGNkTWQvTlJzOTZ5N29IbGxKakN4ZGdOcE5uUkVrY1pBelJDZTVkM29hL2N1dThGZHlSOXgvZjg0Y2pzT1ZxRDMrU09QeXpsOWZudE9LN0w4b1h0RUEwY1VLdWU2NWw1Vk84UFg5dnQvWHVsajZzUTREb09jZWxIaElJWW16YkJMKzVBeGZySVJxTlFXWW4rNDUvUWtTSk12eDhaREJJM0ErVHlMbEtJNHhwRWdWSzIydS8xNHJNZ0hLMGlFaTVtWTFNbnRRR0JVeEpGWlZPRWRaSjhJa2N3SE1aSXBmQlZOU0I4UVlLbVNiQ2loUG1OUzNobXpreXVQKzlLRWptbmYyc29Ec0FPUFcrUUlCU0FqUy9BaW5hUEM0WlZDNzQ5WFRDOXdzTm1GT0xJUjRKakdaZVphNUsweGh4dU9xMkVVNGNIdDJPOHUwb3p2eW5EUFcvMXNib3RpNnVPZlB4UE81RGFJSkd6TE13aVJlbnB6dlk2V3F0RWsxeGwwUDI2UldxRFJEc0RLUmMwUGl1UG95VENEb0tWeGhuMUt1a3hpN2lqMWVRL0h3SWxCSVkrc3BscVduaC9SWEhCblRkbFdYR2RpWC8xVUsrbDNINzBKdEI2UjB4NTU5Y0hlOTVPSHNsM3lObURlZzdiZXVYSklHZE9PWlcwbmFldHF3eUJ5NHh4Ulp3NjhVUk0wN2VMcmRBLys3cE5QdjRFWm0rTzFsd3R2b2pHNThad2hRK2xISXFNREp0TEt1bHQyVXB4OTNQNGk2TllvZEhiZGZPM3pYcitHSnJCNm5BeDBoeUlQTUNGQnlpekJKV1JZb29EWVpMNURBREZnVENWa1JMa2ZqeWNRLzMrdXo1aDdiSytiQlRMU21hUXlVY1puM3FMYWZFNWFNdEVkNEpPU3J5QVlRRTJSMGdzeTZTMFBJQnBtdVR6Tm9aaFlMd0xUb3RPYW53eFVNM3I2RjIrZ21SRkZXOU12cDQrdDVMeDhtMU9XUE1hSm9mUEo2QzlvQ2h4TzBRK2wrZjVkUlZNSDlsT1o5Y2FkTThtRnNaT1kzd29nY0pnU2J5R1RQc216cW5keUNrai9MeTR2b0prMWlEdjk0RTRzclhRcnBJWUVadC9QTnpMV3l0dlFBTWJWM1ZpRkN0Y2RiemgzOUZDd3FmZjNRK3p4L2NhdzZmd0c0cUF3WUR5V2U0WW45L0xmMzM1SVFvRUJkb0dzd1Foek1JZTVJRHpCSWhmOUErTzdidnFPd0tkZDZpcEx1SzVPei9HcmQ5N2xFZnZXd2VWQmovODNOTjg5ME5ldmtRK0xyR01nOU41cE5UWUdjbm9VVDM4OXJQUDh2bWZYSTlSbXNSVkhGQy9JNjAxWFYxZEFOUlZtSHovbG5JK2RXVVJQaTFJejNXSnZlcVNXYUZRMmY2REFENkU3UTBVaUJDTUtYVXAzaXBvQ21ScGMvS1VKeHdtdWdxakhwUjVwQjBveCtrNEhRSXBqUlpnVlpVVCsvWGZ5RGUzOFBFSGZzdlFFY081NU15enlUbzJsbVZoMnphTzdiMmVPWHNXRTRjUForYWloWXhkOGlMcnp2c2c3dW9OR09XbGFQdkk1d21LUWc5U2djWlJKaSsyWDhicm5SZVFWeFkrbWFmVTEwUFFTSk4yd3p5NDVXTTh1T1ZqQ0RTbWRIRDNnWm45UTU3b3QzR0dzS2treVpHSVoyM3JwVkpyT0p3ZlRITnRPRUZWWDRvWFhzL3hqMmV5ekZuaWtMUDNQYTY2U3NtbFovaTQ2WElmUXlmV01UTi9CbmUzWHNTYnFVbmtWQURFZ2VVdC9mQzh2eHpWeStXc0grLzYva2NIdSt5QW9VSndzaENFRElQVFRwM08yMis5eFIvKzhFYysxTkpLOElZYkNIM2lFOXloRk0zMFh6cEU0NE5QdkpkRkdZN1NXRklRdENSMUpTWlRod1JaMVpiajFiVXBSbFQ2cUMwMlNlWVVXMk1PcVp3aTcycUtBaWFXRk5oS2M2Z2w0OGZhL0w0ajFpRUVvWklLTkJBcHEvWDh2cUdpdmNkRURyUG8rdC9oeTk1SHhwOFhwd2lIaXpqdjNMUEk1N0lvYXdJTEgzcUExMzd6WlU3NXhtOXBHSElPMmprRnZ6Kzgwd01aUUgxVWdMUHQra2VKMnF0ZGpadDFxSzhwd25ZVXMxNWJoN0lrK0V4a3lMY2RVMDJFREZ3MGF6WjBJbTNGaE1tRHFLOHB3azNiYU12d2dINlBzc2lRbE9DbURjNmFsdUtxS1F1eGs4MmNYWGtGZWZNbW5teDZuY3lxVlZ3MTdDek9MWTh6S1A5bnFzZFdjdVVwNDNqa3hRZ3k0dUMraTMwbWhLQThFbUJzWlpoSGw3ZGlhOGxKOWFYVWw0Y1lVeithenA1dVdudmFXTld5a1JIVEx5TmNQb0YwZkN1eDdzY2drTUNsQktFcHlFeU5xelVLMFA0RXZrQVpaYU0rUnFpb2x1NnNaTjZXaGJpcFBpS214YXpHYnNxREppTnFLL2ZZdDdTLytGUm5CZWszQWpqdEJrNm5RZkVOS1dSMFZ4dFlKU1R4aDhMRS94a212OTRxOUl2c0g3a3FoTmUvNnlzL1NUTitoTUd6djQ0eVpJVEJyZDlKMHRwVndLMndvYXBNOHNNdkJQbk1Sd0pzYkZKY2MwdWN4MSszQVJQNWdWSElFeXBBOVM5Zk92ODU1eDJ5NXZCcG5zZHBYMlFaTGcybGZSaFNNNzZxazZFbGZVeW83c1NVNmgwek9MZ2t4cVdqMTdNMUZtVmR6bytqSkZLcTk3VlhRbXVOVW9xT2pnNzhmais1WEk2bXBpYnE2dXFJUnFPa1VpbTZ1enNKUmdiVFlIVnlWZUJWTE12RXppcFNqK1ZKQWFkSkMzL1F3TFlkaHVoemNMU2d1N3NUS1NYUmFKUjhQcy9XclZ1eExJdEFJRUI3ZXp1bHBhVklLWTk0LzdQalZCQnJwb2wyWFJ6bFlsayt1cnB0ZnZaL24yT3F1SXQvK1Eya3BJbmoybFFmNXNkbERnalRJd0NIRmtwNGNIR0dzNGYwc2JuVHhOODBtUmZXcitQRldXbDBKa3ZVeUhOR3pSazB0eGxzWExPUnhiMStObEVCdVAzWG1GZ0xNR0hWMGhQb2pRMmhLcklWWEFPVUNhNUUyOTRwb0xDc0hIMkpFMWl6YWh4alRseDFXQU5qNWpIRzBQRjRuRXc2alRKTWhNOGl1MlFoeVprdjRSODZISlhOb1RKcFpMU0kwTW1uNHJTMzRpWVQySzB0SkdhK2hPVnFoR0d5T2RHRnNHMXM3WHBGQVB1WEdiRC9pMDVyWENFSU9IbHVXZklrRzh1SHNxUnNPT1R5Qis3VjF4NkErdVRPOWR5eTVFa0NUcDY4WVNMMTBhbElLQVhTNzVKS1YvRGZQeXdZcTZJQ0dYQVpTT3dwVjBPSDYySUFKL2g4akFPYUhZZFhNMm1jd2x5RmhHQ3FQOEFRMDhRRWJLM3BjRjJHbTRjT2xPWWNZN2hhaTFUeW9EMTNRc0JkcjhQWXMrR2FMOXEwRmNPakwwTWk3UjM3d0NYZ0Q4R2M5UzR4TnpYd214eFFYK3BqYUVVQTJjK1pZRXFEejVSSUlRNElTRkljN0kwVXZ1a0xSaWdlUEFVRFJiSjlGQUNSNnBGRUJrL0JGNHdjOW1ZSnU2dlRVdHNJN1NWYnV3aGFSQVV0b29hWEJZaDhqcnJWdll4ZDNjaWtlK2R4Z3Q5bTFMQXk2azhhUzhtTVV3bWVlZ3BGSjV6RVZkOWFTVzlpSlV2bXpFV25PckhpV3lncGE4RE81U0FhUW12OW5sWWtwUlFvNVhEUlJhTXAzd240dUx3OHdNVVhqK2I1NXpjZ3BYbVFRSjZhY2VNcTBScFdyKzQrWUk0ODFsS0VhMjV0T1hBNzNJQ2V4eXBJdkYyTTFvTEE4RFExbjkzaU9VRDZtKzErdSt0YlEvV245RHZHL0FxR1pQMm1HSXRXZEFHYXh1WmVRc0dSZlBvUEgrVlBuNzJIY3lhdTUwam1weHBhTTNHNGovdGZqUFBvMDNHMnRIdEIzVWVmanJPMk9jL0hMeTNDMFByd1Q3bUF4eW90UHR6dVVPenMvKzhMb01jU1BGWnB3dnVrZnZDdHdZY0NKSzlCQzZxVWdlbG9sbVdEbnEza2FCYUtJQjFEelVLU2N2OEppYnBZOHFpZXo2MEh3NjZXUmZsSHJpVnkrc25FWDVwRjdPa1hTUzllamtxbWp5ckVMbE1ZNUZTZUhqdkY2ZVVuY2R2NHJ6QzliQXBvcngxUVRiaWFHYi81RXlZK2d1eG9VbE5xUkRuajl0L2drQ2VLRDRXbXlsZkJ6eVovanhzSFg4bHRLMy9CbTkwTGlKcGgvTktIb3c4UGlJbk9DWndWRm5ZM0hIYzRIeUhIbTRhc0g2NVlGK2JrTFhFV05TaVdqaXdqYThIRVJwY1ROM1l3dk5kUEp0Zy80SmRlMCtaZDdaWk1UaU5hQlhhMWcvKzdDU3FXbWVBSHUwUGdUd2ltWGFnUnJvczdOTWRQVWlFZWYxdXdaS1hOMmcwT2ZYR0Y2M3JhL2ZaMVlrb01ReUlRdUVxUnorZFp0V29WcTFhdE92N0Fqd0JwUUFwTlV6ckllWE1tYytPZ051NFkwMGhWMk1iTmV4cThJVFRhaFpLaUhEVWxDZEw1V2dLK0xOMjlHWHI2VWdncENRWXNEQ21KQWE3UEE0NjY4NmZ6bWZsNk4zZmRYazlsaVl0cmU3L2xhZzhlM2ZKcE90TVdYMW85akFlMjFJQ2hrRklkT0FDMjVZUFJFK0hrTTZGbWtNZklXaDF6T2FWYWd5MUg0UVJPUStzTXNtOCswU1gzSTlka3NFc2IwQTNqVUZXRGNjSmxxTklhZEhjcndiZWZ4TXJFc1ZiTVFnZkM0RE05Qjh1MkMrcjNydXdlTk9qb0JrTGRzbVZYZTdMa2pPa0lLZkJWVjFGK3lmbjRTbHVSMldia01SaG0xQVVkcGplV0llK2tDVW8vdXVDY0ZVSWlsZWQzQ1FTajJKVkRhVzJKZ1RPRjByS2xsTWdhcEFhVTJxNEg1ZXdNc1Z5Y3ZPdlNGVXR2VDY0OGZNWi9EZHgzSDBRaTRQZkR2SG5lNTZlY0Fya2NKSlBlc2FPSVhBMkd6L3QvZWVjT2Y0U1FlNWs3RGVQS3ZHT3IreGdZK2FpaDJCZm53OE1lNWd1ai9zeVFsZzEwL2RoSC9QVWdPc3M3RTBNS0F3Mk9WMVRlbE1NK3RZaTcybS9pMTY5L212WHg0ZDRZRDNLY2I3VWNQR0MvMElKQWo0OExkT2dkQTFCYXNiNW5BM05hOG1paEQvdkNzeVJjV0NuNStuQ0RxVVZ5djEwMzlxWWM4WWU2U2IrUjhBQk1qc2ZYMzBQR2dzQjFGUnZXZGJEQmxDeDcvbDl4WGNXTUcvL01tQWwxYkdycEJRUkQ2MHRZczdHVFgvejdwWmlHWk9MRmQzaUJKNys1MTNqQWRQZkFHcXRwRjl4MW1yUTZkblVQSnk1d3VpU3gyVjVjeittVU9QR2pKVnZUQXdzNFV1dDMxdXFHNCt0dEFPbW9iYkM0amQ2bDBhSkdvTFFnU2g0N3I4aGVjaW5WdDMwZDN3a2o2RTNtMGZrVXdqQ09VaC95dGtHWlNKK0J5aWwyb0hYclBaK3JEYVRmUU9YQkE0N3EveHZUanZHdWV2aWVYaDhWK3VsTzhsOElVQ2tINVNwa2tRK3Q5YnVhcGtvTGpIQ3UwSkRiSzVKMTFiWTRWZUYvdjFjNm5Xc2NUbWZUTVB3TmpSUk5YVUNnb1JFaE5Dcm4zK0ZJTzBTKzBHaWtMMHo1NmY5S3JyMkZYTWQ4VkRZT3N1QnFNQ1MraXBFSU00Z1pxU1EwZkJxUlVSY1NySis2UFRkSWF4Y2hqQ1AyUEhRaElsdHVaNWllMk1JbDNldVlHTitLYmVkMmd6enJYekpyajNLQjI3cnIyenZ2bnNQLys3ZUxPZjNFd1R6MTJscisvSSszZWVpdU42QXlDb2tzbEVmNHhXOC9RbVZabUxzZVhjU1AvdWNaZnZRL3owQlpHRHJpakRoMUdQYzlkQ3RkZldudStNZmJmT2Jtdi9HWmFBQkNGblFtdWVLajAvak1CNll5ZDFrTFAvL2JHNXo3MDVGODd1UTBxWnppeWFaVCtPWlhCM1BxNUtFODl2SXEvbjd2WE83NXcrdFFHWUdzNC8zK2ZwQU1Cb2xlY2pIeEJ4OUNPVGwwTEVWbytqUUNKMDdlc1NBTE5yeVhyKys5WDV2WXlNdHRzM21nK1VtV3hwYmg2UHo3M2s1dzFNSEhYQ3lwSVdQU2VxRk42RHM5L05jcG5SQ2N5QWZ1K3hWdE0rK0h1MlpDU1FqYlBRckE2WVZBRnVUVHVLSUdOdG9sQktNdVEyU0tTNXloakNrYmdTR05JejVNSldCcnFMQlRLeGlXRUx0SXVjeWFEVlJmZVM2K0U4Zmd0SGRUK2RWUElrT0J3eUZnd1lCa2h5YlptcUswMUtXeUkwK1RYY1VyTGQxY1cvd21sUkxzUkp4NFI1cHNoU1phNDlsTEE1bWk5UHE2OFFmcS9BQ2hNVEloenB5MGdFRytMc0t0R1RMcEVwYm5oaFBvQ3pEUmJpVFMxVWZXSjJqcHJlRE5kUk53ZytrZHFGekg2ZDFaUld1MlpadTdUaHFsTmFVMTA4a210d0JRVkhNNlBadWV4WFhTSHNqczlpWGF2M01yQ255N3VEYkE3MDRyWTJsdFlBZmEvMUgrR08zbEp2WXlFM09pZ3o5dFl5OHhzV2ViQ0tVOXZkR0FaQ2hDZTJrVlRYVU5yQnM4a3FiYUJ0ckxxa2dGdzdqU1FLQVIydnN6bFB1K2xBK3lSQjhnejJoY0pNVk9tcnRYLzVqYk1oL2ptWXBUb1V5ek1qbkVPNmxNMDVFcjRmS3RiM1BicHI5VHBOTmtTeTFNMUlIYktaMEhPczhDRzdocjlobjRESmQ0TnVBMTNqM2c3VkFUendiNG42ZXVJTzhhMkFjcDF4Nys4UWYzNDdjRWlYU09mLy9kS3pSdTZkMDF0MFZwSm8ycDVudTNuSTNQa3YwZTBydjY3TzhmQ1JjV3BuWXdLMnVZbDlVc3V1eURDR21RYzJzSVJUU1dWa2VGUGF1MUJsTXdmMjBmRjc3OUdxMUY0NkZ2TmZQL3VacSt6bmE2TjIybTFkWk1tWEE2SytiNmdlU0ExTjdzNllxV0lmQVpFZzNZcnNKMjlUNi9jNXlPMDZFYjlISjdNZld3WWVWODlLcEpmUHphS1l3YVdnYTVIUEhuWjlKMTEvMWtsNndrT0dVaW1hOTloWHU3QTl6M3lIbzJybXZud3g4NGFZLzdtUkRRdEtXUCt4NWV5QVBQTE45eDNjdk9wL2o4TTRqUGZJdXV1KzZuNkk0NytOeVVpZHp3a1F0NHRIczA5NzI4bm8yTlhaNmZaUjg1Z2JxZzMxcW1pNTBVU0tuUXdzdHhjUndENVJpTUtJdnhuZkViK05Ud0ZvUmw0K1FzZEVaUS9hRXNsZGQ1UGlmcDA5aEpFNEhtUXlNM2MrUFFWdjY2Y1JEL3ZYSUVHM3FLd1hReFRSZFhpL2R5Q2tZL2JRUmcxQ2kwRDZ6aG5nN21sNUxoSS9LNlNSaWlQV01nKzFNZDNhZXRMZEJwVGY0VkM5VmtvSFBpbll3cUJjWVFsOERIdllaNHVRZEN1TTJHdHk1MmUrRENyNUVOTGpxdE9keGRMQ3hUTUhXQ0NRUjU5dlU4MjFLRUswb0VuN2c2eU5RSkpzcnQzeEdaWnNsQjc3WGJ3djBPaXVKT0dMUlZZZWFnS0NaeERKQUV0NTl2SEt4UzdQVHQ4alk1Yzk0ZW1GSWdBbjVDSjA5QVJrSUg3NnZJNWVuNSsrT0YzK2lmWmxHMjdSNlhHNGRiUm1VS2Z3NFFCSWFEOElNb2gySy9ZTndneWJTSmtyRWpKVzZ1Z0lQRHJuYWI2M2lmMTlZSUxqbkhZUGs2emFZdG1sUm1nT3c2QWRpS2FRMFIvdVgwU2l4alc4eHFSNHhLQTVsMGhsaGZqUHI2T3BvN20zR0VTV1JJQTMyOWZhQWhXbFMwVTAraVErZmZXeThjc2V0K2pLYXVMRWcwWUNFRlZCY0grTmhaUTRtbjdWM1h5MkZTYUg5NDEySG1MNmxwalEvbXRJNlh1ZkdHTnVadXFxRXVsQ0tURWNSVGY2TzRNa1BEdWs1eXkyNkVtckVJSjRNZWdPNStBZ2o0Z2t3ZU5vMi92ZklmV09FTVo1N3hhWHJUcmJTMUxpWFpuT0xEWjN5WGtEL00wWkxhb1RWb29YakxMcVZtVnBLdmpIdU5TamZKSDJhVzhYUnZHYTVmSWRSeFMyaWZMQWhrdGVhVmZJSi81SG9Kam5HNC9STWhyam5YVHpna2NOMmRKRWFoc0U0WVVhUi9CRVNtNFFhbjA4b1FGaWN5ek55NGxsbnQvMlJWM3laaXVVUmgzNU1GdmNub2R3WVFwb1d6dVltZW4vMkEzTkw1K0VhTlI0UWo0TmdFejd3QWxmR0t5c01YWFkyOXVaSDBySmV3bXpjaWkwczlzSUVCQUJVNG11dHl6ZkRSamRpeE8veHRXZG1oeFc2RUVEelhxSmcxOHVlTUhmWmhRTEI2eEM5SW1VRnFxLzBIMVNSNVo5cTZkZCsrbXYxNXBnSndoY3ZOVHdvTWZ4YkgyWVJsK2tHQWJYY2pEUXVWRnpqQ1pmK3pQdmRONzlZODRqajFBNTE1NXZFNU9FNzlSa3Byek9veTlDdHZFci8yWnJqemgyUit2SlNnMndtbWo2TWhFOHpEM2RCSUtSZ3hvb1RWcTN1WWVFSUYxMTAzR29EUlkwcFp2cXlMRVNOS2tGSjQ4Um5kUC9ITjkwTCt6dDZmdldKbFJ5TXZiMWhJM3JXM055RGEwTjNpZ1pFR2l3aWFQamJIT2dEb1N2WGhOeTFLZzFIcWl5cG9TM1NUYzJ3Q3B2K2d6U2w3L1hwa1NRbTRydGY4ZE52K3NhMFpxbW51MEt0a1FlL2IvVmdoSjY3b1U1L3lqdGsyYm1mbjltTWF2T3NxdGV0dktPWHhWdUU2MjQ4VnJxZGlzZU1DNHFnU1ZzcnppWnJlODR2OStxLzAzZjViM0k0ZWhHV0Mxa1EvZmgxbC8vVU5qTnFxN1Y4ci90SW5pVngvR1QzZit5bkpleDhESVVqOC9SSFN6ODZrNUZ2L1F2R1hQdWtWS3p1dTUrZzR5R2FJVXNKSlkrSG02K0M2ODZHNnNtQ3VGTkorTzJ5TFIzckwrRXRuTlF0VEVRL2JyNUFmODA1RjB3UHZuWitNc2pBVjRjN09LbTZ1N09DNjBtNnFmVGE0VUZVT3QzN0krNjFIWG9hL1BBb0xWeDI0Q1NJQXFTRGxFOHlyOS9Id2hDQno2MzFrZmNJYnY2Yi9iYTBCSUNNU3hDb3RQamlsV1lCVldvd1JDUjZhZlhDUXZLT0JFQkFGaXJYR2NCejZaczN5N3N0eEtOYWFxSlNFMkFFcExnNTJEUjJLNzFKcTNEWUxaNU9mL053d2dTdGk2THdnL2FjSzhyTzlta1o3VllEUUxWMEVyb2lSbXhuQjJlVEhiYk5BNnNPcVRramxSZEFEUC9vYVpXVmxkSGQyTVdyTWFIdytINDdqc0hYclZvUVExTmJXRmhyZzVXbHVhcUtzcW9MQWo3NUs4bC8rRTc4NnRDRnY3VTd5NVYrOHdKZi82d21pdFNVZ0lMRzFEeUlCcG96emtwbS85TFBuK2RKL1BuNTRqMGNEVEJwZDg0N3gra3dmSGNrT2JuL2hQN245NnAvempmTy93OUtXeGJ5Ky9sVytkUGJYa0VKeXo3eS9FYlVpT0ZJVGl3aUdiblc1OXZrc0p5KzNjU1hFSXhLcFFLZ2pwRDFxR09UTGMxbHBqQStYOVZEVEYyZldQTWtmSGt5ellLV0QxdUQzKzhubjgrOXFyeGVGQlRPbSt2am9GWDR1UENGQVlLT1BqdWNzRXZOTjNKVGdZTkx2SzByMk0vNVRGb1pZRi9yeFJ6MTl4REFRNFREVVY0QnlCODZCM1hwZ2VybTM3eFU4Q0VwaFNCaFpIZVFoM3lEK0x4UmtTbVl6UVcyenlTemwxVUFEV1dFaWxZMFNBcUUxV3VkWjVxdW1kM0FOdW5BZEtZVFhTSzF3L1VQVjQzMElMdkpGdVNWUXhqREQ1OVdEbSsvdG5CYWxRVWpGb3JpUHI2MFlTZEZhelNrbjVyaDgyaHo2c3FXRS9BWSswY1dTdFJadlAxQkV5aTFtVVR5RmtQdkFITllXdlRxQ0VKcHVWY3lPR2lXeG4wdFRJRVVPRHhsVmMyLzJBcVpiS3hsdXRISm45aktXT2NNUXdvWkMwNmdqTW5mQWxyWmVldU5wd2tIZlh2bFBhMDF2UE0yV3R0NGpaeVVYZnJncmwwQnB4ZVowRjUyNU9MV0JVdkxhb1QzVGk5YWFpQzlLMFBDUmRuTnNTblV5TkZ5SmVRVHFoNlFBRjhYRWtFR04vejZ1dU5IRTdRRnJKemV5WllMYkE3ZmVhTEs2NDE0aW9mT1loMElLQS9jUUovbzlINzBwTEVXVkZ5UVRBb3B5V0hrTDA0TE1paUlNU3lOOW12Q0VCRE11elJCUGFEYThGc1h2RjlnWmdUazB5ZGpMMG16Wm9wbDRhWnBFMXFWMWxZWFA1MkdQNWFSTktoVkFxejBuMGNpQS8zMWhpbTdibXpLWkRILzg0eDk1N0xISGNBdTVRRTg5OVJUang0L25tOS84SnNYRnhmMktHMXVkT2Jyek5kcDNlNzhwNVhDY0JvN3F2elh0cUI3ZnBuOTd2VjlGbTZtaE11KzliZ3VJN1o5WDVyMWovYjBQajNycW5xTnpZb2YwSDE2VjFsN1BaSjJIVTZZclJneFpROEFQb1ZKdzR3ZnREaHVZdmMyUTZCVUo3UC9kNEZWU3AxeDBWOTQ3bkhLOUpxUEw0Z2dFQTlmTjZqMW9Md2hZR1phOFZpb1BPWWJkSHlRS3VXVWFnMlFhUWlMSEVIODcwMHBYY2MyZ0ZadzJ4RWZSMEpQUnd5L0ZHbjBaT1ZIRnh1NGtMZk5hV2JSaUsyOHZhMlArMm00MnR5WWdaNE1od1c5aVJBT2VmcVEwV3VzRHd0RGZieFlOUXZnTUtMOEpJbWQ3YTZ2cmo5RDlKN0M3ZDFXYmpITHdqOXp4MnRscEEwM09nZHd0VVA1WnFMZ0ZJbWRDOGpYby9nZWtab09iZWUvcXN3Y0NzK0NYbmsyL3RIc0pYWmt1V3RPdFhEWDBhaXI4RmR0YkQ4TU9uTnl1WEJkUE5EL09QeHYveWRaMEMwRXo1Rm14L2NnTE1xUUlUa2xnbHR2SW9JdUtITnQ1RVJwSTUzTlVoYU1NS2k3emRJK2lVdkt1ZzFQUWU0ZVhWZUl6ZHMwSFN1ZHpoOVUyMWtwRDJNOFhubW5qcmtzbm90OTRuRStNTzUxTHZuc0JMenoyQUlsa0c3NlFIelRrc2hsdU9hbWNqMXgyTm9QakMraHNXc2ZxeU9uYy9JK1ZFSTJpRHNGWFBuOTV5N1lVOUhmS1dxVzM1MnA1T0xsNzNtQXQwMkRFa0ZJaUljK21TcVp6YkdqdXhYYjJiQVBzY2wwcE1BWUEwenFqRFI2TURlWFVVQmRmcmxqTkJIK001eEoxTE0yVzBtS0hTQ2dUdTNEYmx0QkVEWWQ2SzgwSmdWNHVqVzdsL0dnYjg5TmxQQmdiU2tZZnZXdENhNDJ3VExLOWZmejQ5VW9tanZ3U1o5UnRSYm1TRnhaVzBOU2NCUklJd3p3cTlzditwbE1udC9CK29yeVRaMFZISTZmVWpXTjRXVDJiK3JZZU1mL2plMmNUOS9CYlM0cXJzWE5wTWwzck9UMXFFYTZJa3NrTHNnR2JZV0dCTDl4QVdXa2RLT1dWQkx3UHAxMUlTQ1pnd1p0K1htM3pjZjROazZodnFLVzZ2Smp1N2g2ZSsxdVE4OThzd1IraWtQNHNDUWxKcjdKNUxOL0Z2YmwyV3JXOXZhYWl2NmR3ZjJUY3RwaU5tODVUVWh6aThvdE80Rk1YanVIVTFrMzAzZjR3blMrOGhSUUNNeEpHdTJwSEUxMHBRR21jZEJxenVJaUt5OC9IOS9ITGVINXducit1dXBmbjFyOEZDQXgvR0tYVlFjbGJJNi8zcXRoSTArRzUwRmhPdmpmQUwwL2R3SDkvMytXRnVkN2g4NjZHdTM4S3VpSE1weGVPSnorb0RDdHJGL3BQOVovY2Y3OVVZVlZIeTVsYU41Yk9aQzhhVFhjNlJsTnZLNVpoY3VISWFad3pmQ3Jsb1dJQW92N1ErMVowOXFZUDFXOHEwSG9JdWM3TkNCbEhLdy9rTXhBZVhHZ09lTHlRK0ppMngxd1huY29ndGFiWVVtd3NyZU9sOEtDbW1CRjR4dFJxM1g3SkhBRzVIWjNWMGtBdHNGOEF2Ym04UzNOcmpGZmVidVRLYzhZQThOTGJHMmxxNlNPWFArN3pQK3IwQ3lGUWVZZUdjZlg4ZDFrTEF2aE9vSjZtdGEwSVh6L1pNTnI3UjJnb3lVcDZoTUpVZ3NQWm1XejNmZlQxNVZ2NlI1RlZpdExxWW93cGx4RU8rNDh6MUVHemlFQ0wvOC9lZWNmblVWMTUvM3Z2bEtlcmQ4dTlkK09DQWROQzc3MkZFRkpJTm0wM2diUk4yV1N6Sk8vdUpodElRaW9wUUNDMDBBa1FlcmVOY2U5TnRtVExzbnA3K3ZOTXVlOGY4N2hpZzIxSnRnUTZmSVNmTmpOMzdweDcyajNuZDNTMis4OWtTZGRJM013Nmh0VnV4R3JZUk0za1V5RGVSVW5USmxScmtuZkhuY0Q2N2pGTXE1ckFjS0VqZGtmeWVtYzlLS1Z3SElmampqdU81Y3VYNzFrbmU4VjlkRjNIdG0yKzlLVXZjYzg5OTVCTUp0R1V3Z0YrbEdoaW1aWGtoNkVLd2tJanBoeDBKVUNDRENtMENNVGVNVWh0MGdpTWN5aTZLRXYwTFFPanlFWDYxV0ZnZWVUaVE2NkRjaFZDTndHVHJxZWVwK0ZILzBkeXhXcjAvSHowa21LVWJhTUdvaldwRkVKS1Vza0VIZEZPaHBjTm9TaFN3Qldubk0rR2phdkE5SjcrL25KS2F0cWV6NFJBS2Zld3VFU1l4b0NhcHExYnR6SnUzRGl5MlN5Yk4yK210TFNVd3NKQ1dscGFpRWFqakI0OW1uUTZUZTNXclNLVEtSV3Vyd0F0RkdGYTF6OEo2QTQ3QXRNSWxSUXdhVndUU2FPYnVqVngvckIwS29tNHhjNWtBVVcrQkJOOXRRUjBtL21Ody9HMzI3eWJtY0ZhZlNwbjU3L0JpWlh0VkpVSWxxVEhzeng4SHJZZVBLYXlCTTNsOTA5UDU2enBPM2pqelhJK2U5MWFhdG9qbEJXbVdMdTVqSVpHbDlualE3ejh4amlFM3o1a3UxY0J1ZzVPVWxIWDdQbWNpemE3akNxWHhGT3dzOVZGaE1RKzZkUWlseExqV29Cak1UYXhrYk1hbitIYW5VOHhOYkd5ejhNYXUvQVhsMVlhM0hGaWhCV1Z4b0RCWDl4TEROQ2NoSzRNMUtVZGl0cDg1TWQyY3RXZGhieTB6dXRQYzk0a2hmMmRGcHdTZzlpVUpPWVc4TFdyWStMU0tBVFJiQjRyMjZjenIySSttamgwMmVzcXljcjI2VVN6ZWIwV2E3ejI1amQ2NzBIczJwZHczS1BlMy91QVdsRFhLQnhaVGRuVThiUnRxQ1hlM0Rab1VIMEkvWlNEZitjdGNUZWRSaW1GWVpvVWpCMURVWEV4d1lveVNxZFBnOUlTZEUwam04bWdiQnNoUEx0QkRJYnlBVGd0L082SDdwNVNWb2FHenVZOVdHbDdQZXo2OW9aY0FwTmdaMWNMdXpZWVl1bDQ3dmU1MzBwSlM3U2RsbTZ2QjNoUDY5MDA2WHA5SmxJaGtDNm5qVi9DOTA5OWlyT25MUVVVYjY4dDVyY0w4M2g5aXc5SENmSjhMa0tvb3czcGxsTkVnbkdWYWI1N2ZqTkJueUsrSmtIYnZVMmsxaVdBWEsydEVNaThQSHpqeGhFKzZTUkNKNTZJYjl3NDVFSDYyR1VkaSs1MGdwWjRKOXU3bTZscGIyQnordzYydERld3ZidVo1bmduM2VrRVdUdTdHd05tOSthUDJQVjNDTTlBQUExSmVLdkYrN2VmMFo4M2Z1eVFyVGVCeSt5U3Jjd3FxVVVUM3B3NFNySzBiU1JMMmtibGNKcDZtemxlM09lZFBudkdvSkI4djNVZE1WbXh3cXVIbC9tQnc4YmM2YUsvNXdFTjdKMG9jWkQxSVlUQVRWdHNVSVdJc2xKaUhVbWNjQkhTRFBOd1k1QjB0K1M2MGhINE5IQXRpL0tpUERZWlJXU1QzUmpTdzhrWUpQaldHODJINkQrNG9BZEliM2tYMWJ5RlJpRllrNmxpR2c2R0ZTY2JiOE9TSmtwQnBxdVpjSEU1bWk1NWEydUsycFptZ2dFL3o3VVU4dnJySGJoV3l0c2dQK3ErbmJkRlBUSlBvS09ZV3BTVEFYaWY3VnI2L2NHMHpHMmhzN2s1UTJPWGhkb0wyMVFCalYwV201b3p1QjhNYTN6MHpJNlVvSHVSanRRVWtla09acEUzb1ZaQzBQcThTZmNpdlVjOVd3L3BDUXVGc3Z5QXdxNWFoajM2SlZSZUkxMVpnN2JHSE9USVVkM0JPTUFvYzIxUUNtS0NPejZSNVpmWE9XZzdpenpvVGRHLzVOS1NEWjI5c09xR01MVDhST0pXRWhCVWx1YXpka2M1ME4zcnpLQ1VTN1I3SStIRWFHanRRQzhOa1EyWURCay9tZTYyTmpvYW05SGJPM0JjbTg3T2J2SzFlc3pRV0RLV3l6OWVxK0czZHkvaTlkV2RFQmpXYjdiVVE0YWZDYVhEK1pjNUZ3TXdvV3c0SWNOLzFJNC9HQTlydHFLbVpoajFveWRnR1FFcWFsYVRydFBJNmdZamNibmVsTnliVGhNUEJwazJiWnEzRDVQYmovSDVmR3pmdHAwNWMrWVFDQVJZdG15WjU5c0xRVGFUWWVUWXNXanJON0xteHo4aDllb21oQlpBZHczcThzdllaRTVDK2ZKSk42ZVoyUEVXK2xGWEpZcXNxNEVSNUo2M2cyd2NKYm5zZ2dLV3Y3eWNXV05HY01LcGM3RWRsNDB2djB6TjRrMmNmZjUwSG5xbGl3VjFoV0JBMWozcUhjd1BiQm02RXIwQXRtejFRQUwwQWgzYmtReFMvNkdpQzF1UDZMZ0plVHFmR2hrallZZyt0V2QrTThEbjk3bDNuK3RkQS9Nb0c1QXFGOWR2NjRoenpxZi94c3FOS1diUHJlZnVmM3VPS1pOYWNLTmV2MVJEYy9jWjRwNFg0b0MzOEI1N1ZDcXlYUnBmdkhRcEd4cUsrZFc5WjBGQjNNTUFPa3lhTnozQVQvKzFoSG5qQXlSWHU3Uy9hcE5hNitLbVBiZEE5Q2NSWkVCSm1hSndoNks4TzB0WFFGQWFoNkpTbDdZeWllcUxFRTZmR3VrMjdvNmRpRWdZT1hJWWF0Tkc3SlZyRUorOEJ2K1ZsMkJ2cU1GMFRrRWJPUXlWU0hyM3BoVHVqcDNnRHVhQjdWNGxMamoxT3p5WFE1UG80OFlnTkpPREpvRklpZHNkSlhIdmZTamJRaXNySmZuRTA4aElCSzJrRXFlaGNUY08zdEcvSFlXeUhmVHlFdExQdkVyTktWZHkybXVQc0daN0hhZlBuTTJPcGtZTXc4Q3lMQ3pMd2pBTU50ZldNbkZJTmErOHM0RFppNStoOXVMUGtIbDVQbnBaQ2NvK2Rud2ljSEdVamlac0ZCSWhGRU1DOVVpaFNEa0JXdElWbkZYNFR6NDc5bmY4ZXNPM2VLM2xYSUphSWxkVitNRUwrZFJEUzZjOElyVnhOQ09DcGxCTU5qSmNHbzV6aGhhbmZWT0szNzJRNGRHWE05UTFmSERNVU5kZytuaWQ2ODQxdWZqc01QR1NDZnkrNjB3ZTZ6eURyWm5xSEE3aTRjY2VUeG0rZWtCSmdpV0h6NkM3YVhOVEU1dHFOak5qK2d6eUloRXVQUDhDbm43aGViVENBbWpjeWVidDIzaTV1Wm40M3NmMmtGbkdmdkZUL1h0Q1gzcWtCLzRNdE1Wc3Fnc015aUk2clRHSERjMFpYS1ZJV3k1aG44U3ZDL0tER3NWaERiOGhrRkpRWFdpZ1NXaUwyOTUrM1Vkb2ZuL3gwTWIzOHFmYTM1QTlNQjdZc1FpaHk0OFlIdjJ1V1JkQzRQTUhTWFgvRVgvN0Y5ankralQwUzhvNHJUS0wzeCtpaHlpaUI2V0l0TG13b0lWWFlzVjAyU2J6UWwwNE9UeTVlYUV1bnNoV1VLQmJYRmpRUWtUYVIzMWVVSXBRd0dEc21GSWVmMzR0OFZnR0VUS1JVcUJjdGM4K3p5NEVPdUUzRUtiaXpZVmJXUmJ4TVcxaUJac2J1a2lrN2QwbjdpOG12ZU1DUHBkM04yak0rdjYvY2VWSmpYeDY5bjNNS1Y3SVRjT0tLWXlrS2RidXB5MlI1ZGR2MzhRL2xvMG5sZW9DdjROekNMMXRERjFqN3JBQzdsL1Z6R25EOHhoYUhNSXdESWFXRHNVZlhNSE85cDJzYTFqUDFLWkpqQjA2aWxqelRnSnlCU1VUQkYxYml6RUk3UE5VSENkQjZjUk8vS0lESnpVWFg5bFlTTVVwRUJtMG9FN0FaN0ExbG1Wb1daRlhKNjg4SDlicGk2WkJ1ZHZQYkRaSXZCWWdjbEVTR2Q1WHJMa3BRZUsxQUpuTmh1ZDM5dUx5MlpWeTU3Z1FqU3RlWDJMeHgrL0dtYi9DV3ljRkVjRi9mU25BVno4Vm9LSFI1YnF2Um5uNEpRdlFrQmVQUXB3NURLZkFqMnYxSVQ3bzBWaXJRcURhMnNrODh3TFdvcVdZNTUwQkNLeEZTeEVsUmZndU9yZlhlNWNQZEFxWkZxZVBxcU1xTDg2b29nN3kvWm1EbW4rNmRCbVNIK1dNMGJWVVJPTFVkK2ZSR0F1VHRveVA5QndLSWZENy9kVFYxVkZkWGMzT25UdXBxNnNqTHkrUGlvb0tPdHJha0Q0L00vTGJtSlQzRXRJd1VNSkJjelZQTm1ndVFrbFVOZ3ZCc2V4c2FxR2pyWTJLaWdxNnVycUlScU1BbEpTVXNHUEhEb3FMaTN1Tmp5c0tKZWZNMUxueERKUEo0L3k4R0MzZy90WlNYdW9zSU9abzd4VTBTdVZFeE9BNjJpZmM1Ym9vb1RBTWs3Y1hydWZKZTY3a0t4ZXRaK1JzSGRJT0lZNU5yS0p2dW16bEFOMVZaNEFGOHhVTDNxNzFHRUlmaWZBN3FNNFdrSUtZa056MmwvVmU4TmJRd1IwT21nS3RONXVkZVl4b1U0WmphM1FtUzRuNFMzRnR5R2dSZENPSk9Wd1JEMVRTMFZhRTZ4cFlUc2tneDc2dlFhR29xS2hnYVBVUU9tSUpncHBOOStNUGtXN1lnVmxWalY1Y2dsNWNBbEtpTWhrQzAyZmlKcFBndUtUWHJxYXJzWkhncE9HTUtLcWlVUFBSRUd0alZlUEdQaWtHa0VxUjFReEdkalh5MldWUDhQZkwvZzA3djhCcnNIeW8xOHNCcGV2ZFhWeno4aE9NN0dva1pmaVF5dTNuUWdlRTRRQ2huRnZtOUVVZndiMVdtaUFnSlg0aG1PSHpZU25ZYkdWSnVpNG4rZjJzelhxQWlwTk5rNlRyRWhTQ3NZYUpJV0JGSmtOQVNzUkhUSEhJSTdoZmtlc2xZem13ZUpYaUovOExYL2k0NER1ZmdPSEZjTSt6TUdFNG5Ec2RYbnRYNVJxVDU0b1ZEdE8vY1EvekFDa0UyOXZTRklWMXpGN01pTkNsb0tMQVJKZmlzSnkwYUxybmlhY2lQQlJ6bUorOGtrbmVXSUtGT0tGU29wbGp2LzdkL2ZoSEtndWhMTTlwUjlBZ1NtZ1FGYndpUUdRelZHM29aTUtHV3FZOXNKaXBQb3V4SXd1b21qbUZzalBPNFBTVFQ0WHhvdzRvU0pSUy9RaXh0YmZscEVMVGRGNThjVE1kSFdsdXUrMTBBTDc5N1RkWnNxUWVUVE54RGhNaDN1c25wdEIxalgvODR3cUVnUEhqNzhLMm5WeVIrQ0dPVFEyc09aOWZOKzdRYlVRQjQ0c2JLWW5FUEtUWTNkOTVEYUl5dHNIcWxxR2tiUVBSYXdtSm13WU51TDFNNDJUSzR0cy9YVUE0YUhEMnlVTzU4cnpSM1Bka0tUZmZaL0RMVDk3RDZWTnFqdEhZRk5LQm9hVUd5WlRpdm5zNzJOYm95Ylg3N3UwZ21WSU1MVFdRRGpqeUtJZEpGU3pNMTNpdzNPQkxPN0lvY2NpM3hBUGxCZ3Z6dFk4TVRwS1dQbklkS1lWQ3VaSnBCWEdhSFlNLzd5d0g0S2J5WnFZRjQ3emVsWStRN3ZzM2x2a0EydDg2dVBmUkYvdjFmSjUxcE12Sk1QQ1BIWVYvN0NoS1BuMHRpVVZMYWZuZFBVUmZlZXZZN0tEdHpTTkNvb0QyYkNlVi9uSnVuZngxUGp2aUdzOXZ0N0xvaG9uSTJ0aVpESkZJR0N3YlYreHBFT1c2RGdFRkdDWjJMSTdtODRGcFlGdFo1aGJONEo4bjM4TmRkWS93ODAxMzBwQnFwc2dzOEJwWjk3WC9KdkM2QnhpRFJUN0hWTTBwaVBsZENteVRDOWJCdVdzVVNvQ09JR05DUEtpUWJ0K3h3SzVFUXQ4UWhYK1VCWmRiNElJYno0SDZCTlZ1TEkwTHBjR0ZONXFvcEtLeHhXSFRGb2NWYXl5V3JMSlp0YzVpUzUxRE11VmkyKzQrVnpFTWdTWWw2WXk5bnd3ZGZQNUh4dzhES1YyRTV2RHdqZ3IrMlY3STdlTnF1V2xvQ3lqSU9nTGhDb3l3eStXbk5IRHJYOGVqZ21sS2l5TzB0a1pSUW1IYkxobkh4c282SGpOWURrTW1GRkpYYS9QTUE3L24xRys2T0owU1J5cE16ZU9adTdhVjhmVk5JK2xPK2RCTUM2VUVoOFhLUXNEUVVURG5WQmc1SG5UREs3SWJNSVdKWXA5b2lzSW1LNFpoeXpHNHlpV3c2RG4welRXd29aNUk5Qjg0aFJYWVJaWEU1bDFGNXF3Yk1lcFg0cTlaaHBJU1o4Z2tyT0lxZkJzV0hYRnM3NEl6cHgrV0hkbllGbVgxeGgzWWpvc21KWlBHRGFHNm9yRFBnQ1dlMjgrY3Yva2IzKzdYVC9lYnQzeHRYM3N0bmtENlRMTE5yU0FFZGpTSzhERWc3V21sd0pHU3RkdGJxQzQ0a2NMZ2NscTZtaGhmT2dHbElPV20wWlJpUzdxVmpkc0VvcVVlSlV0cEwvMHl4eFh2WkpUcmdHRjZUV2FkTEdRZEpwYU9welEwbFBYYmwrRkllWFNYc2Mvbi9lMmllSHhQekdqLzcvb1JPYms5UzJIc2VTN3FBRkpHS2RBbC9PTXM3LzM0eHozTTIxMEFNcjNoVjJyUzRmU0srWHg5MG0rWkorYVQrTHRpMnhNQnJCYmgyUkZ5Mzk4ckY0eHlSZkZsV1VLWENPYXJVN2w5eVZkNHZmbGtIRmYyZUIvV2xHYVA3QzVkYWh4NEVBSmRhcGpTUUIxbEcwV1hjSHF4NUp1ak5PWVd5TjNocUE5U005YU9ETkVuMmttK0VVVmwzTDdiNCs1TjRUK1kwSEw0Y1llQWdldTRmTzNIejVGTVdjeWFYTWtiRDl6RXRWLzdPd0FQLytvYVR2L0VYWHpwaC84ZzROTkJDdStZOTltWHlCN0pWdnNBYnlZc1RVaHZrM1M5N2dsVy8wZ0hhWUtUN1llbTQ5RW0zUmxjYUgxSS9iYkI0aTQ2U0tORkc0a2ZtNUN5V0dSVWNYdkJYRFozVDBILzJwczRzWDk2RlMrN0RJNWp5TC9UMzMzejRFYU1ERUJpQVhici82QlgvUmJNcWh4NnFUakFidzNJN3NUZStSWDAwdTlDYUI2NHlaN2ZYRGl5ejl1QTJiK0xCbE9Ib01aVjJ1WE1NeXVvS2c5dzMyUGJEaW00NHlWZnYxL2o5ZHgzdmd3QW1kcFJ0TmFOeERlaWxyeFpTL0dQcUVVSWhadng3VEhxanRnVThXd3RvK280cWk3N0NmR2FWMGx1WDRLUlYwWjY1d29VVUh6aVY1RCtmSXlDYXZ5VngrMVZoYXR5RFkrMTNIMDVhUExvRm1HNFFxQzdMcVBTblp6UlZjdFpuVnNZbHVuMmdGUk1zMCt2WGZYbmZpNXdMOXozYmZ2S0gxS1VBeks3OUl3Si9PYjdGL0M3aHhieit1STZLa3JDL09xNzUrTTNQWnZvK2d1bXN2VS9PL25qSTB0WnViR0owMmFQNER1Zk8zbjN1ZjcxNDhmenhwSTY3bjltTlR1YW8zemhtbGxjK3JFSktLVzQ1R1BqK2NsWHorQ1hqNnluOVlWZjRjZmt3ZHUreEVrVDhuQ1Y0dkl6Si9EYi83aVEzejIwbUlVcjZqRk5qVTlkTW9NTFQvdlZJVG5vVGxzYldra0o1ZGYrRUd2blRweTJOdHhNRnVIM2VRV3JLR1FPRExROTA4bkM5cVg4ZmZzL2VMSHhUYnFzYm9KYUVMTVBBaFJPTkg2WXhwaEVDd1gyOFFmY1ZCcGw5ZjlpNmwxWTAwWkNRRnJRSWZhSUJTT1c5UElNZXpuTzBmM2NLejN6dVZ5WDROU0puSHZhbFdRTW16R0FvWUxFSEQ5dnZMb2NLY1V4aTFrcDRjVThscFlvRW9ZZ2FNSEpUZkRFYUdneEJOSnlDTTZhUXVuMDZXVHJtNGorNDFXRWNYUmxiYkJBVUdUbVV4QzBLVzZMNG1Za1Zub3RxcjZaVEV1VzZwUHlTT3NGbVA2ak00OW1NSEhZeDJqQ1JRa1hUZG1VRCsxaVRXbzBVOTUwcUsyT29oTmlUSjNKcG1neEp3N2RSdFAyUW94Z0hOT2Z3am1DbkovOVhhcnE2dXArdmFaMzdPaDVBNVhkZVZRQ05NMmtjTWc4UWtVVDZLeC9CU0VFK1dXelVIWU1UVE4zMjh5OVhlQWpGV1Iwd1hQakk5dzl1NEMyc0Q2d1l0RVNoRks0YXlYcDFTYU9wcEVJaFdndUxLT3VhZ1NiaDQ2aHJuSUV6VVZsSkFJaEhLa2hVQWpsL1dudXNmRmorNXQ4T0Z4OFU0VzNXNVdXQmlFN3phODMvNWJQTkwvSW13VlRxVE1yQUJpUmJlTFVydFhNakc0bUxVM1Mwa0E2UndjMGNOYzFHanNMd2RIQThIS3ZoRHowakdBQktOZkw3ZGpXWEE2YWc5RHRJeHIvSmFlT1A2VGZ4UklaL3UrK0JiekhRVmFLc3FJUWw1MDIvcUNOa1FjaUtRUTROaUVoVUtPOE9US3pIdGhBZjJrMDZ5ckFnTGZYSlBoT0twL3RMZDBVUkh4VTVidllWaW5OOFVvU2pvOGg3UzZyYXFKZzdnRkI3ZXY0WDhTbk1hWENxNDlZMjVTZ0kyWDNpYno0WitHRXd4cFh1UlZuVXFJSlhibTRRckErVkU2RG1iK3JGMW9mMEtMQm9PRlJYYmlLa2NPSytNU2wwN2p4OHVNWU83d0lNaG1pTDd4TzI5MFBrVjY1anNCeFUwaDkvV1llYVBmejROOXIyRnJibGl1dzlBQkREdTdxZVVEM3RkczYrTW12WCtmK3AxZnhpVXR5MXpuM2RQSk9QNUhvNnd0cHUvc2hBcmYva3B1T204TGwxNXpGRSsxamVQQ1YzSFVPZ1VuZFhEOERLUlMycldIYkd0VUZNZjU5NGxiK1pYUTlwaStMa3pXd015YTZVQWdVZGt6czl0M3NqRURtY25jenVkOThabndkTjR6WXlSKzNET1YvMTQ5aVIxY0VkQWRkUHpRZ2dkMTArZVU5MU9jT3JGZ0JPM2F3dTJoS1NxaXVoaGt6b0tjQUlFODgwY3RDRnV3ZEVuMklTOTdWRmdxWXVORGhXM2xKSnBRRjFSTU5FZFoxKzRUbDlrNU9tTXlQZkxBUWN4WFdTeEhjSnJsdmZqK0FiYU15V2R5cEZyNXJ2QVlMMWlJZnptb0Q0VE85TGxuN0dkcHlzd3V1Uk9ZZlFpRlRkTC9EUlUvWlFkSFk2aUFGbkRmUGkvVnRxWGRvYkhOd0hDMFhBK3BGOGRBYjRHWFNBeFhQUyt3SyszaUFjU2puUFhaZWoxWHBRUnJlV1EwdFdQVk4rTWFQT0xMNklhV3dXenZJMURVZ3pCNlVLKy9uSU0rY1h0R3YxY1BDL3AyR2ZzUXlDZ2xZUUpQM3J5b0JXUTU1T2xUcmdwa2xFbVVkbkZXa0YxcEQwMkZFdFdER1JNbjZUWXFPTHEvSlRXL0dBYVVBNlNncThueDg1NndLSnBYN1BkOTNkd3doMXpoU0NJU1V0SGQyb2dSa2hBSENaR2RUSTUxZFhSUVVGZVdhU0twZWl6OTg5NG9KNzNIWXBBUy9yb0dBNmlJLy8zcmVtSDE2RVIxTitzbFJ2cDVRQ2lVRnE0Y000OXJTQmJ4Wk00cXZQbkk1U0pnOG9vSG5UN2lUcDJQVnRGZFdRVGFMNnNPOEdBV1VsVlp6eGtXZm9MNXRBNjZieHJGVGxKWldNMzNNQktyTFIvYUpDYTk2T0grdXB2RlVXNGpoZDdXZ0MvaDFReVZPVUVPNGJyL3hKZnNqN1pxWk5YYWF1NU9kMUJRbHVlRkdQMSs4S2t4MWhjUjF3WEZjTDFsUDZBaTlCQm1ZQktHVFNQdG5VbWNWc3FpempkZTJyR1ZSeTNQVXhodkoyR24yYVZyVjF3MStsSXZ3K2JHM2J5WDZ3Si9KLyt4WDhjK2Npemx1RXI3cGMwZ3ZYNFFiaStMR3VwRjUrUlI4K2R1a2x5MUVaVEo5cHk3NmNWMnU3UTZzaE9QRG5hY0RTWmQ4UHpncXhJb2RYdU9BUUNoSWZxNXVvYjlSV1ZhSHRKVjdwaGt2M2lva1Nqa0lxV09Kd1pxc1FScWtIb2F3Y0J6Rjd4K3ZKK1RYaUNadC92WjhJK2VmNk9Fbi9YTmhHOUdrVGNpdjhmdkg2N24xODJNUVd2OXBtdXJhTm5vb1RMYklSK3ZmL3NTRVYxdHdpM3pRVDJUN0xsOUIxd1F6WjFhd2RXdVVwcDFKUm8veU9vWTE3VXdpaEdUbXpBcDBUWHJBb3IwMHVSK0svSjJEeGtjbG80dXJDUmcrOHYxaEFycVp5MDN6bm51ZVA0UlNpckFacERpWXh5MG5YMFBXdHZIcE9nWCtDUEZNQ3I5dTlzZ2k3dnpsTC9GTm5ZcXlyQnhRazBCb0drb3BWRGFMOVB0UnJ1dDk1N29Jdy9DK3N5eWthWHArcDJkWUlzSmhENk1sa1lCZGVXaTdmcnZyUEpibHhkU2s5TDdiK3hwT0xoNmthUWdweWE1Zi81N3hGdDF3eGFIYkdxN0NhbXdtdFdBSktwTkY1a1VJbm5JOFdrRWVXbDh0L3Y5ZS9DRVVzS0FjRzZIcklDSDl4aUxhdi9kVE1vdFdJQUkrY0YzTTZSTXAvcDkveDMvYUNidmpoaUlYTzFXMmpWWlpSdW1mZjBya2sxZnNQdGFOeG1pLzVWYmlEejcxM21PMVF5ODZrQkptVG9EUFhnRlhuQW5scGJrWVR3NG50c1V5ZUx5emlMKzBsck1zRWZad0dvUTZ0QnhTb1hDQkpmRUl5eEpoN21vdDQ3T2xMVnhSMkU2NWFZRURaY1h3eGV1OGF6LytDdnpsQ1ZpMm5nL0VPQk9BZENGaENoWVBNWGxzY29CM2g1aWtUUTkzQm5jQThZZ1E2SkVRNFNtajZYNW5PZW93a2VPRmxJU25qRWFQaEhwVUsyUWRJYkNjQW56QWNHQ1k4R3JZQTZOSEE1QjY3VFdHT1E3TlN1SExoWENQbWVrZ2dZekVYaE5BUmh4UTRMK2dHOS9IWXRqci9hQWcrTmsyaE44bDgzb1llMTBBZTAwQXNzSnozWStXU2FGcktMdVQ1TFZYTWV4ejErRmJ2Wjcyck0zUXlrcGNWNkhyT3BsRUVpRUV3NnFxc0N5dm1YMnNzNHVTWUlTeW02Nmo4WTJsbUE4L0Nub2gyRWVXMzdQeUw1OEY0STJWMjNsbXdSWUFManB4TktmTkdMYlA3OTVZV2M4ekMycU95dmNYbmppYTAzUGZpN3R1Mms5bk9VUjhFVjdhOER4cEs4MzN6djBSZi8za3cvelBpLzlGVjZxVFJDYUpMblRTZm9kQTB1WGE1N0tjKzFhR1VGS1JDSG81UnFaMXJQU0V3SlF1MDBNcHJpdnU0SHgvSjIwYjQvejZCWnVkOFJuSThDank4dFl6YXRSSUFGYXRXb1hqSFBpNWpocXFjZEZwSnArNElNRGtzRW5pRFpNZEx4aGthclZjazZFakcrSWozN3ZqTU5hYTJMTUJzTXZPNmV2MTg4blREakVtNVNLbFJDbkZ4bzBiR1RGaUpMcWhvMnVTVTZaVThJdmdHcGFvS3Bib0ZRamxvSVFPdUFqbDRPeVNyd0p3RmI1d2tMeFoweEdhRjdQUFpMTFUxZFV5YnR3NHI3RjA3bHBIUXNNMWs1djhSWnhqUnZBakJwUks2N25aSkVEWVBQeFlGQnk0NjFrZnA4d0tNbkZFSEo4dVdWa1Q1TTJsTms1M3pKUHJJUTRwdmoxS2EyUzRiR2FZMXNKU1N6dHNYZVR1QlowZVZXRmV6SnlTVXl3T2lBekh1cWpMVlZDenJZV0Z5N2R5NWJuSEhkUldkNVZpNGZLdDFHeHJPU2F1OHE1THRtV2lMR3JmVEdjMlFjTE9ZTGsyaGY0Q1VrNkd0SjBocFBsb1RYZWpDY25JY0JuMXlUWnM1V0wwRWV6MSs5bWJsbXRUR0RRNGpyY3BybjRLeXk3S05RS1IrOTJiQWxuRWxPcW5xZVJ0bmd5ZVRDWnJvd21kajFiRU1wZFBJVUdYQ3BFVFlQWXVIRnV4Mi94Rjdhb0hzUVdCOGl6bmZUTkY0M2JCMXVkTmZDRVhJK1RrZkNsQnR0Vmt6Wk02aTZNU0ZUZVFodksyWmJJNmE1K0trRW1CTDZCNDdoMkJabXRJVTVGT0NXWmNuMEIzTW1oQmNjQmMzNDFmdVhXZ3VaWkhGUEJUU3BGSUp2bmJmZmZ4MTN2L1NpQVl4TFlzbEZJWXBzSEREejlNZFhVMU45eHdBM2w1ZVhzZVVnL3AxMHM3Ky9WOFhyUGYrOU9lYnh3TUVQZWxtMU1TK0VqZHJ3czArZ1dGV1pqZDVRbkRwUVdTUnIrZ05OUDd1L1BtMEtxUGhwYkpiYTg3VVNncTlQdzRONjUycDNmMmljNFYrLzE3eUV3dkVERUxEQTFuZmh2dVJxOEdWTFdsRVlhZU81MDZ2RUVmNlZnK1RMSkVnZTZDZFF3TkxFRXVqMHhwdUFyOFpCbGl0bk5DeVVhdUdMYVJlV05NaWthZmhUUCthcm9MVDZDdE84TzJqVWtXTDEvSy9KVTdXTGE1Zy9hMnBCZXZNWFR3YVdpK0FDcFhOKy8wVWVNSEJXZ0JDSjBNeFRkQTZCU1FFVWd0aHViL2c5anIzby9FL2pHL0VhQjdjTDc0Um9EVnZDOHIyaDNRL0ZOSUxvTHliMEhrQWdpZkF2RzNvUDF2a0hnYm5OU0hqMjFkY1ppekx5QmdobWpNTlBHbm1qOHpvL2c0aW4zRis4eTV5djIzUGI2ZFAyMytNeWtuUmNBTTRTcTM5MXhPVjJDM21XUWJmQ1FXNXBOM1hodXBOV0dVSmJGYXVsRnAyUnQ5WTQrdWphd1VycEFzYTlqR2srdVdjZmFZeVZSRTh2SHJKZ2tydzdaT3IwNWllR0VKSVFQU2RwYW1XRGN2MWF4bFdjTTJYT0hGaVk2V1BTK1VRdWttbjNreHhmZG16ZVhLcmZNcExheWhURXZRZ1lhcEZFSkMyaFZjTVRSQlZkM0R0TWJTdk1KSmZQZUpSZ2lGa2JnOWloWDk5RTl2TzZoOUhleGRMQllPbXVSSC9FZ3BpS2V5ZEVmVEI4VE15by80dWVYVEp6SnhkQ2tBMjNkMjg1dS9MYUk3bHQ3ZkhVRUl5QXY3eUF0NytDVHhaSmJ1V1BxQWVWeXFCOW5CQ3RpY3llUDJ0a244cUh3VjF4WnM0K1J3Qzh1U1Jhekw1Tk5nQlltNVhnNThSRm9NTVpKTThuVXpNOWpCRUQzRmdtUUp0N2ROWW5NbXI5K3ZBYVVVd3REQlRiQm1kWncxUnA0M0EwNG4waFFvb1IwMXZqN3FaUEdSSXN1eGVLRm1FZWVPT1o0ckpwM0docFphR21KdGZkYkU3Nk9RZHFkeS8zY1ZsSmVQcGlCU1FLUjVNeDFqenFUY2NjR2ZvbkxJZFB5QmZGemI3dFU1R2YvMlcvM2Y0ZHJiejBTd1NvL3hhS3FOejF4V3h0eExOaU5xSlVKZmh1L0VGaDY0ZHlQYlRNa2tJNGhsT1dCbDJFaWF4NXdvajJSYlNTajNtTm9WVWdxdk1hN2pNbjE4SlZkZk5JTWJwNVlTZXYwdDZ2L3dkOUxiNnRHRElZU1UrKzdOUzRteUxKVHRFSjQ0bG9LUFgwVFRaWE41TExPV3U5NTRsTzJkOWVBTElZWG9VWjhDUnh6YzczTWMwQUlPSy93ak9XMStPUXhwUlQ4bGlzbzRPRUdUVDY0dUJLY1VobXBJeDhMcXAxaWlSc1VZOUtKS25OYnRCM1J2OWFKS2pJb3h4M1NNZnQza3NzbW5jOEt3cVlUTklBV0JNUGN1ZTViTjdmWDg4c0t2SDNVc3MvNUtvLzlqZWUrSUdXbnNxWE1VRXVVMk1kaVVkdURoMHgvYzNSUlUyMGsrMTdrQm4rdFV2aGdlR3R4bTVyK0pFT3Y1UUhtWkE4N2U2M1NITThhbGEzZnlwMGVYTVg5NVBRRHJ0clN5Yk4zT3djWGJQNTBaa0lMRzlnUytjay9HTnJZbnZCeVRQdkJobkJ4R3U0TTZwbjZlRnZMM2lySHVPb3E4Z0lGS1pGQUJZMDkvN3dQSzNGd0UyaDJzclhtdnhQRnErRHA5azNpaXhtQm8yS1E2dlpWRXU4V2lZVVdFYkQvemF1YVR5Q3Rndmo2SFpFMGxZMmFOQmJSZUM5R0pYQTF5U1VrSjExeHpEVGZlZUNOMzNIRUh6enp6RE5Gb2RIZnRnRklLMHpUNTJjOSt4aTIzM01JcHA1ekMxNzcyTlpxYm16MmNBd1ZQWjZPc2R0TDhQRlRGREQxQWg3S1J5dnRPdVNBRENpMmlDSXh6YUh2Y2h4TVRsRnlaUVdVRndqeUVQUW8zaFlxOUJyN2pFZjRTaElUVXFuVTAvT0IvNlhybVpZVFB4Q2d0UlRsTzcyQWxIRU5mVVpPU2REektpcHExVEJzMUNTSGcrak12NThXRkw3Tm83VktFejc4NzUyenZ1SXVVMG1zc2IyV1J1bm1NSlU3ZlVuRnBLWmJqZ0pTVVYxVGc4L3ZKWkxNVUZCVmgrbnhrTFF1a29LaWtXTW1FSWVJRkk3RUMrWXhvV3M5a1l6Mnp0Qm9xZlcxb3VzdU1vVkhPYmwvUFF4c25ZNHNJQzkyVHNWdmpMUGVQWllqUlJHdGJBV09jTnFyTExXYUhYK0dxVVN1WVdLblkwbEhBVy9yNXRKb1RVZUxZWVlncEJiclBKdG1TejBuVEZvQ281b1ZYWnZPMWp5OWt5NDRDbHIvMU1lNyt4bHM4K3NaNHNEUmtNT1AxQWpsRWNoVVlodURNYVRyUExiSDU4N01aVHB5bWMrSUVuWkpLU1dQbm5uNWxRb0RyZ0xJVnBma2E4NFpiWE42eG5JdnlWMU00YVRncFJ2Uk83dUZUVHgzWS84N2hMejQ5M3M4Zlo0ZHBEY3NCMXd2STZ3TUVLNXZob3JHd05abGg4UWw1akdtdFpkeVR2NlZFL3hqS1ZWaWJYbVBEaUhxcXppd2ljbm9IWFVzZytFc1E5ckhKSE13NkppL3NPSmNyUmo3TzBIRDlJUi9YbEt6Z2hSM25rblY2RHpOYnl6ZDdWeWozY3ZqVGVhOHVIblJHQjJrUGZ4eXNia2Q0bVpCQ0tkeFlIRVBUeURoWlVpMHRwS1RFWDF4RW9xVVZJeGpBTUEzc1RCWTNsZkpraXV2MllYN3V3R0xmdEszMzh4SGFSL1lNRGlWdXVFL1Jobmp2bzl1Tk1kSUQrU3RkbEJJNHFSQklsOVBHTCtIN3B6N0YyZE9XQW9xMzF4YnoyNFY1dkw3Rmg2TUVlVDRYSVR6TXBtT2lyeFg0VEpmdlh0ak1oSklrSGM5MTB2NVFNMVpMQnFFSlpGNGUvbkhqQ0oxMEV1R1RUc0kvZmp3RWczdnBQb3Z1ZElLV2VDZmJ1NXVwYVc5Z2Mvc090clEzc0wyN21lWjRKOTNwQkZrN3V5Zld0Q3R4ZWRkOEgwa3hqUUJzQld1NzRKMDJpUGRQMytkN1N6NSt5TDgxaE1zM3BqM05qT0p0YUxsRWIwZEpYbW1jd20yckxzRlNmV0ZyZnhnQjF2cFFQN2tLR2ZUeUc5d2pVQ29hQTZ2ZjFVQ0xrenNIdUpEd3NncHhsTXZycllLUHp6eVpCenNxYWMwdnBjQks4dnZHUWpKQ3AzWElhUWdwRVBFNFg1aFZ4S3RSSDdibElIMWU3RWt4R00rTFpnL1JpMVV1d25YSUJxdm95Z1RRTEpPNnhtNmlrUVIrdTVaT3B3eERVMmlhSU9PRzBMbzJFazhuU2VqbE9PMGJVV05ua3cxWGswMm1jd2xPUjc5eVR5bFFFbFkzS2NyOThOa1R2Tnk5djZ4UXJHNVNmR3k0OE15VmZzSVdBaWdNYVl3dDkySFppZzB0SGliWjZES1RzZVUrQ2tNYWJiRitwQ2NGWGwxVHZrSUlSWHlEWndmNHlsMzBQTlczOWVMQ0JkZEFXQ1pPMFZic01TL2hscTRIVjRkc0NFMG9kUFBvVDBsNmZ4N00xWFVWeEFSM1hHOXh4OGN0aW1JQ3FUc29vWTQ1NzdYdTkvNGJ2MW5aNDBXbkVPaWFRVENYdDUzTXhIQ2NUcTk2dDljVmljUlM0K2xRTFV3cUxVUnUyNDRaTDJCNzB4cDBLME5sTmtOMVZ3T0JpUVcwcFRXSy9kWHNiRW53NklzYitmWGRpNm1wYlVmNk5ZUnI5WWszZUNTclZVckoyT0pxNWd5WkNFQlhPblpZOWRNOVBmNkF5MDBwbE5BWTFiR0JqdUpocFAzNWpPeXFBYWtoYzdVYUowbEp4akI0UEJianBWZGUyV2RmVWtwSk5CcGw3dHk1bkhycXFTaWxkby9KZFYyTWFKVDF0OTFHMXorZnh6UU1sSEpSU2xHYzZXQmN3enUwRjQxa1dNdEsvSzV6YUw1aW40ZzdoZEpnWVYwUlB4ZytoU3RQaTVDTWJlR0xYMXVCTGhYZnZDQ1BiMy8xSEZadTZHVEJsblVJMDkwbkROY3Z2SE1IcEUvZi9YcVEraGRWZkg3SEVYRm1xWUFwbXVoelh2dk5mdS9kQWJaSHJvWDZkMzZhY3dqK3BkUWdreEtzWExHTi83N3BkYjU3NVRzZ0lkRm1ZT2lPVndmbzdrbDk5dmEzVkM1MG8vYTEzOTdudFdZNFlNRXZ2L29pVllWeGZ2alFhV1N5QmxLNkhnYldCNURQRkh6bTRqeSsvL0ZpU3RzbFRiKzJTSzUxY2ROZW5idm9oKzJMbEFOdUZ6VG5DVm9qR21GVHNpM3NJQXlGMndXcWNHREpFK1U0V0V0V29Hd2IzL2xuazEzd0RwbFgzOEI4NVUxOFo1MkcvNkp6ME1hTlJoUVZvS0l4RUtBNnU3R1dyRVE1Z3dyQ0UzSUtJUXl5eTFiaXRyZWpWVlpnSGpjZFk4cFVzaXVXSXN4UXp0bk1yUzJSUzBvV3dzdWhhdGhKN0RkM2t2anozZWdqUnVLbU1yc0FuSTh0YjFnMldta1J6dXFOYkp4eUp1TmZ1Si8xalEyY01XczJpNWN0d3pBTUxNdkNzaXgwWFNlYVNEQm42blFlZmVwSnJ2ekgzVFI4K2Z0RTcvbzdSbG14bHl0MURPNG40d1lvOVRYVG1pbkhyNlZJMmtFdXFYcU1zOHFmNHp1cmZrMW50b2kyVEJuTFdvK25LMXRFVUV0d09GcHlJRWVNVk82dlJEck1DNlM0TWhSamJDTEJvc1ZwN3ZsSG10ZmV0VWltUC9nT1N3b2twOC9SdWZGaUg5Tm5sN05FemVhZXB2TjRKVGFIcEJNQzBRTTVNY0JFakhZa0R5R0haNXR1NytBUHY3K1RILzNvdjRqRjQrVGxGL0R4ajkvQTlQd0lWc2JpajMvOE01bXViblE0NHJxMC9hY3pQSHJFaDFZc082Nmlyc05pNmhBL2xYazZLeHZTdkxnK2prOFRKTE11ZGUxWklqN0p1SElmblVrWFhST1VSVFNHRmhvNFNyR3R3OExwb2YwNjBPYjMyNzlhL3I2c09wak1jU3dGdGhjdmFLcC9HeWQySHhsN0ZGbG5EV2JldHhsM1VwSTgxY25xRmIvRDlKMkdJc3JZTVNNSVJZYjNhZzJySmhTblI5cVpFK3BtZVNLUHMvTmFlYTZyRElDejgxcDVLMWJJY2FFb3AwZmEwWHExQ0ZKOG9CZ1ZBbkFVcGVWNVhIL3RISDcyeDdkb2JZa2gvRVp1NnNTQmRhRHI1UXkzdE1SUXVzYVhQbmtpdjd0L0VZbmFkdEFsL2E0RVdFQTZBK2xrSjM5NXNwRG5WM3lYVThkdlpIUmhMYWJ1c0tsMUNHOXRuc0syT2d0RW05ZkQ3eEI5S1NrRUUwcERqQzRNTUtzeVROQm5JSVdnTEsrRWNDQ0VKV3dhT2h0NWQvTlNpc05CdXJmOUF6ZGJTM0Q0U0pyckd6RzB2TjJON0IxcGtUWWFDUTUzY2JOMWRHOTdtdnpLbVdRZGhlWmtLWWtFS0MzTTQ4eUtZc2FWNXlPRndGVUtYSWRDRTVUYk4zc1pRbGVZSTJ4a3lIT0MzWlRIRnpLZ2tDRVhjNFJOYXJGNXVDQVZoNmlUdkpLTW5hMHVuL3FCMTJzOUx5VDQzazBCL3YxemZsbzc0VFBmaVhIUFA3S0FSSnc3QXUyY1lkakZRVWpaRU0wZThyUHNyMWFuNm82U2VlSlpzaSs5amo1bkpvR2JyZ2NFcWIvY1QvYTVsOEd5VVYzZEE5eTY3bDJ5SElubGFreXZiRUxQeFZjT05qdEtDWHlhdzJtanRqR2xvb1hON2NYOGZlVWtHaTNqSXoySFFnZ3FLaXFvcjYrbm82T0RRQ0JBWjJjbjZYUWF4M0h3KzMwMHQ3UVFzVjNDMGlWV0xVaUdEY3EyZTNzL0xjTU1RakZGL2phWG1PUFMwdEpDME9lbnZiMmQ5dloyQUFvTEMrbm82Q0FVQ2xGUlVkSGpQaFc2QnBPSDYxeDdpc0UxcDVySW9oQVBkeFR4dCtZeWxzWkRxRjFZODNzQ3JnUk1IMU1xUmxDZFg0enNwZjIweDNobTRQc0R0b09tYTREazNydnVvV25OVGZ6OEt5NkVESndtaTJQWkxyMXZzeloxaFRRQXpKeUFzRkZLSVBRYzJLcFNhQkhUTTRhVXdpdnJFNzB2ZndWb21vUGZINmJOSGsxYjBURDhRUTJVRGF1QlBFVXlCaUpxNGcrSHZHRDBvTWR4VUdHbWxDSVdpNUdYWDRBL0dDSy9JSVJhdlFTN293TVpER0czdHlGRFlZUVVPTkZ1a0JvcWswRUdnNlMzYm9haVV2SkdqbUZJTUl3cE5OYTNia081TGtMMkRmQ05WQzRadytTVXVtV01qaTRrZE5PWFVWazdGKzMvZ09zcDRTVWRtVHFKWC95T3FycGxaQXdUcVFZRzVMYzNuVWRudzlkVkNrY3BDcVNrVkdva2xLTFJ0ckdCQ3dOQjZuT0ZoT2NGZ2p5VlROSm8yOHoyK1FrSlFZR1VPRXJoS3RWcnltTWdrSHVZVDBWSXorR2NPd1VLOG1EMVpuaGpPU3pmcExqbGV2ajRlVkJhRE1NcjRQbDM0UC9kQlJuTGUvcDl2U2VxZ00xTktSNWMwRW80b0RHaEt0aHJ6ekp0dVhURzdjTytoMWMzZFBXRzBFTUlQMHA1aUlxaVU2SlVGL1JEa0M1M1A4VWxsWVZRbmlIcElHZ1FKVFNJQ2w0UklMSVpobXpvWlB5R0dxWTlzSUFwUnBheEk0c1lPbnNTQmZQbUVqamhCTXhKa3hEKzl5bDJ0ejRjaUY1dUxsQVRpMlc1OU5JbkFDZ3ZEd0dDSThIMlZMbGdoRzA3M0hiYkVnQnMyK3ZjZERoczR6S3dnR3ZPZmVBN2g2NlhoY3RmTDdtVHk2Y2N1TGxZU3lLUEc1LytFblZkSmNoZUMrcDlkdENJMjF1dVpoelNhWnRvM0dKWVZaZ0xUaHZHNGxYTlBQTmFLVi80OHczYytibS9jZnIwbW1OakRydUtZUlU2WDcydUVGK2VSdndSRDZUK3Frdnl5VVFkaGxYb1hqWDFNWENnYkFFL0hXNVNuWEc1dU5YMnpNU0R1eDhJQmY4bzFmblpjQlA3SStSYk9EMTROa3A0N1RzU3JzWi83cWptblhnWWdPMlc0Y2tEQ1k0VXZXclhWSGZIUDl6UEl4WW51WFFWM2MrOVFucnoxbU5xd3dnRW1wQkU3UVFDK015SWEvamVoSzlRNml0QzJUWksxOUVOay9nN1M2aS8rWWNveTJiRVhiOGdPSDN5UGt0K1Y4SnVjdVZhNm02NkJhRnJEUDNGandtZk9Cc1hFTGJOWjBkY3pTVlZaL0hmNjMvRDM3WS9pVUtScDRkeGxEdFlnUE1SSU9tQ0xSVGRnWDJCdTZYcmZYZFVmUEVzcUl6WURheE1yaWV1R3hPNyt3cGtjNER5bWdibEpaS3FJUnFubitrREJWYmNwYUhSWmYxbW0yV3JMWmF1dEZtOXdhSnV1NE5sS2F3RFFJRmtuUDZ1YlBaZGU5WUF6djUyYy9FaTNiU0lXanFmV3ptQkI1dEsrZjJFTFl6TlQrTmtnVFI4L3R5Ri9QY0RVMGdtZmZqTkxNWEZFZHBibzduaUE0R3VTNFFRK0lJYWx1MmpyTENiZjcxOEVTUkJrd3JOVk5SRS9YeHAvV2hlYmk0RzNVRTNMV3gxbU0rNnFCUm16WU5KTXlFWXlqVUNIR2l0N0p3Y0QybWdzbDR4aEt6RXhVQUtCNWZoWk02NUJIZnFCdVNyOTZIWHJrRkUyekZHenNEYXRCVEhkWWgrN0JQNFdyY2pqeitQZENBUDBkR012N0VtVjlCeGVMcmhwOSs0L0pCakNxN2o4dXFpamZ6SEw1dXhVeGwwWFhMVnVjZHg2Um5UdlEyRFB0RE56OTM1ci91OG4zM2hwL3YzNDczbGEvdE9tNmFoWEJkZlZRWFJkNWFpVDh4SHBRWm1pcEJTQ25TTlRkdmFxRzN1SnE0bHlPN2N3dmFLVWRUdFdFRmJZanU2bHVYVm1pV3NieGpOa0hRU3BZZG9iUzlsUTNBRHM3dHFVRzZJRTBlZlRhU29oRGZYdnNMTUlWUFoyWjVtVTEwclNqL0dRUEx4T0JnRFkvTlg4ZjdMTFJmT3dYYmh0clU1SDlEMVBsTzlOSUF4ZVZ2NTF3bC81dHJ5eHpEZWlkSjR2NC9VZXBuaisvY3FHK0dIL0ZOdFNqNlJaZnVRMGZ4NDgrZDRzUFpLdXJONU9hZHowTzdibjNSZ1hxSGtXNk0wVGk0OHhLWXBBdXpHTExFbk8waTgybzNLdUgwN3Q0Mk44TllCZ09hbGhDbFRJRDkvMzgrN3UySE5tZ04zWm04Y2JKUjMySGFjNnhXQnZ2cmFSbkJjS29ZWDgvM2JYMmJOcGhhRWdPL2YvakliYTl0b3Ftc0hUU0lENW9Bck9Ec3E4NWlHNk5zR2JzSmJMTmtHaWJJSDUyV1ErcDRHV29ORkY0R0dTNG1icEU0djRMOUNzM2swTUFtRUR0dGE5c2ovZmtKZHduOFFNMFloaEk2clYrSDRUc0hRaWxENGM3a2RjbmVocDFJQ0lWd1VCa0lyd3ZLZGdxWlhJWVdHRXY1ZDdZbDdqYjV5OWZKKy9meC92dW9ENGxkQzRHUWRicnAyQkNmUEx1RytKN1o3VGVoa0w3bUp1MklIUGcvY0pWTTdpdGE2a2ZoRzFKSTNhd24rRVhVSW9YQXp2aDc3UE1sa25FYW5rS29Udms3K3pIYjBjRG1KcmEvaHBEckpuM2JOUG9hclVqbHdqbHpNTEphSTB0QlF5NUNxNFlSRCtSd05uRSt2WUUyUVo2ZVpFVy9tL0k3Tm5CQ3RKK3hZQndTRzZoTzdkY2pBa3I4ck56YnhtZjk0a20wMXJVeVpYczEvZiswc2JybnhSRzY1OFVRQS92NzhXbTc4M2hOa2tsa3VQR004UC8zNk9menZMV2Z0UHY3YnQ3M0UvLzNoRFh3UlAxKzRlaGEzL3V2SE9HMzJDQURTR1p1elAzOHZMNys4bnNvUkpYejNwaE81K1lhVGFLMDhoVkJlSGp1TGdndzk0Ly9Zc2EyTG1UT0g4VCszbk1XM1B6dHY5N2xYYjI0NTlCdlJOSXErOGtWODQ4ZDUxMTZ4RXFISjNZQXhVa2l5cnNXS3pqVTh1L01WL2w3L0RGdmoyL0JyZnZLTUNJNXlVSDFRVGJqdWtpOGVPdis2Q2w5MU9hUHUrQUZHU1dIdU01Y2QvM01uWGErK2c5QUhTSTZCOVBJeTliMGtoT3FqN05uNlczNTRaQWNLUUFxVVl6SDA5cDlRY3NIWnV3ZnJLSGo1MWFYYzhsLzNvdm9vdm5mSThzeUZkVVd3b0F6TzJ3RlRPK0dTV25od3RDTGprL2dtamtJQjV0QUtDcSs3RUpXMVVWa0xHUXhBWDhzOEJSU0FWYXpRa2hJbkFNV0JLSlZSQzgzT29ESXBSSDRFSzZTUWdSeVNWUjkzdmpzY2dQYzlLdFVMd214c0djYW5UbnFMamVlY3dMamxLOUhTNnhEQWtMaGl5Um5qbURsc0d3OHRQaFVIQWE1MlNDQVdIMFRmK3RhMyt2VlMvdHJYdnRZcjU5bVZqK3dMVjFFOC9Ed3lpVVlpSmROQTZpZ25UZEd3Yy9HRnEzSjdicjNMdDVxQzVyREdQYk1LZVhaQ0JFc1hBNkoyU0NqbC9hRndwRVk4R0thNXNJeTZxaEZzSGpxR3Vzb1JOQmVWa1FpRWNLU0dRTzArUm5QN3dmNWNQNVFQUjY3U0ZMYlFpT2xCWnNTMmNIejNCdHhkdG9WU1pLVkJUQThpbEVJZVpYMmhBTTJ3R0ZYWnlLalNWaFp0R1UwMFovOS8wRWgyaFovei9Tbm1qdG5DMXRaU3RyYVY0S2krMVIzMmJxRDNBeFRkS3JBY0YwMGIwSldNQjV4dEZ5Q1Qza2Z2OUs4aGVwSDIxZXU3UVlmdXpoVGJYSkZMYUUrRGlOSGVBUGkwb3pockVEWTFaZ3p4OHNxMmRhVHBUTmw5SXNKL05PcThROWNyd0NsZE5YeHYyOHZvVGhaTGFEeGRNb1huaWlkaDk5VnpYZmpYd2FEaFVhVC85NDJ6dWVyOHlZd2JVUXlaRE5FWFhxZnQ3b2RJcjF4SDRMZ3BwTDUrTXcrMCszbnc3elZzclczYjNXalA2d2gwaUJ5YWF4aFh1NjJEbi96NmRlNS9laFdmdUdRYU4xNStIR1BQUFoyODAwOGsrdnBDMnU1K2lNRHR2K1NtNDZadzJkVm44WHg4UEQvNHhnZHJCMTBxTXE3RXRReEtJd20rTmJHV3I0elpSakNRd2MwYVpESW11bERvZStuZXZjSFY5bjY5NnplWmpJa2hGRitadElYUGpOckI3ellQNC8vV2o2SWxGZ0xEUnBjdXpxR3MwTnR1NjBtUUN0SnArT0VQWWVmT1BmdHFVc0tjT1hEcnJlRDM5OHdQZXVLSjNwZG5FVVgrOVdsOEV6MGJ6VGZTb1VRaVJvek1xQWw1R2U3ZmxxL210d1pFUjFieitpUDA0RnFCeng5Q0F3S0ZseFFsOTFOSEN1ejFOV1JmblkvUXNydS9FNXBDQkRUTU0wNUFuemptUGNjYzhGd0hveDh1MnVkdFQvUGdNalpzMmFrNCt4UWZuN2dvQU1BRHo2YlkwcUNJWndVK3ZiL3BXdytMT2hxRzJCaklxem1ZVmRTM2xOM1pRbUxwV3N5eHc0OElXRkc1aXZTcVRXUnJkL1RxdVA3alczUDd0WDY0OE1QYVA4TUY0b0FGcEVGRVFjdEEva2pCbURLQjMvL0JIQ3FGQjRoWlhDZ29LZkxTSVlUYzA0KzZ0MnhEQU4zUStjd3BwVnc4T2Qvemc4Vyszcyt1OThGUWtIQWtRbGQzbEdEWktKUlNkSFZIeVM4c0pCUUtJWFozZHUwZDY5TFFEanhQMmIwYVhlbmFSeWNCU0NpRk1reldkUTdoeVR0TFdCd1o1akdGbG1GSFBJKy9QVENhSlIzRFNHdW1Cd2JmUnpGTWhSZHFNQU1CVHB4eklUT3laK00zREVvTHF4ZzlkRHFSUU1oYkJxN3FDNWlESG94YklKV0w3ZE81dlhtczkyRVFwT3UrcDZiMGFJMnAvM3ZkSUJFMHV4Wi9UM1h6dk94bTdsa2FEMzhxanptVGRhOEJsMjJEOUNQTktrVG9PQWlkUkpjK2lRMHBuYmRidHZONjAxc3NiOTlNVTZvZDE3RnpqYXZra1RXdjZoVUcxdkVmZnpMNW4vb0tUbnNMK3B5VEVhYUorK1pMK0djY2o5UFZnZDNhakcvTUJMU2lVdXdkMjBEWCsyd3ZvNy9XNVg0VXlWTXRpbEN1Z1ltSDk5QS94Mm9KQmJ0dGN2RWVKaGhNalIya1FlcFppRVFJYUdyUDh0Szc3WlFXbXFRekxyOThxSTdOOVI3QTRMUHpXeGxaRmNUdms3ejBianRmdm1JWVE4djllK3JmanJuK0ZpZ2M5Q1JVejIrR1NGODJ0ejZ5RSsveUwvTHlUQzY5ZUN5dnY3R2R0clpVTGh3bHVQVGlzZVRsbVNCMnliVGV1WUdCbHIrVHpXWVA2MGxNS2g3R25JcHg2QWRvMnJQTE1sZktlejI3Zk54ZWZPLzVjYTdySHRZMTk2ZjR3dytUWHJqUWl5bEtpVXFsRUQ2Zjk5NnlQTVBITUVEVFVNa2t3alE5UUZYSEFkdmU4MTBxaGRBMDd6dEFaYk43ZnB0T2UrZlRQWmczbFU1NzE5QTB5T1RBL25VZGhQRE9ZNW9JdzhCdWFIalBlSk0zZmVxUTdrc0tRWDdJeEYyOG5QU3lOYWhNRnEyb2dQelBYWTlWVlVrc2FmWE5FdnZ2NzM3SWpDMEhOQTJoNnppTkxYVDg0RGJpRHp5WmE5NGdrWGtSQ3Y3NzM4bi90MDk3djdjZGtCNjIzbTdab2VzZUg3a0svMmx6R1RML2NicC9jdzlkLy9zN25JeEZkdVY2R3MvL0ZPSHJMNlhveDk5RXF5emI1OXJ2UnlkT2h4c3VnaXZQZ3ZMU1hGekhNNk5wc1F3ZTd5emlMNjNsTEV1RXZYd1dvWTVzRDE0b1hHQkpQTUt5UkppN1dzdjRiR2tMVnhTMlUyNWE0RUJaTVh6eE9yamlUSGpzWmZqYnM3Qmd4VUg4TlJjU3BtRHhFSlBISmdkNGQ0aEoyaFRlK04yQnlTclNaMUo0NWx4YUhuMkpiR3ZIWVhqZENxTWduOEl6NXlKOVBldEttRGRoMGhGcFJBWDRoT0NDZElxU3VscVVyaE9aNUoyclhkZVphRm1Vamh4RnZqOUFKbWUzSDVIcHNHRmR6OVczcG5EYmRMSUx3N2d4RGJmSlFCdWVSVlo0R0ZqMkJqL09OaE43bXc5N1RRQzNUUWU5ZDVvcDJvY1NQQmNDYWR2RVM0Y1R2djE3K013QTJaSkMwcmhRVWU3bDhHZzYyWTQyaEJSUVhvNXdiQS9ZdTZtQmJFa1JQak5BK1BidkVYMTFNZUhXRGx4NWlMNzlmaitaOWZtN21UZTFtaHZPbnN4UHYzZzZBSXMzTkhMenIxL21qWlgxQUp3NmZTalhuem5wcUgyL1pFTVRYNzNqSmVhdlB2QmVncXRjSXI0ODN0N3lCbGYrNlFMbURKL0wyTElKcksxWnk4YVdaUVNDZVl6YTVPZUtGOU1NYnpCSkJuekVBa2NKUDZMNzRGK1ZHUmFuNThYNFpIRTdFOUxkekg4dHhUMVBwMW13VW5IT09jVjg2NXMzOE82Nzd6SjU4bVFlZnZoaFZxOWUvWjV6QkFPQ21STjFQbjZSbjB0UDhKUGZiTkw2bEVsMGdZN2RMYnh3VkE5czl1c2VydjhRK0R4ZXc1Um9ORXA5ZlQxLytjdGZPT09NTTdqZ2dndFFTakY3ZkFtbnphcmltYmZxd0c4aWhFUW9hM2Y5d0M3N3lMUEZiRTQ5ZFJqREpnemZqWVg3MGtzdjh1cXJyM0xUVFRjeGRPaFFJcEhJN21zZUtwa0l6akVqM09RdllxUm03dDQyL2VpUlFJdDQ1cEp0WjNqOWpReXZ2NWJ6N3pRWEFxQVhlREUveHoyMDgvbXd5SmR4ZE94ZUdKMkxGSW1jNkJROWlySDNwb2ZhM3BYZ3IwKyt3N2dSWlV3Ylg0MlVZajhacVZpOXNZRy9QdmtPN1YySlk1UHVxaFJLUU1ySjBwR0pNU0d2bXBIaGNseWwrUHYydDlrZWE4UVFrcytPT1llaHdSSzJ4cHNZRWlnaTdWaHNpVGN4S2E4YUlVU3YxNWk5MzdOT0s1M1QvSnNvYnJrS3NwMFkwdjgrSzFOQ05rMXh5MVdjNEgrVEZ6TGpDQXNYaGZ3SUxWL2w1V3lrTkRMc1BWVVNLK3VpcExlSEpnUzRXVHcvSnlzSVYxbE0vNWpOeGg5RVNNZmtleUJ0Vk5SSGZMc0g3U0swdmJnMzZpUHBlTzV5eXQzVENGTG9pbFJNa21rek9mRlRTV29XR3h3SXdNOU5wZ2VZZER3eStTQ0ZwS3Vqa3dmK2RqL0ZoVVZFZ2hFdllxSVVtcVlSQ0FSNDZva25PZS9jODhqUDRSVDB4aXFyVEEwc1hLaHQ4Y0ZDOXo0UFFIL0VLR3dyTG1sMkdCdjM3cjBxbzlBRzl5eDdoVFFKeXZZbXMwL0w3QlZnSzY5Ty9raWhzeTBYSVRSb3krVGNmZzBzdHdkRFVnaGJEZlk5T29aNldDQlJyc0xFb3RMczV2aVNUVncxcW9hUFRjNGpPT2xHdXFzdnBzWXVZK1BPREF1ZVhjRmJ5N2F4YW1zN3lhNnNKd3Q5T2pKZ0lLU0pVZ3JYVlRpdTI2ZHNyQVVnZERJVTMrRDlLL1BCN1liMlAwRHI3eURiZUhEZDc1OE1NclRuZFh6UmdTOFNmUTNTRzZEMHkxQjRQVVF1OUs2VmVCdmEvK2I5NjZRK1JIbEdSM0Fqcm5JeE5KTUNJNTlDczREZG5rMHViaUNVaDQ5WGFCWlFZT1JqNCtEdU1vcEY3NHpaNmRScHZIVVVLaXR3b2pxWm1nQnVSa01ZTHFtMUlkeW83aFZNRHJBbnBRUllyc1BDN1RWWWpzM0VzaUZFZkg2YTQ5MHMzbEVMd0p6cWtaU0g4NGxsMHF4cmJtRHB6am9zMTBFZDVWdFZPZDNsT3BML1h1YlFmdHhabkdXdnBhTnhHNzdDb2J0N2V4ZUdnaXhjdEpBZHg1M0NRNjNEZWJHbUM2U0hxZDFUR0t1RnkrdmQvWG5EYitvRS9BWXpKMVZTV1JvR0FlR2tTZjNPYnRadWJ2R2FMKzVGSllWQm92SE1iblVValdkWXNxYUJ0czdrbnRNSzhQc01RZ0dEdWRPcXFTeUw0THFLWUNMRDVycDJ0bXp2T0pBNlV6MmQzemNUWmR6YVBKVXZGMi9pbEhBemx4ZlVjN21xSitvYXBGeHZ6eXdnSGZLa0JRSmFiUi8vaUZiejIvWnh2SmtvR3pBcTF0dm5sc2dBQ004RFIrbTY5NndHN1lRUERUbkFzcDBiK2NPU0o3bGsvTWxjT1A1a1h0eXlpSVpvSzFZZjFIcmIra2RyZnBWUytJTEZEQnRaekRDbFVLN3k4R1BZczUvUW03N3N5ckx5QWFkZmZiYms2ckk4cnBtN2lzVEtaZXo4YlNYK29Va0svcTJEeTA0SXMyNUJKYTZsRUFTb0w5RDRxOVBNR3dRSWkrR0UrM2g4elUyMUJ6WjVjcnBkcFMzQ0FaUFRUaHJIVFJkUDQxeTNpK2l2L3NUMlIxOUd1QzVHSkEvbHVxaGR0bmp1UURlVFJnWUNGSncxbC9CTmw3RjRSajUzYlh5Q3Y2OTVHWERSL0htNHluMlBidXh0VzlOeFFXTEJVQitNR2VGaDJpcUYwTHc2VTVteGNSMjdYK3hQSEl6TXNiUHhIM2NlZHNzMm5PNldQWVdseWtVcnJNQi8zSG1ZWTJjZjgzR1dCQXNvQ1Jic2llZVlRYUxwQkpyVUdDU1BPbU85MVU4c20vTTExSkU3Vm9jU2lobGcvUW9HR2o3OVB0YTNKaEZTSWtJQlpGNFl0Nk9MNm5TR1Q4ZHFnajdsWFA5Y1pKaTUxU3k4blN1K3RJTEhmdy9TaEhlLy9zRld2WHQ0UE9lNGluZFcxck44dllldG5NbmFPSVA0di8zVHZnQ3ZZRFNWNWwrMkZua2ZwbUllUnR1SDJhN3ZoZGlmRUlDcmNGeUZrTjZHcUJBSHlkMVhDcWM3Qm9DV0gra2ZDZjc5TGF3bkZPT3FkRTRZb1hoOWRZVFhqcnVFMXM0TTdTSkN0eS9DZ2lrWG8wSkJtaHlOQzhjSVJsZm92VHFOdS95TnRyWTI1czZkeTl5NWN4azNiaHpSYUJRcEpXNk9aM1JkSjVsTXNuaXgxNWR4M2JwMU5EYzNvK3M2ZHE2SHI0Nmcxc2x5VmJTTy93eFZjSU92a0xoeXNGQm9DQytGWWFla284SEVySElwdVRKRDk1dUdCMjV6S09tRTJUWlU2KzNJTVgvRjdzclFlT3RQYVAzVEE3anBOSHBSQVVvcGxQM2gyV08xWEp1bjVyL0lWYWRkUk1EblovU1E0WHozMDEvbng3Ly9DVXUyYlVLZ1FPcTdONmVVNDZBY0Q2dG9STVZRV2hOUmtxbmtoM2JkVFo4NGtjWnQyd2dFZzh5ZVBwMWtLc1gyTFZzWU9uUW9zcXlNbmR1MkVRZ0dPRzdxVkJWcTNhRmlLVnRZZW9URnhkZlFtbDNMcGM2akJGS3RkSFlvUWlFNGVXUXJaTjZsV3hVd3hOSnBhODNTNFJ0R29XdFRIZGpDMUhBamhZSHRuRGd1UVhXcG9ybGI0Nm5hU1N5VkorTWVRVitnWHBmdmpvUndtanNlbjBraTdhTzdiU0wvMlpWUGUyczVWbWNwUC9uYkhKbzZ3eERNNGg0bWRxVlNnQW1ydGpuYzgxS0d1dTB1TDYxenVPSUVGOE1RQ0ZjaERBOXZ3YlhBTkdIMmFJMkxUdlp4L1N3WXpxa2d6OEdTUHZ6SzdaMjVldXFwOTN5a0tXZ0tTLzQwSzh4VEUvd0RCbi94UURhSzBtQnRNM3hpS3Z6YmJJZlhaSXBBdTU4eHQvK2NrL1BmeGhIUUdIK0h6UGtoVWpNU09FTnRqR1VRM09pZDRGaXNla2Rwdk5OeUFrL1VYYzVueHQ5TnhJaDk0REV4SzhMamRWZndUc3NKT0VycnhmVXdhSDhQMGdDMkQ4VUgyWTRDMWRtRlJDUFYwa1lpSGtldFc0OWgrbWpmdXBYQzRpS3NlQXFaeWVJbVUwZ1oyQXV2cHZmSm9IL0hQZmIzNkRYaGZQaVo2TERpTWJtOWVORTdzVEVuR1FicGN2cjRwWHovdENjNWE5cFNRUEgyMm1KK3V5Q1AxN2Y0Y0pRZ3orZDZ1Q2k5WkJZYytWd0pyam0ra3l0R05OUDBoNTEwdjlLSkRFU0luRENEeUx4NWhFNDZDWDNNYUt4Z2dHZ213WlpvQzl0M05GSFQzc0RtOWgxc2FXOWdlM2N6emZGT3V0TUpzbloyVDZMeEx2elZYYzV5YjJHNUNBRXhDOTVwZzdWZDBJOTFYaXdiT0dUUDJKUU9HY2ZZanc4RkdjY2diZ1hJdXNmZTNoNGtQbEk5emdaZW5Gd2MySzhBZEVOamVXMFhUNXg2S3MvTW04SHkraVFSemNZU0dnSzR1L3g0WXJaa3hJUWdWZFB6bUwrZ0U2bkx2WEtCZXQrSXlBNHdlLzJRNFQyRkJHeU1ZRG1SaWpHa3QyMm11N09WWmZZa3hzUWZZR3ZlT1JoV0o2YUFUQ2lma3M1M1dacXFKQnF0b1h4VUVjbklVQXhmQkdVbk9TTEF6RjRLVmlvRlFSMStORTl3NGhEdjVvZUd3SFhvTi9ndGU5T0lZb093WC9MVzVnVC9YT1g1b2VkUGl6Q216TWVJWW9PMldPL0dDbFVQNCt0YVFCRVlidEc5Vk5MNm9vZXBYM3BPaHNCd0MybHFPS2xlbm1DaFFFbEVOb3diYk1PYThDcE85V0xRTExDQ3VTQ0NlL2htWkI5U1lWVHdxMDlZM1BIeExBVXhnUko0bFplcS84VTQzMTdWMWt1UklQYkZtKzRqK1N1RVRtSHBhZXlJL3B6aTAxMU8zdXFRU0R1MHRqUVNESm5rRjZXUjFRbFNveHNvTEtobWEzTVI5ejZ4bU44OXRJeGtOSU1lTW5INkFNUHlvUHJpRUxGMmhrZjI1RmptR3dHczdPSHQ3ZmIwK0FPN0dwSXhzUjNZZFc5aDZUNnFZazI3KzZxNEFySks4VEhEd0dkWlBMNStQZXRkZDUvSzBLTENRcm83dXhnOWVqUit2MzgzcDdRdFhjckczL3lHNWdmdXh6UjlIcWFwVXJoU1VwenVZdTdXVjluV09ZcHhyZXVRUXVCeTdQcE5DUUZvTGpmLzlFMEN3NnE1NFZOek9lMTBDMWRJbnV1Uy9PMFhDOGcyTm9NL0g5eithZTBQYnZIM1g1TEJJOVBIRWpnV0hlb053eGhROCt1NEF6dCtKb1JYRnhFS3BibjEramVaTTNvbmp5NmNnRklDVGZidXd0NDc2MnpXNkozODl5ZGVZMjE5S1MrdUdNV09sZ0tFZnZBT0ZrUEtkYjcvOFNLdUd4bkJlc1NsWWJXRm05NVRqOTd2U0htTFNDUmhmVXJ5eGhRZnBtNlFiMm0wbXc3TGtobG03YkNSVm02aERSUVo2aWlzWlN1eDVpL0NkLzZaMkV0WGtuN3lIeVIrZGdkdWF4dkd4UEc0YlIySXppNUVZUUhLY2NpK01SOXIyY3ArSFpjN3VyeWhRRGV3TjlXUWV1bzV3bC84TEZwbEJaRi8rd0pkLy9rRG5CMnR1ZDVzdTVvWTJ3Z2pnUEQ3SU9GaWI5aUV0V1FGR0g3c3VuclFkWVNoOXdzSFJWazJXbjRFdDYyVDlTZGN6TmkvLzRGM2x5N2xxc3V2NExFbm4wRFRORnpYeGJadE5FM0RjUnl1dXZReWZuN2JiWHpqZC84UDMvQnFXdjdybHhpRitibWlyYU9IMHVNcXlieVMxN2gyNkwwOHV1TVRMR2c3blpDZW9ENDVuS1dkYzNHVWhpNXNGbmVld1ByWUZHSldCTCtXNXFPQW11emk5WmNkYldRNVA1amdJbDhVZTBlS3Y3NmM0ZjUvWnRpdzlZUGpDSnFFY1NNMHJqakQ1Tm9MUStqVm83Zy9laHAvYXorUGRabVJPU1hoZktSRXdSSGZyZXNpbE9MZWUrK25yTHlDeXkrN21FUXFSY0Fmb05IUWVmS0ZsN2pyajMvQnRpMnZacTJYYU5WLy9PK0grbm0weEd3Mk5HZVlOc1RQaEFvZkd4b3oxTFpuY1JYVXRtVnBqZG1zMkpHbW9jdWlMS0l6cnR4SHdCQ3Nha2pUSExVL2N2UHIydXBRSWplRGRFeU1lODh3dG1PUDRab1hvK2xyMEZ2bTRTK2RRK1VKUzZrcUttVnoxQ1cvTko5NE56UzN3YWhJN3cralhNOXdkV0VqWlhxR2lHYnpmTFFVQlp3UzZlRGMvRlpPaTNSUXJtZjZ3QUQvb0Y4SWhJQmt5bUpqYlJzSWdURDFuQm4xQVh5dHZOOGlCQnRyMjBpbXZMcG0xVis1WG9Bd05LU1pwcUUreFlPMTFhQ055dldQczBIclJ2b0F0TU9LNXdpZ0lpL0F2eDVmeVppU0VKb1FDQ0dvS3E2a3VyQ0tEVTJiYUk2MXNtekxjc2FFTkh6dE5TaVZqNjJWbzFWc0laVVdTTE1RRkZobVBWcGVFeGx0Rkk3VmdkMnhoV2piVm1yYVFteHM2cUtxS0k4ekpnOWoyckN5UFU2ZmdOS3dqNnVuVnBMbk4vckVFcE5CUldCT0d1bFhXQTBheWJlOFBmemdLU21NQ29mQW5EU3had080OGQ2OXVoQWUzTFJ0ZXl3VkNnaSsvV2svLy9INUFMRTBmT25XQkg5NE5MZHV6aGlHZnQ1dzdMSVFkdHFHYU5hcjcvZ1E5THB5YW1weDZyYWpUNW1JNzZxTEVUbjhOTjlWRjZQYTJzazg4YXlIOHoxSXV5bWVOVm15bzRyanF4dW96SXNkMHJvd05KZkt2RGp0eVNDVzA3UGNuSjcwQU9nZmNUR0JVb3BRS01UczJiUFp0R2tUU2ltS2lvcncrLzFzM0xnUkp4VEVGOGxIQ1VGS2FqUU04OUZkNXNkczdjS1ZVRGNwbjhLR0pHWjlCaVUxVE5NazN0MUZQSmxrOHVUSnBOTnBMTXRDQ01HNGNlTUloVUtIald1N054VkhCQ2RQMXZuMFdUNU9udUZub3h2aHZ2b1NIbTh2cGpWcjdvczFuL01KcXZLS09YdmNjZHd3NHpSRzVGZjJXZ2poTWI0M29KKy9iZHZvdWc0WnhhZHZ1WW0vcnIrYkU4NkUreC9Tc1N5TFkxMmEzTGR3RVdyWHBzNitSY0o3TzVMN0ZuYjJoWkp4d1liUkl4Ymd1aENMbDVQTjZtU3NRc0JBSUxDamFmTE1UdndGaXFEL1hVYVBXSlR6cUFmZGpnTWJyWXJhMmxxcWgxUlJXVldOY216MDhncDhvOGZncGxLNHNXNmM3aTVrcnVGSzh0MEZLTXRDTHkzRmgwS3ZyQUxIUVVwSmZWY3pXOXJyY3cwaiszaStwV0RTODQ5UmNmWEpCT2FkZEZpSHB1WXZvT241eCtpU2c0V1g3eGVFaXJvdU1WZXgxc3BpS1VXVnJsT202OVRaTnR0eUJZVjF0czBzbnc4ZDJHeGxNWVFnNWlxaXJvdlQ1MEpwZ1B2aWVMYjRoQkh3L1p2Z3NWZGh5dzVvNllDNlJvaWxZTjQweUZxd28yVlBqclFTUjBlY3hkSU95MnBqTE53VVpGeEZzRmNVbk9zcU51eE1zbmhyRE1zNXZFRCtLeHU2ZTAzbTdUS29lbUpjSGZYQTJuNDZWU2dMcWF6Y2VoWHNFQ1hzRU9XOElnVEN6bEMxcVpQeG03WXg5WUZsVFBIZHdkaVJSVlROR0UvQnlYTUp6SGt2eUV2bTJaYytORHBOQ0lPTkc5dDIyeUZkWFNtRU1Ib1krQmI4L3ZlTGQ3bEdoMzMwaFZVUDlldDVlM08vOXduTGQ4anpJb1dML1Q3RnM2NFNKQ3dmS2N1L08zbHlrUHJFUzBXNUxxKzlzNU4xTlMvUzJaM2g1Rm1sS0ZYQlYrNlczUG01dnlMRVViYUZoYmRuVzFha2NjdW5DckdDR2krLzRTVWVmLzRUaFJoSkI5TEtBOVE2UnFLNHhTZjR0M0YrNm4xWnJtKzJLTExVN3FLQVhicGFBQjJHNE1GeWc1OE9OMm54aVVHMzRsQjFsd0lsRkFzVElYQWxVdk9DYzR2aVhqR2NFS3JYY3hYY0R5UEFnNnRJMTJ5bCsvblg2SDcrVlZJcjErSEU0bDZUTW5sc3NwNTBvWkZ4czNSWUNVNHFuc21QSnQzTUNVWEhnUUxiOVlJbVRtczc5VC84R1czM1BNaXVncjhOcDE1SzRXWG5rMy9CbWZoR0RQTnNrTHJ0ZEQvM0NwMVAvaE5sZVZIdWpSKzdncExQWE1lUS8vbzJlbGtKdG10VG9oZHkrL1FmY08zUWkvblJ1bCt5b0gwcEVUMkVUNXJZYWpEdys1SHduZHhqUEFCeEFIVWw5eHJmWGg5bkxYQ3pIcWdwQW5RTmhnM1JHREZLNC93TC9lQW9VbEZGZllQRG1vMDJ5OWZZL09RWDhYMU8vZERtb243K1ZOcjNlZmYwYXhzR1BKL1pTaUNGUXBvV3I3UVVNYkV6ajUrTTNzNTNSamFBQTlYRDR2ejFXeS93aWU5ZlNRY1dvV0FXYVVyaXlReTRMZ1VGUVlKK0NRVFl1U1BMdmQ5L2xHRWprcEFFVFNwK3Vua0kzOTh5RE1mUzBVMExWd25zd3luYUNZVmg4bXc0N2dRb0xObmxaQTlNMVViUWE4N3RwbEhDUjlvZFN5ejRjWlRyK2JQV3ZFdnhsWldqVGp5VFREcU90bjBESWhBaHRPd0YvSnNXazVweEJxbnkwVGpIWDBoa3loeU1SSXpzcVZmamUvaC9qZ2c4ZU5MMlEydUVLdklMVUZPblVydWpEUzBIV0N5bFlHaGxFVk5HbGFHdFg0dmIxdEhuUVp0L3Jtb2RVTTg3MjlhR0hnNlRXTDhKYVJwa0dyWWlpdVdBQlNhU21xU2pMYzd6NzlUeTVZdXY0L2wzbnViZHVvVkVPOVpoV1oxMDJGM1k2WjI0a1hYSXFpU082OGVPUjlqUmxxWERXWWtSQzFMa0s2Y3NPNElpTFE4bjdPT1pCWnZwYUlzalRMMXZBWTQvaUlxS3ZFYnFIeklqNHZkcmRobXh2Y01FK1dhVWo0OThqSytNL1RQREdyYlE5bE9UNkpzQlZIcVBiYkFQMHdDQlNTNmxOMlN3NXVaeGQvTU4vT2JOejFFVEhjV1JkM0R1T3g0L2t1LzZnalFCY3dvRTN4NmxjWHF4NUpCQzRnTHNab3ZZMHgzRVgreENwZHkrbjkvbm40ZFhYMzN2NThFZ1BQa2t6SnUzNytkcjFzQmxsMEV5ZVFDQm1XV1Fqc1JsVnNpZzE3UzlxVG5LZi8vaWxkMVYrV3RYTjRDaElTUCtuT2swR05BNTRQcTJCY3JhNDlTNEtRR0QyNmVETkVqdmRjbVVSVndZM0JHZXd4OURNMGxvWVlTYlFhb01yazhIanRJRzdpSHE2bEdYM2ZYK1B4WWFRaHVEYlQyR3dFVXBnYjVmOE1WMnBCZkRSYUlibzFIT202QmU3Uk1aOGJNdnplL1h6Ly9uUC9oZ2ZVUlE1OHMvV0VIQXIzbkJjU2w2djFadlZ4ekI1eVVFWjJwSDBicHRKTDdoZFVTT1cwcGdSTjJlNUwvRFBYVnVzTFp0TVgvK3M4eVlkaExEaG95bVNETUlqejBIMThsNndDOWk3OENZMk0zN2JSMHQxRGRzWmNXYVJWeFdkc1B1Yy9ibFhyd1NBdW02RE1sR09hVjdHeGQwYkdKTXFoTlFPRWR6cjJDQWhXZk91UGkzakpzem5Lc3ZQNDQzbDJ6amtxdi9RTUdZTXVaTXFhS3hMYzZhUmJXYzhMSHhsQllHZWZiTnpUejcrSEpHVEs5bTBxaFNGcTlwb0xXaGk0dk9uMEozUE1NZGQ3N0pIWDk4a3htemhsTmVIT2FGdHpZVENCaGNmY1ZNMW14dTRhdmZlSVN2L213Qlg1K3hrYXd5K00wYnl4azdPWStyTHAzT2ErL1djZTZsdjZWNGZBWEhUYXdnbHNpeTZPMmFRL0R6dkdlclYxYWdWMWFnWEJjaEpiNFowM2NqTkFsZ1Mzd2JiN2UreTcyMWovSk8reklBOG8wOFhGeWNQdHhUaUwyNzZqQjR4OFZ1SDQ3YUcyeEZRYXBtRzdGM1Z5SDBnZFVnNTJob3dlejJIVWNjSDFCU2dzcml4dUlvMi9KcVl4QW9JVWdtTXJRMnRKRTI5R09HZUpMREZDQmx3Ri9ISzBiR0JPTzY0VjgyQ05KS3NENm9VQjNkVU9qRFNhYXdXenR3RWtuTTZncGtNTkE3Q0dVZmNPc0puOHY2YmR1b0tEWXByMGpUNFF3bFd6YU13cFpOVkZRNnRHWnN0blJ2WTFaNVRoZjI4VlNLSTdoQnBRQWp5N3ZieHZQRytxa1VqTzVncDVabWRQTU9ETk5oL2V6eFRKelF5cHZycC9EdXRna29QWnNERys5NUk5ZXZmdldyL1hvTmYrMXJYOXZuL1FNUFBOQXpaaEk2ZHJxTlRLTFJBNG9WQXBTTEx6d0UzYjhPbE4zcmdiSGxWWDUrZjBJUnF5djk3SlA0MFE5SjVHd3ZWMHJpd1RETmhXWFVWWTJncG5vMGRWVWphQzRzSXhFSTdRYk9Fc3I3MDQ0Vk1NMEFrdzg5a3kzZVhDZWtqN2ptZjg5emsrcllHSDhTMEZ6SjJaUFdjZjNjUlh6K3ZrOFNiUmlDMEJ4UUIyL3dKTURMRjNNMEtvczYrTUZGei9EQW9ybjgrZlhUVVVJeG1NblhWNHpVLzROcjBpLzM1TWZ0YXZLcHZFME9ZUnhkazJnWGpuaHRSM28zNC9aeXY5amROUEgwNlljazhqb1ROdS9XZERFczFiNDdkMXNoMkdIbXN6bC9DTE5HRjFDZTEvdDdhaHZ1SDlpc0w4WEFpc0YvNzB1blFpcE45d3V2MFg3UEk2UldyaUV3WXlxSlcyN20vblkvRC8yOWhxMjFiUjR6U3RHenRaMnJXYXJkMXNGUGZ2MDY5eisxaXVzdm1jWW5MNXZCK0hOUEozTGFpY1RlWEVqYjNYOG5kTWNkZkdMaVdIN3dQdHBLVXdwc1NTYmhJeStTNHBaSm0vbmErRG9LUXluY3JFRTZhYUlMaGNiaEE1aHFlUG9obXpUeFM1ZHZUdDdNNTBiczRGZWJodk9MalNQcGpnWkF3eHZEKzlsekkwZjI3QUZsTWhEWnI5R2VFTjVubzBlRHo5ZS9HRXFBYjZ6amxSamtURFp6c2dNV2hDWGlzdW80WXlPVytsdGRubnBtWjVqYWhDbHNkemRySERhRnYvdVZJN2QyWElmMEk4K1JmV3ZSZTc4MmRId1huWW4vNmdzUVBXa0U5c09iOTNuN1lFMWV6K0lCV1Znbmc0dzZSYVBHNSttcjZsTmMxdTF3ZUdpVGdXbjI5QUUyOTRuOTFqREJKVDRiOHJkNDlwb1NSeHkrUGJLd1pUeEo5N052RURsakxrWlYyV0VmNzNSRjZYN21kWnlPN2w0ZGw3OTgwNkM5ZUN3cEE1aWc0cUR0QlA5dzhMa0NRK09Rb2g4S0wzVTlMeXl3N2Q3Zk1oS0FVaG9ucFd2NFV0dDYwcy82Y0IxMVVEdERDRUcxa0ZqWkxOM2QzU2lsS00vUHgrL3prVjI1Ykw5OWpaN1RJKy9zR09TaHZlVU1BaUd5TEt5ZnprSXhDZHBjaEM4RENybzdBM3kzL1pPZWd5RXpJUHM2V0NoMjcwc0Zjb3JCTkV4TXd3U1ZzNG42eXRIWWkzOFBQK1Fpa01wRitieWpoYXM4Y0t0ZWlHOTgyRWdDYWFWNE5SdmpiNWxPQXVOdC92ZFRBUzc3bUVFb0lIRUpJWHlqMEVKemNZSnphV1E0SzJJcFh0KzZpYmVhSDJGOTF6YTZNekc4alQzcDhjTXhSZ01SUWlEeVNnaWZmd1V5SENhMTZBMWtLSXl5c2lSZitBZGFVUW1CNDA5Qnk4dEhPYzVSaVRmMDE3cmNqN1NzSFFETFdjQmduZVVnRFZMZlNXYVVFaml1NGt0WERNV3l2V2Fvajd6YXhGc3JPd0VZUFRUSU5XZFVvQlFZdXZkYmIrdTQ1L3VidmFSY2NBMmRjRXNIQW5CMW84OXNza2ZYUGR6VG9lTDM2ZWpUWFhidTlHcjhxcXJDdkJOYlJick43blZWUE5EeWR4NTY2UEJ3TW1UT1JqOVdLc0pwYThOdWErdVhLL3RBclBTek4rc1A2ZGlRMytCVHA0OWhXRUhlbnVDaXBpRUw4MW5aclhqeTNZYkR4dkQ1YUJsWHJtZGc1WEt5dW45ekQxMy8renVjbG83ZHpSa2lOMTVCMFkrL2lWYVppNmM1enU3ZnY1ZlJwZWVzT0E1b0d2bi8rbW5DVjE1QXh3OXVJLzdBa3lBRXNYc2ZKL25QMXluNHpwZkovN2RQNTlCaUhlLzVIUVFmNEpuZlFGR0JaMk1weCtPWkpzdmdpYzVpN21vdFkxa2lqTHNyMk5nYkFjZmN2dkdTZUlSbGlUQi9hUzNqczZVdFhGN1lUcVZob1J3b0s0WXZYUWZYblFkRnArdzNEUW9TcHVEZElTYVBUd3F3ZUloSjJoU2UrelhBMlZGb2t2eDV4MUYwOW9rMFAvb0NLbnNvdVM0S1llb1VuWDBpK2ZPT1EyZzl3NEVZL2VQL09tSTdRZ2pKZGUwZDFOOTZLM1ozRjFyQUEwYTJwV1I4MVJETytzNTNDQlVYb1ZRUHdGNnV2cnAzSmx0WHVPMGEyWVVobkZvVFdXSWpBcm5HamltSjI2YmpOQm1Ra2FEMVh0NUppVW9jd2xRS0JGbEN2a0wwWC8wSm1iRXBqVVVKSkJLWUZaV0FRa3BKWlVzTFFnaU0wbEswWE4zM3NLWkd3cUV3TXBKSG9VOG40bFA0aWFGYzg0Z2NxV1dyZDdCc2FSMi92bThCdnNJUUFraDNKc0J4d2ZRS0oxY3NxK09PZStjZnMrOFA3TnM2aEgwUlhPWHd4dVkzZUhuajg0VDlHbUY5UEZicnBiUm14L0RIMDIxU1BvRjJOSE8rN2pqM1BjOWFseTVqL1JtdUt1cmtxbkE3OW80RWYzNGh6WVAvVExPOTBTVVFDS0RyZ3ROT080M3p6eitmbHBZV2Z2ZTczK0h1VitzL3BFeHkxb2ttbjdyRXo1d3FQK21sQmp1ZU5VbHQxTURwbmY3cWh0Ni9oZXdIdGFGVVN1RTREblYxZFd6ZHVwVkhIbm1FN3U1dWZ2YXpuekYxNmxRcUs2c0kralMrZWVWa2R0UkhXVjdmN1lWNGMzSjFWenhDT1E1S3dYRWpDdmphbFZQeCtYUWMxNkdsdVptZi92U25WRlZWOGN0Zi9wS3JyNzZhVWFOR01XTEVDRFJOTzZRYWg1R2F5V2Y4Ulp4alJ2QWpQdko1VnJ2TVRDRUVNc3hlb05VQ3h6MWNySGVIdGZZSUlwbmoyZVpXQUhhUEdqWXB3RUgyd3psVHZQTE9CZ3J1Q3ZEWkswNWkvS2dLOHNKZVRtSTBubWJqMWlidWVud0JyN3l6WVQvczVwNzc0b2NiMnhzYUxPYlM2cmxzVDdSeVhPRkkvSnJPRzgycjJhYnF3YzB5SmErYXo0MDVKeWZYRlM4MXJhUTlIY09OS0k1bXBGMGg4RW5ZRW9jNytDdU9DSDB3OHdrTkxabWdFL0JKUGhMTndmYWhyT1RVcWhUM1gxbVBUOXZqcHlzRTB3UEYrR1VFWFVtUEdWeUZEQmlBeTdEaGt1MnJEZVpkWmlFdmpiNVhQWXM5TTZuMnhzekpmYjQzZHQ4KzMyc3VPemNZREI4bER1Z3ZUUGp6ai92M2ZCNzMyTDdUNng1Wmt5bmx1cGgrSDFkZmV3MzE5ZlZFbzFHRWtMc3hiQ0tSQ0VPSERTT2NGeUhqV0VqWk85Z3M3a0JqLzhFNjkwSHFaWFlhbVZRWUxqZzUzcG9ZVTFoeWtOVjZiWTZQeGtSS2dTZzBQTXRQN3lFVzdKNEUraDR4bHJBVm90QTQ4bVRRUWVwSldOT3pEM0VwTTZMTUx0dkNEUk4yY3VyTUlXVEhmWlBtd0ltczJLSHo5b08xdkxWME1ldHEyM0dUbGhlWDlXbklzSW5BMjh0d2xUb3F6WkZsRU1JblE5RU5FSm9ITWdJNGtGNEpMYitBNkQvM3hJUVB4cmFCNmV6R2hRbE16N0d5T3JEY3N4cWg4VWVRZUFmS3ZnNytTUkE1SDBJblEySStkUHdONG0rRG14ejQvSERHY25sRWNzQ3kwa3lZT1oxaHdhRUl2T1o1YnFPWFV5d3J5MEVwaGdXSGNrVnFPaHVXdlloaCtJOUliaXc5bUYzb0NPeFdZL2REYzVPYVZ3dWRsdGhwYzhEYVJBS0ZYOWNSQ0xaMnROSVE3VUlwUldjNndmcm1uUUEweDdzcDlJY1FRcEN4TFFRaWQ0dzY2bjZicTd4NG5WS1NPeGQyY25mK1dFN0p4RGczMjAxUyt2QkpSV3ZTNG9Ia1NleFlYQTJwYnZEcENORTdlVDJtb2UzSG1vTDhpSi84c0krOHNBL1QxQ2tyRGpLcXVnaWZxYkZsZXdmMmZ2dUJoaTQ5Yk9wZDU1QUNRNWY3bkZzS1FXR2VuN3l3ajBqWXhPL1RLU3NNTVdwWUlhbTB4WTZtYUo5Z0h6cEs4RXE4Z2tZcndKWDUyems5M013SVg1d0NMVXRFODN5cXRKSnN0Y0xVWmNLOEhpL25zZTVock12a0QwaDU1UEdFMkN0cU5VZ0RnUTduU2FYdERBK3Vlb21HYUN1VFNrY3dvcUNLdG1RM1ZqYlY2OWRhZEp6WnZ5ZXVsOXZaN0dvQXVldTEwSGJsaHVlKzYrWGhGMXgrZWYrZTN6L2V1VzhjQ3BjcGhJbFVhWFFzU05MeFlBWDJkaC94NWNXb2pqeUtqbzh4d2VjbjR6amtuemtTN2FTSlRIRml6QllTN1Noa2xuLzdtLy85WHZ0WENwVHRvaHlIc1ZXRlhIenVWTDU4K21oS1Z5eW4vdmEva2xpL0dTTVVSa2pwNVVudk9SQmwyeWpId1Y5ZFNmNFY1NUs4OFJ3ZU5CcTQ0L1Zmc0tsNU0vaERhTUxzVSt5Zzk4aDRCR1FWWkxMdldkT09QTHFBc2tla3M0TjVoTSsrQ2VrUGtaai9LRTdyTmdDMDBtR0U1bDFOOEpUcklKaDNiTEdRRDBCamlvZlNuWTdqdUM2YWxBd1NDTDIzZUUzUUYwN0gvaHcwMFBvVkREUjgrcjJmcGxaY1FQRE11V2hGQmVpVnBkZzdtOGx1ckdQSXNuWGMwTGtwWU9KZS9ZK3c4bTkrL1BjL3AyenV1N1M4QThmZkJ2TS8zL3QrZ0t0SXBxM0JCVHNnaElvZ2szWElOT1I2amVqYWdNQktHUmlPeHA3MUgzL0RxNmZLditTTVBaOS9XT2Y1TUcySjNEWTFBWi9CNVI4YlMzdlVadEYyQTErSlJLUlR1RUt3S2p3Y0sydHp6dFJpTGo1OURLYWhvNVR5d3ZLcXQ1YUM1Mzg4L1BERExGNjhtSFhyMXUzK2ZMY05sc3NQVzdwMEtZV0ZoUXdkT2hUd21wbnZJaHVGaHNCQjhhTkVFOHVzSkQ4TVZSQVdHakhsb0N1QjBFR0dGRWE1Uy92VFByS05FdWsvdEp4STRSOEt3NSttNVRjUDBQUi92eWU3dmNHVCszN2Z2amIxaDRCYzVZSmg4c2F5dDNsdCtRSXVuWGNPcmxKY2VNSlpTQ0g1N2VOL1llMm0xVFRIbzJSenowQ1Rrb3I4SXFaT21rbHBZU2xQdi9XY1orbnM1VzkrbUNqKzJPTTAxZFFRQ29Vd3E0ZlEzdDVCVStOT0l1UEdZbWc2elRWYkNJYUNwS3ZHb2pKRHZTQ29wcE9KVkxQUnJlQytqbnpTVy83TStjblZEQy8zQUFQR2xDU3BLazF5ZW1vbm5aV1NMVTA2STZzRWhZRU1BUjlzYS9EV1hjME8yTm9BalIyU1VDUkJZaGUyb3poMjhzMkQyRmJzYkM0RTZTSkRXWm8yVHdIZFFZYlNyTnRVQmJxTDBOM0REdk1yQmJZTGo4KzN3RkhvK1FMYmdzZmZ0dEFEQXFVQmxqZUdzV1dTMDJmcmZPb01rM2tUTk1ERVpRS0N2cStxWFZKbDhPc1RJcXlvTlBvOS91SUhQVXNKWkIyNGU2bmk2eWRENVlndXRvaGlFb1ZCeGphK3pZUU9nVm1ZeC9BVUpEdmFpZjhUcW04RGMxZXF2M3NzeGkzb3p1VHpoM1ZmcER6UXpOblZMMUhrNnpqbzd6c3lSYnkwNDJ6dVhQY0Z1alA1SDcyY3RrRWFwSVBRSjg2Yi9ZSDJZNVhiUkhUekpycTJyaVZ2U0NXWnJkdEk0QklJUjVBQlFkdVN0d2pMSUNmUEdrZHBwQUxEdFh0dGpmM3hqWDNmWDJDdDZOZnorZFFIeEcwK2JLUkppU0gxWEUycjJ1ZkcxUUZtd2RCMEhPV1N0YTNjNzN2R0orZE5lWWV2bi9Rc1owOVpBc0FicTR2NC9jSTgzdGpxdzFHQ1BKK0xRSG5wS2YzZ1lVd2JtdURtWVZ0SjNOTkpKak9LOEwvTXhwNDVuWTZxRWxhN0tiWjBibUhUYTYreHBiMkI3ZDNOdE1RNzZVNG55TnBaRDE5NnQyK2J3MllVb25jS1pkNlBkaVRnclJiWW1lci9ESG5JTlo4S0lkd0RjcDluWHJ1RHNacEJPdW8wME9Ma1Y3U3ZQcWpoSUlDTTVXQy9XOHEvekp6TUw5Sis2dG9TR0hpNVNsa2xHRjdnNHl1VFRGaTVpbE8zTk9BMzlWNk5JK3dQTC96ZzhyWUJ4UStITlJPT2pSRXVKRjB3QTcxN0syWEJBdDdlMkVIQnNDREY2WVZvNDJkaVd5NVYwUTFzMzluQy9LNFJtSjIxV01OSFVUTHJTcFNUT2FhK2tRU2tDeWRXQ0tRT3R0Y0tpaE1yQmE2ZGE2L1FqNTZORklLSVgvTDZoZ1N2ckl2UjBHV2pnT2FvelZtVElrVDhFaWxFcis3L2FzRkFEM1FqR0JGRnRsV240MDJONUZhdkh0bnV0Z2xQZEREeWM3bllQUmx1ZXIvM3RnLzBOTmJvbDdGSHZJa0tkQ0dzQUZnQkVQMnZValNjRlB6cUV4YS91ajVMWVZTZ3hKN1daUDJSQ2lMOUcwT3U0d0NyUEp3L21ZcnFUOUFkZllIaWtmV1VhMmtDemZuNEl3bWtmenN0Y1FPcHhsRFRlVGEvK2VzNy9QMmZxMERYMEVJR2puTjBqZmdISDN4d1lCa1FZbC90NGVvK0puYlVJSlNMby90MmgrdDIvU3lMNG1UVG9NelFlZHF5V0cvYk5DdUZwUlNHMzA4MGs2S21ybzd4bzBhU2JHaWdiY1VLdHZ6aEQ4UmVldzFmd08vbDhDaTFWOXFEcENMVlJsbXFGWUdHbzJsOWlqZDZTUHJUVld4S0ZjSEtMbForL1ZtR2pDakFjYUZwV3lkSUEzeUZJSnpCTE5OQjZtTUQ3ZGpUdWVlZDBxL0h0MkwxMHg5Q0hoSDRUWnZHamlDUHRreEUxMXcwNlNLRlFrb1AyL3ZBcjlubnZSQnF2L2ZlOTN0LzdvV0VGSjF4UDhOS3VobGEwczBMeTBjZjNJZ1JNRzk4Z0IrZVZzVDBuU1pkTDlrNEtSRFMrK3Z2dWs2em9DNGlhU2czbUprMHNGeEJZVWl5UE45aFdLdU5kTVN4Ym1GODJQTEViVzBsK2FmN2lJd2FRZWpyWDBhVUZwTjk3VzNTOXoyQ1BYVVMrcGlSYUdOSFlSdzNGWHZGYXBKL3VnKzN0WFd3VEdKL084aHhpUC8rVHhqVHArQ2Jkd0xCajErRjI5Vk40bS8zWVcvWmprcGxFWWFHTE10SEZwVGh0TFNoa2lrdmJpSUVRdGZCeUdGejlxUGNCbVU3aUdBQVBXdXg2Y0pQTS9RM3QvTG9FNC96elc5OGs5dHV2ODNEblpFU3gzR1EwdXQ3OWMxdmZJUGFtaHArODd2ZkVSZzFqTzMvOHUvb3BnOThwb2ZSMStlK3NrdktDV0FyZ3p3amlxME1zcTZKRkE3UE4xM01tMjFuRXJNaUJMUVVtbkRJdWlaQlBZbXJQdHo1eWJ1MkpmS2t5eXhmbXF0Q01XWmFjZFl0U1hQUDB4bWVlVE5ETFBIQnZKY2ZFUncvUmVmVGwvZzQrZVJpTnVsVHVhZjVmSjZKbmtLM25RZkMrVWlLZ1k5ZmN1VE91eEFDeTBxeFplV1BXVnl3Z1B6OEVMNXdoQ1hyZHJKMXlXdGNkcmJBTUhyV0MvM0JwL2M5T0cvUzJQNDlvYy8wN1BDTXJWalZrS0U0cERHc3lHVHFFQitHRHAxSkYwMTZZcll0YmxPVnJ6T3h3a2RlUUdON1I1WlZEUmt5ZHM5bDhFQ2IzK3N2R3Rtdmgzdi8wa0huejFaRGtNNFNXcFpzSkdUTW9YaG1NVzBiaytTTm4wenk3amRwRXlHTS9BQit3OThuVHFNbUZPZmt0VExVVFBGVVZ6bjFXUzlHUEQ5ZXlBM0ZEVXoweDlGNnVmblcrZG42US82dFc2L1lkT2RLWnZwMDVHRmlmYmc3dkdObjdEcjJFT0dqL25rc3VFR0JveVRDQk9uTG9GUjZ0eDVSU2g1Um5ic1Fnb0pJaUN2bmpHSHZEbFVCZjRBSlE4YXhlc2NhMnR2V2taZU9FbTFNVWFRTlFRWUxNSnd1aWtyYjZXcHZScXNZNmgxcDFwTmZiR0RJYWxSa0ZuYTJpKzRkcnhGcjlUSEV0RGhwM0FsTUdWcSt6NzYzRklLaHBRVU1MUzBFK2dZL1g2OXlNTWRhWkRhYVJKOElFbnNtNk1VbXQramtYWmJFSEd1aFZ6bGtOL1dlTGFqbm9LWnQyNE0wK2VhTmZtNzljaEJYQ0w1NWU0SmYvQzIza1hGS05mb0ZJN0FydzlocEI2SlpiNDlFKy9Ea0JyanRIWWhBQU1JaDdJVkxzQmU4bTJNK0NlRVFLaHBIcFZLRCtSRDd1WmVOMFRDTHRnL2hva21iTUxVUHpuZFdDaEpaZ3dWMVErbE1CWHAwL1FHM0wzRVEyYWFVSWh3T00yN2NPTHE2dWpCTms5TFNValJOc25IREJpSWxaUWdoMEMyWHdvWWt2bmdHZnpTRGtvTFNMVjJFT2h4azFnVXA4Zm45ZERTbG1EUnhJcU5HajZhMXRaVnNOa3RCUVFIaGNIaDNiN1REMXE4U1JsZHFYSGFDd1kxbitpZ2NFdURacmtMdWFpeGpmaXlDNDhwOTg0NlVpNm1iVEM0YnhyWFRUK2JheWFlaUVnRldMZXNna1JxczNRUFFkWjAxeTlkdzFYZXVZcU81RVRGRjU1M05EZ2k3WDJ6eTZ4OTZBWllMaXBwbWxpbVRYOGUxdlQ1d3ExYWZUdTMyRTlBTW5lcnlSY3lZTWQvN3pzTTVCWGRYSTUxQjJsZTRlM1BTMk5qSW1qVnJNSU1oT3JZMVkyZmltTU5IWW5lMGV1RExuZTI0L2dCQ2FyanhLRnBoRVhwNUpUSy9BS3Uyam82UVRmdVFxYXh1cW1GbmQ0c0gzcUQ2ZE9DZzY3UnVheWIxL1o4ejhzKzNZWXdZNXJWZmxPSzlpMUVCcnBmc2E5VnRwL2I3UHllK3JSa2pGUENhaUF6U0FSdzBRYm11NFFvWXJ1bDB1eTc1VXJJb2srYkZkSXBFN2dFdnlxUTVKeEJrcnMrLyt6ZGhhVk91YVdpRHh0Y0hzckhsd0QvZWh0Tm5RMkVFdm5vdFpDeW8zZW14N1hkK0EzTW13Y2t6b0xrREZxMkdwbzZqRTl1WEFteEhzYTQrU1V2VW9xTEE3REh1WmRaUkxLdU5VZCtlUHV4amcrWWc4TWUrWWsyd2Q0aGNLZ3VoUEdQTlFkQWdTbWdRRmJ3cUJDS2JwbnBEQjVNMjFERHJvUVZNOTc4M0twSDhuMTkrcUhTYjJLL0lvRGVTZEtYMFFMbmNJNGlNZkhiMDdmMTZ6djY5aDBIRkQzWkFCM0RsNlFBemxKZXNiZ0hiNVpRVHE3bnR1eWNCY1BQL2d5Ly81UnBPR2xlSEVNZWdvWjhDTys2U1RTdlNXZS9xMlE0YllTdjBZeDJjVXRCaUNyNHp4c2RUcFRxWHRkck1qRG1VV040NDJ3ekJzb2preVZLRGhma2F0aGhrNVNPVkVsSnp2SVozZTcwZW5NcERuRVBYSWJWbUE5M1B2VXh5eFJyY1pBb2g1VUdiRC9hdGorQWxhclJsTzZueWwzUHI1Sy96MlJIWEFHQmJXWFREUkJjNnJYZmV5ODZmL0FLcm9SR3RxSERQQ1Z5WDlyODlSdnQ5anlMOFB1LyswaGtRQWkwL2dqRDJKSXEzM25rdlhjKzhSTlgzYjZiMGk1L2FmWTI1UlRQNDU4bjNjRmZkSS94ODA1MDBwSm9wTWdzR3krVUhxZC9GcmpRQmUvZXhTbWNWS3MxdWtGTmRoM0dqZGNaTjBybmlLc0ZQZmhIZjV4emZlR3RZUDcvTDluM2UzZnI3Vno4VXo4NEZYQ1hRRFJ0YkNiNjdmalIvYnk3aER4TzNjTHlNYy8xRjYzQVVmUDcyODBnMGg4RnZnK2xwdks1V2x5NUxvN0N5aTN1Ky94U2Z2SFFEcEdCeGQ1Z3ZyQi9OOG81OE1PemQ1ejRzR2prZTVwNE93MGQ3RzE4REdNeElLVVdXTWx4Ump0QU5NbkkwVVhFQ3hIMEVhbDhoT1dJYSt2WjFzTG9iT1hJaVdyVGRpL2RaYWZSMERMMnpFVi85V2lKSTBoLy9IdmJJaWVpUmZPenhzOEF3NFFpYU9NVi84aitIWU5FSTVQangrRzc5RWJiajdyRmpGRGlPaTVOTWtiNzNBWnhseStpcnplaGQxS3RONW80QzZaRUlDRUZnekVpaTg5L0ZON0lNbFduYVYwZ09LUHRXWWFONDlLV05YSGJ5R0Zwb283eXRsSk9uWGtkUTViTjZYU3NqaTdaeGFtRVRRZjgyd3Y0aTR0M0Q2R3dXQ0RQTXVCUHpLQ29vNHVIWDcrUHFHVmNTQ0k3ajZ5ODhnaTFBSFdzTCtjUVRQNVI2V2VaTXpCNHRIUVdhZERpOVlqNWZuL1JiNW9uNUpQNnUyUFpFQUt0RmVFVUpjdC9mS3hlTWNrWHhaVmxDbHdqbXExTzVmY2xYZUwzNTVOem1iTi81WDBkeW5NaEZjTjR2dXVQMnVZVGI1WGZBY1htQ2I0L1NPYXRFSWcvbDNnUTRiUmJ4Wnp1SlA5ZUpTaDZseW16Yjl2NE9hRmk0Qi80c21mVCtCcW4zYkxoZEMxeVR5UDBhcjdpdU9xSjQ3a2ZQaVRuSTY4R0pHWnlDUHFSdE83c0gxSGpmOGczbDUrRVQyR2dPQVRlTDdxYXdrVGpzQXFyb1g3S21zK3VEOW1JVldBbUdWSFR4NTg4OHhkY2ZPby8xVzRmczArdG93c2dHZnZIeDUvbmMzWmZTMEZRQVJ0OVpBbXFBNXhVbzVUVnY2T3JJMHVVcWhLK3Y4MlZ5OCtYejBHa3l0U1BKMUkzRVAzb3plWE1XSDJFOHl6dG5YcVNRTWFPblVydHRJeTJ0RFJ3LzYyUDRmUUVDL3VCN3JFR2xGT2wwa25RbXhkS1Y4MGtrWW93Wk9ZbThTTUVSSlRrZW50MHJDRHBaSmlUYk9MOWpNNmQzMVpGdlozREUwVzNhTWhEcDl2KzdpbHR1UEdGM2pPR2VKNWJ6czd2bTg5TEw2NUVSUDMvOS9RM2NlT2wwQU5xN2t0eDJ6MEx1ZkdRSnp6MnppdUVUSzFuNnpMOHhjMUlsQU91MnRITHJIOTdnc1JmWHNlS2RyWngzMFRRZS9MK3JLSWg0aFNZdnpxL2h1NzkrazMvVWxaSEl1Tnp5MVhuYy9zMHpBYkJzaHo4OXVveWYzNzJBbDEvZUFMcms0a3VtODQvZkh0N2lFMUtpbEFzS2hKUzBaenBaMDcyQmUrc2U1UjhOTDlGdHhZa1lJUVRpcURRWEVwcDJPQXNQb2IwM1BpS2tSR2p5OE03MUVTRVpDaDY1V1Nja0txdDdoZFdJWExORkQwQkcweVV5Nk1NdzlCN0YzbnFhZ2VqaTFjb3VMNEZmVEZOOGZyMWdjaGY4KzJySm11NDQyVHNmbzN2WVVHemJRcVd5QkthUFJ5c3U3TDNpQ09OZzArZUI3QVI5V2NhV3QxRmU3akNrM0tJcERUR1ZwRGpqVUZHVW9zRktNOVpzUjJnZ2pMNDNqK3dqQkIvVnBHSjd2SUIvZi81R2lvd29aODhVeExkV29PczJhME5EV2ZMaUROcXpZVHBTUG9UbTRxaVBwbDc1OUtjLzNVTmZLcGU3SmNYdUdJbVFHc3AxVWNxaHQ5RXgvamsrd2wvbUZOS1VyeDhUY1BqRHBZNzhJcllNR2NXNmtST3BHVHFHblNXVnhJSVJIT20xK1JQSys5UGNmbEpBUDhEa1E2L29IUG9YQUFkQzRUb2FXMXBMZVhQVE9McVNRUzhIeDlHOFFxQ0QxRWNvSlZDdUJDWG9TZ1Y1YzlNNGFscExjVjBKdXQyL2tRWUhxVTlwYjVObmYxWS8ycHp2dXJDOU0wTTA3Y204cnBUZFo5ZjZ6VldqRHNuSFg5VVE1L003dXRIVnZrcEZ3eVZzd3RkT3JlQ2tNZm05dnR2NXhPY0hObDgxeHN2NitRaGI5M21YV0xTTXRyODhTUGVMYitBZk00TFFkNy9CWTdFSWYzcHlQUnMzTlh2TUlFWHZGaVBuQ2pGcXQzZncvMzd6T284OHQ0WXZYaitIejF3MWs0SnpUaWQ4OGx5Nm4zK050ai9kZjFBelM2S0lHVHFVV1B6Z3VCcHVubGhIVVNRSmxvN3RHT2dCaFgrL0Jnbjc5RGMvVUozVkFiN1hkNEZPdUFZRndTei9XYldlZjV1MWpWK3RIOEd0OVdPSUdicW5MNC9Fckd0cGdWV3JZUFJvR0RIaXdIUHNPQWZmYXpzWWtKUlNVRmNIVzdiQXRHbFFkcFI1VXNJK3hSMk85NW1ibTl1cCtXbng3eE50TlNrdncvM2I4dFhTVHIrSVdkSUQwenZjYStsSFhqb3FiUFcrTVFlaGFWNStxdDU3Y1lsYkZwVDNPQ0FvcEVCdUJtZWp5dmwyQWxmQnc0dFZMNFFETi9lK2ZnTXF0d2xhWGxmWW5ia2hIbTBscXhTSnQ1ZlIvZlNyRkgzaVltUWtkT2pqVDJXSXZiU0EyRXNMY2swSmUwOFcvdlN4SHc4YVk4ZWE0a0FNckNURWFoWFo1cHdLT0lSdElJRUhiSksxSU9qendBdDZ5OE1YU29HbU15cmV5RGVYL2hiam54dG9WeDhnSjVWQ0NZRVVFajJudHhPdVM4eDFjdmZUdXo3UHQrNWJQY2cvN3hIUkFtbW1kbm5TZTNya1NvWFFiQVFXemxFQVdsUW9aQTU0UUtrY0FFaXVVNVFRSXRlc1Z2WHlOY0h0aFgwcGhkZ2R6K3A1a3d5Qks4U0hxaEhocmp0Wlk2ZTVPOWxCVFZHU0cyNDArT0pWK1ZSWGw0RTVDVUlua3ZYUHBNNHFZbEZuRzY5dFhjdWlsbjlTRzI4a1k2ZlpwNmtWL1dUdlJRaVVjZ25PblkxL3pqeVVaUkdZZHdaMnczWmlmLzhycVVWdm8rd01Xa2taZ2JtbmtscjBGazU3SzJoOUR5SFNIK3R5QjJtUUJtbVFQalMyMDJHTFFNOFlIbGtWNEhPWFZPOCt4K1JSWWY3OXQ1c0ErSy9QamVIa2FZWDdtTDZlcUJYOVo1dERLWlNlaXpiMTRhQys4dXpuZXU3UHV3cE5FL2g4bnM3TkxMVnhISFhZWUtPSFFnTXRmK2ZtbTI4ZVlJYWs2TlA4dFI0TGcvM1d3aDFQclRva0o2UW96OGZwRTBvWjZqcDdlaVdoVUk3RGlpMnQvUG9mcThoYWcvaFpCNVJEanVQbERFbEl2N0dJOXUvOWxNeWlGWWlBRDF3WGMvcEVpdi9uMy9HZjVxMUxaZHNJVFlkRHlkL1NOSytHeUxIUktzc28vZk5QaVh6eWl0M1hjS014Mm0rNWxmaURUeDNnR3U4OWYxSCtuajY5V1NWNHBxdUlYelJWc2pBVzhab1p2TS8rY0ErRE03akEwbmlFNVlrd0Q3U1ZjblBGVGk0dTdNRE0rZGlGK2U4OWJGbVZ3Y05UZ3J3NTNFZktKM1pqL0gwNG5GS0JXVmJFa0M5Y1RhcHVKOUhGcTNFdHIvbm9nVFpjRkFwcEdPVE5uc3FRTDF5TldWYlU0L2pVOHhPUDlIaUI2eWlHelp4Q3c3UFZWTC9haGV2WXUyTWFkYk9xc2M2ZXd2WllBMUxyQnpXZUt1ZXlXd0pubXcrbjN0emp3anVBSzBBcTBGV3Z4dHB2TFQvMzBJWW5CQ0pwNGQ2K0duSU5VcVNVMlBhR3ZVU0JOMkRIYWQzTkg3cXU0N3B4WEhjbktJWE1tNFNxbU83RlFnK0Ztdit5cjdnSm1vaVFENlVVbVZUVyt5emkzdzJHQ3h6VDc5OHZ5OGxWTGlDSkJDWENMY2VKblkwVk94dmNFTzM1R1VBZzFiRk5LU3JSYldhRkUzeTZwSjI1YmljcjMwM3o1eWZTdlB4T2xreFdZUmdHa3laTjR0eHp6MFhYZFlMQklMcXVNMi9lUE9ycjYybHNiTUpud3NSUkd0ZWU3K082TXdLVUpVM2FIekhwZXMzQTZqaEFEV29QeUJuZ0lSYWxGSTdqOE5oamoxRmJXOHZxMWF1Wk4yOGVPM2Z1NUo1Nzd1RjczL3NlQXBnM3RZSWZmRzRXdHoyNGlyVjFYWFJsbkQyMmxCUVUrSFFtRHkvZ0c5ZFA0K1FwNWJpdUMwcnh6anZ2a0orZlQxVlZGZlBuejBmVE5FYU9ITW5OTjkrTWxQSURiY1d6ekFpZjl4Y3hRZk45cUZSYmI0bHNwNmNUSXJJOG16MkpaN01uZUl0Q1pMMm1vUDNYS0RqaUl6TVptd2VmVzhxNnJjMmNObWNzSTRZVUExRFgwTTRiaXplemNzTU9sT1AyN3A3V1laN0xzMndFczRwR01hdG9GTzBxelV1Tks2Z3VxR1JZWGdXTG0xZXlMRjVQZ3gyalNvOGdoZURjeWhuSGlQOEVPb282Tlk0YXhoMmFXWnpUTHpyZ1EzMm85bEFPYWM1Y1FYV2V4ZlVsbVZ5KzZGNlQ1b2FBOEw0N0o2NUNaVjJHVExNOVhwSk9MMjRJczJ1RERSeFFtUU80VndIL2dKcmYremErZE1SNjBEQU1paStlUnF3dWoxaDlQVjNkWFdoU2twK2ZUMTUxTlFYRGgvTmliRFhaOW16L2pYRU0waUFOTUpJS25MMldrNU56TlFkcEFJVnFnaHJobjB6d05rTDZpMmhVbm04aWdvTjFvRWViL0FyeWpTZ25WdTdna3pQanpENXVOUEdpRzNpeVpTaXZQTlhHd3VXdlViKzlEVGZ0b0F3TlplcG9rUUNnY05VdURKcWpKd1JDeDBQUnB5SHZISkI1dVppWERiR1hvUEhIa0s3NVlMYldJdUFmdDJmWS9uSGVaMDcwZlZqVWdhNW5JYjBSS240QWVXZUJERUxrUEFpZEJOR1hvT051NE4yQnpROWZmL2h3MTZEd2VxZGtYQXJHenNISVdjWDJ1azJrSG40Q2dNQzFsNk5QSEl1QnhvMnhPWFE5OURyQ1orVHkydytQZC83dlVGMU8wV00zdEgrSVJpSFpHZTJpdHFNRnZhU0NyR1BqS0VVaWs2RXNrZ2RBSXBOQkNva21CQm5icHJhamhaM1JMdFF4Nml5dmNxcEZDK2xrTXhsZWNTZXhwcVdOTERwK0xGcUpZT3RoaEp0QytuV2NQaXc3VkVvUmkyZUlKVExzYklseDZod0gweWhuUTIwYkcydmJzSTh3TU9NcVJWY3NUV2MwVFZOcm5ETlBHbzJoYWF6WjNFcnRqaTRjMWJjZTg3cDBBVFhaQ0U5SGgzSmNzSVBSWm94Q3pZc3pkemttTmRrSXk1TkZyTS9ra1hXMXZ0a0xHNlJCZWgrVFRoMXFPckFRWk53c0w5Vzh3K3ZiVmhBd2ZLUmQ2NUNPVmVMd05NakRsL2Z6T01sTHZYL0svV01nZlJrVEdYN25IL3IzL1A3eHpuM25RZ215MHFXelJZUGZWK1BFTldUWTB3bnhOL05KYlFnZzh5eUtQdFpONmMwZERCL1R5cm05WFJmNVB2VHRiNzVucVVEV3htZG96Sm8ra3M5Zk9ZdHJTaVdKdS83RzFydWZRbVN6bUhuNUh1N0VydnJCM0ZoZEs0dlFkY0l6cDFMNCthdlpkTlpvN3FwNWdiOHNmUXJYemFJRjhuR1ZpNk9Pd2U2Tm9GODB2cTJKMXgzWmdUNVFwMXlBTTNFcWR0dDJBUFNTb1VSTGhpRjhXWWpWOWJ1bGNPckk0emhseEl6QkdPbCt0dXRBb29IV3IyQ2c0ZFB2RWs3NjZHRUVwbzBsNzRaTE1NWU9SWmdtT0E2SjU5NGk0VE9wWExLVzY5cTMrSDJ1YytrVGVTTjlHMXJlK1JuaDZnWEU2aFh6L2dqei8yVndjWDJVU1lBd3RRRXBZL28xT1M3cG1tM1lUYTEwUGZJOEFGcGVHTDJ5RlArWTRiMWF3OSsvK09ud1paN01wWjFXbDRYNDB0VlRXYjYraFNmZjNrNjRwSkNzNVZKcTIxdzhieFRIVDZtZ01HemdaYUgxTHJtdWk1U1M1NTU3em50V21vWVFBaWVIYVNHRThIS1NnRTJidkRxT3JxNnVBei82WEZhQ1JQQjBOc3BxSjgzUFExWE0wQU4wS0JzcEJHNWNFRjlpSUF5RkRLaERUa3lLdjcySUhkLy9LYkUzMzBLTDVLR1hGcU5zTzRjRDhPR3plVFNwa1l4SCtkOTdmOG5Rc2twbWpadUc0N3BjZE9KWlRCOHptYWZudjhqU1RhdG82bWdGRkdVRnBSdzNiZ3JqaG96a3RnZC9ReUllUlJpK1hPN2loNDkyZlBQckdJWGVudWVPQUdCQkpLVm9ML1ZxaWZ4dENqY0Z6YVZqaFhQTjl5RlNoTi9KNGdwQjFnalFtRGVEcDVxdXdGK2Y0QXh0SytWNU5sSWF4Rk0yWWIveWFsODFRYjVwRS9KRElpM296aGJRc1NXRGNKUGtSUlNYRHR0Q2ErT0xQT3RlaDJsbjBUUkpRZ3ZnYU9ZeDR4dGhlSGhxcmlzUVBxKzIySFVGMG0raGpyVE9TdVR5NVNSSVhXQTdlRGg2MHNYT2VDWmZTVkF3ZmJ6T3A4OHl1WGFlanFFTGxLdFFTdVdxNy91Vy9qRSt3SjF6UXV6TTF6NFV5WTR1SURWWTJ3SjNMWU16UjhNNm81MjFwd2M1dlRLUGI2NENZMmtjdlNWSllBVVV2Z1lGYS9jNitKaU5XN0toYXdML3RmUS9hVTZWYzNiMVMxUUVtZ2pvS1RUaDRDaU5sQjJnS1ZYQnl6dk80Zy9ydnNpR3Jna2Z1WHkyUVJxazk2UGZmZnZxOXhYMFFwTTB2Znd5dGMvOGlhemRpSytqbk9ESHprZU5Hb0gvelhlSXYvSXd5aC9IS2oyQnIzemg4d1NxaCtUaWo3Mnp6djc0M1d2M2VmL2Q5TlA5ZWo2ZjJ1KzkvaUZPYlJGQTBBd3dzV0lFWVRPQXF6dzlyUEQrOWQ1N0FSeVY2NmRlR2k1RUFaM0pHRFd0OVRSSDIzdWt0Zi81bVorQWJyTmlheUczdlZuQVM1dDlPSzRnMys4aWhPcDUvbjB2MDJkSHROTFZXc2l5T2RQWVdoNW1zOVhOMXJVUHMzTitDNTJwS0JrcjZ5V2RlSjdiSHJ3V0lUeGo2R2pUMm01WTJBcFJhMUJZRHRJZzlURU50RGo1TCt1ZU92aEloUmZYc2JabWlXUk9Rai8rU3Y1UUUyRkRheExYVll3ckR2RHA4VG8zclhtRzlQTXY4U25UOEd5T1huVGo5a2VVdmZtSnVnK3hRcGE0VnBMUTBPa2tkWlBZa3ZzSkNaMTMwdWN5T3I2SXpMcjFGQllFYUtqSnN0bTlFSzE5SmJKME5PSEoxNE9UUm1sQmpuWGkzSzd0WU52YURSdU1iWGs0aS8wT1MxOG9OamRuZVdkcmlrVEczVDNlblYwMmp5M3RwamlVeTcvcXhYRlhmK0tTSGgwdmRRVWFtUG1Db25tNUR4MlFRVVhsNWVEYVBYeit2MTZ5cjU5ZXNnbHI3QXU0UlZzUVZnQ1JEWUZ3dmI5K1NMKzl6dUszMTJZcGlBa3Z4NmlmaHd1Y0FWYmdMSVNYdUZWUWZnNlJ3dVBKdEQrQWxWNVB0eGJIeWxwRVpER1I0QVc4dVg0VVAvbk5teXhiVm9zTStVQjRlQTFIbXdZYXZvOXJpZmRZQ3pZKzc0MmxEZ2lESGdmR0tNRy9DSlBGYUN4MWJScVVTN3F4aFVkLy9pdms1bHB1T1BOc1doZThUZnV6ejZGYVc5RURRZXdzQjdRdk1wZ2U5ZzRDNFJ5TmZmcERrSHZTUVlSMFhIUWE2aE5lK25vNDZJMVRPUXhDTVE3U2taRFY3M3ZLN012WXQzenpzLzE2dEQvOXYyOTlxUGpENjUvcTB0NFY0dWYzbnJWZjRhUjZyL0c3OTNmdnFXdFIrNzRXZSt6UTNmL3UvZDB1MGFzNW9EdW9BL0RxdGFNajNGSmRRT1ZDalhqTTlVSk9jZ0JNckFCY3NBTXdyODdCWEpPaTFiQW9WeG9OSFJaWHBCeXFMQmZIVkFPdjc1UGprbjFqQVluLy9SWEJmL3M4d1M5K0d2K0ZaK05zMjRGeUhMU2hWV2hEcTdFM2JTSDV1NytRZldOQmJ1TjBjRzlyanlHa3dEU3hObTJpKzN2L1NkNlB2bzg1ZFRMaHIzd2U4L2hacEY5OUU3ZTUyZnVkMzQrOWFUUDJ4aHJ2MkYwOVJwVHF2MGxienY5djc3N2o0NnJPeFA5L3ppM1QxQ1ZMN3QwWTI1aGVROTBrUUVJTE9CQTJvY09TQmtsK3U5bjBUU2ZaRkFqN1pRTXNJUVVTQWlHaGhoSjZNMkFjZ3dzMjd0MldMY25xbWo1ejd6bS9QKzY0Z2NHeW1qWHk4K1lsTE0yTVpxN09QZmZjVTUvamcrdmdscGRTLy9sdlU3TitFemY5NmlZbVRabk05ZGRkaHpFRzI3YnhmUitsRkk3amNOdi8vUjhiMXEvbmlhZWU0dUFKNDFnNTY5K3dreW1zMGhLTTUvWHo2YkFJVzFsV2RoM0NseGJjamFNOFFsWVdoU0ZrNWNqcEVERW5GY1R3QXl6MGp1K0hNaHNZNWVRNVBacml3a2duSmExcEhwMmQ1UStQWmxpNGZPL254TEpnM0FpYmMwNXh1V0pXQ2JWVFJ2TmsvQ1IrMzNRZTg5TUhFeFRvL2dGYkROeDFZOC9IVElMOUZHeDhYOU1WZjRGSU9DaG04MVBncWsvWU9MYUZOaHJWaTlseWYzbHM5M004N1QrL09MZ1Q5SmMvNlBWYnRDUThYbHVUNHJpSk1LN0s1WkJSRVRyVG1pMGR3UmpUNkVxWGlxaUZheW5XTk9lWXR6NUZTNkp2eXFkaVM5OC9mUGU0UVgyNDkvNUlxaHExRXo2TFRyOUk3TlNQWWVYRzBieGdEdTFMMTlHNWZqMUhmK0owa200MTRiQkxUWFhwemo2d1BqYlN6WkxRRHJNVDFUdjJjcDZkcU9aTGRSc1o2V2I3dk92OGh0VDhmYXV1S3pDWkhsYjFlL0M3VCszbk5wKy82eUxZUGt2OG5mbkdzUjJPbUh3WThXUUgyNVkzTWlheWlWRTFGWXljY2lGdDI5WVJYLzFyeWlJK2JxMUJtMkJkbXFVZ0d2YlE2WldVVC8wSzFiVVQyTERzSVVJdEMvalU1S000Y2VySTk0bnAzbzlCRlJTNFl6MXk2MXdTVDhSSXpvNWdzc0huZE41WGlyZlpvZlM4Rk80WWo5eHF0OC9TMGl0VWliNzhtUWovL2VVb2tZakZEMjVQOGN2ZnBmRUFUaGlKYys1RS9ESGxlRmtmdW5KQkF0cERzSTJsRkNhYkpmZmtjK1IyaSt1aWR1NXJMbXNGMzZNekUyYk9wckVjUGFhQnNSVmRXSmJlWXg5TGtNUUdYMXVzYkI3R29vYmhPOHJvbmlxNmZRYytRQzZYWTlXcVZmaStqMjNiVkZkWE0ySENSTmF0WFl2dmVkaVdCU1UxVkhXR0tHOU40MFlxVVVZemNrME9LMUtPTGtzRmEwazhqNURyTW1IaVJIemZwNzYrSHQvMzJiWnRHek5uenNSMTNYMCt0dktZNHFncERsZWZIdUxqeDBkb2RFcTRaY3N3N3R0V1MzMDJ2SHU4K1VKZndiQllCU2RQbk1FMXg1ekJpU05uc21KbEYzYzkvQlpQdjdLSlpGcm1VUUhjOStmN3VQclhWNU9ibXNPdGRNbW44bGpod1hOOERtdHVPQ0JLUEcwVXlsTW9GUlQ4VTZmTVlWajFXbENLNnNxR29QQ3lWR0ZpZ01GU2ZkT2hxb1p3YjJWall4UHZMRm5DS1NVMnNlT1BKVjlaRGZrOHBtNGtYdFUyY3BzMm9EMlA4RUhUY0lhUFJOa1doRUs0c1RJNk90ZXlwSEVOalluV1FncjFWVFRaRDhvRW1sQnBqUFM4K2JUY2ZoZWp2dmRWckxLeW9LR2k5cnlSZzQ3SGFibjlMdEx6NWhNcUxlbjlBcmtoZkwwNXdEUTN4QXdYWWtyaEE1MWFzenh2TWRKMnFMT0N6bzJSdGtPNVpUSEdjVGpFc3JDQktTWllrTm5iN1E3TFB6MjBSd2UyOTlNM3RjSlZQd0xQZzFuL0Fwa2N2UFkyekpnSTg1YkM4L1BndkZQaHJCTmg2amg0NUNWWXUzbmdOZ3BZMVpqaWtYa3RuRGkxbkRFMVlhSWhDMk1nNTJ0c3BZaUVMTUtPaFRZRyt3TTIyRElHTnJaa1dkT1VlVytnNm02Vis4VjJodThjMFB6N251bHB1N1NMRExDNThQVU13QjQ2SjB4blY1R2w3OWRWZDY2dlByN3Q5Tmh0cTc0N3lOUHpTMFZkbnI1eTdadkZkYjlZZTMyL0grK3JHK0c0KzNkL2JNbExBSC9aTDMreVpTbHNTM0gwd1VITHliWVUxaUFhTS9VVXZGcGw4MnFsVGJsbktDMVVFUk0yZERscVFLcTJCMEw3YlUvZmkyNjBRUjJIcWsrZVEvbnBwNUo4YXhFZGp6OUwvS1U1NUxjMERIakFqN2lYUktHNFpzTEZmR2ZhOWRTR3E0UEFJNDZENDRaSXpIbVQrbS8vbFBqc043REx5M0NHMWJ4bjBvWlRYUm5jcXdzM1ZsVVNDMzcyL2QxdXRzNndHdnl1T0J1KytBMWE3M3VZTVQvN0wwcFBPZzROS00vam1nbWY0aE9qVHVlL2w5L0d2WnNlUmN1MlRnUHV5SmFsUlhVeFJ5YzBGZFh4ZG1hTGEyVjJaeUl6cFBLM1o0SnRRcDFRbm9VZDVSdy85M0MrT25FTFA1bTRtY3N2V01hcGgyN20xcjhmelhQeko3Q2x0UlNGWW1SMW5ET08zc0QxNTg5bjRrRngwaTAyMzFzL2xsK3RIdzNHd2czbDhZekM2OGw5Y1AxS3hmcVZRNlF2eE9CYnBXVENwNUIxUDR4SEhTYWJwdXI1WCtNc24wdmkwaCtqMXkwbTh2U2QrTlVqY2RzYkNwdjVLbkJDNEFiQmt1MWNtdERyRDVPdUdZMlpjREQyc2pkUXZsL29FOXpIL29hR3hyMGRkYkE1OWJDYVlITGpIdC9FeDdTMW9Sc2JDdzNTL2l0eWlxMG1OZTRybng5U2xUOXR3SElkbHF4dTRIZFBMT1o3VjMrZVZhc1c4TkxiejNMcXdlY1FqVlZSRTdWSWRJNGpvajlFWFVrZG0xTmJpWlhuY0N2R2t2VFhFV3Z1WW16Vk9Mb2k4S2ZIRi9MT3FrWk15RVgzb0RPalcrTVZHemZDaEFtREl3Ri9PUEJadU5lMVJBTlR5dGZ4cFdtLzQxK0hQNFE3dDR1R2U4T2tsd2VOMnZmRXY5Q2dJbEJ4cXNld1MzTnNHajJaRzFaZnkxL1dYMGhucmh4VS8xM0loNVQwL0g2c0RJd09nMFhvUFFkb1lSZ2R6ak96Sk5PclliYnUzTWxzQlRQTEZGK2Y1SEJXcllYZHphRDZmcHRIL0tsMjRvKzNvWk5hMWgwTUpnTThqaVl0UTlHWHBtZTJEZXJqVzE3azZYdmFWWDhvcXVQOTdOYm5GVHkvczkwNHlJOVhPZFplMnhWYTJXUzhLSFBYVFNLWkt3RVY0ajh2ZUFtQVh6MzZZVkw1RXVhdW0wVEdpMExJeGJMOVB1c21mL2Y3TEY1WE04aFR0TzFkN2ZRTDFRZjlUZnRyT0NGVEQ1bFhldmNldG0xejNKR244c3lMRDVISlpsbnc5dXRVVjlVeWNmekJPTFpEU2F3TWdHUXFqdWQ3ck4rNGtyYjJaaktaRkk3dGNOeVJwMkxiVHIvOWpRYUZoV1pZUHNrSlhmVjhvblVGTTVMTjJCaDhtU0RjTFYrOThrUHFxMWUrZjEzcXlndCt5Slh2MTd5c2g2TVArWS8zZmUrbmZ3TlZ2N244ZlovL24zay81MzgrWUgzOTQydjJNVCtvbmYwMldaMWxkY2NHSHQvNkxIOWEveERyRWhzcGNXSlV1R1g0eGk4RWdCVHZjZHNyUGI1d3R0OExmL3g3K1BHT1I5L1piWUZSWDk4dlRTOG1iU2dMak43em9tcGpBTitnYlYzWVhIYi9NUXJ3NGNYUnNLbkVjTTRtT0x4Vk1iNDlTK2JCNTJrYk00TElZVk9wdk9BTVlzY2ZIaXlTTUtaUEZra2tONFRlLzg1dG9NNXVaN2pkam1rRUxKdVJhaDJqekZxTW84ZzEyOVRSeW5DbkZkTUVTUjBxVEU3dnk3STV0OXRQTTlNOXI2OHJESFpXNFdWYzN1ZzZsSE0zdjAwaUZPYWR1b053T3l6R1JOc1o2ZE9yb04zdkZIbnhrTS8zeFlLQmdWdDA4Tk81S3hSeml5ZDlEMjU3V3RFR0xDbU80eTIyOG1GcTI5WWhWekhVUnFGdG4yZVd6ZUNaeFlkaHUzbWlicDdhc2ppdGlWSlN2aDNVZHJaMzRLcWdCSXM1SGpXbENacmpaV3pyS3VjN0QxNEVqaGNFNkRsQTV1N2M4ZUhSeGZXSEhpRHJnUGFrSTkzL3ZTMmpLdmUrNnNzWWFJcm5zTzA5amNJRmN5QnJ5MXhHVllTeHBCbTZteTg5KzVOQmZvU3pkdnVwOUlTamQ1N0JqVy9DQ3cvczA3dmRlMVB3dFhzWDBuSVlON3JiNzdGcUhYejFlZmhxTjJQbFdjYVFVallYdERieDA4d3FUdGpTUWNkR2h5MStPYll5UVFBRGo1MkRKUllvaDkzV1dmZmsrZTJCQnFLMnp3K2N0WHc4MDhLYnJaV2tsSTIxTDJQY1drTTZEVXVXd0xlK0JkZGZEeGRkQkxGWVlWNUlML2crcEZMdzhzdHcyMjN3aTEvQUNTZEFOTXBnbWF6c0cwVlZ5RmVYanU5aWVubk8vR0Y5cFhtMnNZU0dqS08wR2NEaFRkTkhyOWtIeFRZUGJpb0oxU2RwM0Z6NDZxZDA3VmErYSsraTliY1A0ZzRmUnVsSFQ4QXVMOTM3cFpwTWs1eXprSmJiN3lmZjJFSmY1ODZ1ZEtmY05QZTM3ZkU4ODJESEZZMHRobVFLeXN2QTdDMFdoNEcwQjl1VW9kazI1S0xCL1FKL2w2OGU5dFZZU2xIbVpmbnN5cjl5N05iNUpLMHdkamQ2ZHMzMmo5NStUK3JIc1lKRTJpdXVjejFBN1F2OVB1ZGwvL1MwcWgxWlFQVnpKQUFYeldpZEpxUjBvVTZrOXZ2RnJaV2kxbVJ4OTNCV2ptcGZ0ZThIZU91cS9mYlhiTitJdDBubitWdTZqYWV0VGs0NEk4WURuejJVWTQ4OURrcFBwTU9lem9xMHkydmJOdkZ5NDJzc2JGMU5ZN29WN1h1RmphMnMvYk81VlhjTFkyM3d0dGJUZGY5ZE9NTkhvSk1KMHErOVFHYitHNmh3aE14YmMyais5aGNaZnNzOUpQNStQenJlaVFwSGc4SzYxNHByWFM2L09yS29XdUJOVGRkSmowRS9ldUdXeHlWOXhRN2JQdnVIZmM0UEYvSDcvWGZBcW1lL29nM0JPb1BDY1BjSmgxUnl4RUhCL0owVERxbkU4NE4rb1NER251cXpLbkd4clJ2TSt0aytlWjk4SGxLNVlFNitwUXAxeW41WXdsdHM4M2ZhMjl1THJPMDdpSVB1NzRIVmpRRUhBMWp2MDlkcENtMmhJSFpEMzErNlJUOC9YeW1VNCtBM2JLUHRlNzhpY2QralFadkJzckRLeTZqODcyOVM4ZVdyZ3RkNlBsakI2L2Uxd0ZhT0UxUjh0U0Z5MnZHTWZ2MWhPbSs5bTQ2ZjM0NmZ6Wk43ZXprTloxMUo2U1huVTMzRDE3QkgxdTM1clE3YjlZNWhnTmJDMThEUndPdUZyNzI1WnRsU3hiS2hXOTlRbGtYRlNVY3k0VHZYc3VubWU0Z3ZYSXJYa2NBWXphNERMRXBadUpWbGxCMTVDT08rZWprVkp4Mko2b1B4aWF0dXVxakh6YzZ5V0JrblRqK0YrcXJsZkxYRVk4cVdZQTN0aGhLUG02dVdNK2FKbnpCbithdkVVL0hCc1FacmUvZUtVOWowVXU5U0lkcitXQjhYN1RlUCt0ZytsU1U3ZG1RM1p2Y0tudHJsTWJYclFyaDM5Vmw2L3I3ZG41cDJyN3Y2TDMzclBXZHFiOVdVL2YxOHdBYVZBWHo4NURIb3JsbVFIdzlXQ3F3a3JqODRxcDJmRzk3TSthVnRsTGNsdVArRkRIYy9tbVhWeHAxOXdvN2pNSExrU0pxYm01azdkeTdISG5zc2MrZk9aZFNvMFl3ZlB3R1RiK0g0d3l6KzdaTlJUcHNheGwvcVV2OVlpTlJpQitQMS9lWlkrdTlYRkgzN1dDbEZkWFUxOTk1N0wrZWVleTdyMXEzanNzc3U0MWUvK2hWbm4zMDJ4eHh6REZvYlpwMDBuaW1qeTdqbitYVzh1YktGcnM2Z3ZsNWVHZUhZcWNPNC9LT1RPSFJpTmI2dnNTM0ZtL01YOHZycnIvTzFyMzJOWC8vNjE1eDU1cGs4OXRoakhIMzAwZDNlUk9INVhGdzluNHNYVDJJVzIzeWpXY2NWMWZGT3ovY2lMbU5oSGtaaVFUdFBMWHFIU0Npb1oyWnlIbG9iRHJhdG5vVEcyTTI3MXhmNnkzcSs0akNsZmRha0dqREpSdjdmOEZPcFZHSHVTNVNoMmhScjNwcE5UZGw0WEdXamdiNHExdTQ4UmhZQzlXdDc4eVBMaXlwOWwxNzJqYUpLMzJ0ZnVMSEhaY1AyalRMY1NJUndLSVNxVWtGM2hqYmsxcnhPL3AxTVVIZTBMSWw3V0NTdVdmUkdVVjF2YTY5NVZzcGZBYzkrc3R2NVlIdjc3MTludzcvdTZFSHFUbU1mb0FOWUVPd2kzd3VIWHZpNjVGdXh3em5UR2pocmhtSGMrSmtzUzAvbTl5ODd6RnZXU01lV3hmaDVIeDF5d0hXeHlndWJnaG1Eci9kZmIvZmtlU2ptOWZKTnVvQ3pldHB1aFBjZGVCb0MzUHcrRmc4SzBENVdlVFdobzQ3QVpMTGtseXdqZGZ0ZDVGNTlJeWozMW0wa2R0M1Z1SWZPSUhUVUVVVEtxdEZkWFlYMXZMMHJqcVp1V0xEdmI3QmgvajcveXVPRnI0RVVkUE1xMHJrc2IyeGFnNjk5UGpUK0lPcEtLeWdOaFhFS2F3WTgzeWVSeTdJdDBjbWlyUnQ1czM0OVJtdVVaZmMrSHNEL25LNTZldXk3emhCdGVwL1hERVQwWjg4UHhpQ3F5cU9jOStHcHhLSWhubmwxTlEzTkNVcGpJWkxwWEkrR1FqMVBZNERoTmFWY2NQbzBVcWs4ejd5K2hvNTRocEtJU3lyVGpmWEF2UmlMekJtYnR6UFZ2SjJ0QVh4Y0t5aVg4OW9DN01KYWVSUHNmdDFYQXhjSDhEcTlnYkFnWFRuSWo3Q2pXN2VFcWd4TTMyYklPZnRTWmxnWWs4V1F4U3JNVjk1YlpndDV3V2QxTjFNbW81SjkrNU5TeGRjdnFXelFMUzVZWU1mOFlITlJBMWJVeDQ0WXFpOXBvdWFxSnF6b2Vyd3RUKzNYTGlXVDl4bFZFZVAwRDAvbmE3TU9aOEtHTmRSLzVVN2k4NWZneGtwUUpiSGQ5MVJRd2NheTJ2ZHhxeXNvTytzMDdPcyt4VE5WY1g3NThzMHNxbDhNNFJKc0o0WnYrdUZ1ZlAwTFJaVWZMbm56SzcycnI1bGQydXoxQ3JPbGo2Y00vT3l0YnI5ZEVqajVSMGZzM3dUOTlpTnFYOVB3MG04OXpLVlNsSFpMc2UxWFVHeng2WGZVVEVvaWxGMTVQdUhEcDZMQ08yUERsRjd3RVV3MlIyNzVlb1kxTkhOUjEvcFF5T2l6SGl5ZkZGb0t2eVJVK2dyNXBPYkUzOENjejNmL0k1ZitxS2pLVGVmd2JSSnZwQnRsVzA4ZHRHMUw5NDczWjczL3JHSmlqQ0d6WkNWdGYzaVkxSUtsUVg5VGF6dlZWMTlJZVBLNElSc3lQZjNPaWw3bHczTGcxRktJSG1UVDJwbkU5elVqaDhVNHFpU0oyckNXVkQrV3FscHJsRkxZdG8yM3k5NWFsbVdodGVhU1N5Nmh0cmFXVzI2NUJkdTJNY2FnMzZmUE9laERNamdvMXZzNUx1cmF3QTlLUm5CWnVJcUU4Y2xiQnFla2NKdlloMjdyc2xOTzJQbm54MXNnUHJTdkkxOXI3SENFdDViTjV6dS8rU2svL0xkdk1IUEN3WlJFU3hoYk81THJMd2c2dlR1VFhTaGxFWEpjbHF4ZndVL3Z2cG1YNTcwQzBSSzBHYnBSNnIydUR0UlVSV2lzSVZjTllRK3NyUkNlRm5SaHA5OEFmNFBDZExSUm5XakVzVDBxVElhc2hqYTNETEN3b3VPWmt6cVA0VjNQWXNVNjJaZzVtR0g1SnFiYkcybE5PNnh6am1WYlM0b1plZ09wck0xcitUUFFxVllPTFZ1TWNWeGVqMytVYUM1TmJXWVR0VXBqM0RCdGhNZzRVVnIyMC8zdC9XSkM5em9uRkk0K2lBdGoyQjZNSnhxRmcwZkErUjl5K093WklVWVBDMlpVK1Q3WUZvWDVpdjMvcC85Zzd0dEZGWCt4VytXeUFjdUZWOWZEbGppY01VbnhMeU5Uakt4SWtSME5qZzkyWGxIOWdDRzJ0cERNZytDU055aVd0MC9uKzIvOW1HZnJ6K1RVa2JPWlhMNldtSk1pNWNWWTJ6V1oyUTJuOGxyanlYUm1LMlFmRlNIZXhmN0FjU2lGMFpyeUNSUHdPamNUc2paamVackthZE1KMTlYUk5tRTAzcHdIeU1RMDdwZ1RpQTZ2RFdLQTlHUGNzUXFUTHFyMFhkRWNHK1JIbU96VmIxdEtNYko4R09PcWh1KzRseGlqTVpqQ1VsTVRmQlZHcE1kV0RXZGtlUTNhYUI1YytBSXRYYTI5aXFHdVpuUVVNbkFDMkx6ajhaWkJtdHIvL3Q5M0ZOZGQ2Sm10Y3RjVUE5Nis2Q3VIRkZtdHI5ajZ5VU1mTkhaWWFCaUdRaGJlaTY5d1JTYkpsRk5uY1dkTkZSa2ZycWxMY3NhOFI4aTgrQXFSVUFpbDg0WGY2Yi9qN1NpMitIVTlhSmdySjR4VE9vTFF6SXNaUG1JTW41dW9XZkwyV0ZLdHl5alJKYVNuREdmVzBVZnp1eFZuMHREYWhsTXpMVmd5b1QwR3crVml6TzdUbzdadi96SG9ybFVObTlyeVFZeTJkeDF2S3F0SlpuV2Z4OHVlK2N0djlyN2ZaZzlicVd3dkpucDl1TC8rL200L3h1Ly9qNklxZjIvKzR5TEZIeUdMNkRkS1lZekdEbFVTRzNrZEJwaFVlR3BUWTVxSG4xdkhUMjUvbExhbVR1eXlLRnByekg0cUFEbzZPb29xYVN1bTlHd3VqOFpRaStLVHdGazR0QmhERjVBemFTSnYzOGVteFE5aW1SeVZ0UTdXcUFqRzcrRjk5SjM5VTUvVTNYeHNxTlYvUmY5NmNjdXdRWDZFemJ2OVZONk5HT2lEeXAwVS9meVN3VHduNDY5cjR1cXZhNHA0a0RzQzFiV0dqeTdOMDZyelpFdHRqdXcwMU1YeWJEdk1McXlCS0xvS0V1UnpaQjUrQW4vakppS3p6c1U1OWtpY2FWTUI4RnRheU56L01KbEhuaVMvNE8xQ1FPRyt1VXhPRzBxalpGcWpRbEd5YytiUzl0a3ZVM0xweFlSUFBoRzdiaGpSY3orR1NhWEp2N09NOU9OUGtubm1KZkIxRUwrcVdPSWpibytIVUZ0RDY4OXVKN3RoQzlmZGRSTVRwa3ptdkRNL2h1LzdPSTZENTNsNG5vZnJ1ano1OU5NY2ZzaE1YbG8wbituem4yTFY2Wi9HMzdnVnU3b0NrMzl2bmU3ZUw1NHY5WjErZEVJa3pibXhCS2NTcDM1Rmh0c2V6L0xRY3hsYU8vYWVCMHVpaWtNUHNybml2QWhubjFGQlkreGdidHoyY1I3b1BKMldmRFVvbnlFUW9iSlhRbTR2eTJFTXJtc1JqVG5CM3J4S29WUXdMdG9mZmFzcmJyejlnRGd2V3pzOVpxOU9NcmsyUkVYVXhoaFkzaERNYVhjc3hiWTRkS1o5MWpibmFFdjZmUmEvdWRqUzE3V3RvanJlVGVmTU9ZRHVGOEdmV2xKU0FTV3pLTnRlSmEzN01PbXliZFFkY1JnQVZlOXBEZlI5RWdVejVReGxsci9qN2Nzc0g2dWZkb1lQN2VzS2J0UExQNjRmMm1WRm5mT1VvcUtzZ284ZmV5WnJRM0grdWZZbEV0WlVKZzA3bUFyZko3bDVOQ3F6aHZKU0M3dFFlUHJHNEhsZ1JVWlRVVDJXZG1jU0QyMDVETk9hNHZLWmh4QjIzZjN3ZDRCdXQyaS92WnpzcXNMbkY0bzhrMU1rWG9pUzMreGdsZW9nYkd3ZlplYlBYeFRtaHV0ajFBNnorTWx2MHZ6M3JTblNBRWNOeHpsL0V2NzRDcnljRC9GY2NKRDJFQy9XakFsaTc3NzdZdE05R3hUcTBUNUxSWGNOUWxPaWhCZldUT1RJVVkwY1hOZEMxUEYyZWQ0VXdoNHJQTitpTVZIS1B6ZVBwalhWK3psaHhUWXU4VUVTaVFUSlpKSVBmZWhETkRVRkVVTjgzeWVYenhNTGgzR1BPb0dFMFRpVk5SRHZ3aW9wd1RLYWNDYUhWVE1NcjZXSm1wbEhrbzJFMlpiUDQvcytsbVV4ZlBod2hnOGZ6aHR2dkVFeW1hU3lzckxieDJSYk1Lckc0cXlqWGE3OWVKZ0pFeU84SHEvZ3prMGplS0dqZ3B5MnRpLzYzWEg5dUxiTnhPb1JmUEtRRDNIbGtSK2x6Sy9pc1djM2NlZjlTNW4zZGhQYU16SUh1ZURTeXk4TlVtSWU1QW5pcFF5bWxxcHpvSndJQlNnVkpMM1JFSW5tR0RXMk1KRlNnL1lMQlpuYUpjQzhaT0lQbE12bnNTeUw2cG1IWTlYV1lYSjU4UEtZYkFhN3ZBSjN4Q2hRQ3J1eUNwTkpReWdFam9zMXJJNnFFUkZzMVVIV3o5UHJhTWY3Y3YvWEdpc2FwZVZQZjZQa21DT28rdFFuTU5xZ3JGMHFBSVZncXhoRDUxTXYwdktudjJGRm8wRm5pUGhBc2UyVmNMWTN6aXltaDBKMGFNMld3bUxJUTBJaHBvZENsQlVtMFB0QXBQQjdFcysyKzd6Q3ZwZVB2THp6c1grK1U5Z0xFM2o4RlZpMEVyNTJPVngxTHZ6a0Q1RE9Ea3kvZjJ2QzQ2OXZiT09mYTdvNGNrSXBJNnRDYUFOdGlUd1IxMkpzVFppUlZXRXNCZE5HeFhEZXArR1J5dms4czZpTmVXdTZnbzNReE9CaVdaSUcvYWdoUFU0U1FSellSWXlDc0cvNDlwWFZRUEQ5b0F2RFZyZzFkVG1LTG1mUHp3bXhQOW5sWlpSLzVCVEtQM0lLNlNYTGFmelYvOUh4eExQQmFzWUJjbHpWNFh4bit2V2NWSE5NVUljMXdlUU52NldOemQvL0JTMTMzUTlHNDlZT3cvZyt4bnZ2WkEzenJnVkI1bjBXQ0JuUFF6a09idTB3a3ZNV3N2TDBpeGgyMWFjWi9lTnY0dFRXNEJtZllhRXFiajc4dTF3MDVpeCt1dUkyL3NGQ3lTaGk2Q2l5UGl4ckNPNzdaSUM4VWRpT2h6YUttOWVNNCtGdE5mejZvUFdjTzc2Tkc3LzZNcm9MdWhKaEFNcExzMWpsUUI2ZVdGWE5WMVpQWUgxWEtjcjFzSlJIM2tqSHBNWWw1MHpDajMwU2s1MkIyYmlKMHVoV1NwYThUUGlaMzVHdkdVMXM4WXZramorWFhId2I3dExYVVg0ZWJLZXdPVFN3ZlZHbkc4YXRYNFgxMjY5akttcXdPMXVDRG1HN0I3TnFuZTc5anZyQTkxYkJ5SXh0Uy9sMUFEQ0FaOXZjL3NoQ1BqUnRDcFhqRmFGNmk1YW1sYlNHT3FndVA1eG16MlZZamNFTHhjbVh4NGhXSkhHZEZTeFlNWmNTSWx4ODJ2WDg0NDNOL0w4SFg4WnpIRW5VUWFvNjFNR25KanpLbHc3NkxlTzJyS1hsRnlHNlprY3hHZDY3ZTJLaFdoNmRvYW05TEV2KytITHVhcnFNVzJkZnk1cXVTWVZCcmY0OTNoOU9iT3hGeGxhd3ZoSlU3RDBINmlyRHJHR2R6SnJZc2ZzQTh6NTZ1QnQ5QndlWEtMNCswZUVUZFJhTzZsNXozTy8wU0Q3VFFlTFJkblRjbDdGQUlVU2YrYSttRndmMThWMVc1T203c2I1RE1sbC8xbG5OM3V1MFdENnQ4UmcvK3N2SElKWUI1ZThNY0tCOE5yV1dCODlGczJENS9kb05lZVdQUGpiSVUzVDFBWlYvUXFFd0p4NzNVZEtaRksvLzh6bFNxUVJ0N2MzWWxzMnhSNTBLd0ZzTFg4WFhQcWxVZ21RcXprbkhuMEUwRWlNVUN2ZGpXMHdSTmg0VE0rMTh2RzBOWjdhdG9TYWZSaXVGbGtyZ0FkWXVOeWhVOEs5UjFLY2JtTlB5RnI5ZGN5OXpXdDdDdG13cVF4Vm9vL3RuY3lGUnZJcWtxREFLTEEvV1ZNSXRWVkNXOHBrV3JlSEJML3lZTVJNbVlWVlg3SDdENzZQKytUVTMxSHpnODlvRW02Y3FLNWlIYWJZbnFBbm02UnAyUHEvNlpZQzlZYmVmN2xqL1FLK3lnVEVHV3huU0cwS004RHZJWTNOZTR3WWlkaDdmS0ZRdjV6K2VYT3lYeXlBZjl6RXk5M0JBRlZ2NU1MUXJRZ3JsZUJodE1XVk1QVi8reUV2ODhZMFRtTHRtQ2hxSXVjSENscFRuWUFGSFRGelBsUitheTYwdi9RdnZiQjRiL0s1UnZlcm5GV0xvOTZrWVBuQ0ppVEhvUXFCNWxMUkZkeXVORTNXU0NQMWRSek9RQ3lrK1ByZVYzR3lMZi9wVjJJQlZLTmROWVlPZHFyTnpBTFQvSTRUTzc4eXF2WDFlby9BTmxObytId3Uxa2d6WjNiK2xHQVB4T0x6d0FyenpEbXplREFzV1FEUUtwNTBHSTBiMC9Kb3lCcHFhWVBiczREMDNiNGJYWDRldUx2am9SNkdzYk5CY3I3cFFkQnhYazFialMvTG1rSXFzdVc5ak9jdTd3aXJ0cWYxem1BTlJMWkRpY3IvMmhXUldiYUR4WjcrbE5wNms5Q1BINDlaVzc3YlI3STZza012anRYYVFuTE9RNWx2dkk3Vm9lYjhja3FWazNkTGdhUGNINnhpM05CazJielZzMkt3NTlCQnJSN0c2cC9MSUZINnZ2a096MUdnU1UwQTVZRHFCZE9FclF4RGRQTFZ2NVlzRktHVno1dWJudUdUOTA2VGRhQ0d2bUwwV0lRTlp4Sng1K1BCQmZWNGZsS3c5b0dwTW5oL2tsK0doQnMydHpnQU9obXFUTC9yMFRSdkRLOWxPN3NsMVVuckVGRzYrL21yT09mdFU0ckVKL0tNanpjdHJWL0ZxMDRNczc5aElaelpPRU9iRENnb3Fxd2ptOFJZSzFjdzdDOGdzbklkeW5TRDR2V1ZqeFlKZzJpb2F3Mjlwb3UyV0c4ak9md1BsaG9KZ0drSUlJWXBXVjdMbkc0YXBkL1V2Zk9PeWlRQWtNLzV1RzBNZHlMMy9qalhZMTJSNGNoR0kzclhsZWY4bEtXcDdZMSs4ZnhuOGYvZlFmc1AvNGplM29Wd0h0S2JzOGs5Uy9aT3ZZWThzakcvNGZyZlhHTDUvSjRjVmRIVDR3UnJIaWk5ZFJlbUZaOVAydlp0STNQc29LRVg4ancrUitzZExWSDMzSzVSZmQ3bWNuR0s0L215TFlXZWZRbWpFTUpydSt3Y2RyeTBrMjlTTXpnUUI1NjFJaFBEd1dpcFBQcExobDV4TitWSFQrKzZhN0VGTVphVVV0bTl6K0lURGFXamR4S3BRbkh0bTJFeGNNUitBUDgvd1dSV0tZN2R1NHZBSmh6TjMxVng4Mng4OGMzRk1OeC9yQTJGdkh6Y3dIK0F1bCtMZlNOSUNmTEE2SVQ4ZTNmVkpUUHFZd21OZEJEc3NXWU9tRG50OXlSWldMTS95UHc5bmVmeVZMTW5VN2tlV3lXUjQ4c2tuZWZMSkp6bjc3TE81NXBwcitPWTN2MGxiNnpZbWpyYTVlbGFZSzgrT01NNXlhWC9DcGUzcEVMa21DMlh4M25Xb0FzdXljRjJYSzY2NGd0ZGZmNTNseTVkejBVVVhzV3paTW80ODhraCs5S01mY2VlZGQxSlhWNGV2RllkT3FPYVgxMWJUMnBtaHNUME53SWlxS0RVVmtlQTJyZzNHYUpxYXR2SGpILytZU0NUQzg4OC96eVdYWE1LeVpjczQ0WVFUdU9LS0szQmRkOURQalJTRHozL0ZWL2JSUFc3bnhocDlXWWQvOS9yQ3hGZSsxcU1ic0VLUjB4NWp0Y2ZSNFFyeTVrRnl4dWR5TzRSUkZ2WEpaaEp1bEpDeUMxdUV5TFVrK2w1eWFaR3QzK3ZOZFZ3WXo4cG5NdVRUYVhZcklKUUNaZTI4ek9SeUUwSUlJZDdqNk1NbThVUkRKUysvbWlQVnNBclB5K0tISEt5d2c0cTRLRUJyZ3kvVExBNEkvcjUyN1NzTGs4OFFPbXdxVkpTUmZmSjVrcmY5RG45RFBhcThCSURjN0Rmd04yNm01UHByY1U4K0RnNmJpdmZLR3lnM0l2TjM5dHJDTkNncmFEdk8yN1NHbG1TY0kwYU41N0NSNDZrdENiYkNiRThuV2R5d2lVVmJON0t1dFFsajJUdCtSK3pJcUtReUhxOHYyTXl4TTBmeG9TUEg4YUVqeHpIMzdjMDgvdUpLTWxtdnB5ZUl6a1NHMStadllzYVVXajU4L0VST08yWThMODViei9PdnJ5WHZmWEQrcms3ayt6Q3ZiUDlMTlgwMW50NG1HV2RBZldIemtZUDhDRi9xMXFzT2F6QjgrMlVQM2M5OStaYUdrZkY5S0FXa1NCUjdLRGlWdTMwTm9kcXhRMko0U3BxNjZ4c29QN3NkUElQT1dLaVFHdUE4dEh0Y255T21qdURLV1VmenVVTnJ5UDMxVWRiZWVoOGtVb1RLS3pCYTc5d2pibnM4RDk4SHBZaE9uVWpOdFJmVDhLbmorZU9tbC9qMTQvZVR6U2R4b3VYNHh1QkxQUXlBVmZIMWtnaWlhQlRkZmdYRkZwL2VnRlZXUXZqSWFUakRhMUR2aW0ydXdpSGN5V01KVFIxUHVxR1pxbFNhQytJYjNKRHhULzhyazhPTElZUWRlUTR2cVRueE56RG44NUpwaGVpVGE5T2dISnVLQzg0Z3Myd2R5VGx2WVlEWUNVZFFNZXNNbEdPLy95TGVJcmZ4ODEvcjFlLzdHbXhMTVRubU1wbGdQenRqWUdNeWo4WmdxZjVkeDJtTXdYdlgzbHJiNXhrbEVna2lrY2lPMStsdTdIdnNZYkJSK0JoK21HeGtRVDdGOTB0R1VLcHM0dHJIa1lIZ2J1UUpqUldPOHZ3Ykw3QzV1WkhyWjEzRnlZY2RUMVZaSlpGUUNBeGs4ams2NGgyOHZtUWV0eno0TzFhdFhZWVZLME1QOGZhRE11QzBLeUpuS0xMbEZtRkhRNDBpUE1ySDc0QmNyVUszSzZ4OFdJMHNDYW5oWlE3Smt2R0VjbGtxMmhzSkdaL0k4Skdrdk5ONXJHVVU4M1NlZFJYSEVXdmZ5cW54RjFBYW5uWXZ3ZGVhZ3hxV1VLN1N2Rlo2T3Rsd25oWDU1WlRGTTd3UlBnNm5Kc0hZMURieTViVzBXS1hVWlZ1SjVaTzhOaFRUZkhzRVhHVmhVSXdKWlRqMUtQalMyWXBqUjJSUUJyem1ZTHBvRUNGQjlKWTJZSVZnYlF1c2JUYlVWTUEwWC9HcFY2Q3V3ZUMyRkZMWllrYy95U0RKTEhSbUszaHk0ems4dmZuamxMbHh3bmFXckI4bW5pL0QxL2FPMXdraDNsc2YyNXVTQ1JPWS9PRXZzdUhsWCtJY05aMXdYUjBxN3hFOWJBWWRHNm9wMTVPWWZPNDFLTnZwOXpVeXhSWUwvOThmUDNpUUgrR0MzblNSMEptTzgvZkZMMk1wdTlEY1VoLzRHelVsbFl5dkdrRnBPTUttOWlhazkxa0lJUXFLckovYzYyNDh3NUlZOGRmbmNkTEdqUngyNXRuNDRUQ1ZmMzJLK09xTlVGcXl2VExTLzMxMlE3MGRvQlRLYUR6bDhxOVRxem50NENyKy91d0xkSGEwczFWUElLSkxxTXUxTW4vUlFuNTQ5bG04dW1JekQyMXJwcXltdGh1UkJzVzdXZXA5VDBPL3BHYUhuNUpFRjBPZ21BcDY3b3pSR0tNd1NyRmlYU3UzL1drZWQ5eS9BSTNDTFkzZ3lRVDBmWExzTHpPOWFzOFp3RlpCV0EyN1VJNXBaWlAxUGJBZGpORmdVajN2ZEQxYnpwRVlPcTU2NWFoQmZvVFB2T3NhbHpxZUdFTDFDQU01eTVDb2RuQ0h1VVJHVHlYZlpOSFp0aHFmZERCbnR5Z0hDSU9KR2ZtM0Z1QXRXb28xb2hZMXJEcTRobHZhMEkzTkdDKzcvUzR0R2VIOWFJMktsdUJ2MkVUbkRUL0hycTNGcnF0Rk9TNStSeWQrZlQzR3oySkZ5NEsrbDJMYmI4OFlqTy9qRHE4bCtkZkhXYmVsZ2JPZnZaZEZhMWJ6NFdPT3BiV2pBOGR4OER5UGZENlA2N29zWHJhVTZTTkc4L0w4TjVtKzVEblduWDRKdVRuemNXcXJKYjhNc08rVk4xUGVsZVdsdVZsKzgyQ2F1Vy9uOTdybTFsSlFWMlB4MGVOZFBudFJqTWt6NjNnbGZSeS9xYitBT2FuRDhJMERTdllGQnZCTjMxeGphSCtYVmxMLzJmendFd2RJK3gvYVVqNXRHOUlvQlk2bHlCZE8xdXpWU1h4dDBJV3dTWDNaSlZ4czZmdkNXMDF5RVEvNmU3QUdETWJYS01jbE8vOU51TzFPek1ldlIya2ZVeGdqMmZ2NGVPK01EYVU1djdLSnQxUGxBSnhmMmNUWVVMcGZQc3VUT3VlZzRJVENURHo4UWpyS0ovUGl5dGM1THRISmlOR0hrMDU4aHE0MWY4QTFEVVFLMjUxbGNncnRqS1JzOHFkSlJhZHd5eXZyK09NU2kvTW5mWVRSMHorTTQ0YjN5NldUWGhRQ1Q3MDMvbWNoaTJWWHV1Q1lQcDEzZU1mM1M3bmx6Mm0rZDJPS3VBRU9yY1c1WUJMK3BFcTh2SUY0THZoODZ3REs1LzFjUGcxRjZiekwwNnVtOEU1VEhaODUvQjJPSHQyQVpXa3dpblRlSlo0TlV4SEpzTDZ0a3RjMmpLTytzeUxZUTF6c21DdW9sTUsyYmRMcE5LTkdqY0wzZlpxYW1nREZ1REdqaVpRY1RPcW80N0dzb0RJWTcrckNzbXdxSzhzeHZzRW9pRnFLUkdjSEc5YXVwYW1waVpFalJ6SnExQ2dTaVFTMmJlLzRMR05NdCtMYW5qRE40ZUpUUTN6cTFBakphSlRmTmc3akQwMTFyRTFIZzA2blhSZURHNmdJeHpocXpCU3VQZVpNenB4ME5GdnFzOXo1OENMdWUyd1ZUYzJwb0J5eDVid1h6WDMxUUs3TEdsOFZMa3dqZTJmMG9FQ0x4K01zWGZvT3JXVXVtYTVtekpScG9IMnlhMWNGZzZpNUxNcDEwZWtreHZNSVQ1NEt2a2RtNlJMYUtqd1dqMHlRU1NlRERUTUc3dUJSbG9YTzVXajQyZjhTUFd3RzBVTU8zbjFTbGpFb1M1RmV2b2FHbi8wdkpwZkhDb1YyQnA4UTc1Kzg3L3JaQXFZNExpWU1MMldDUnRvSjRRaFRISGUzZXJBc2J1cFo1NUl4T3k4Zlk0TDdyNjhMbTRQYXNMa1J2dkcvOE9remd1Y0dxdDlmRVFUaFg5V1FZazFqT3BpamFjRFR3WE5sVVp2cVVwZEp3eU44NDd5eFZNVGVleXZ5dGVHZHpVa1diSWpqK1pKRHhJSG5sMGRlTWFpUDd6ZHlpc1FBM1U5aTBjSkVmeTMzQWlIMnVXN3UrV1RYYnlMK3dtdzZubnFCOU52TEJ2eGFldkxrdXdwMU93L2JjbkNVemJiYjc2YmhaN2VRMzlLQVhWMFYxR3U5UHRvdzFSaU01MkdYbFdBTU5QL21UM1E4OFJ3anYvMFY2cjU0RlFDZTlqaXg1bWllUE9rUEtPNlNqQ0tFNkhOK1lVREVEZVhaa0l4eTNzSkR1SFJiRXpkUDJVQmRhWTdLc3V5T1RwTnQyMEw4NStyeC9IbkxDRkFHTjVRbmI5U085emd3YjJCQnA0ZFJQbGx2T0xudzViaU5GVVNmL3kyNU5XOWhLNXR3MDNxd0xKeTJyWlRZRUoxNktObksveVFYS2FYOHhUK2o5dFFCWWd5NElXeWRoK2JONExqQm9sSWo5VXd4QU5uYUdDd0xzcGs4MTk3MENEZDg3a1ErZWZJMXJOLzJGcXVXdk00Umg4OWdRL1pGcXN5UjFMYzFVR09Yc3I2aGdXUlhKeGNkY3pGdHl1ZUJWMWJ3OWR0ZUlwdkpveHdMTFhsM1VIcm9YNjdnQ0c4aHFiOXBOajRTSmI5TnZYZFRXQk9NVDduRERUVVg1Q2o1aE9KMWN5bzN2M1U5THplZGpLK3RBWnUvY0docHBoY1pXOUVaeVZHdjNqdW54Vkl3SnBLam9qVFRiMUhyTFFWVFlvcXZUWEtZTmNMQ3RibzN6cURqUHNubk8rbDZ1QlcvMDVPNUlrS0l2aTFYMDQyU0NQM0pra0o3VUZBR3V6U0ZyeTFVSk1mTlQ1d0tScUVpT1l4Uk81N3JiNHVYajVCek1jZ01xeG1CTVlZUG4zSXUyV3lHeFV2bmtVaDJzWGJEQ2dBYXQ5VlRXbExPNFRPUEp4eU9VRGRzRkVxcGZnbSt1SDNyOGtvdnpkR0pCbWExTE9lSVJBT3UwV2laSEhiZ3Rja3hPeWJSZHViaXJJNnY0ODYxOS9Gby9kTWt2Q1JsYmlrQXZwRUZpS0s0YVFXV0Z4U0E4WkJoWTdXRE5YMFNLbHFCMWtFb1d0WEhjelFUSzhKRmxVWkhKK3Q3VncwcTNHTXNJS2RzRkRETmEwWHY4dHdCWGQ1S2Y2VW80dkpocUxmaGxESW8zNllpbW1ibXVDM1VMa21nUElkUUpNTzVSeXdDWlhoMDRaSDRtUWpEU2hQTUhMZUY4a2dHcFMxd1BKbmZMZnJValorWVBQUWFaZExNN0RGTGRqNGVzQ3lhY0IxVXlCQlYrdDJOWnJCZytPVVpVTkQxcW92dDc1S3ZlL3Q4NFM2U040cWNjYkQydGM3WTNnNTMzZ21yVmtGWEZ6ejZLUHp6bnpCeEl0VFY5VHlRdU5hd2VUUGNmRE0wTkFUdmZmZmRNSFVxSEhVVWxKVU51dlBvRzBWZHhGZWZtOXl1WmxaazlXL1hWdkxLdHBocXpkazcrc0lHaEF2SzN2bTlHTHJTUzlmUThNUGJLSDl6Q2VVZk81bklRZU94eWtwUXRvM1JHcDFJa1Z0ZlQvejVOK2g0N0NYeTlZM0l3dHloM3U0UFRuRTZBMjh0MWh4enFHTHNTRVYxbFhyUDFIU3p5MDJvTFdGNGJwNm1hUTEwdFJoOFFGV0QyVDZYeGdLMkFVdDU5eDd6SDlETU1XakxZWHJIR3Y1ejJUMjR4aU5uT1ZpRGNQUEgyejk3NUtBK3J3LytwK1R0Z1hUcSt0ZWxvT3hIMzBwc1pldUlhbVpkL1ZVKy9wbHoyUnBPY3QzcXBjemQ5alFiRWcxa3ZRdzdvdmdwUlJDd3RnamJVU1dsaFdqNFFRd0VERHVEUWhwQVdhUmZmUjVsT3pKSFdnZ2hob0EvL0wyK1Q5N0hHRVBJRGNhS2MzbmRyU0JrQjBZN1IrNlRRb2c5MjNMaUxMSnpGNkpLWWlqSEpuek1vVlQvNU90RVRqMCtLRDg4YjJlZHU2L1lkckRXeVBld1I5WlIrN3RmVW5iRlJiUjk5MGF5Yjc2TmppZHArZEwzaU4venNKeWdZcUVVNVVmUG9QU1F5YVJXYkNDNWRDM1piUzFnSUR4OEdDV0hUQ1kyYlFKV0pOekhIOXVEKzd3QzR4amFrKzJzM0xZU1gybGVQY2p3Zy9hWEFKaHprSWZHc0t4cEJRZlhIWXh4Q29GVWV6QTZZWXA4QmtLM042QVZQY3pBYWRBbDZNNkxNWWt6UUplQWxRd3k2U0RzeTdubm9SUi9lU3JENGxVZWUxN1NIanhvV1JaTGxpemh2dnZ1STk2eGxTT24rWHoya3pIT09pYUd2YzVsNnlNaDR2TmRUQllraSsyOUR1KzZMdC83M3ZjNC8venpXYkprQ2YvNHh6ODQ1NXh6ZVBIRkYzbjc3YmM1NDR3elVCaDBZV0puVFVXRW1vcklqdmZReG9BQlZTaVJGaTllVEV0TEN4LzV5RWY0KzkvL2p1TTRLS1c0OGNZYkNZVkMzUTdrTE1TdURzMTNGdGY5YmVHaW5sZGpVWlFvUllmMkN5RkNGR21qTVNpcUxSZlArT1JsQnFMb1J4OU92MTFVaFhTZjNGTlUvOVdMNUdvVlFnZ3hsSDNyYTlmdThVWXNxNG9QVEQxYnhxQnd4bzhqZmY4anBPKzhKeGdyS0M4RlA4aEZxcXdVZjBzajhlLy9uT2puTHNjWlA0NDhjNHQ0MC9DQnRhUHYySFpZMjl6QTJ1WUdubHl4bVBKSTBLL1RsY21ReWFhQ3RIWkRRY3hoU2RpZDZXZkFVb3FTcU11YVRXMkVYSnZKNDZvNWRPcHdITWZpK2RmWGtzbDZQWHBmMjFKRUl5N0xWbThEWTVnMHRwckRwbzBnbGMzenlyd041TDBQbnJ0NytVdjFnenJ0YnBIc002RGVURllOaWIrakttMm9TUTNNWjJrRnN0ZWo2T1ZOZHVlL0ZwUWNIMmY0VnpjVE96S0ZUaGIyNmJQMGZxK3YzUDJEVHpDbFpTdU5YL2tKSGEvT3c0MUVVV1VsR0grWEdudGhZeTZqTlZZMFJNbXB4MVAydGF0NGE1ekRUMTc5Zjh6Wk1BOGRpbUtIU3ZDTTdDa25oQkR2ZTJ2STVmQTJiTVh2U3VKb2piSjNtYWlnRFg1VEsxNVRLenFmQjZXbzBEbk9UV3gyUWthZmNsK0ZDUzJLMW9hTkhma0grWVRIaVhmQW5DOUlvZ3JSVzBwaFBCKzB4aTZOVVg3V3Y0QUN1NndFdE1iNEN1WFlRL0pQVDc3MWRwOVVlYnZldGNqWnN0UitDUU5qMnpaK29RNzcyR09QRlk3RlF1L0Ruc2MrQmdWWUtCN0xkYkhFejNCVHlTaU9jS0swR1E4TEpTRnU5dGFXTmhvN1ZzTHl0Y3Y0MHMzZll2cWthUncxWlNhamhnMEhBMXRhR2xpNFppbkwxNjBFbzNGS3l2QVBnSDJwbFlGTWk0MjEwbEErMWlPejFxS3J5YVY2dXNiZllQQWpObGFwSnRmaHNqdzhpazUzR0NvUFZkRXlZckZxS216WVlod1Nuc1lMMTdFY1NIaWFVSFFHaWZCMGhyaytheElXU2Qrd3VlU2pUQ2gxTUo0bWpzOXJ6bkZvYllqbjhyaDJKWW5hR254dGFNdDQxRHZEaVlXSDNzUkpoVUZoWVpTaVFtZVkyanFmejd1djhhOGRtdEFqRnVsMFlYNnBYTkQ5VUFhQUZRcStiMDNCcWs1RGJDVTR1VUo4QzBEcFFabHBndnVBc2VuSVZ1NytlSC9uazdtZmxwd29pcmdxcmZaK2NUa1dvODgvSCtOblNMYkgwYzFOd2NOWlRYWE5PWXc5NnhORXg0OHVoS0dReWZ5N2VydXhiS2pub0IzMXgrNzBrVy9yYW1WYlowdlFDbEdXeE5rU1FvZ2licTkxdDNHaFNrdnBiR3pEdmVzdVhLWG94TVl1S3czaW1PNGc4NWQ2M1k3VFBwR1NNdVo1TGt1V1pkaGNjekplcEJNZmcwR3gyUmljc2lvMkwra2liYXFKVmtUUXZzejhMQVovbWZNM1NRUXhKQmlqME5vaW0vZDRlK1Uydm5menk3dzhleDBtNW1KYkNzK1hlOEcrV2hYcm0vaXN3UlJ0czZPUFFQWFpyWG0rbkNReFpEU21Ja1Yxdk5tV05qbHBZZ2hVSGdoaXJhZWdyZFhGL2Nnd2FpdUhZWnlETU1kVTA3eHBESjJ2dllTcUJseFZ4UEdDYll5WHg2L2ZBdldiQzQ5WkROYjRRSU9TcjFIUktBclFIVjNvbHRZZ0F5a0hGUTZqckdqUUIxSEVzVEtONStIVTFaQ2Z1NGhWaDMrTVE1KzVseFZiTm5QR2gwNWkwZUxGTytiVTVQTjVITWRoVzFzcmgwNmN4R1BQUHN2Wno5L0hsbXUrVHVKdlQwaGVHV0RwTlVudWZqYkxuNS9JMHRDODl6NllTRmd4WmF6TnBlZUV1ZmljTWxKVkU3aTE3V1A4dWYxc3R1VHFDZ1AwTXJkL2gweHhIZTRuMXIxMXdBeUlxUjMvZzd3Mk80WUM4enFZejljZlE0UEZscjZ6dnZHcVhNT0RQaU1IczArM1QwcXpxOGRTKzZsdkYvSzNOV0J4OUZ4bE9LdGlHdyswalFEZ3JJcHR1UDIwUDZHTTJnOGVvVkNZb3lZZmhiSnNiTXZHc2gxR0h2UlJqSmNrMS9nb3ZtNE9YaGdkVHRuSTg2a2VkeHAzdmJtRlB5M3RKSzF0ckhBSmpodmFmMytBVmtHVDV2MVloZGYwb2RvUHRkS1NCR1lNdzdsZ0l2NlU2cUMvT1pFUE1yZE1NQlhkemI1R3NiR2pnbm1iUnpGenhEYVV0bWhKeGxqV1ZNZnExbXFPSDFQUG5FMWptYjErL01EdWNUbm9iNXNLWXd3VkZSV1VsWld4ZHUxYWFtdHJ5V2F6ckY2OW1rbVRKaEVLaFVoMHRoZUNidGpvdkVjKzNvVXhFRThuQ1VjaTVMTlpVa3BSV2xiR3BFbVRXTHAwS2ZsOG5uQTRUSE56TTJWbFpWUldWdTc0ek83NDlSZGpUQmdiWmxHNmpQOWJQNXgvdEZlVDlPemRBK1VZZzIzWmpDeXY1cnpweC9LNVl6N0dxTWhJWnM5cDRQWS92OFBzTjdlU3ovbFNsaFFoNThDK01HWGd0YmVWWStWNWxJd2FnOS9lUkhieFFzS2pSK1BVMXFGQ0VYSmJOZ1VWdDlIajhPTmQ2SGdYMmRVckNDVlN4S2JOd1BMZkNRckhBVDV1b3pWV09FUjI3UWEyM25BejQvNzNwempEcWxHRjFSL0dhTHptTnJiZWNEUFp0UnV3U3FJWVh6cWJlaXFpRkFlNUxtZEZZd0FjNUxwRTlzTjVIMnEyOStQdk9xOXcxN2trbmcrV0Jaa3MzTDJmK3J6dFFxVmcrekZ1cnlQRTB6NkpqTS9FMmoxdmxPSnJ3N2JPUEEvT2JXRnRZMFpPdGpnZzNiWDJQd2I1RWY1QVRwSVltUHVkdjMyaW5xU0ZFTjJtRGFsM2x0TjIvNk4wUHZVaXVZMmJNWjRmQkhyYUR4ZVRyejFzeXlHOVpEbWIvci92MHZYU3E5aGw1VGpEYWpDZTF5L3RndTN0TjJkWURYNW5uSTNYZjVQMkJ4NW43QzAvSVhiWWpCM0hKSVFRL1NsdkZKYnRvNEI3TjQvZ3FkWksvdC9VOVZ3K0poakF2R2R6TGYrK2FpSnRxUWgyS05oYUt5OFJnQXNkamdiVDVhQlhSNG5XUDRlOWJDNzIxdlc0NFhEUUlSSUtBUXJ0aE5ISG5vVWJEcEhidEp6UW0wK0Q3VUErdCtlUktXUEFzaUhrQk4vTGh1S2lqN0pzOTZwb0J0dHg2SXluK2M5ZnoyYmR4Z1NYbkRPTnkwOC9pSWdCYjczSEdLZVdON2ZOWmN6SVl6anZzRm1zVFd3bG5xL2lyMCt1NU9hSDVwREwrZGl1alc5MHQwUEJTUzRmV0llODhSYU5ENFZJTDNPRC9QSHV1ZTBhVkFRcVR2VVlkbW1PVGFNbmM4UHFhL25MK2d2cHpKVVBUTENuUHNvZ3huendGRjFkZUUxLy9Ea1dNRDZpK09wRW00dEhXb1N0N3YwcE91bVRmS21UcmdkYjhOczltY1VnaE9qN1BoQUpJQ1lPbEx5dXQ4K3JVS2hRZnNmM3V6N1gzK3hZYm5DbjBZSFdMbElLVTlpY1pYanRhQXlHRWNQSGtNNmtXTFY2Q1FiRFdhZGZURFFTd3cyRlVBU3ZOOGIwZWZCRkE3aEdNeW9iNTJQdGF6aW5iUlhEczBtTUFpMFZ3QU9Ld1FUZFB4anlPazlEdW9tL2JYNkNQNnk3bnczSnpaUTRNY3JjMGlBUXBCQkRoRmJCVUtEeUllb1pUQ29Ga2ZJZ0tFNC9qQkhhc1VGKy9jVGY5YU1kN3FzN0g1WUpRZzZsTEJmcGdST2krTXVISVY4dk1ncGphUlpzR3NmRnQzMmV6a3dFMzlKRWJKL1BIUHNtS01PVGl3OGpaMmxlV2pHTitSc20wSmFLb1MwdHU1Y0tJY1FRWVFVTjVEM1hYRFZzK25Fc2VEN2ZEOCt6ZlFpMEIvWG15a3E0NmlwWXZoeCs4eHY0eENmZ3VPTmc5T2hnb1V5UEU4UUszdVA2NjJIZVBIam9JYmo4Y3BnK0hTb3FCbStiejRDajRMVGFwRFc1TkcvK3ZLRmMzNytwWEsxUHVpcW5CMkF6T1FmczBSN2J1MUxzMFI3K1dybStoaXBsS2J5bVZ0cnVmcFN1SjE4aFBHVThvYkVqc1VxajZIU0dmSDBUMmRVYnlUZTFndS8zN3BvVVJkUzJnRVRTa00wckhucmFwM2FZNHNTakxDcXIxRzV4Q0t4Q21kV1JNanoxdkdiSkc1cjU4elFKQjB3RkVBcktGR3lDQVpXVzRINkMybnMzaThKZ0tVVk5Qc0czbHQ3TnBNUVdVazRVYTVEMjgxYVhoQ1RqQ0RGQW1rNmN4aWxYbmMyR2lWSCtiZW1kYkVwc1EvdGVvZFBjMnNORXZpSzEyMkx5UFQrdndoR1pJeTJFRUVQRVYzKzVyQThyOURzcTFVSUlJZllpdDJnWlZrMFZ5cmFvK0k5cnFmem1GNE9pMVBOUmxrSTUvYlEyWFJHOHQ5WVliWWljZWh5alpqOUF4eS8rajg3LytSMG1FaWIzOWpJNVFVWEdpb1FwUGVKZ1NvODRlRUErei9Sa1BNYUFSck4weTlJZGU3eG80TldhWUhLRjBzRW9qNmM5bG01WmlySlZ6ejVIaUwxbHhjeGg2SzRMSVRjRnJBUllTVDQ0V3ZmKzljUGJrMlJ5ZTc4V3ROWTBOVzVseVlKbitkVEhMRDQzcTRTREswSjBQaCtpOVlrUTJYb3JxS2JMVU12ZXkxVEx3dk04eG80ZHkvWFhYOCtkZDk3SldXZWR4WUlGQzdqeHhodVpPSEVpbG1YdE5tZFdHN05iZThoU0NncjdkRm1XeGN5Wk03bnh4aHY1NlU5L3l0bG5uODBqanp6QzFWZGZUU1FTd2ZkOUhFZGkwb2g5NXhkWjQxdVZsZldxN3VHYndyWDFMbmtUYkxqVDY5a01zcCtrR0VyMUhVa0NJWVFRUW9naXJjaHBWRGhFN3NWWDhlc2JVSTZOaW9TQytiTTdHb04rOEpqbms3cjlMdXd4STFIaEVNZ2E5bjFMYW1Pd0Noc0ladkpaTXJsMG9mRnE3WGhjeTV5b2R6WHNGYllGdzZwaVhISCtFWng4ekRnd2luUTJ6NmFHVHA2ZnM1WnN6dS9CMndidk8zcEVPZGQ4OGlpT09tUVV2cTlKWmZLc1dOZk1TM1BYNDNWano1NXJYdGc4cUpQdkZzbEJBNXhmaDhiMWF4VDRNdjlHRk1VMVYvaFhLMVJZVTNsZUszWC8zeGFjNFhuOHVFTFpnK2VhSFAvd1k2eTcvYS80elMyRXlzb3d4dXkrTjV3S0JuZU0xamgxdzZqOXQ0dElYSHMydjJtYXd5LytmamVKZEFkV3BBeGxETDdVdjRRUTRnUHZEU2FYUjJleStGdWIwQk5HWVZlVUZ0YmNnTmZZak4vV2lVNm1JZStCWmFHQk1wM2o0OGw2SjRSL3dwOHgzNTBmclExcEovWjNZbVB6bkhnSHpQbUNwSzBRdmIwOEhSdmorN2dUUnpQMnN4ZURncTduWHQveDNGQmxsNWNON2dOczJZZS94YmJ4Zlo4eFk4YmdPQTRiTm16QWRWM3krZnkrdHpzQkg0T0RZcjJmNDZLdURmeWdaQVNYaGF0SUdKODhCbHNXaG53Z1gydnNhQXlqTmN2WExHUDVpcmQzZjRIallvVWpLTXZDMXdkR0c4SUFPSWJzWW9OZUJicE5ZK1Z6cEZOZ2t1QjErYWlNZ21IZyt6NVp6Nk1zNURBc2JGTVhqUkJ4TE1yelBwdmpPZGFuUE1LV3hjeWFLTlVSaDdCakViRXRqbzE1TkdmeWpDeHhpZG9XR1Y4em9jelFsZE9zN0VnVHRSVWpTeHpHbG9YeE5iemRtaVNlOVVrTW9iM0JGUVpWK004RlJpWTNjZkhtdi9CdjYzN0xoR3d6aVpjTVNYWk0xeGI5UkJmMlJWRVdSRjNRWVNBZlhBaEYwVVVwUmJ3UWZYczlHWU55SE1aKzZoSXlXeHBJYk5pQTl2SzRGUldNdS82cnFFZ1lZM1NmeDhjZkNzcENnM3VIaFcwRG5wK1ViS1F0aEJBSFhPTkNZNGREK0NxTXY3MHRwMlVzc2o5WWxxTEZ4TkJHRVk2Qlcxb1JOSTJNd1NnRjJtZWpiN0FBUjhuY3NXTHh4MWZ2bFVRUVJjMFF6R25GUUVjOHc3T3ZyK2M3TjcvRXB2VnQyS1VoakRGb0xXVlNUM3o5cmg4UDhpTThSMDZTR0RxS3JPNjA0cGJmeVRrVFE2U1JBeVI5UEhzWW95YWVnTnRvMGJrMlM4MkVGWGpsQ2JhbFREQjJGUzM2UXFid0pmM3J2ZWw3QUZDdUM2SFFqdm5TYUQxaytpQk0zc091cmtCdmJtREY4ZWN4N2VrLzgrYmJiM1A2cWFmeHlxdXpzU3dMclRXZTUrRTREcDduY2M2WlovS24rKzdsOGovY1NPT0lZZkN6YjBsZUdVRFgvM2VDaFN2eTVQWXk1VWtwcUNxM09QRUloeS84YTR5ampxN21MZThJYnQveVNWNU1IRVBPaEVCSlg5cTd0ZnkzcEVteDNPSDI5UDJCTGhuUFN5SVVTeDYyTERDRzhzTm1VbjdZektCK01jQmozWlBES1Q1VjNiamplM0ZnY0IyWDR3NDZac2ZQb1ZDTTBkTXZvTFY4REpsdHN3RkZlZDJwMUl3NW1uakdwejJSb3Nva0tITnp6Qnc3RE5jNXNHWld0bFNWNDN4dU12NWhkWGkrZ1dTaG5MWGs3aU42Vm4vWjBsVk9WelpNYXlyS1k4c09abGxUTFduUFlWTjdPUjJacU5SdDl0aXVDV0xXVHA4K25lWExsN044K1hKeXVSeGp4b3lodkx5Y1RaczJzWDc5ZW93eFpESVpmTi9IOHp3QU1wa01kWFYxUWR2WEdDWk9uRWhsWlNXalI0OW14WW9WaE1OaDZ1cnFtRDU5T3RZKzd1bFlNN2FVKzFxcnVLTmhCTXRTTVRTOHA2KzN4QTB6ZmZoNC91MlkwNWsxN1NUaWJZYmJIM3lIdXg1Y3p1WXRpV0Q3Y1NsUGlwSkVQeGE5YTh4cVE5ZUtwZWlTTUY1WEp4WUdiQnRsV2VUck53V3ZzNTFnSU56MzhacWJjQTEwclZxR21XUzZzM2RvdnpDK3hvcEY2WHp5ZVZxUE9aeTY2NjZHY0RoNExwdWw5VTkvby9QSjU3RmkwZDBEVUloOVQyc2dyQlQvV2xJYVZPS1ZrZ0M1QTBUcm5YUFJCMVAvdjFKUUhyVTUvcUFLbEZKazh4cWxGSGxmNDJ0RFUwZWVaeGUzc1dSelVvSytpUVBXdlJ1dkcrUkgrQU01U1dMQTdobjk3dmJIcENWN0FKdXhxazBWMXpXaGhzYnh4cHNoUHNBSDgvSWpjUGdqa3VtRkVBUGJMamRCTWVpRzhyVGxYSzVZTkoxSG02dFJ3RU5iaG9QajQ0Ynk1STFVUjNiZVBJQU5QanlYSmJycWJhemN5eENLUUZsRklkaStDdjYxRkhheWs4aWJUK0xYamNSZHM1Qkl5eVpVT1BiQkkxUEdJRnMzaWI1a3VqMFVxdkJOTUhFMzcydis5NzQzZUhqT0dpNDhaUnFuSERtTzR5WmRoaTR2NTh6RFAwOXpQTTRicXp4ZVhaamhMeTg5d05aTnJlaG9HQlZ5OExXQm9CZGVERUpiZmhiQjVIbnZIUGZDQ1l2TzBOUmVsaVYvZkRsM05WM0dyYk92WlUzWHBKMXo0OFZlV2NDWWlPSS9KdGxjTXNvbVluV3ZWTmRwVFhKMkY1MzN0K0MzZUlNdnZYTTUrT1V2NFo1N0N2ZXFRcWRJUTBQd25CQkNDRmo2STdsYjlxZTVYKzVSK3U2dmVxbXZKVHNNdXVaOElaQ2lOaG9NaE53d0lUZk1zVWVkc2t1REg3VFdHR1d3K2lud1lvbWY1OURrTmk1c1hzYXhpWG9pMmd1Q0J3Mm10RHBLYXYvOTMxWTNRVjRFV3JQdHZOWThqMXRYMzgzYzF2bTR5cVhDTFVjYmY4ZHJoQmlLZkVXL0I3a3R0a3ZJN3JNNWFHYm5uVTNtdFFreEpNcUhvVjgzQXFVTXFXeVlWQ29HbGtiWlB1bHNtSi8rNDJ3TWtNNkd3ZmJwU3NYb1NwU0M3YU9VNlpNMlgxL01jM2wrQVVSdnUwSk9waEJDN0lPajJsZDF2L3h0NytmbmUzWURnY3BLdU9naW1Ec1hubm9LVGp3UkxyNFlYTGYzN3oxbURIem1NK0E0OE9hYmNNWVpjTUlKd2MrRC90NnVHQlBMcTM4L3VGMGRWcG5WZDZ5dDVKOHRVUlgzZ25rRS9kWHhwQ0lHYk1nOVdZaGNaeGNlRTBOWFlhRzQxOVJHdnJHVkhZM2hYWWF6c2F6Z1N4eFE3WXNWYXpXeGlNVnYvK0xUMldVNGJMckZoREdLVUVpaERlUXkwTnltZVdhMlp2RUt6Wk12YUhRV1RCcFVHWmdSUUJVUUl0anhwNGx1RHpqWkJrS1d4U1dySCtYTXJXK1FzcU5ZZzdnUk9uOTl1MlFhSVFiSXl0bnoxY3JaOHlVaFFEYXpFZjN1c0k2M1pMeGJpSUZxbHBVTTduNEt1ZU9Jb1dTcXJPWVF1NWlVWHFWSUYzNzQxblhCbHhCRG5NR2dIQlhFQnl6OGJQbUZlYis3QkNMZDlUVjlZVVQ3RWlsL3hRNnZmZnMrQmZjVnpmRm1jdDI3RmtxaWl1bVQ0TE1Yd3F4VHlvZzBPalQrTmt6WEd5NDZKWHZVN3l2SGNkQmFjOFVWVi9Ec3M4OFNDb1c0NmFhYm1ERmpCcFpsWVl4aDE2bEtsbEo3ck9rcEZaUm5ZOGFNWWVUSWtkeDAwMDM4N1c5L1kvTGt5WHoyczUvRmRkMTlEdVlzUk5IeS9YNTVXeW5lQXZzMGYwZUlRZWEwbFVWV1g3OXlrbHh2UWdnaGhPZy94dUJ2YlVTRlE4SFBlZzk5UTdxd0w0dHRCNjkxWk91Zm50aStGNFd5TEZEMmp2U1hQU3IyTEJwMnFLMk9jZUtSWTdua3ZFTkpwUElzV2RWRVBKbkRHTU9KUjQybHFUWEJncVZidTcwY1dnRWxVWmRoVlRFK2ZzcEJYUGp4R1RTMkpGaStwb1ZVT2djS1RqdCtBbzB0Q1Zhc2IvbkFPY0FTWGxVSThiN3VlS2JiSllRUHBJREw3bnlleXlUbDlxMEs0eXVjS285aDF6WlFjMFVUeWpIb3BFTFpnK3UrdXY1SHQyTkhRampscGUvZEYwNEZkUUdESVhiODRkUisrd3VzbUZuREQvOTVLeStzbmszZURXT0hTL0FsdUlFUWUvYWJFNlZHSnQ1VDQ4K3RXRS83VFhkVCtlOCs3cVF4V0tVeFREWlA4dkdYU1R6K0N0Nm1odDNXakdvVU1aM25vNG10ZGxqcm94eWp2L3RtdEM3c3BUWTlBRmFPRSsrQU9WK1FwQldpdDFlbjYxQTU2NHdkazRrcVo1MHg1R09ibVg2YXJ6RGc1MDRwZk4vbitPT1A1Ny8rNjc5d1haY2JicmlCT1hQbTdKaWoxQk1lQmh1RmorR0h5VVlXNUZOOHYyUUVwY29tYm53Y21abnhnWFJoamFVZGphSFlaUTZaS2NRcDFScHpBSzNETkRhRXBodWk0elRaS2tVMFp3aHQxVVJtZ0ZhUSthZkJYN3M5blJTV1VxVHlQa3RhVXBTRmJJYkhYTUsySXVzYnlseUxNYVVoS3NNMnplazg5WWtjYVU4enRUTEMyTklRYVYrek9aNmhNWmtIQmVOS3d4eGRXMEpyMWlQckdUWjBaZW5JK21ROU02VDJXVkdZWUZzU1pWSGpKVGk1OFJtK3RQclhmS2h6TVo3eDZiUnNiR1hZTHlNSFE2Uzg3VkZaQUNqWm1rcUlBN3lpcllMN3Z6RkVSbzhpTW5ya2JzOFpyWU54U2ZIZTI0Y005QWtoaEJCZ0RFcm1MQTBJdDlCNE16cG94NXAzMWVuQ2hhcUpuSTFpcW9wTGZWTHMxUG5NcktMS0VNWUVjMWt0QlEwdFNYNzd0NFg4L0xkdmtFM2xjVXBEZUw2VVJyMlIweUZKQkNIRUhxMjc1d0ZKQkRGRTJwS0FhMUhaRldmem02MVVIenlCOFBSV0d1cVhrbDRUcDlMTFlhd3lhZUdJM1N1Zys3SC9ZZXJXTndlbXZ0NE96Sml5MjBONmwza2JudWZ0K1A2S1N5N2xpa3N1bGJ5eEgveHpTWDZ2cndtNWl0RjFGcDgrSzh3VnMwcHg2MFp4VjhjWi9MN3RQRGJreHFDUlFmcjMwM0dmckhrUXhldndRNm9IOWZFdGtxMHBkcWRVc0JaTGE1UnREL2pIaDVUbU05VmJkbnd2RGx4dUtNTHdDU2VScVp1T1FoR09WYUdVb3NveGZQNmtLVXd1TlhUbERFZFByTUcyRHJCeGhmb3U1ZjNQUXNra29zKzBwbUswSkdKczZLaGc0ZFlSZU5wQ0FhdGJhMURLeU1xREQrQTREb2NlZWlnelo4NEVvSzJ0alZXclZsRlZWY1g0OGVQeGZSOWpETzR1ZTZadWI4OGFZM0FjQjkvMzJiUnBFOU9tVFdQbXpKbTlHaXY5ajdVVGVMR3pnczY4aTFHN3Q2MHNwYWlPbG5IbVFVZHkzZkZuTTcxeUF2T1h0SExybnhiejNHdjFwRE41Q1hCYzdQbFJra0QwcWczZ2UzU3VXVTJ1SWtyVzErVFdyc1lLaDRNQ0t4OTArbml0TFVFUXAyd0c0empZbnFIVGxHRW1qQWtXWCswbnhoaVU2OUIweTI4cE9lWUlTazg5QVlEa3ZJVTAzZkpibE92MDZhWUlCN3BRNFdZaEtUclErWHh3cmhmTyt6Qi9YWng0MnFPMjNDVWFzbG5ibENhZTlsaXlPY25xaGpSNW1TZ2pEbURsYm9ja2doQkNDQ0dFRUVORTNpZ3NaVkNoUEE5dnJRUEFEdVV4UnBHWFJmVkJaNUVOWkF5OG1ZY1hzMWlkR2tLQVd3bEdnL1ozZVRGQk1IN1h4WG5oUHRTRzVkanIza2E1WWFUblNReTBFZm5FUHYrT0FxeVFJcjErRS9ldFhNdjkwUkExbGFXVVJoMHNaWk5JNTJodTYwSm44dWlReThpd2c4N25lNVM3RytVVURXeHg1Z1BXN3VXYjBlQU9OOVJja0tQa0U0clh6YW5jL05iMXZOeDBNcjYyWkpmRmZXQXBHQkZTZkdXaXpSV2piYUoyOTBwOWs5V2tYK3VpNjc1bS9KYjg0RXh6ejRNbm5wQ1RMSVFRUW9naFVHY0w2cmp2bldzVC9HejFVOUJGQzBOdExzVkhPOVp4ZnV0eXhtUzZnajFtcE1KOXdORkdvNVFpNWFWWm05akliYXZ2NXBINnAwbjdHVXFjRXNEZ0cxOFNTZ2doaEJBSEZBUEJBaTgzR0dzd1JtR0F0OVpPQmtBNUhzWW9sTzJqYkgvSDgwSUlJY1IrWjl0dzBFRnc0NDB3Zm56d2MxOXhIRGp4UkJnekp2aU0vUkFZbzhmM2RnTVJTL1B4a1FscmFsbk8vR0ZkcFg2d3ZrdzFwRzNWWDV0N21LUWkrM2gwdDhkVVZQcmVEZ2lXMnE5clA4WGdvalhZRml4NFIzUFFSSXM3N3ZVNTduRER5RHJGcU9FSzM0Zk9oR0hSVWsxYkI3ejJWdEMrNkV5WllPeWdDNGdEMVVBZHNKbkN6bTUwYndLSUUrTG9oamU1YnRVRGVKYk5ZRys1WEgzN1c1SnBoQkJDQ0NGRXo5dmlFbWREQ0NHRUVBTlo5M2pYdkYrdHpGNWZJNFI0ZjdZRmxlVVdIejg1eEhVWFJ6bGlWSWprR3lIcUh3MlJYVzhIbStYSzhFdVBSYU5SYnIzMVZuSzVIT1BHalVNcGhURm1uOVlxV0pZVnhDQlZpaGt6Wm5ETk5kY1FDb1dJUnFPU3dFSUlJWVFRUWdnaGhIZ1A1YnA3MytTaDhIeTNYaXMrT0NsM1NVL3gvbXhMTWJLMmpMTFNNQnUyZE9EWUZzMXRTZG82MDlSVmwzRGtqSkVzVzlQTXdtVU4zZTdqTjREaldJd2RVVUVvWkxOcGF5ZnBqTWUyMWpqeFpJN1JJOG81N3RBeC9QUHRlbGF1YjVFMWlFSUlNU2dyTG1BOFJYaGltaEZmcjZmc2pFNU0xbUJ5Q21VUHZwTGJMWXNGKzJuNXUyODZyWlJDZXo1V2FaUzZLeTdFL1B1bitYUGliWDc4Mk05cFRXeURjQWtLZzI5a3Myb2hoT2grWTh1Z094TjRRTWV0OTJGVmxPR01IazUrdzFiOGxuYjhyYzJZZERZSS9yeGJPMEVSTlQ2bnBCcnRrTkdIT2taL1oyNXNlRGh2T1g4Qks4MkpkOENjTDBqNkN0RWJsaFhzdWJHOXBXMEtqNG1pc1hYclZzNDg4MHhDb1JEWFgzOTluN3luWDRpa2FxRjRMTmZGRWovRFRTV2pPTUtKMG1ZOExJa0FzRmRhUzNzQndOS2dObXJjRXhUcGFvdFEySWN5aThod0g1MEFyMXpoaHdFdmVIMVZ4S1VtWXJNMW1jUHpOV0hib2pKc1V4ZFRsTHNscEgxTlV5cEhpV016dXNSbFdYdUd4ZHRTYkU3a21GUVJJV3hiekt5SlVodDFTZVI5TnNhelJCMmJVdGRpVXp4TFY4NGZVdjJLRmdhamJHTEdaMHI3QXE1ZmN4dXpHaDRuNm1kSktndVV3dGFlWkVRaGhOaGZGQ2dWMUxmTkxuY2dCU2lwY3dzaGhCQkNEQXE3OVJNbzljSFBDeUZFUDlOYTQydkR4cVk0My9uVlN6ejZ4Rkp5cm9NVmNmQWtGbFN2MlVyMkNoTkM3Sm4wMVltaDFNTFJTakVzM0VYNGlSZm9tRE9DUkhrZTFSQm50SUsyOFJhK05rSGJSNm9XUW9oaXVsY3JLSWtxanA3aDhzVlBSem50eEhKV3FCbmMxbkFSVDhkUEpLbWp1NDNGaVQyMGh3WjdkVWVhYStJRFBQZS8vektvajYvMlQzS085bFJ3cS8yNEI5dElOeXZuUUJTeW9pSmFVdk9leDBiV1ZIRHBoNC9HYUkweEJsdjZCWVRvRlVzWld0SXhHdUpsd2J5NFhSNFhlN2M5SmkxQWFXa3BreWRQcHJxNkd0dTIwVnEvYjR6YjdjOTVua2RiV3h1eFdHekgrK3o2bnZ2aTBkWWFOTUM3emwzRWNwaFlNNEtyano2ZFN3NDdEWk9PY1BlRHEvak4vVXRadTc0VDM1ZzlqcldMNHVKSUVvaWVsMlJCSThBT2hjQzJVWmFORlpSR1lFd1FDQXZBOTBFcHJIQWtLR3lNeHQ3K1hQQW0rNnNrUnRrMmZtY1hXNzcvQ3liLzdiY0FiUG4rTC9BN3U3RENZWXdzRU92VDdDTEVkdW1jejR0TE8zaDVlUWNoVytIWUZ1bWNqNi83YmtPU215NmFLTFVVVWJTMHNZdnJnQis2dE52WG13WXVmbkQ3VDgyRkwrRHZoUzlhZ1A5UE1vRVFRZ2doaEJoYWRYd0FvN0RkSUFDTWI2VEp1b01GYk5Yd1hBYmVLUVRJQ1JVbXVwcjNtMVZrUU5sWXlVNnMrVStER3dIYmxvRHlZc0Q5YnUwL2V2eTdDb1ZsS2JRMjVMV1A5ZzBHaFcyQmE5dkJjOGIwcXEvc1hEbEYrN1hnVnhHb09OVmoyS1U1Tm8yZXpBMnJyK1V2Nnkra00xZk9icVByb2x0R2hCVmZIbTl6OVJpYmttNTJuWm1jSmpVblRzZTl6WGhOZVVsRUlZUVFRb2dCb2dad1FtRllleHljYnVIQzV1V2MxTFdKbUMvMXZnT1paenhhcyszY3ZlNEI3bHIzVityVERVU2RDREVuaXBaTmhZUVF4WFV2bFo0aklVU2ZNb0RaWlh4U0E1WWIxSjIxMmI0WVNjbGNieUdFRUlPdFlneDFkVkJiRzN6Zmw5Vmt5NElKRTJEOCtMNS83d0c2dHl0Z2NtbE9mWHRHaXpxeUtxUHZXRnZKb3ZhdzZwZFFHN3J3OWU3SGhCQUhuTHdYRkptcjFta2lFV2h1TlpTWEJXVm9SWm1pc1ZuamVkRFlZa2lsUWV1Z2xXRjBvZURTUUd2aGF4OGJJQ083NnZuT083K25QSjhnYTd0WWczeXU0S2FXcEdTWWZ2VFVGNC9ZNTV2M3M1SnNRZ2doaENnaWRiSEJIV2VnU1U2UkVFSUlJUTR3L3VJclpUNlg2SmFRQzFQR09Wd3pLOEtuejRoUzBlblFmSGVZenRrdWZyeVFqU1EzOVpobFdXaXRHVFZxRk1BSEJtM2VHNlVVU2lsODMyZkNoQWxBRVB2UWtrRDFRZ2doaEJCQ0NDR0VlTGQ5bWE4b2NSQkZQK2ZHN2Q4a1Vqbm1MYTVuNGJJR1hudHJFNmNjUFo1eG95b1lQYnljVkRyUFBYOS9teGZmV0xkakx1OHUxUHU5SjBCSFY0YlhGbXprelhlMjhPcGJHem5weUhHTUdsNUdhV21FZUNMTDd4Nll6OXlGOVpMVmhSQmlzTjRvTkpTZTBzbUliMndpT2kyTG55NHNtN1BNSUQzZVBSK1g4WDBpaDAxbDVMYyt6NFlUSnZMamhiL2p5ZVhQazdGc3JGQU1YMklJQ1NGRWovbGRTZnpGcTFDdWczSmRURGFIOGYyZ1pXQ3A5MjJJUkl6UENla215elgrTkFmOXJUbXhFYUdzY3Y0RUtzV0hib2MzcnBQRUZhSTNkcjMrWkc1UjBZbkg0MXgyMldXNHJrczhIdSs3K2pMZ1kzQlFyUGR6WE5TMWdSK1VqT0N5Y0JVSjQ1UEhZRXVHR1hCVFdsNHJ1dUFrdWJoTmVqMlVwejFTS3l6aXJTN1ZVelRlV3NpVk8xaGxHanFDbDVjNEZsTXFvMHl2anRLVjh5bDFiZXJqT1JZMXA0bllGaDA1SDFzcERxbUpVaE4xT1VRcGtwNW1YR2tJYldCRFBJc3hOblV4bDY2Y1QyZk9wejZSSTVIWCtOb011Zmhtam5Lb1NkZHoxWVkvY3MzNjN6TW0xMDdhK0tTVXducmZmWmJFa1BWNWlSOHF4R0N1Ynl1cE53a2hCcVBiUDlQdHdpa0wvS2p3dFZNZWVMRHdKWVFRUWdnaGVpdVQ4M2xqMFJiKzgrY3ZzUHlkQmt6VVJXSDJOQTlUOUlDUnRya1FBOWplZkV3dU9DSDJDd1UrNU5JMlZUTnRZc3ViMGRzVWRybEZiSXFoc1VrRmMzcWxhaUdFS0NLMkJiVTFGaGVlSHVhem55cWhlbXd0RDhRL3doMnRGN0E2TTRFOHRoUnMzV2tQeVJRU1VjUnF5c09TQ0VLSVBtY3BCYll0Q1NGRUgyaFBSN2h2NGFFa2NpNmVsamlxKzBydE12VTNIQTVUVzF1TFVncGpETFp0bzdYZTQrL1l0bzB4QnRkMXFhdXIyKzE5VkErbkUrczlmRTVwS01LL1REeVVMNTl3THNlT09waGxLenU1N2M4TGVlTEZEU1FTdWVCM3BEZDRTSEFrQ1VTdk94K01DZnBvZG8wR3BOVE9uN2NYVHNZVUhvZWRTM3oyYjBsaXRNYUtoRWt1WE1TMlczOFBRSExoSXV4b0NjYVhvQkpDOUhmWjRmdVE5azBRclVZcUZrSUlJWVFRUWdnaGhqamZTT1AzUFpaNDhFd0d0dm9RM3Q2UDJKMWZOTUdncjFNVzlDdElwSEt4SDR6UGR2WE5HNm1kWFdQR0J6eEoyNkpWS0lxaU16UzFsMlhKSDEvT1hVMlhjZXZzYTFuVE5TazQwWElyNkpIUGpiVzVlcXhOdWRQOWs1RmJuYUhycnkxNERUbEpRQ0dFRUVLSUllcVV6azFjM1B3TzAxTXRPRWJMRXJNRDNPdk5iM0hqaWp1WXZXME9qdVZTNnBUZ0d4K056QUVUUWdnaGhIZzNMZU9XUWdnaGlvRlNPOWVrRmRON0Q2QXlSM1BCbUM1cmZFbmUzTDY2U3Q4anVVWUkwYytNQWQ5QU9nUHJOaHVpRVVNdUI5RUlKRk5CMGVyclhaWVNiKys0MzdVRHZ3ZWQrZDlZOWllT2FGdEoxZ3BoRmNGbThySTVsUkJDQ0NHRTZJMTdmbjdrb0Q2K000K1hjeVNFRUVJSUljUzdXUmJNbk9MdzNjK1hjTVlKSWZSS2w0WS9SVWd1ZGpDeVpyZ1AwOW5hRWFqWjdvUGc4cnNHZnJZc0Nhb3RoQkJDQ0NHRUVFSUlJUWF0RExEYmRzVEdRQzd2czJ4dE02czJ0Qkp5YlN4TDRmdUdYTjVENjkwbjdLcGdPN01RWUFVL294VXF4N3RtOWhvRG1hekh3bVVOTEZuWlJNaTFVWmJDOHpTNXZCL3NTN1E3Q2ZNaGhCQ0RSTldzRm9iL3h4YWN1angrV3FHc0lpdWlsUUt0S1QzekpFYjk4cHU4VXRyRzlVLzlGeHZiMW1OQ01SVGdHNGtoSklRUVBTeGtkMWI0QVpQek1MbnVUMll3UU5ob2pzbTBXS0YyUGRreDVwdXpZeVBDT2VYOHdVQ0NFMzV0bVB0bFNXWWh4QUZsZXg5SlYxY1hEejc0SUxCelBwUHB3ejFUUEF3MkNoL0RENU9OTE1pbitFSEpDTXFVVGR6NGNpTEVYbS9pZG9kUDltbklBeWFsY2NpUlhHSXdQaGpMUTZOZ2JQRHl6ZkVzamFrY1V5c2psSWR0VnJSbDZNajZaSHhOTWgvRSs3VXNXTmVSWVJXR3lSVVJScFc0ck8zTVV1cmFUS3VNMHB6SjgzcERuT0ZSbCtsVlVaYTBwT2pNK1VPeUUvR2twdWY0K3NvYk9iVmpFWjZmSWFFc2JBeVc3SnNraEJCQ0NDR0VFRUlJSVVUUmVmRHBGWHpyNXBkb2J1ekNpb1h3dGN4UkVVSUlJY1ErTUlBRjJYb0lPUVozc28yWEJLZkNrTjBLK1E1UUV0SkVDRkZFbElLNkdvdC92enpHbGVkSDhFcHIrWitXei9ESDFuTm84eXNMT3dQTC9BZ2hoQkJDQ0NIMkowOWJ0Q1pqb0tSdTNyZnRvV0FkM2dmRnAxWDl2UGRwMUFseDhjeFQrUHFwc3hoWFhzZkxielJ3dzYxdnNXRHhObktlUnJZaUgySjVUcEpBQ1BGKzZzZE5HTlIzK1RHYk5rZ1pKb1FRUW9nRFRiZnJaeWNjVmNHdnZuOFFIenE2QXMvZnk2L1o0Qy9UWk8vSTQ3K2p3ZW5lWjlRc2YwUHFZMElJSVlRNG9MUWZjbWkzNm1QT3pFTUkvOC9OUExha2thdi82eDdpaVRUUnNNdi9mdmRmdWVJak04aDk0eHQ0Yy8vWjU4ZFh0WFNKMU0rRTJFOFdWRXcwVHAyaCt2dzhzZk1zNW5BaU55KzdqbGVhVHNiWDF2NGZrZnVSa3ZKaFlCdnYrMlY4UmNuWXJ4QkNDQ0dFRUVWalR1a1IzVzgzYUUxazhqZ09lZnIzaEViVkJlME9YN1A2eW0vUTh0QXpLTWZwOCtNN01iRkkyaGRDQ0NHRUVPS0FaYnF4MjVNMmhnVWJFMXg0eDJJT1g3MkFYNjk2bURJL1M4WnkrZGJrYzNsbTh2SGM5N21aL012VUtteXJiNnZYU2hYM3VNK0pYMzl0VUs5VG1YUGp5ZEllRWtJSUlZUVFRZ2doaEJEN2plZnJRZDEvNXZSMWg2Y1FvdHVzVC82dVcrVkRUVm1FZS8vOU5FNksxN1B0eTkvRGIrOGtOSGs4ZFhmZXlPL1dwUG42M1hQSjV2dCtNeXo5OExWU1BnZ2hoQkJDQ0NHRUVFSUkwVTNkbWErOFB4VDdQR1VoaEJCQ0NDR0VFRUpBMmFPSERLcCtoL2dGUzZXL1FRd1p4UmFmL3JBamZtUyswN0tJMFY0U1JlK0NKU3ZBUTdFc1hLWC9VRGwxNjRKbzdhMGE3Z1E2bVB0bDJjMWFDREZVN2JWOHMyMGJBTi8zKyswZ0ZHQ2g4REZNc0VQOHNtUWtSemhScHJhdGtIcVdFRUlJSVlRUVFnZ2hCcFRzNHlwMmRjVS82Z2YxK01DZnpoNGorVUVJSVlRUVFnZ2hoQkJDQ0NIRW9HTTI3T3ZVZmdYR2dGMEZvOWVDVlVVd3hYWGZ1c0Vsbm9nUVFnd09VODYrZDFDUHM2NzV4NlZ5dnhCaWdEaVNCRUlJSVlRUVFnZ2hoQkJDQ0NHRUVFTDBYT2xKUHNNdXo1T2VYc0V2Vm4yQk8xZGZTWHUyTXBoWEpVUGZRZ2doaEJCQ0NDR0VFRUlJSVlRUVFnZ2hoQkJDQ0NHRUVFSUlJZmJDR0VrRElZUVFRZ2doaEJCQ0NDR0VFRUlJSVlRUVFnZ2hoQkJDQ0NGRTcyeHd5L2o1c01PSkdCL28vU1JsWmNCVGx0WG94RVliK0RMUUJkd0ZaQ1MxaFJBSEt0LzMrLzB6RE9CamNGQnM4SE5jMnJXSkg1WU1sOFFYUWdnaGhCQkNDQ0dFRUVJSUlZUVFRZ2doaEJCQ0NDR0VFRUlJSVlRUW9najkvMVY1MmQ3bjhmSGFBQUFBQUVsRlRrU3VRbUNDJztcbn0iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuaW1wb3J0ICogYXMgaW50bFRlbElucHV0IGZyb20gJ2ludGwtdGVsLWlucHV0JztcbmltcG9ydCB7IFBsdWdpbiB9IGZyb20gJ2ludGwtdGVsLWlucHV0JztcbmltcG9ydCBNYWtlUmVxdWVzdCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvVXRpbGl0aWVzL01ha2VSZXF1ZXN0JztcbmltcG9ydCBHZXRGbGFnc1VybCBmcm9tICcuL0ZsYWdzJztcbmltcG9ydCBHZXRGbGFnczJYVXJsIGZyb20gJy4vRmxhZ3MyeCc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICdpbnQtcGhvbmUtZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG4gICAgICAgICAgICA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2ludGwtdGVsLWlucHV0LzE2LjAuMC9jc3MvaW50bFRlbElucHV0LmNzc1wiID5cblx0XHRcdDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwidGVsXCIgaWQ9XCJwaG9uZS1maWVsZFwiICAvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgfVxuICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgIH1cbiAgICAuaXRpIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgaW5wdXR7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWY0ZmY7XG4gICAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG5cbiAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuXHQuaXRpX19mbGFnIHtcblx0ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2ludGwtdGVsLWlucHV0LzE2LjAuMC9pbWcvZmxhZ3NAMngucG5nJyksIHVybCgke0dldEZsYWdzMlhVcmwoKX0pO1xuXHR9XG4gIH1cbiAgICAgICAgICAgYCxcblx0dXNlU2hhZG93OiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJbnRQaG9uZUZpZWxkRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHBob25lOiBIVE1MSW5wdXRFbGVtZW50O1xuXHRmdWxsUGhvbmU6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cdGludGxUZWxJbnB1dDogUGx1Z2luO1xuXHRyZWFkb25seSBVVElMU19VUkw6IHN0cmluZyA9ICdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9pbnRsLXRlbC1pbnB1dC8xNS4wLjEvanMvdXRpbHMuanMnO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5pbnRsVGVsSW5wdXQuZ2V0TnVtYmVyKCk7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuXHRcdHRoaXMucGhvbmUudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRjb25zdCBwYXR0ZXJuVmFsaWQgPVxuXHRcdFx0IXRoaXMuaW50bFRlbElucHV0LmdldE51bWJlcigpIHx8IHRoaXMuaW50bFRlbElucHV0LmlzVmFsaWROdW1iZXIoKTtcblx0XHRyZXR1cm4gcGF0dGVyblZhbGlkICYmIHRoaXMucGhvbmUudmFsaWRpdHkudmFsaWQ7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHR0aGlzLnNldEludGxUZWxJbnB1dCgpO1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy5waG9uZS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKTtcblx0XHRpZiAodGhpcy5yZXF1aXJlZCkge1xuXHRcdFx0dGhpcy5waG9uZS5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0fVxuXHRzZXRJbnRsVGVsSW5wdXQoKSB7XG5cdFx0dGhpcy5waG9uZSA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNwaG9uZS1maWVsZCcpO1xuXHRcdGNvbnN0IGdlb0lwTG9va3VwID0gKHN1Y2Nlc3MsIGZhaWx1cmUpID0+IHtcblx0XHRcdHJldHVybiBuZXcgTWFrZVJlcXVlc3QoXG5cdFx0XHRcdCdodHRwczovL2lwaW5mby5pby9qc29uP3Rva2VuPTgyMjYxMzgyMTdhNjhhJyxcblx0XHRcdFx0J2dldCcsXG5cdFx0XHRcdHsgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuXHRcdFx0KVxuXHRcdFx0XHQuc2VuZCgpXG5cdFx0XHRcdC50aGVuKChyZXF1ZXN0OiBhbnkpID0+IHtcblx0XHRcdFx0XHRjb25zdCByZXMgPSBKU09OLnBhcnNlKHJlcXVlc3QpO1xuXHRcdFx0XHRcdHJldHVybiBzdWNjZXNzKHJlcy5jb3VudHJ5KTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIHN1Y2Nlc3MoJ0RLJyk7XG5cdFx0XHRcdH0pO1xuXHRcdH07XG5cdFx0Y29uc3QgaXNJcGxvb2tVcERpc2FibGVkID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZS1pcGxvb2t1cCcpPy50b0xvd2VyQ2FzZSgpID09PSBcInRydWVcIjtcblx0XHRjb25zdCBkZWZhdWx0Q291bnRyeSA9IGlzSXBsb29rVXBEaXNhYmxlZCA/ICdkaycgOiAnYXV0byc7XG5cdFx0Y29uc3QgdXRpbHNVcmwgPSB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS11dGlscy11cmwnKTtcblx0XHRjb25zdCBjb3VudHJ5ID0gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtY291bnRyeScpPy50b0xvd2VyQ2FzZSgpO1xuXHRcdHRoaXMuaW50bFRlbElucHV0ID0gaW50bFRlbElucHV0KHRoaXMucGhvbmUsIHtcblx0XHRcdGdlb0lwTG9va3VwOiBpc0lwbG9va1VwRGlzYWJsZWQgPyBudWxsIDogZ2VvSXBMb29rdXAsXG5cdFx0XHRoaWRkZW5JbnB1dDogJ2Z1bGxwaG9uZScsXG5cdFx0XHRpbml0aWFsQ291bnRyeTogY291bnRyeSA/PyBkZWZhdWx0Q291bnRyeSxcblx0XHRcdHByZWZlcnJlZENvdW50cmllczogW1wiZGtcIiwgXCJzZVwiLCBcImdiXCJdLFxuXHRcdFx0bmF0aW9uYWxNb2RlOiB0cnVlLFxuXHRcdFx0dXRpbHNTY3JpcHQ6IHV0aWxzVXJsID8/IHRoaXMuVVRJTFNfVVJMLFxuXHRcdH0gYXMgYW55KTtcblx0XHR0aGlzLmludGxUZWxJbnB1dC5wcm9taXNlLnRoZW4oZSA9PiB7XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0dGhpcy5mdWxsUGhvbmUgPSBzdXBlci5nZXRDaGlsZElucHV0KCdbbmFtZT1cImZ1bGxwaG9uZVwiXScpO1xuXHRcdFx0fSwgMTAwMCk7XG5cdFx0fSk7XG5cblx0XHRjb25zdCBpc0xvY2FsRmxhZ0VuYWJsZWQgPSB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1sb2NhbC1mbGFnJyk/LnRvTG93ZXJDYXNlKCkgPT09IFwidHJ1ZVwiO1xuXHRcdGlmIChpc0xvY2FsRmxhZ0VuYWJsZWQpIHtcblx0XHRcdGNvbnN0IGZsYWdXcmFwcGVyczogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4gPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbChcIi5pdGlfX2ZsYWdcIik7XG5cdFx0XHRpZiAoZmxhZ1dyYXBwZXJzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0ZmxhZ1dyYXBwZXJzLmZvckVhY2goZiA9PiBmLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoJHtHZXRGbGFnc1VybCgpfSlgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxufVxuIiwiaW1wb3J0IEN1c3RvbUVsZW1lbnQgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBDdXN0b21JbnB1dEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tSW5wdXRFbGVtZW50JztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tRXZlbnRzJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ251bWVyaWMtZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG5cdFx0XHQ8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuXHRcdFx0XHQ8aW5wdXQgdHlwZT1cIm51bWJlclwiIGlkPSdudW1lcmljLWZpZWxkJy8+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE51bWVyaWNGaWVsZEVsZW1lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dEVsZW1lbnQge1xuXHRudW1iZXI6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdGdldCB2YWx1ZSgpOiBhbnkge1xuXHRcdGlmIChpc05hTih0aGlzLm51bWJlci52YWx1ZUFzTnVtYmVyKSkge1xuXHRcdFx0cmV0dXJuICcnO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5udW1iZXIudmFsdWVBc051bWJlcjtcblx0fVxuXG5cdHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG5cdFx0dGhpcy5udW1iZXIudmFsdWVBc051bWJlciA9IHZhbHVlO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm51bWJlci52YWxpZGl0eS52YWxpZDtcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy5udW1iZXIgPSBzdXBlci5nZXRDaGlsZElucHV0KCcjbnVtZXJpYy1maWVsZCcpO1xuXHRcdHRoaXMubnVtYmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLm51bWJlci5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5tYXgpIHtcblx0XHRcdHRoaXMubnVtYmVyLnNldEF0dHJpYnV0ZSgnbWF4JywgdGhpcy5tYXgpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5taW4pIHtcblx0XHRcdHRoaXMubnVtYmVyLnNldEF0dHJpYnV0ZSgnbWluJywgdGhpcy5taW4pO1xuXHRcdH1cblx0XHRpZiAodGhpcy5zdGVwKSB7XG5cdFx0XHR0aGlzLm51bWJlci5zZXRBdHRyaWJ1dGUoJ3N0ZXAnLCB0aGlzLnN0ZXApO1xuXHRcdH1cblx0fVxuXG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1V0aWxpdGllcy9TdHJpbmdVdGlsJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ3JhZGlvLWdyb3VwLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdDwvZGl2PmAsXG5cdHN0eWxlOiBgXG5cdFx0XHQ6aG9zdHtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdH1cblx0XHRcdC5yYWRpby1idXR0b24ge1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0bWFyZ2luOiBhdXRvIDNweDtcblx0XHRcdFx0Y29sb3I6IHJnYmEoNzIsIDcyLCA3MiwgMC43NSk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdH1cblx0XHRcdGlucHV0e1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmMWY0ZmY7XG5cdFx0XHRcdG1hcmdpbjogMnB4O1xuXHRcdFx0XHRyZXNpemU6IG5vbmU7XG5cdFx0XHR9XG5cdFx0YCxcblx0dXNlU2hhZG93OiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkdyb3VwRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHJhZGlvQnV0dG9uOiBIVE1MSW5wdXRFbGVtZW50W107XG5cdHJhZGlvQnV0dG9uVGVtcGxhdGUgPSBgXG5cdDxkaXYgY2xhc3M9J3JhZGlvLWJ1dHRvbic+XG5cdFx0PGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSd7MH0nIHZhbHVlPVwiezF9XCIgaWQ9XCJ7Mn1cIiB7M30vPlxuXHRcdDxsYWJlbCBmb3I9XCJ7Mn1cIj57MX08L2xhYmVsPlxuXHQ8L2Rpdj5gO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5yYWRpb0J1dHRvbi5maWx0ZXIoYyA9PiBjLmNoZWNrZWQpLm1hcChjID0+IGMudmFsdWUpWzBdO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHRsZXQgbWF0Y2hlZFJhZGlvID0gdGhpcy5yYWRpb0J1dHRvbi5maWx0ZXIoYyA9PiBjLnZhbHVlID09PSB2YWx1ZSlbMF07XG5cdFx0aWYgKG1hdGNoZWRSYWRpbykge1xuXHRcdFx0bWF0Y2hlZFJhZGlvLnNldEF0dHJpYnV0ZSgnY2hlY2tlZCcsICcnKTtcblx0XHR9XG5cdH1cblxuXHRnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHJldHVybiB0aGlzLnJhZGlvQnV0dG9uLmZpbHRlcihjID0+IGMuY2hlY2tlZCkubGVuZ3RoID4gMDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblx0fVxuXG5cdGluaXRDaGlsZElucHV0cygpIHtcblx0XHR0aGlzLmFkZFJhZGlvQnV0dG9ucygpO1xuXHRcdHRoaXMucmFkaW9CdXR0b24gPSBzdXBlci5nZXRDaGlsZElucHV0cyhgW25hbWU9JyR7dGhpcy5uYW1lfSddYCk7XG5cdFx0dGhpcy5yYWRpb0J1dHRvbi5mb3JFYWNoKHJhZGlvID0+XG5cdFx0XHRyYWRpby5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKSxcblx0XHQpO1xuXHR9XG5cblx0cHJpdmF0ZSBhZGRSYWRpb0J1dHRvbnMoKSB7XG5cdFx0Y29uc3Qgd3JhcHBlciA9IHN1cGVyLmdldENoaWxkRWxlbWVudCgnLndyYXBwZXInKTtcblx0XHR3cmFwcGVyLmlubmVySFRNTCA9IFwiXCI7XG5cdFx0dGhpcy5vcHRpb25zLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG5cdFx0XHR3cmFwcGVyLmluc2VydEFkamFjZW50SFRNTChcblx0XHRcdFx0J2JlZm9yZWVuZCcsXG5cdFx0XHRcdFN0cmluZ1V0aWwuU3RyaW5nRm9ybWF0KFxuXHRcdFx0XHRcdHRoaXMucmFkaW9CdXR0b25UZW1wbGF0ZSxcblx0XHRcdFx0XHR0aGlzLm5hbWUsXG5cdFx0XHRcdFx0ZWxlbWVudCxcblx0XHRcdFx0XHRgJHt0aGlzLm5hbWV9LSR7aW5kZXh9YCxcblx0XHRcdFx0XHRgJHt0aGlzLnJlcXVpcmVkID8gJ3JlcXVpcmVkJyA6ICcnfWAsXG5cdFx0XHRcdCksXG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5pbXBvcnQgU0VDb21wYW55UmVnaXN0cmF0aW9uVmFsaWRhdG9yIGZyb20gJy4uLy4uL2ZyYW1ld29yay9WYWxpZGF0aW9uL1ZhbGlkYXRvcnMvU0VDb21wYW55UmVnaXN0cmF0aW9uJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ3NlLWNvbXBhbnktcmVnaXN0cmF0aW9uLWVsZW1lbnQnLFxuXHR0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9J3NlLWNvbXBhbnktcmVnaXN0cmF0aW9uLWZpZWxkJyBwbGFjZWhvbGRlcj0nU1NTU1NTU1NTUycvPlxuICAgICAgICA8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgICAgICA6aG9zdHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXR7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWY0ZmY7XG4gICAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgICAgfWAsXG5cdHVzZVNoYWRvdzogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU0VDb21wYW55UmVnaXN0cmF0aW9uRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHRleHQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cdHZhbGlkYXRvcjogU0VDb21wYW55UmVnaXN0cmF0aW9uVmFsaWRhdG9yID0gbmV3IFNFQ29tcGFueVJlZ2lzdHJhdGlvblZhbGlkYXRvcigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYCR7dGhpcy50ZXh0LnZhbHVlfWA7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuXHRcdHRoaXMudGV4dC52YWx1ZSA9IHZhbHVlO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLnZhbGlkYXRvci5pc1NhdGlzZmllZEJ5KHRoaXMudmFsdWUsICF0aGlzLnJlcXVpcmVkKTtcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy50ZXh0ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI3NlLWNvbXBhbnktcmVnaXN0cmF0aW9uLWZpZWxkJyk7XG5cdFx0dGhpcy50ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLnRleHQuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHR9XG5cdH1cblxuXHQvLyBldmVudHNcblx0cHVibGljIGNoYW5nZSgkZXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHR9XG5cblx0cHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMudmFsaWQ7XG5cdFx0dGhpcy5vblZhbGlkYXRlLmVtaXQoXG5cdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAndmFsaWRhdGUnKSxcblx0XHQpO1xuXHR9XG59XG4iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuaW1wb3J0IFNFUGVyc29uYWxOdW1iZXJWYWxpZGF0b3IgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL1ZhbGlkYXRpb24vVmFsaWRhdG9ycy9TRVBlcnNvbmFsTnVtYmVyJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ3NlLXBlcnNvbmFsLW51bWJlci1lbGVtZW50Jyxcblx0dGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPSdzZS1wZXJzb25hbC1udW1iZXItZmllbGQnIHBsYWNlaG9sZGVyPScoWVkpWVlNTURELVNTU1MnLz5cbiAgICAgICAgPC9kaXY+YCxcblx0c3R5bGU6IGBcbiAgICAgICAgOmhvc3R7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC53cmFwcGVye1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICB9XG4gICAgICAgIGlucHV0e1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIH1gLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNFUGVyc29uYWxOdW1iZXJFbGVtZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXRFbGVtZW50IHtcblx0dGV4dDogSFRNTElucHV0RWxlbWVudDtcblx0dmFsaWRhdG9yOiBTRVBlcnNvbmFsTnVtYmVyVmFsaWRhdG9yID0gbmV3IFNFUGVyc29uYWxOdW1iZXJWYWxpZGF0b3IoKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGAke3RoaXMudGV4dC52YWx1ZX1gO1xuXHR9XG5cblx0c2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRleHQudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdGdldCB2YWxpZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy52YWxpZGF0b3IuaXNTYXRpc2ZpZWRCeSh0aGlzLnZhbHVlLCAhdGhpcy5yZXF1aXJlZCk7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMudGV4dCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNzZS1wZXJzb25hbC1udW1iZXItZmllbGQnKTtcblx0XHR0aGlzLnRleHQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5jaGFuZ2UuYmluZCh0aGlzKSk7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHRoaXMudGV4dC5zZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJywgJycpO1xuXHRcdH1cblx0fVxuXG5cdC8vIGV2ZW50c1xuXHRwdWJsaWMgY2hhbmdlKCRldmVudCk6IHZvaWQge1xuXHRcdHRoaXMudG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICdjaGFuZ2UnKSk7XG5cdH1cblxuXHRwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy52YWxpZDtcblx0XHR0aGlzLm9uVmFsaWRhdGUuZW1pdChcblx0XHRcdG5ldyBDdXN0b21FbGVtZW50RXZlbnRBcmdzKHRoaXMudmFsdWUsICd2YWxpZGF0ZScpLFxuXHRcdCk7XG5cdH1cbn1cbiIsImltcG9ydCBDdXN0b21FbGVtZW50IGZyb20gJy4uLy4uL2ZyYW1ld29yay9jdXN0b20tZWxlbWVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ3VzdG9tSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUlucHV0RWxlbWVudCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vZnJhbWV3b3JrL0N1c3RvbUV2ZW50cyc7XG5cbkBDdXN0b21FbGVtZW50KHtcblx0c2VsZWN0b3I6ICd0ZXh0LWFyZWEtZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG5cdFx0XHQ8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuXHRcdFx0XHQ8dGV4dGFyZWEgcm93cz01IGlkPSd0ZXh0LWFyZWEtZmllbGQnPjwvdGV4dGFyZWE+XG5cdFx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuICAgIDpob3N0e1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgfVxuICAgIHRleHRhcmVhe1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuICAgICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgICAgICAgICBgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRleHRBcmVhRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cdHRleHQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgJHt0aGlzLnRleHQudmFsdWV9YDtcblx0fVxuXG5cdHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy50ZXh0LnZhbHVlID0gdmFsdWU7XG5cdH1cblxuXHRnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMudGV4dC52YWxpZGl0eS52YWxpZDtcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy50ZXh0ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI3RleHQtYXJlYS1maWVsZCcpO1xuXHRcdHRoaXMudGV4dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKTtcblx0XHRpZiAodGhpcy5yZXF1aXJlZCkge1xuXHRcdFx0dGhpcy50ZXh0LnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXZlbnRzXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxufVxuIiwiaW1wb3J0IEN1c3RvbUVsZW1lbnQgZnJvbSAnLi4vLi4vZnJhbWV3b3JrL2N1c3RvbS1lbGVtZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBDdXN0b21JbnB1dEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tSW5wdXRFbGVtZW50JztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3MgfSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvQ3VzdG9tRXZlbnRzJztcblxuQEN1c3RvbUVsZW1lbnQoe1xuXHRzZWxlY3RvcjogJ3RleHQtZWxlbWVudCcsXG5cdHRlbXBsYXRlOiBgXG5cdFx0XHQ8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuXHRcdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiBpZD0ndGV4dC1maWVsZCcvPlxuXHRcdFx0PC9kaXY+YCxcblx0c3R5bGU6IGBcblx0Omhvc3R7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHR9XG5cdC53cmFwcGVye1xuXHRcdFx0ZGlzcGxheTpmbGV4O1xuXHR9XG5cdGlucHV0e1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNGZmO1xuXHRcdFx0bWFyZ2luOiAycHg7XG5cdFx0XHRyZXNpemU6IG5vbmU7XG5cdH1cblx0XHRgLFxuXHR1c2VTaGFkb3c6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZEVsZW1lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dEVsZW1lbnQge1xuXHR0ZXh0OiBIVE1MSW5wdXRFbGVtZW50O1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRnZXQgdmFsdWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYCR7dGhpcy50ZXh0LnZhbHVlfWA7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuXHRcdHRoaXMudGV4dC52YWx1ZSA9IHZhbHVlO1xuXHR9XG5cblx0Z2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLnRleHQudmFsaWRpdHkudmFsaWQ7XG5cdH1cblxuXHRjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcblx0XHRzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0aW5pdENoaWxkSW5wdXRzKCkge1xuXHRcdHRoaXMudGV4dCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyN0ZXh0LWZpZWxkJyk7XG5cdFx0dGhpcy50ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuY2hhbmdlLmJpbmQodGhpcykpO1xuXHRcdGlmICh0aGlzLnJlcXVpcmVkKSB7XG5cdFx0XHR0aGlzLnRleHQuc2V0QXR0cmlidXRlKCdyZXF1aXJlZCcsICcnKTtcblx0XHR9XG5cdH1cblxuXHQvLyBldmVudHNcblx0cHVibGljIGNoYW5nZSgkZXZlbnQpOiB2b2lkIHtcblx0XHR0aGlzLnRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHR9XG5cblx0cHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMudmFsaWQ7XG5cdFx0dGhpcy5vblZhbGlkYXRlLmVtaXQoXG5cdFx0XHRuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAndmFsaWRhdGUnKSxcblx0XHQpO1xuXHR9XG59XG4iLCJpbXBvcnQgQ3VzdG9tRWxlbWVudCBmcm9tICcuLi8uLi9mcmFtZXdvcmsvY3VzdG9tLWVsZW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEN1c3RvbUlucHV0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2ZyYW1ld29yay9DdXN0b21FdmVudHMnO1xuaW1wb3J0IE9wdGlvbldpdGhEZXNjcmlwdGlvbiBmcm9tICcuLi8uLi9mcmFtZXdvcmsvTW9kZWxzL09wdGlvbldpdGhEZXNjcmlwdGlvbic7XG5pbXBvcnQgRG9tVXRpbGl0eSBmcm9tICcuLi8uLi9mcmFtZXdvcmsvVXRpbGl0aWVzL0RvbVV0aWxpdHknO1xuXG5AQ3VzdG9tRWxlbWVudCh7XG5cdHNlbGVjdG9yOiAndHlwZS1haGVhZC1lbGVtZW50Jyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuXHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9XCJ0ZXh0LWlucHV0XCI+XG5cdFx0XHQ8ZGl2IGlkPVwiZGVzY3JpcHRpb25cIj48L2Rpdj5cblx0XHQ8L2Rpdj5gLFxuXHRzdHlsZTogYFxuXHRcdDpob3N0IHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0fVxuXHRcdC53cmFwcGVyIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6ZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXHRcdCN0ZXh0LWlucHV0IHtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YxZjRmZjtcblx0XHRcdG1hcmdpbjogMnB4O1xuXHRcdFx0cmVzaXplOiBub25lO1xuXHRcdH1cblx0XHQud3JhcHBlciAjZGVzY3JpcHRpb24ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAwIDJweDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXHRcdC5vcHRpb25zLWxpc3Qge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI0U4RThFODtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdFx0ei1pbmRleDogMztcblx0XHRcdHRvcDogMTAwJTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdG1heC1oZWlnaHQ6IDIwMHB4O1xuXHRcdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHR9XG5cdFx0Lm9wdGlvbnMtbGlzdC1pdGVtIHtcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFOEU4RTg7XG5cdFx0fVxuXHRcdC5vcHRpb25zLWxpc3QtaXRlbTpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRThFOEU4O1xuXHRcdH1cblx0XHQub3B0aW9ucy1saXN0LWl0ZW0uYWN0aXZlIHtcblx0XHRcdC8qd2hlbiBuYXZpZ2F0aW5nIHRocm91Z2ggdGhlIGl0ZW1zIHVzaW5nIHRoZSBhcnJvdyBrZXlzOiovXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzRTY0ICFpbXBvcnRhbnQ7XG5cdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHR9XG5cdFx0Lm9wdGlvbnMtbGlzdC1pdGVtLXRpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHR9XG5cdFx0Lm9wdGlvbnMtbGlzdC1pdGVtLWRlc2NyaXB0aW9uIHtcblx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHR9XG5cdGAsXG5cdHVzZVNoYWRvdzogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVHlwZUFoZWFkRWxlbWVudCBleHRlbmRzIEN1c3RvbUlucHV0RWxlbWVudCB7XG5cblx0cHJpdmF0ZSB0ZXh0SW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuXHRwcml2YXRlIGRlc2NyaXB0aW9uRWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cdHByaXZhdGUgY29tcG9uZW50V3JhcHBlcjogSFRNTEVsZW1lbnQ7XG5cdHByaXZhdGUgY3VycmVudEZvdWNzZWRJbmRleCA9IC0xO1xuXG5cdHNlbGVjdGVkT3B0aW9uOiBPcHRpb25XaXRoRGVzY3JpcHRpb247XG5cdHNlYXJjaFJlc3VsdE9wdGlvbnM6IE9wdGlvbldpdGhEZXNjcmlwdGlvbltdID0gW107XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0IHNlYXJjaEhhc1Jlc3VsdHMoKTogYm9vbGVhbiB7XG5cdFx0Y29uc3QgYXV0b2NvbXBsZXRlTGlzdCA9IHN1cGVyLmdldENoaWxkRWxlbWVudCgnLm9wdGlvbnMtbGlzdCcpO1xuXHRcdHJldHVybiBhdXRvY29tcGxldGVMaXN0ICYmIHRoaXMub3B0aW9uc1dpdGhEZXNjcmlwdGlvbnMgJiYgdGhpcy5vcHRpb25zV2l0aERlc2NyaXB0aW9ucy5sZW5ndGggPiAwO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XG5cdFx0aWYgKCF0aGlzLnNlbGVjdGVkT3B0aW9uKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb24udmFsdWU7XG5cdH1cblxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuXHRcdGlmICghdGhpcy5vcHRpb25zV2l0aERlc2NyaXB0aW9ucyB8fCB0aGlzLm9wdGlvbnNXaXRoRGVzY3JpcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBvcHRpb24gPSB0aGlzLm9wdGlvbnNXaXRoRGVzY3JpcHRpb25zLmZpbmQob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpO1xuXHRcdGlmICghb3B0aW9uKSB7XG5cdFx0XHR0aGlzLmRlc2NyaXB0aW9uRWxlbWVudC5pbm5lckhUTUwgPSBudWxsO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLnNlbGVjdGVkT3B0aW9uID0gb3B0aW9uO1xuXHRcdHRoaXMudGV4dElucHV0RWxlbWVudC52YWx1ZSA9IG9wdGlvbi50aXRsZTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uRWxlbWVudC5pbm5lckhUTUwgPSBvcHRpb24uZGVzY3JpcHRpb247XG5cdH1cblxuXHRnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG5cdFx0aWYgKHRoaXMucmVxdWlyZWQpIHtcblx0XHRcdHJldHVybiAhIXRoaXMuc2VsZWN0ZWRPcHRpb247XG5cdFx0fVxuXHRcdHJldHVybiAhIXRoaXMuc2VsZWN0ZWRPcHRpb24gfHwgdGhpcy50ZXh0SW5wdXRFbGVtZW50LnZhbHVlID09PSAnJztcblx0fVxuXG5cdGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuXHRcdHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cdH1cblxuXHRpbml0Q2hpbGRJbnB1dHMoKSB7XG5cdFx0dGhpcy50ZXh0SW5wdXRFbGVtZW50ID0gc3VwZXIuZ2V0Q2hpbGRJbnB1dCgnI3RleHQtaW5wdXQnKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uRWxlbWVudCA9IHN1cGVyLmdldENoaWxkSW5wdXQoJyNkZXNjcmlwdGlvbicpO1xuXHRcdHRoaXMuY29tcG9uZW50V3JhcHBlciA9IHN1cGVyLmdldENoaWxkRWxlbWVudCgnLndyYXBwZXInKTtcblx0XHRpZiAodGhpcy5yZXF1aXJlZCkge1xuXHRcdFx0dGhpcy50ZXh0SW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZSgncmVxdWlyZWQnLCAnJyk7XG5cdFx0fVxuXHRcdHRoaXMudGV4dElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKTtcblx0XHR0aGlzLnRleHRJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCAoKSA9PiB7XG5cdFx0XHR0aGlzLmlucHV0RXZlbnRIYW5kbGVyKCk7XG5cdFx0fSk7XG5cdFx0dGhpcy5iaW5kTmF2aWdhdGlvbigpO1xuXHR9XG5cblx0cHJpdmF0ZSBpbnB1dEV2ZW50SGFuZGxlcigpIHtcblx0XHR0aGlzLnNlbGVjdGVkT3B0aW9uID0gbnVsbDtcblx0XHR0aGlzLmRlc2NyaXB0aW9uRWxlbWVudC5pbm5lckhUTUwgPSBudWxsO1xuXHRcdHRoaXMuY2xvc2VPcHRpb25zTGlzdCgpO1xuXHRcdHRoaXMuc2VhcmNoUmVzdWx0T3B0aW9ucyA9IFtdO1xuXHRcdGNvbnN0IHNlYXJjaFZhbHVlID0gdGhpcy50ZXh0SW5wdXRFbGVtZW50LnZhbHVlO1xuXHRcdGlmICghc2VhcmNoVmFsdWUgfHwgc2VhcmNoVmFsdWUudHJpbSgpID09PSAnJykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBvcHRpb25zbGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXHRcdG9wdGlvbnNsaXN0LmNsYXNzTGlzdC5hZGQoJ29wdGlvbnMtbGlzdCcpO1xuXG5cdFx0aWYgKCF0aGlzLm9wdGlvbnNXaXRoRGVzY3JpcHRpb25zKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMub3B0aW9uc1dpdGhEZXNjcmlwdGlvbnMuZm9yRWFjaCgob3B0aW9uOiBPcHRpb25XaXRoRGVzY3JpcHRpb24sIGluZGV4KSA9PiB7XG5cdFx0XHR2YXIgcmVnZXggPSBuZXcgUmVnRXhwKHNlYXJjaFZhbHVlLCAnZ2knKTtcblx0XHRcdGNvbnN0IGlzTWF0Y2hpbmdUaXRsZSA9IHJlZ2V4LnRlc3Qob3B0aW9uLnRpdGxlKTtcblx0XHRcdGNvbnN0IGlzTWF0Y2hpbmdWYWx1ZSA9IHJlZ2V4LnRlc3Qob3B0aW9uLnZhbHVlKTtcblx0XHRcdGNvbnN0IGlzTWF0Y2hpbmdEZXNjcmlwdGlvbiA9IHJlZ2V4LnRlc3Qob3B0aW9uLmRlc2NyaXB0aW9uKTtcblx0XHRcdGlmICghaXNNYXRjaGluZ1RpdGxlICYmICFpc01hdGNoaW5nVmFsdWUgJiYgIWlzTWF0Y2hpbmdEZXNjcmlwdGlvbikge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHR0aGlzLnNlYXJjaFJlc3VsdE9wdGlvbnMucHVzaChvcHRpb24pO1xuXHRcdFx0Y29uc3Qgb3B0aW9uc0xpc3RJdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcblx0XHRcdG9wdGlvbnNMaXN0SXRlbS5jbGFzc0xpc3QuYWRkKCdvcHRpb25zLWxpc3QtaXRlbScpO1xuXHRcdFx0b3B0aW9uc0xpc3RJdGVtLmRhdGFzZXRbJ3ZhbHVlJ10gPSBvcHRpb24udmFsdWU7XG5cdFx0XHRvcHRpb25zbGlzdC5hcHBlbmRDaGlsZChvcHRpb25zTGlzdEl0ZW0pO1xuXHRcdFx0Y29uc3Qgb3B0aW9uc0xpc3RJdGVtVGl0bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuXHRcdFx0b3B0aW9uc0xpc3RJdGVtVGl0bGUuY2xhc3NMaXN0LmFkZCgnb3B0aW9ucy1saXN0LWl0ZW0tdGl0bGUnKTtcblx0XHRcdG9wdGlvbnNMaXN0SXRlbVRpdGxlLmlubmVySFRNTCA9IERvbVV0aWxpdHkuYm9sZGVuVGV4dChvcHRpb24udGl0bGUsIHNlYXJjaFZhbHVlKTtcblx0XHRcdG9wdGlvbnNMaXN0SXRlbS5hcHBlbmRDaGlsZChvcHRpb25zTGlzdEl0ZW1UaXRsZSk7XG5cdFx0XHRjb25zdCBvcHRpb25zTGlzdEl0ZW1EZXNjcmlwdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG5cdFx0XHRvcHRpb25zTGlzdEl0ZW1EZXNjcmlwdGlvbi5jbGFzc0xpc3QuYWRkKCdvcHRpb25zLWxpc3QtaXRlbS1kZXNjcmlwdGlvbicpO1xuXHRcdFx0b3B0aW9uc0xpc3RJdGVtRGVzY3JpcHRpb24uaW5uZXJIVE1MID0gRG9tVXRpbGl0eS5ib2xkZW5UZXh0KG9wdGlvbi5kZXNjcmlwdGlvbiwgc2VhcmNoVmFsdWUpO1xuXHRcdFx0b3B0aW9uc0xpc3RJdGVtLmFwcGVuZENoaWxkKG9wdGlvbnNMaXN0SXRlbURlc2NyaXB0aW9uKTtcblx0XHRcdG9wdGlvbnNMaXN0SXRlbS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCAoKSA9PiB7XG5cdFx0XHRcdHRoaXMub3B0aW9uU2VsZWN0ZWRIYW5kbGVyKG9wdGlvbik7XG5cdFx0XHR9KTtcblx0XHRcdHRoaXMuY29tcG9uZW50V3JhcHBlci5hcHBlbmRDaGlsZChvcHRpb25zbGlzdCk7XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIGNsb3NlT3B0aW9uc0xpc3QoKSB7XG5cdFx0dGhpcy5jdXJyZW50Rm91Y3NlZEluZGV4ID0gLTE7XG5cdFx0Y29uc3Qgb3B0aW9uc0xpc3QgPSBzdXBlci5nZXRDaGlsZEVsZW1lbnQoJy5vcHRpb25zLWxpc3QnKTtcblx0XHRpZiAoIW9wdGlvbnNMaXN0KSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdG9wdGlvbnNMaXN0LnJlbW92ZSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBvcHRpb25TZWxlY3RlZEhhbmRsZXIob3B0aW9uOiBPcHRpb25XaXRoRGVzY3JpcHRpb24pIHtcblx0XHR0aGlzLnZhbHVlID0gb3B0aW9uLnZhbHVlO1xuXHRcdHRoaXMub25DaGFuZ2UuZW1pdChuZXcgQ3VzdG9tRWxlbWVudEV2ZW50QXJncyh0aGlzLnZhbHVlLCAnY2hhbmdlJykpO1xuXHRcdHRoaXMuY2xvc2VPcHRpb25zTGlzdCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBiaW5kTmF2aWdhdGlvbigpIHtcblx0XHR0aGlzLnRleHRJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudCkgPT4ge1xuXHRcdFx0aWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcblx0XHRcdFx0dGhpcy5jbG9zZU9wdGlvbnNMaXN0KCk7XG5cdFx0XHR9XG5cdFx0XHRpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xuXHRcdFx0XHRpZiAoIXRoaXMuc2VhcmNoSGFzUmVzdWx0cykge1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmN1cnJlbnRGb3Vjc2VkSW5kZXggPSB0aGlzLmN1cnJlbnRGb3Vjc2VkSW5kZXggPT09IHRoaXMuc2VhcmNoUmVzdWx0T3B0aW9ucy5sZW5ndGggLSAxID8gMCA6IHRoaXMuY3VycmVudEZvdWNzZWRJbmRleCArIDE7XG5cdFx0XHRcdHRoaXMuaGlnaGxpZ2h0Rm9jdXNlZFNlYXJjaFJlc3VsdCgpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG5cdFx0XHRcdGlmICghdGhpcy5zZWFyY2hIYXNSZXN1bHRzKSB7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuY3VycmVudEZvdWNzZWRJbmRleCA9IHRoaXMuY3VycmVudEZvdWNzZWRJbmRleCA9PT0gMCA/IHRoaXMuc2VhcmNoUmVzdWx0T3B0aW9ucy5sZW5ndGggLSAxIDogdGhpcy5jdXJyZW50Rm91Y3NlZEluZGV4IC0gMTtcblx0XHRcdFx0dGhpcy5oaWdobGlnaHRGb2N1c2VkU2VhcmNoUmVzdWx0KCk7XG5cdFx0XHR9XG5cdFx0XHRpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG5cdFx0XHRcdGlmICh0aGlzLmN1cnJlbnRGb3Vjc2VkSW5kZXggIT09IC0xICYmIHRoaXMuc2VhcmNoSGFzUmVzdWx0cykge1xuXHRcdFx0XHRcdHRoaXMub3B0aW9uU2VsZWN0ZWRIYW5kbGVyKHRoaXMuc2VhcmNoUmVzdWx0T3B0aW9uc1t0aGlzLmN1cnJlbnRGb3Vjc2VkSW5kZXhdKTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdGhpZ2hsaWdodEZvY3VzZWRTZWFyY2hSZXN1bHQoKSB7XG5cdFx0Y29uc3Qgb3B0aW9uTGlzdEl0ZW1zID0gc3VwZXIuZ2V0Q2hpbGRFbGVtZW50cygnLm9wdGlvbnMtbGlzdC1pdGVtJyk7XG5cdFx0aWYgKCFvcHRpb25MaXN0SXRlbXMpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0b3B0aW9uTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtLCBpbmRleCkgPT4ge1xuXHRcdFx0bGlzdEl0ZW0uY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7XG5cdFx0XHRpZiAoaW5kZXggPT09IHRoaXMuY3VycmVudEZvdWNzZWRJbmRleCkge1xuXHRcdFx0XHRsaXN0SXRlbS5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyBjaGFuZ2UoJGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy50b3VjaGVkID0gdHJ1ZTtcblx0XHR0aGlzLm9uQ2hhbmdlLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ2NoYW5nZScpKTtcblx0fVxuXG5cdHB1YmxpYyB2YWxpZGF0ZSgpOiB2b2lkIHtcblx0XHR0aGlzLnZhbGlkO1xuXHRcdHRoaXMub25WYWxpZGF0ZS5lbWl0KFxuXHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgJ3ZhbGlkYXRlJyksXG5cdFx0KTtcblx0fVxufVxuIiwiZXhwb3J0IGludGVyZmFjZSBMaXN0ZW5lcjxUPiB7XG4gICAgKGV2ZW50OiBUKTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3Bvc2FibGUge1xuICAgIGRpc3Bvc2UoKTtcbn1cblxuZXhwb3J0IGNsYXNzIEN1c3RvbUVsZW1lbnRFdmVudEFyZ3Mge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWx1ZTogYW55LCBwdWJsaWMgZXZlbnROYW1lOiBzdHJpbmcpIHt9XG59XG4vKiogcGFzc2VzIHRocm91Z2ggZXZlbnRzIGFzIHRoZXkgaGFwcGVuLiBZb3Ugd2lsbCBub3QgZ2V0IGV2ZW50cyBmcm9tIGJlZm9yZSB5b3Ugc3RhcnQgbGlzdGVuaW5nICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tRWxlbWVudEV2ZW50PFQ+IHtcbiAgICBwcml2YXRlIGxpc3RlbmVyczogTGlzdGVuZXI8VD5bXSA9IFtdO1xuICAgIHByaXZhdGUgbGlzdGVuZXJzT25jZXI6IExpc3RlbmVyPFQ+W10gPSBbXTtcblxuICAgIG9uID0gKGxpc3RlbmVyOiBMaXN0ZW5lcjxUPik6IERpc3Bvc2FibGUgPT4ge1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5wdXNoKGxpc3RlbmVyKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRpc3Bvc2U6ICgpID0+IHRoaXMub2ZmKGxpc3RlbmVyKSxcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgb25jZSA9IChsaXN0ZW5lcjogTGlzdGVuZXI8VD4pOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnNPbmNlci5wdXNoKGxpc3RlbmVyKTtcbiAgICB9O1xuXG4gICAgb2ZmID0gKGxpc3RlbmVyOiBMaXN0ZW5lcjxUPikgPT4ge1xuICAgICAgICB2YXIgY2FsbGJhY2tJbmRleCA9IHRoaXMubGlzdGVuZXJzLmluZGV4T2YobGlzdGVuZXIpO1xuICAgICAgICBpZiAoY2FsbGJhY2tJbmRleCA+IC0xKSB0aGlzLmxpc3RlbmVycy5zcGxpY2UoY2FsbGJhY2tJbmRleCwgMSk7XG4gICAgfTtcblxuICAgIGVtaXQgPSAoZXZlbnQ6IFQpID0+IHtcbiAgICAgICAgLyoqIFVwZGF0ZSBhbnkgZ2VuZXJhbCBsaXN0ZW5lcnMgKi9cbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaChsaXN0ZW5lciA9PiBsaXN0ZW5lcihldmVudCkpO1xuXG4gICAgICAgIC8qKiBDbGVhciB0aGUgYG9uY2VgIHF1ZXVlICovXG4gICAgICAgIGlmICh0aGlzLmxpc3RlbmVyc09uY2VyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzT25jZXIuZm9yRWFjaChsaXN0ZW5lciA9PiBsaXN0ZW5lcihldmVudCkpO1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnNPbmNlciA9IFtdO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHBpcGUgPSAodGU6IEN1c3RvbUVsZW1lbnRFdmVudDxUPik6IERpc3Bvc2FibGUgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vbihlID0+IHRlLmVtaXQoZSkpO1xuICAgIH07XG59XG4iLCJpbXBvcnQgeyBDdXN0b21FbGVtZW50RXZlbnQsIEN1c3RvbUVsZW1lbnRFdmVudEFyZ3MgfSBmcm9tIFwiLi9DdXN0b21FdmVudHNcIjtcbmltcG9ydCBPcHRpb25XaXRoRGVzY3JpcHRpb24gZnJvbSBcIi4vTW9kZWxzL09wdGlvbldpdGhEZXNjcmlwdGlvblwiO1xuaW1wb3J0IEFycmF5VXRpbCBmcm9tIFwiLi9VdGlsaXRpZXMvQXJyYXlVdGlsXCI7XG5pbXBvcnQgRG9tVXRpbCBmcm9tIFwiLi9VdGlsaXRpZXMvRG9tVXRpbFwiO1xuXG5jbGFzcyBJRGljdGlvbmFyeTxUVmFsdWU+IHtcblx0W2luZGV4OiBzdHJpbmddOiBUVmFsdWU7XG59XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3VzdG9tSW5wdXRFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuXHRwcml2YXRlIGRlcGVuZGVudE9uTGlzdCA9IG5ldyBJRGljdGlvbmFyeTxib29sZWFuPigpO1xuXHRwcml2YXRlIHZpc2liaWxpdHlTdGF0ZSA9IHRydWU7XG5cblx0cHJvdGVjdGVkIHRvdWNoZWQgPSBmYWxzZTtcblx0cHJvdGVjdGVkIGRvbVV0aWw6IERvbVV0aWw7XG5cblx0cHJvdGVjdGVkIGhhc1ZhbHVlRGVwZW5kZW5jeTogYW55O1xuXHRwcm90ZWN0ZWQgbm9WYWx1ZURlcGVuZGVuY3k6IGFueTtcblx0cHJvdGVjdGVkIGRlcGVuZGVuY2llczogYW55W107XG5cblx0cHVibGljIG9uQ2hhbmdlID0gbmV3IEN1c3RvbUVsZW1lbnRFdmVudDxDdXN0b21FbGVtZW50RXZlbnRBcmdzPigpO1xuXHRwdWJsaWMgb25WYWxpZGF0ZSA9IG5ldyBDdXN0b21FbGVtZW50RXZlbnQ8Q3VzdG9tRWxlbWVudEV2ZW50QXJncz4oKTtcblx0cHVibGljIG9uVmlzaWJpbGl0eUNoYW5nZWQgPSBuZXcgQ3VzdG9tRWxlbWVudEV2ZW50PEN1c3RvbUVsZW1lbnRFdmVudEFyZ3M+KCk7XG5cblx0cHVibGljIG5hbWU6IHN0cmluZztcblx0cHVibGljIG9wdGlvbnM6IGFueVtdO1xuXHRwdWJsaWMgb3B0aW9uc1dpdGhEZXNjcmlwdGlvbnM6IE9wdGlvbldpdGhEZXNjcmlwdGlvbltdO1xuXHRwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG5cdHB1YmxpYyBjdXN0b21WYWx1ZTogc3RyaW5nO1xuXHRwdWJsaWMgYWxsRGVwZW5kZW5jaWVzTXVzdEJlTWV0OiBib29sZWFuID0gZmFsc2U7XG5cdHB1YmxpYyBtdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xuXHRwdWJsaWMgbWF4OiBhbnk7XG5cdHB1YmxpYyBtaW46IGFueTtcblx0cHVibGljIHN0ZXA6IGFueTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0YWJzdHJhY3QgZ2V0IHZhbHVlKCk6IGFueTtcblx0YWJzdHJhY3Qgc2V0IHZhbHVlKHZhbHVlKTtcblx0YWJzdHJhY3QgZ2V0IHZhbGlkKCk6IGJvb2xlYW47XG5cblx0YWJzdHJhY3QgaW5pdENoaWxkSW5wdXRzKCk6IHZvaWQ7XG5cdGFic3RyYWN0IHZhbGlkYXRlKCk6IHZvaWQ7XG5cdGFic3RyYWN0IGNoYW5nZSgkZXZlbnQpOiB2b2lkO1xuXG5cdGNvbXBhcmVWbGF1ZXMgPSBbXTtcblxuXHRpc1ZhbHVlQ29uZGl0aW9uTWF0Y2hlZCh2YWw6IGFueSkge1xuXHRcdGlmICh2YWwgJiYgQXJyYXkuaXNBcnJheSh2YWwpICYmIHZhbC5sZW5ndGgpIHtcblx0XHRcdGxldCByZXN1bHQgPSBmYWxzZTtcblx0XHRcdHZhbC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuXHRcdFx0XHRjb25zdCBlbGVtZW50TWF0Y2hlZCA9IHRoaXMuY29tcGFyZVZsYXVlcy5maW5kSW5kZXgoeCA9PiB4ID09IGVsZW1lbnQpICE9PSAtMTtcblx0XHRcdFx0aWYgKGVsZW1lbnRNYXRjaGVkKSB7XG5cdFx0XHRcdFx0cmVzdWx0ID0gdHJ1ZTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuY29tcGFyZVZsYXVlcy5maW5kSW5kZXgoeCA9PiB4ID09IHZhbCkgIT09IC0xO1xuXHR9XG5cblx0Y29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG5cdFx0dGhpcy5pbml0KCk7XG5cdFx0dGhpcy5zZXRBdHRyaWJ1dGVzKCk7XG5cdH1cblxuXHRpbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuc3R5bGUud2lkdGggPSBcIjEwMCVcIjtcblx0XHR0aGlzLmRvbVV0aWwgPSBuZXcgRG9tVXRpbCh0aGlzKTtcblx0XHR0aGlzLnBhcnNlRGF0YSgpO1xuXHRcdHRoaXMuaW5pdENoaWxkSW5wdXRzKCk7XG5cdFx0dGhpcy5iaW5kRXZlbnRzKCk7XG5cdFx0dGhpcy5zZXRBdHRyaWJ1dGVzKCk7XG5cblx0XHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgKCkgPT4ge1xuXHRcdFx0dGhpcy5iaW5kRGVwZW5kZW5jaWVzKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIHBhcnNlRGF0YSgpOiB2b2lkIHtcblx0XHR0cnkge1xuXHRcdFx0aWYgKCEodGhpcy5jaGlsZHJlblswXSBpbnN0YW5jZW9mIEhUTUxTY3JpcHRFbGVtZW50KSkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRsZXQgZGF0YSA9IEpTT04ucGFyc2UodGhpcy5jaGlsZHJlblswXS5pbm5lckhUTUwpO1xuXHRcdFx0dGhpcy5vcHRpb25zID0gZGF0YS5vcHRpb25zO1xuXHRcdFx0dGhpcy5vcHRpb25zV2l0aERlc2NyaXB0aW9ucyA9IGRhdGEub3B0aW9uc1dpdGhEZXNjcmlwdGlvbnM7XG5cdFx0XHR0aGlzLmhhc1ZhbHVlRGVwZW5kZW5jeSA9IGRhdGEuaGFzVmFsdWVEZXBlbmRlbmN5O1xuXHRcdFx0dGhpcy5ub1ZhbHVlRGVwZW5kZW5jeSA9IGRhdGEubm9WYWx1ZURlcGVuZGVuY3k7XG5cdFx0XHR0aGlzLmRlcGVuZGVuY2llcyA9IGRhdGEuZGVwZW5kZW5jaWVzO1xuXHRcdFx0dGhpcy5yZXF1aXJlZCA9IGRhdGEucmVxdWlyZWQ7XG5cdFx0XHR0aGlzLm5hbWUgPSBkYXRhLm5hbWU7XG5cdFx0XHR0aGlzLmFsbERlcGVuZGVuY2llc011c3RCZU1ldCA9IGRhdGEuYWxsRGVwZW5kZW5jaWVzTXVzdEJlTWV0O1xuXHRcdFx0dGhpcy5tdWx0aSA9IGRhdGEubXVsdGk7XG5cdFx0XHR0aGlzLm1heCA9IGRhdGEubWF4O1xuXHRcdFx0dGhpcy5taW4gPSBkYXRhLm1pbjtcblx0XHRcdHRoaXMuc3RlcCA9IGRhdGEuc3RlcDtcblx0XHRcdHRoaXMuY3VzdG9tVmFsdWUgPSBkYXRhLnZhbHVlO1xuXHRcdH0gY2F0Y2ggKGV4KSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKGV4KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGJpbmRFdmVudHMoKTogdm9pZCB7XG5cdFx0dGhpcy5vblZhbGlkYXRlLm9uKGUgPT4ge1xuXHRcdFx0aWYgKHRoaXMudmFsaWQpIHtcblx0XHRcdFx0aWYgKHRoaXMuY2xvc2VzdCgnLmN1c3RvbS12YWxpZGF0aW9uLXRhcmdldCcpKSB7XG5cdFx0XHRcdFx0dGhpcy5jbG9zZXN0KCcuY3VzdG9tLXZhbGlkYXRpb24tdGFyZ2V0JykuY2xhc3NMaXN0LnJlbW92ZShcImludmFsaWRcIik7XG5cdFx0XHRcdFx0dGhpcy5jbG9zZXN0KCcuY3VzdG9tLXZhbGlkYXRpb24tdGFyZ2V0JykuY2xhc3NMaXN0LmFkZChcInZhbGlkXCIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRpZiAodGhpcy5jbG9zZXN0KCcuY3VzdG9tLXZhbGlkYXRpb24tdGFyZ2V0JykpIHtcblx0XHRcdFx0XHR0aGlzLmNsb3Nlc3QoJy5jdXN0b20tdmFsaWRhdGlvbi10YXJnZXQnKS5jbGFzc0xpc3QuYWRkKFwiaW52YWxpZFwiKTtcblx0XHRcdFx0XHR0aGlzLmNsb3Nlc3QoJy5jdXN0b20tdmFsaWRhdGlvbi10YXJnZXQnKS5jbGFzc0xpc3QucmVtb3ZlKFwidmFsaWRcIik7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5kb21VdGlsLmZvY3VzKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0dGhpcy5vbkNoYW5nZS5vbihlID0+IHtcblx0XHRcdGlmICh0aGlzLnRvdWNoZWQpIHtcblx0XHRcdFx0dGhpcy52YWxpZGF0ZSgpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRBdHRyaWJ1dGVzKCk6IHZvaWQge1xuXHRcdHRoaXMuc2V0QXR0cmlidXRlKFwiY3VzdG9tLWlucHV0XCIsIFwiXCIpO1xuXHRcdHRoaXMuc2V0QXR0cmlidXRlKFwibmFtZVwiLCB0aGlzLm5hbWUpO1xuXHR9XG5cblx0cHJpdmF0ZSBiaW5kRGVwZW5kZW5jaWVzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmhhc1ZhbHVlRGVwZW5kZW5jeSAmJiB0aGlzLmhhc1ZhbHVlRGVwZW5kZW5jeS5pdGVtcy5sZW5ndGgpIHtcblx0XHRcdGZvciAoY29uc3QgZmllbGROYW1lIG9mIHRoaXMuaGFzVmFsdWVEZXBlbmRlbmN5Lml0ZW1zKSB7XG5cdFx0XHRcdHRoaXMuYmluZERlcGVuZGVuY3koZmllbGROYW1lLCBcImhhc1wiKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAodGhpcy5ub1ZhbHVlRGVwZW5kZW5jeSAmJiB0aGlzLm5vVmFsdWVEZXBlbmRlbmN5Lml0ZW1zLmxlbmd0aCkge1xuXHRcdFx0Zm9yIChjb25zdCBmaWVsZE5hbWUgb2YgdGhpcy5ub1ZhbHVlRGVwZW5kZW5jeS5pdGVtcykge1xuXHRcdFx0XHR0aGlzLmJpbmREZXBlbmRlbmN5KGZpZWxkTmFtZSwgXCJub1wiKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAodGhpcy5kZXBlbmRlbmNpZXMgJiYgdGhpcy5kZXBlbmRlbmNpZXMubGVuZ3RoKSB7XG5cdFx0XHRmb3IgKGNvbnN0IGluZGV4IGluIHRoaXMuZGVwZW5kZW5jaWVzKSB7XG5cdFx0XHRcdGlmICh0aGlzLmRlcGVuZGVuY2llcy5oYXNPd25Qcm9wZXJ0eShpbmRleCkpIHtcblx0XHRcdFx0XHRjb25zdCBkZXBlbmRlbmN5ID0gdGhpcy5kZXBlbmRlbmNpZXNbaW5kZXhdO1xuXHRcdFx0XHRcdGZvciAoY29uc3QgZmllbGROYW1lIG9mIGRlcGVuZGVuY3kuaXRlbXMpIHtcblx0XHRcdFx0XHRcdHRoaXMuYmluZERlcGVuZGVuY3koXG5cdFx0XHRcdFx0XHRcdGZpZWxkTmFtZSxcblx0XHRcdFx0XHRcdFx0XCJjdXN0b21cIixcblx0XHRcdFx0XHRcdFx0ZGVwZW5kZW5jeS52YWx1ZSxcblx0XHRcdFx0XHRcdFx0ZGVwZW5kZW5jeS5jcml0ZXJpYSxcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBiaW5kRGVwZW5kZW5jeShlbGVtZW50TmFtZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nLCBjcml0ZXJpYT86IHN0cmluZywpOiB2b2lkIHtcblx0XHRsZXQgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYFtuYW1lPVwiJHtlbGVtZW50TmFtZX1cIl1gKSBhcyBDdXN0b21JbnB1dEVsZW1lbnQ7XG5cdFx0aWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBDdXN0b21JbnB1dEVsZW1lbnQpIHtcblx0XHRcdGVsZW1lbnQuY29tcGFyZVZsYXVlcy5wdXNoKHZhbHVlKTtcblx0XHRcdGlmICh0aGlzLmRlcGVuZGVudE9uTGlzdC5oYXNPd25Qcm9wZXJ0eShlbGVtZW50Lm5hbWUpKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGxldCBpc1Zpc2libGVCeURlZmF1bHQgPSB0eXBlID09PSBcIm5vXCI7XG5cdFx0XHRlbGVtZW50LlJlZ2lzdGVyRGVwZW5kZW50T24odGhpcy5uYW1lLCBpc1Zpc2libGVCeURlZmF1bHQpO1xuXHRcdFx0dGhpcy5vbkNoYW5nZS5vbihlID0+IHtcblx0XHRcdFx0bGV0IElzQ29uZGl0aW9uTWF0Y2hlZCA9IGZhbHNlO1xuXHRcdFx0XHRpZiAodHlwZSA9PT0gXCJoYXNcIikge1xuXHRcdFx0XHRcdElzQ29uZGl0aW9uTWF0Y2hlZCA9ICEhZS52YWx1ZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAodHlwZSA9PT0gXCJub1wiKSB7XG5cdFx0XHRcdFx0SXNDb25kaXRpb25NYXRjaGVkID0gIWUudmFsdWU7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHR5cGUgPT09IFwiY3VzdG9tXCIpIHtcblx0XHRcdFx0XHRpZiAoY3JpdGVyaWEgPT09IFwiRXhhY3RcIikge1xuXHRcdFx0XHRcdFx0SXNDb25kaXRpb25NYXRjaGVkID0gZWxlbWVudC5pc1ZhbHVlQ29uZGl0aW9uTWF0Y2hlZChlLnZhbHVlKTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGNyaXRlcmlhID09PSBcIkxlc3NUaGFuXCIpIHtcblx0XHRcdFx0XHRcdElzQ29uZGl0aW9uTWF0Y2hlZCA9IGUudmFsdWUgPCB2YWx1ZTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGNyaXRlcmlhID09PSBcIk1vcmVUaGFuXCIpIHtcblx0XHRcdFx0XHRcdElzQ29uZGl0aW9uTWF0Y2hlZCA9IGUudmFsdWUgPiB2YWx1ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxlbWVudC5EZXBlbmRlbnRPblN0YXRlQ2hhbmdlZCh0aGlzLm5hbWUsIElzQ29uZGl0aW9uTWF0Y2hlZCk7XG5cdFx0XHR9KTtcblx0XHRcdHRoaXMub25WaXNpYmlsaXR5Q2hhbmdlZC5vbihlID0+IHtcblx0XHRcdFx0aWYgKHRoaXMudmlzaWJpbGl0eVN0YXRlKSB7XG5cdFx0XHRcdFx0dGhpcy5vbkNoYW5nZS5lbWl0KFxuXHRcdFx0XHRcdFx0bmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgXCJjaGFuZ2VcIiksXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRlbGVtZW50LkRlcGVuZGVudE9uU3RhdGVDaGFuZ2VkKHRoaXMubmFtZSwgZmFsc2UpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHNldFZpc2liaWxpdHkoKSB7XG5cdFx0aWYgKHRoaXMuYWxsRGVwZW5kZW5jaWVzTXVzdEJlTWV0KSB7XG5cdFx0XHR0aGlzLnZpc2liaWxpdHlTdGF0ZSA9IE9iamVjdC52YWx1ZXModGhpcy5kZXBlbmRlbnRPbkxpc3QpLmV2ZXJ5KHN0YXRlID0+IHN0YXRlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy52aXNpYmlsaXR5U3RhdGUgPSBPYmplY3QudmFsdWVzKHRoaXMuZGVwZW5kZW50T25MaXN0KS5zb21lKHN0YXRlID0+IHN0YXRlKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy52aXNpYmlsaXR5U3RhdGUpIHtcblx0XHRcdHRoaXMuc2hvdygpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmhpZGUoKTtcblx0XHR9XG5cdFx0dGhpcy5vblZpc2liaWxpdHlDaGFuZ2VkLmVtaXQobmV3IEN1c3RvbUVsZW1lbnRFdmVudEFyZ3ModGhpcy52YWx1ZSwgXCJWaXNpYmlsaXR5Q2hhbmdlZFwiKSk7XG5cdH1cblxuXHRwcml2YXRlIGhpZGUoKSB7XG5cdFx0dGhpcy5zZXRBdHRyaWJ1dGUoXCJoaWRkZW5cIiwgXCJcIik7XG5cdFx0aWYgKHRoaXMuY2xvc2VzdCgnLmN1c3RvbS12YWxpZGF0aW9uLXRhcmdldCcpKSB7XG5cdFx0XHR0aGlzLmNsb3Nlc3QoJy5jdXN0b20tdmFsaWRhdGlvbi10YXJnZXQnKS5zZXRBdHRyaWJ1dGUoXCJoaWRkZW5cIiwgXCJcIik7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzaG93KCkge1xuXHRcdHRoaXMucmVtb3ZlQXR0cmlidXRlKFwiaGlkZGVuXCIpO1xuXHRcdGlmICh0aGlzLmNsb3Nlc3QoJy5jdXN0b20tdmFsaWRhdGlvbi10YXJnZXQnKSkge1xuXHRcdFx0dGhpcy5jbG9zZXN0KCcuY3VzdG9tLXZhbGlkYXRpb24tdGFyZ2V0JykucmVtb3ZlQXR0cmlidXRlKFwiaGlkZGVuXCIpO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBnZXRDaGlsZElucHV0KHNlbGVjdG9yOiBzdHJpbmcpOiBIVE1MSW5wdXRFbGVtZW50IHtcblx0XHRsZXQgZWxlbWVudDogYW55ID0gdGhpcztcblx0XHRpZiAodGhpcy5zaGFkb3dSb290KSB7XG5cdFx0XHRlbGVtZW50ID0gdGhpcy5zaGFkb3dSb290O1xuXHRcdH1cblx0XHRyZXR1cm4gZWxlbWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXHR9XG5cblx0cHJvdGVjdGVkIGdldENoaWxkSW5wdXRzKHNlbGVjdG9yOiBzdHJpbmcpOiBIVE1MSW5wdXRFbGVtZW50W10ge1xuXHRcdGxldCBlbGVtZW50OiBhbnkgPSB0aGlzO1xuXHRcdGlmICh0aGlzLnNoYWRvd1Jvb3QpIHtcblx0XHRcdGVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q7XG5cdFx0fVxuXHRcdHJldHVybiBBcnJheVV0aWwuRnJvbU5vZGVMaXN0KFxuXHRcdFx0ZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSxcblx0XHQpIGFzIEhUTUxJbnB1dEVsZW1lbnRbXTtcblx0fVxuXG5cdHByb3RlY3RlZCBnZXRDaGlsZEVsZW1lbnQoc2VsZWN0b3I6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcblx0XHRsZXQgZWxlbWVudDogYW55ID0gdGhpcztcblx0XHRpZiAodGhpcy5zaGFkb3dSb290KSB7XG5cdFx0XHRlbGVtZW50ID0gdGhpcy5zaGFkb3dSb290O1xuXHRcdH1cblx0XHRyZXR1cm4gZWxlbWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcblx0fVxuXG5cdHByb3RlY3RlZCBnZXRDaGlsZEVsZW1lbnRzKHNlbGVjdG9yOiBzdHJpbmcpOiBIVE1MRWxlbWVudFtdIHtcblx0XHRsZXQgZWxlbWVudDogYW55ID0gdGhpcztcblx0XHRpZiAodGhpcy5zaGFkb3dSb290KSB7XG5cdFx0XHRlbGVtZW50ID0gdGhpcy5zaGFkb3dSb290O1xuXHRcdH1cblx0XHRyZXR1cm4gZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudFtdO1xuXHR9XG5cblx0cHVibGljIFJlZ2lzdGVyRGVwZW5kZW50T24obmFtZTogc3RyaW5nLCBpbml0aWFsVmFsdWU6IGJvb2xlYW4gPSBmYWxzZSkge1xuXHRcdHRoaXMuZGVwZW5kZW50T25MaXN0W25hbWVdID0gaW5pdGlhbFZhbHVlO1xuXHRcdHRoaXMuc2V0VmlzaWJpbGl0eSgpO1xuXHR9XG5cblx0cHVibGljIERlcGVuZGVudE9uU3RhdGVDaGFuZ2VkKG5hbWU6IHN0cmluZywgc3RhdGU6IGJvb2xlYW4pIHtcblx0XHRpZiAodGhpcy5kZXBlbmRlbnRPbkxpc3QuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcblx0XHRcdHRoaXMuZGVwZW5kZW50T25MaXN0W25hbWVdID0gc3RhdGU7XG5cdFx0fVxuXHRcdHRoaXMuc2V0VmlzaWJpbGl0eSgpO1xuXHR9XG59XG4iLCJleHBvcnQgZGVmYXVsdCBhYnN0cmFjdCBjbGFzcyBCYXNlRGljdGlvbmFyeSB7XG5cdGFic3RyYWN0IGRpY3Rpb25hcnk6IGFueTtcblxuXHRnZXQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGtleVBhcnRzID0ga2V5LnNwbGl0KCcuJyk7XG5cdFx0dmFyIHJlc3VsdDogc3RyaW5nIHwgYW55ID0gdGhpcy5kaWN0aW9uYXJ5O1xuXHRcdGtleVBhcnRzLmZvckVhY2goa2V5UGFydCA9PiB7XG5cdFx0XHRyZXN1bHQgPSByZXN1bHRba2V5UGFydF07XG5cdFx0XHRpZiAoIXJlc3VsdCkge1xuXHRcdFx0XHRyZXN1bHQgPSBrZXk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG59IiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ3plY2hEaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJhZHJlc2FcIixcbiAgICAgICAgICAgIENpdHk6IFwibcSbc3RvXCIsXG4gICAgICAgICAgICBDb3VudHJ5OiBcInplbcSbXCIsXG4gICAgICAgICAgICBaaXA6IFwicG/FoXRvdm7DrSBzbcSbcm92YWPDrSDEjcOtc2xvXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiw5rEjWV0XCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiUmVnaXN0cmHEjW7DrSDEjcOtc2xvXCJcbiAgICAgICAgfVxuICAgIH07XG5cbn1cbiIsImltcG9ydCBCYXNlRGljdGlvbmFyeSBmcm9tIFwiLi9CYXNlL0Jhc2VEaWN0aW9uYXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERhbmlzaERpY3Rpb25hcnkgZXh0ZW5kcyBCYXNlRGljdGlvbmFyeSB7XG5cblx0ZGljdGlvbmFyeTogYW55ID0ge1xuXHRcdEFkZHJlc3NFbGVtZW50OiB7XG5cdFx0XHRBZGRyZXNzOiBcImFkcmVzc2VcIixcblx0XHRcdENpdHk6IFwiYnlcIixcblx0XHRcdENvdW50cnk6IFwibGFuZFwiLFxuXHRcdFx0WmlwOiBcInBvc3RudW1tZXJcIlxuXHRcdH0sXG5cdFx0QmFua0VsZW1lbnQ6IHtcblx0XHRcdEFjY291bnQ6IFwiS29udG9udW1tZXJcIixcblx0XHRcdFJlZ2lzdHJhdGlvbk51bWJlcjogXCJSZWdpc3RyZXJpbmdzbnVtbWVyXCJcblx0XHR9XG5cdH07XG5cbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEdXRjaERpY3Rpb25hcnkgZXh0ZW5kcyBCYXNlRGljdGlvbmFyeSB7XG5cbiAgICBkaWN0aW9uYXJ5OiBhbnkgPSB7XG4gICAgICAgIEFkZHJlc3NFbGVtZW50OiB7XG4gICAgICAgICAgICBBZGRyZXNzOiBcImFkcmVzXCIsXG4gICAgICAgICAgICBDaXR5OiBcInN0YWRcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwibGFuZFwiLFxuICAgICAgICAgICAgWmlwOiBcInBvc3Rjb2RlXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiQmFua3Jla2VuaW5nXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiQmFua3Jla2VuaW5nIFJlZ2lzdHJhdGllbnVtbWVyXCJcbiAgICAgICAgfVxuICAgIH07XG4gICAgXG59IiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRW5nbGlzaERpY3Rpb25hcnkgZXh0ZW5kcyBCYXNlRGljdGlvbmFyeSB7XG5cblx0ZGljdGlvbmFyeTogYW55ID0ge1xuXHRcdEFkZHJlc3NFbGVtZW50OiB7XG5cdFx0XHRBZGRyZXNzOiBcImFkZHJlc3NcIixcblx0XHRcdENpdHk6IFwiY2l0eVwiLFxuXHRcdFx0Q291bnRyeTogXCJjb3VudHJ5XCIsXG5cdFx0XHRaaXA6IFwiemlwXCJcblx0XHR9LFxuXHRcdEJhbmtFbGVtZW50OiB7XG5cdFx0XHRBY2NvdW50OiBcIkJhbmsgQWNjb3VudFwiLFxuXHRcdFx0UmVnaXN0cmF0aW9uTnVtYmVyOiBcIkJhbmsgQWNjb3VudCBSZWdpc3RyYXRpb24gTnVtYmVyXCJcblx0XHR9XG5cdH07XG5cbn1cbiIsImltcG9ydCBCYXNlRGljdGlvbmFyeSBmcm9tIFwiLi9CYXNlL0Jhc2VEaWN0aW9uYXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVzdG9uaWFuRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuICAgIGRpY3Rpb25hcnk6IGFueSA9IHtcbiAgICAgICAgQWRkcmVzc0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFkZHJlc3M6IFwiYWFkcmVzc1wiLFxuICAgICAgICAgICAgQ2l0eTogXCJsaW5uXCIsXG4gICAgICAgICAgICBDb3VudHJ5OiBcInJpaWtcIixcbiAgICAgICAgICAgIFppcDogXCJwb3N0aWluZGVrc1wiXG4gICAgICAgIH0sXG4gICAgICAgIEJhbmtFbGVtZW50OiB7XG4gICAgICAgICAgICBBY2NvdW50OiBcIlBhbmdha29udG9cIixcbiAgICAgICAgICAgIFJlZ2lzdHJhdGlvbk51bWJlcjogXCJQYW5nYWtvbnRvIHJlZ2lzdHJlZXJpbWlzbnVtYmVyXCJcbiAgICAgICAgfVxuICAgIH07XG4gICAgXG59IiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlubmlzaERpY3Rpb25hcnkgZXh0ZW5kcyBCYXNlRGljdGlvbmFyeSB7XG4gICAgXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJvc29pdGVcIixcbiAgICAgICAgICAgIENpdHk6IFwia2F1cHVua2lcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwibWFhXCIsXG4gICAgICAgICAgICBaaXA6IFwicG9zdGludW1lcm9cIlxuICAgICAgICB9LFxuICAgICAgICBCYW5rRWxlbWVudDoge1xuICAgICAgICAgICAgQWNjb3VudDogXCJQYW5ra2l0aWxpXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiUGFua2tpdGlsaW4gcmVraXN0ZXLDtmludGludW1lcm9cIlxuICAgICAgICB9XG4gICAgfTtcbiAgICBcbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGcmVuY2hEaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJhZHJlc3NlXCIsXG4gICAgICAgICAgICBDaXR5OiBcInZpbGxlXCIsXG4gICAgICAgICAgICBDb3VudHJ5OiBcInBheXNcIixcbiAgICAgICAgICAgIFppcDogXCJjb2RlIHBvc3RhbFwiXG4gICAgICAgIH0sXG4gICAgICAgIEJhbmtFbGVtZW50OiB7XG4gICAgICAgICAgICBBY2NvdW50OiBcIkNvbXB0ZSBiYW5jYWlyZVwiLFxuICAgICAgICAgICAgUmVnaXN0cmF0aW9uTnVtYmVyOiBcIk51bcOpcm8gZCdlbnJlZ2lzdHJlbWVudCBkdSBjb21wdGUgYmFuY2FpcmVcIlxuICAgICAgICB9XG4gICAgfTtcblxufSIsImltcG9ydCBCYXNlRGljdGlvbmFyeSBmcm9tIFwiLi9CYXNlL0Jhc2VEaWN0aW9uYXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdlcm1hbkRpY3Rpb25hcnkgZXh0ZW5kcyBCYXNlRGljdGlvbmFyeSB7XG5cbiAgICBkaWN0aW9uYXJ5OiBhbnkgPSB7XG4gICAgICAgIEFkZHJlc3NFbGVtZW50OiB7XG4gICAgICAgICAgICBBZGRyZXNzOiBcIkFkcmVzc2VcIixcbiAgICAgICAgICAgIENpdHk6IFwiU3RhZHRcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwiTGFuZFwiLFxuICAgICAgICAgICAgWmlwOiBcIlBvc3RsZWl0emFobFwiXG4gICAgICAgIH0sXG4gICAgICAgIEJhbmtFbGVtZW50OiB7XG4gICAgICAgICAgICBBY2NvdW50OiBcIkJhbmtrb250b1wiLFxuICAgICAgICAgICAgUmVnaXN0cmF0aW9uTnVtYmVyOiBcIkJhbmtrb250b3JlZ2lzdHJpZXJ1bmdzbnVtbWVyXCJcbiAgICAgICAgfVxuICAgIH07XG4gICAgXG59IiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR3JlZWtEaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCLOtM65zrXPjc64z4XOvc+DzrdcIixcbiAgICAgICAgICAgIENpdHk6IFwiz4DPjM67zrdcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwiz4fPjs+BzrFcIixcbiAgICAgICAgICAgIFppcDogXCLPhM6xz4fPhc60z4HOv868zrnOus+Mz4IgzrrPjs60zrnOus6xz4JcIlxuICAgICAgICB9LFxuICAgICAgICBCYW5rRWxlbWVudDoge1xuICAgICAgICAgICAgQWNjb3VudDogXCLOpM+BzrHPgM61zrbOuc66z4zPgiDOu86/zrPOsc+BzrnOsc+DzrzPjM+CXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwizpHPgc65zrjOvM+Mz4IgzrXOs86zz4HOsc+Gzq7PgiDPhM+BzrHPgM61zrbOuc66zr/PjSDOu86/zrPOsc+BzrnOsc+DzrzOv8+NXCJcbiAgICAgICAgfVxuICAgIH07XG4gICAgXG59IiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSHVuZ2FyaWFuRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuICAgIGRpY3Rpb25hcnk6IGFueSA9IHtcbiAgICAgICAgQWRkcmVzc0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFkZHJlc3M6IFwiY8OtbVwiLFxuICAgICAgICAgICAgQ2l0eTogXCJ2w6Fyb3NcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwib3JzesOhZ1wiLFxuICAgICAgICAgICAgWmlwOiBcImlyw6FuecOtdMOzc3rDoW1cIlxuICAgICAgICB9LFxuICAgICAgICBCYW5rRWxlbWVudDoge1xuICAgICAgICAgICAgQWNjb3VudDogXCJCYW5raSBzesOhbWxhXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiQmFua2kgc3rDoW1sYSByZWdpc3p0csOhY2nDs3Mgc3rDoW1hXCJcbiAgICAgICAgfVxuICAgIH07XG4gICAgXG59IiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSWNlbGFuZGljRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuICAgIGRpY3Rpb25hcnk6IGFueSA9IHtcbiAgICAgICAgQWRkcmVzc0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFkZHJlc3M6IFwiaGVpbWlsaXNmYW5nXCIsXG4gICAgICAgICAgICBDaXR5OiBcImJvcmdcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwibGFuZFwiLFxuICAgICAgICAgICAgWmlwOiBcInDDs3N0bsO6bWVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiQmFua2FyZWlrbmluZ3VyXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiTsO6bWVyIHNrcsOhbmluZ2FyIMOhIGJhbmthcmVpa25pbmdpXCJcbiAgICAgICAgfVxuICAgIH07XG5cbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJdGFsaWFuRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuICAgIGRpY3Rpb25hcnk6IGFueSA9IHtcbiAgICAgICAgQWRkcmVzc0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFkZHJlc3M6IFwiaW5kaXJpenpvXCIsXG4gICAgICAgICAgICBDaXR5OiBcImNpdHTDoFwiLFxuICAgICAgICAgICAgQ291bnRyeTogXCJuYXppb25lXCIsXG4gICAgICAgICAgICBaaXA6IFwiY29kaWNlIHBvc3RhbGVcIlxuICAgICAgICB9LFxuICAgICAgICBCYW5rRWxlbWVudDoge1xuICAgICAgICAgICAgQWNjb3VudDogXCJjb250byBiYW5jYXJpb1wiLFxuICAgICAgICAgICAgUmVnaXN0cmF0aW9uTnVtYmVyOiBcIk51bWVybyBkaSByZWdpc3RyYXppb25lIGRlbCBjb250byBiYW5jYXJpb1wiXG4gICAgICAgIH1cbiAgICB9O1xuICAgIFxufSIsImltcG9ydCBCYXNlRGljdGlvbmFyeSBmcm9tIFwiLi9CYXNlL0Jhc2VEaWN0aW9uYXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExhdHZpYW5EaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJhZHJlc2VcIixcbiAgICAgICAgICAgIENpdHk6IFwicGlsc8STdGFcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwidmFsc3RzXCIsXG4gICAgICAgICAgICBaaXA6IFwicGFzdGEgaW5kZWtzc1wiXG4gICAgICAgIH0sXG4gICAgICAgIEJhbmtFbGVtZW50OiB7XG4gICAgICAgICAgICBBY2NvdW50OiBcIkJhbmthcyBrb250c1wiLFxuICAgICAgICAgICAgUmVnaXN0cmF0aW9uTnVtYmVyOiBcIkJhbmthcyBrb250YSByZcSjaXN0csSBY2lqYXMgbnVtdXJzXCJcbiAgICAgICAgfVxuICAgIH07XG4gICAgXG59IiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGl0dWFuaWFuRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuICAgIGRpY3Rpb25hcnk6IGFueSA9IHtcbiAgICAgICAgQWRkcmVzc0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFkZHJlc3M6IFwiYWRyZXNhc1wiLFxuICAgICAgICAgICAgQ2l0eTogXCJtaWVzdGFzXCIsXG4gICAgICAgICAgICBDb3VudHJ5OiBcIsWhYWxpc1wiLFxuICAgICAgICAgICAgWmlwOiBcInBhxaF0byBrb2Rhc1wiXG4gICAgICAgIH0sXG4gICAgICAgIEJhbmtFbGVtZW50OiB7XG4gICAgICAgICAgICBBY2NvdW50OiBcIkJhbmtvIHPEhXNrYWl0YVwiLFxuICAgICAgICAgICAgUmVnaXN0cmF0aW9uTnVtYmVyOiBcIkJhbmtvIHPEhXNrYWl0b3MgcmVnaXN0cmFjaWpvcyBudW1lcmlzXCJcbiAgICAgICAgfVxuICAgIH07XG5cbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOb3J3ZWdpYW5EaWN0aW9uYXJ5IGV4dGVuZHMgQmFzZURpY3Rpb25hcnkge1xuXG4gICAgZGljdGlvbmFyeTogYW55ID0ge1xuICAgICAgICBBZGRyZXNzRWxlbWVudDoge1xuICAgICAgICAgICAgQWRkcmVzczogXCJhZHJlc3NlXCIsXG4gICAgICAgICAgICBDaXR5OiBcImJ5XCIsXG4gICAgICAgICAgICBDb3VudHJ5OiBcImxhbmRcIixcbiAgICAgICAgICAgIFppcDogXCJwb3N0bnVtbWVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiQmFua2tvbnRvXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiUmVnaXN0cmVyaW5nc251bW1lciBmb3IgYmFua2tvbnRvXCJcbiAgICAgICAgfVxuICAgIH07XG4gICAgXG59IiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUG9saXNoRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuICAgIGRpY3Rpb25hcnk6IGFueSA9IHtcbiAgICAgICAgQWRkcmVzc0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFkZHJlc3M6IFwiYWRyZXNcIixcbiAgICAgICAgICAgIENpdHk6IFwibWlhc3RvXCIsXG4gICAgICAgICAgICBDb3VudHJ5OiBcImtyYWpcIixcbiAgICAgICAgICAgIFppcDogXCJrb2QgcG9jenRvd3lcIlxuICAgICAgICB9LFxuICAgICAgICBCYW5rRWxlbWVudDoge1xuICAgICAgICAgICAgQWNjb3VudDogXCJLb250byBiYW5rb3dlXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiTnVtZXIgcmVqZXN0cmFjeWpueSBrb250YSBiYW5rb3dlZ29cIlxuICAgICAgICB9XG4gICAgfTtcbiAgICBcbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQb3J0dWd1ZXNlRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuICAgIGRpY3Rpb25hcnk6IGFueSA9IHtcbiAgICAgICAgQWRkcmVzc0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFkZHJlc3M6IFwiZW5kZXJlw6dvXCIsXG4gICAgICAgICAgICBDaXR5OiBcImNpZGFkZVwiLFxuICAgICAgICAgICAgQ291bnRyeTogXCJwYcOtc1wiLFxuICAgICAgICAgICAgWmlwOiBcImPDs2RpZ28gcG9zdGFsXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiQ29udGEgYmFuY8OhcmlhXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiTsO6bWVybyBkZSByZWdpc3RybyBkYSBjb250YSBiYW5jw6FyaWFcIlxuICAgICAgICB9XG4gICAgfTtcbiAgICBcbn0iLCJpbXBvcnQgQmFzZURpY3Rpb25hcnkgZnJvbSBcIi4vQmFzZS9CYXNlRGljdGlvbmFyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTcGFuaXNoRGljdGlvbmFyeSBleHRlbmRzIEJhc2VEaWN0aW9uYXJ5IHtcblxuICAgIGRpY3Rpb25hcnk6IGFueSA9IHtcbiAgICAgICAgQWRkcmVzc0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFkZHJlc3M6IFwiZGlyZWNjacOzblwiLFxuICAgICAgICAgICAgQ2l0eTogXCJjaXVkYWRcIixcbiAgICAgICAgICAgIENvdW50cnk6IFwicGHDrXNcIixcbiAgICAgICAgICAgIFppcDogXCJjw7NkaWdvIHBvc3RhbFwiXG4gICAgICAgIH0sXG4gICAgICAgIEJhbmtFbGVtZW50OiB7XG4gICAgICAgICAgICBBY2NvdW50OiBcIkN1ZW50YSBiYW5jYXJpYVwiLFxuICAgICAgICAgICAgUmVnaXN0cmF0aW9uTnVtYmVyOiBcIk7Dum1lcm8gZGUgcmVnaXN0cm8gZGUgY3VlbnRhIGJhbmNhcmlhXCJcbiAgICAgICAgfVxuICAgIH07XG4gICAgXG59IiwiaW1wb3J0IEJhc2VEaWN0aW9uYXJ5IGZyb20gXCIuL0Jhc2UvQmFzZURpY3Rpb25hcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3dlZGlzaERpY3Rpb25hcnkgZXh0ZW5kcyBCYXNlRGljdGlvbmFyeSB7XG5cbiAgICBkaWN0aW9uYXJ5OiBhbnkgPSB7XG4gICAgICAgIEFkZHJlc3NFbGVtZW50OiB7XG4gICAgICAgICAgICBBZGRyZXNzOiBcImFkcmVzc1wiLFxuICAgICAgICAgICAgQ2l0eTogXCJzdGFkXCIsXG4gICAgICAgICAgICBDb3VudHJ5OiBcImxhbmRcIixcbiAgICAgICAgICAgIFppcDogXCJwb3N0bnVtbWVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgQmFua0VsZW1lbnQ6IHtcbiAgICAgICAgICAgIEFjY291bnQ6IFwiQmFua2tvbnRvXCIsXG4gICAgICAgICAgICBSZWdpc3RyYXRpb25OdW1iZXI6IFwiQmFua2tvbnRvcmVnaXN0cmVyaW5nc251bW1lclwiXG4gICAgICAgIH1cbiAgICB9O1xuICAgIFxufSIsImltcG9ydCBEYW5pc2hEaWN0aW9uYXJ5IGZyb20gXCIuL0xhbmd1YWdlcy9EYW5pc2hEaWN0aW9uYXJ5XCI7XG5pbXBvcnQgRW5nbGlzaERpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0VuZ2xpc2hEaWN0aW9uYXJ5XCI7XG5pbXBvcnQgQ3plY2hEaWN0aW9uYXJ5IGZyb20gXCIuL0xhbmd1YWdlcy9DemVjaERpY3Rpb25hcnlcIjtcbmltcG9ydCBHZXJtYW5EaWN0aW9uYXJ5IGZyb20gXCIuL0xhbmd1YWdlcy9HZXJtYW5EaWN0aW9uYXJ5XCI7XG5pbXBvcnQgR3JlZWtEaWN0aW9uYXJ5IGZyb20gXCIuL0xhbmd1YWdlcy9HcmVla0RpY3Rpb25hcnlcIjtcbmltcG9ydCBTcGFuaXNoRGljdGlvbmFyeSBmcm9tIFwiLi9MYW5ndWFnZXMvU3BhbmlzaERpY3Rpb25hcnlcIjtcbmltcG9ydCBFc3RvbmlhbkRpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0VzdG9uaWFuRGljdGlvbmFyeVwiO1xuaW1wb3J0IEZpbm5pc2hEaWN0aW9uYXJ5IGZyb20gXCIuL0xhbmd1YWdlcy9GaW5uaXNoRGljdGlvbmFyeVwiO1xuaW1wb3J0IEZyZW5jaERpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0ZyZW5jaERpY3Rpb25hcnlcIjtcbmltcG9ydCBIdW5nYXJpYW5EaWN0aW9uYXJ5IGZyb20gXCIuL0xhbmd1YWdlcy9IdW5nYXJpYW5EaWN0aW9uYXJ5XCI7XG5pbXBvcnQgSWNlbGFuZGljRGljdGlvbmFyeSBmcm9tIFwiLi9MYW5ndWFnZXMvSWNlbGFuZGljRGljdGlvbmFyeVwiO1xuaW1wb3J0IEl0YWxpYW5EaWN0aW9uYXJ5IGZyb20gXCIuL0xhbmd1YWdlcy9JdGFsaWFuRGljdGlvbmFyeVwiO1xuaW1wb3J0IExhdHZpYW5EaWN0aW9uYXJ5IGZyb20gXCIuL0xhbmd1YWdlcy9MYXR2aWFuRGljdGlvbmFyeVwiO1xuaW1wb3J0IExpdHVhbmlhbkRpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0xpdHVhbmlhbkRpY3Rpb25hcnlcIjtcbmltcG9ydCBEdXRjaERpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL0R1dGNoRGljdGlvbmFyeVwiO1xuaW1wb3J0IE5vcndlZ2lhbkRpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL05vcndlZ2lhbkRpY3Rpb25hcnlcIjtcbmltcG9ydCBQb2xpc2hEaWN0aW9uYXJ5IGZyb20gXCIuL0xhbmd1YWdlcy9Qb2xpc2hEaWN0aW9uYXJ5XCI7XG5pbXBvcnQgUG9ydHVndWVzZURpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL1BvcnR1Z3Vlc2VEaWN0aW9uYXJ5XCI7XG5pbXBvcnQgU3dlZGlzaERpY3Rpb25hcnkgZnJvbSBcIi4vTGFuZ3VhZ2VzL1N3ZWRpc2hEaWN0aW9uYXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRyYW5zbGF0b3Ige1xuXHRwcml2YXRlIHN0YXRpYyBsYW5nYXVnZXMgPSBbXG5cdFx0J2VuJyxcblx0XHQnZGEnLFxuICAgICAgICAnY3MnLFxuICAgICAgICAnZGUnLFxuICAgICAgICAnZWwnLFxuICAgICAgICAnZXMnLFxuICAgICAgICAnZXQnLFxuICAgICAgICAnZmknLFxuICAgICAgICAnZnInLFxuICAgICAgICAnaHUnLFxuICAgICAgICAnaXMnLFxuICAgICAgICAnaXQnLFxuICAgICAgICAnbHQnLFxuICAgICAgICAnbHYnLFxuICAgICAgICAnbmwnLFxuICAgICAgICAnbm8nLFxuICAgICAgICAncGwnLFxuICAgICAgICAncHQnLFxuICAgICAgICAnc3YnLFxuXHRdO1xuXG5cdHByaXZhdGUgc3RhdGljIGRhbmlzaERpY3Rpb25hcnkgPSBuZXcgRGFuaXNoRGljdGlvbmFyeSgpO1xuXHRwcml2YXRlIHN0YXRpYyBlbmdsaXNoRGljdGlvbmFyeSA9IG5ldyBFbmdsaXNoRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIGN6ZWNoRGljdGlvbmFyeSA9IG5ldyBDemVjaERpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBnZXJtYW5EaWN0aW9uYXJ5ID0gbmV3IEdlcm1hbkRpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBncmVla0RpY3Rpb25hcnkgPSBuZXcgR3JlZWtEaWN0aW9uYXJ5KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgc3BhbmlzaERpY3Rpb25hcnkgPSBuZXcgU3BhbmlzaERpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBlc3RvbmlhbkRpY3Rpb25hcnkgPSBuZXcgRXN0b25pYW5EaWN0aW9uYXJ5KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgZmlubmlzaERpY3Rpb25hcnkgPSBuZXcgRmlubmlzaERpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBmcmVuY2hEaWN0aW9uYXJ5ID0gbmV3IEZyZW5jaERpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBodW5nYXJpYW5EaWN0aW9uYXJ5ID0gbmV3IEh1bmdhcmlhbkRpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBpY2VsYW5kaWNEaWN0aW9uYXJ5ID0gbmV3IEljZWxhbmRpY0RpY3Rpb25hcnkoKTtcbiAgICBwcml2YXRlIHN0YXRpYyBpdGFsaWFuRGljdGlvbmFyeSA9IG5ldyBJdGFsaWFuRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIGxhdHZpYW5EaWN0aW9uYXJ5ID0gbmV3IExhdHZpYW5EaWN0aW9uYXJ5KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgbGl0dWFuaWFuRGljdGlvbmFyeSA9IG5ldyBMaXR1YW5pYW5EaWN0aW9uYXJ5KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgZHV0Y2hEaWN0aW9uYXJ5ID0gbmV3IER1dGNoRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIG5vcndlZ2lhbkRpY3Rpb25hcnkgPSBuZXcgTm9yd2VnaWFuRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIHBvbGlzaERpY3Rpb25hcnkgPSBuZXcgUG9saXNoRGljdGlvbmFyeSgpO1xuICAgIHByaXZhdGUgc3RhdGljIHBvcnR1Z3Vlc2VEaWN0aW9uYXJ5ID0gbmV3IFBvcnR1Z3Vlc2VEaWN0aW9uYXJ5KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgc3dlZGlzaERpY3Rpb25hcnkgPSBuZXcgU3dlZGlzaERpY3Rpb25hcnkoKTtcblxuXHRzdGF0aWMgVHJhbnNsYXRlKGtleTogc3RyaW5nLCBsYW5ndWFnZSA9ICdkYScpOiBzdHJpbmcge1xuXHRcdGxhbmd1YWdlID0gbGFuZ3VhZ2UudG9Mb3dlckNhc2UoKTtcblx0XHRjb25zdCBpc1N1cHBvcnRlZExhbmd1YWdlID0gVHJhbnNsYXRvci5sYW5nYXVnZXMuaW5kZXhPZihsYW5ndWFnZSkgIT0gLTE7XG5cdFx0aWYgKCFpc1N1cHBvcnRlZExhbmd1YWdlKSB7XG5cdFx0XHRsYW5ndWFnZSA9ICdkYSdcblx0XHR9XG5cdFx0c3dpdGNoIChsYW5ndWFnZSkge1xuXHRcdFx0Y2FzZSAnZGEnOlxuXHRcdFx0XHRyZXR1cm4gdGhpcy5kYW5pc2hEaWN0aW9uYXJ5LmdldChrZXkpO1xuXHRcdFx0Y2FzZSAnZW4nOlxuXHRcdFx0XHRyZXR1cm4gdGhpcy5lbmdsaXNoRGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgIGNhc2UgJ2NzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jemVjaERpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdkZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2VybWFuRGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgIGNhc2UgJ2VsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ncmVla0RpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdlcyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3BhbmlzaERpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdldCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXN0b25pYW5EaWN0aW9uYXJ5LmdldChrZXkpO1xuICAgICAgICAgICAgY2FzZSAnZmknOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbm5pc2hEaWN0aW9uYXJ5LmdldChrZXkpO1xuICAgICAgICAgICAgY2FzZSAnZnInOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZyZW5jaERpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdodSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHVuZ2FyaWFuRGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgIGNhc2UgJ2lzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pY2VsYW5kaWNEaWN0aW9uYXJ5LmdldChrZXkpO1xuICAgICAgICAgICAgY2FzZSAnaXQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLml0YWxpYW5EaWN0aW9uYXJ5LmdldChrZXkpO1xuICAgICAgICAgICAgY2FzZSAnbHQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxhdHZpYW5EaWN0aW9uYXJ5LmdldChrZXkpO1xuICAgICAgICAgICAgY2FzZSAnbHYnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxpdHVhbmlhbkRpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdubCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZHV0Y2hEaWN0aW9uYXJ5LmdldChrZXkpO1xuICAgICAgICAgICAgY2FzZSAnbm8nOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm5vcndlZ2lhbkRpY3Rpb25hcnkuZ2V0KGtleSk7XG4gICAgICAgICAgICBjYXNlICdwbCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9saXNoRGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgIGNhc2UgJ3B0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wb3J0dWd1ZXNlRGljdGlvbmFyeS5nZXQoa2V5KTtcbiAgICAgICAgICAgIGNhc2UgJ3N2JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zd2VkaXNoRGljdGlvbmFyeS5nZXQoa2V5KTtcblx0XHR9XG5cdH1cbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRBdHRyaWJ1dGVOYW1lc1BvbHlmaWxsKCkge1xuXHRpZiAoRWxlbWVudC5wcm90b3R5cGUuZ2V0QXR0cmlidXRlTmFtZXMgPT0gdW5kZWZpbmVkKSB7XG5cdFx0RWxlbWVudC5wcm90b3R5cGUuZ2V0QXR0cmlidXRlTmFtZXMgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHR2YXIgYXR0cmlidXRlcyA9IHRoaXMuYXR0cmlidXRlcztcblx0XHRcdHZhciBsZW5ndGggPSBhdHRyaWJ1dGVzLmxlbmd0aDtcblx0XHRcdHZhciByZXN1bHQgPSBuZXcgQXJyYXkobGVuZ3RoKTtcblx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0cmVzdWx0W2ldID0gYXR0cmlidXRlc1tpXS5uYW1lO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9O1xuXHR9XG59O1xuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXJyYXlVdGlsIHtcblx0cHVibGljIHN0YXRpYyBGcm9tTm9kZUxpc3Q8VCBleHRlbmRzIE5vZGU+KGxpc3Q6IE5vZGVMaXN0T2Y8VD4pOiBUW10ge1xuXHRcdHJldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLCBsaXN0IGFzIGFueSk7XG5cdH1cblxuXHRwcml2YXRlIHN0YXRpYyBhZGRUb0N1cnJlbnQ8VD4oY2h1bmtzOiBUW11bXSwgaXRlbTogVCkge1xuXHRcdGlmICghY2h1bmtzLmxlbmd0aCkge1xuXHRcdFx0Y2h1bmtzWzBdID0gW107XG5cdFx0fVxuXHRcdGNodW5rc1tjaHVua3MubGVuZ3RoIC0gMV0ucHVzaChpdGVtKTtcblx0fVxuXG5cdHByaXZhdGUgc3RhdGljIGFkZFRvTmV3PFQ+KGNodW5rczogVFtdW10sIGl0ZW06IFQpIHtcblx0XHRjaHVua3NbY2h1bmtzLmxlbmd0aF0gPSBbXTtcblx0XHRjaHVua3NbY2h1bmtzLmxlbmd0aCAtIDFdLnB1c2goaXRlbSk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGRpdmlkZUFjY29yZGluZ1Byb3BlcnR5PFQ+KGFycmF5OiBUW10sIHNlbGVjdG9yOiAoaXRlbTogVCkgPT4gYW55KTogVFtdW10ge1xuXHRcdGNvbnN0IGNodW5rcyA9IFtdO1xuXHRcdGNodW5rc1swXSA9IFthcnJheVswXV07XG5cdFx0YXJyYXkucmVkdWNlKChhLCBiKSA9PiB7XG5cdFx0XHRpZiAoc2VsZWN0b3IoYSkgPT09IHNlbGVjdG9yKGIpKSB7XG5cdFx0XHRcdHRoaXMuYWRkVG9DdXJyZW50KGNodW5rcywgYik7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLmFkZFRvTmV3KGNodW5rcywgYik7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gYjtcblx0XHR9KTtcblx0XHRyZXR1cm4gY2h1bmtzO1xuXHR9XG59XG4iLCJpbXBvcnQgeyBWaWV3cG9ydFV0aWwgfSBmcm9tICcuL1ZpZXdwb3J0VXRpbCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERvbVV0aWwge1xuICAgIHByaXZhdGUgdmlld1BvcnRVdGlsOiBWaWV3cG9ydFV0aWw7XG4gICAgcHVibGljIGVsZW1lbnQ6IEVsZW1lbnQ7XG4gICAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xuICAgICAgICB0aGlzLnZpZXdQb3J0VXRpbCA9IG5ldyBWaWV3cG9ydFV0aWwodGhpcy5lbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RGF0YUF0dHIoYXR0cjogc3RyaW5nLCBkZWZhdWx0dmFsdWU/OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKGBkYXRhLSR7YXR0cn1gKTtcblxuICAgICAgICByZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDogZGVmYXVsdHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREYXRhQXR0cihhdHRyOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoYGRhdGEtJHthdHRyfWAsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QXR0cihhdHRyOiBzdHJpbmcsIGRlZmF1bHR2YWx1ZT86IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoYXR0cik7XG4gICAgICAgIHJldHVybiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBkZWZhdWx0dmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEF0dHIoYXR0cjogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHIsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQXR0cihhdHRyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0cik7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZURhdGFBdHRyKGF0dHI6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShgZGF0YS0ke2F0dHJ9YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc0F0dHIoYXR0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lmhhc0F0dHJpYnV0ZShhdHRyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hha2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXBwZW5kQ2xhc3MoJ3NoYWtlJyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVDbGFzcygnc2hha2UnKTtcbiAgICAgICAgICAgICh0aGlzLmVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkucmVhZE9ubHkgPSBmYWxzZTtcbiAgICAgICAgfSwgNjAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXJyb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXBwZW5kQ2xhc3MoJ2Vycm9yJyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVDbGFzcygnZXJyb3InKTtcbiAgICAgICAgICAgICh0aGlzLmVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudCkucmVhZE9ubHkgPSBmYWxzZTtcbiAgICAgICAgfSwgNTAwMCk7XG4gICAgfVxuXG4gICAgcHVibGljIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudmlld1BvcnRVdGlsLklzVmlzaWJsZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVDbGFzcyhjbGFzc25hbWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NuYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXBwZW5kQ2xhc3MoY2xhc3NuYW1lKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzbmFtZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldENoaWxkRWxlbWVudEJ5QXR0ck5hbWUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpcnN0TGV0dGVyID0gbmFtZS5yZXBsYWNlKC9eXFx3LywgYyA9PiBjLnRvVXBwZXJDYXNlKCkpO1xuICAgICAgICBjb25zdCBTdWJFbGVtZW50ID0gdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICBgW25hbWU9XCIke2ZpcnN0TGV0dGVyfVwiXWAsXG4gICAgICAgICkgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgaWYgKFN1YkVsZW1lbnQpIHtcbiAgICAgICAgICAgIFN1YkVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBoYXNDbGFzcyhjbGFzc05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTdHlsZShydWxlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudClbcnVsZU5hbWVdO1xuICAgIH1cbn1cbiIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIERvbVV0aWxpdHkge1xuXG5cdC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzEyMzA0NDUvamF2YXNjcmlwdC1yZWdleC1ob3ctdG8tYm9sZC1zcGVjaWZpYy13b3Jkcy13aXRoLXJlZ2V4XG5cdHN0YXRpYyBib2xkZW5UZXh0KGlucHV0VGV4dDogc3RyaW5nLCBtYXRjaGluZFRleHRUb0JvbGRlbjogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIGlucHV0VGV4dC5yZXBsYWNlKG5ldyBSZWdFeHAoJyhefCkoJyArIG1hdGNoaW5kVGV4dFRvQm9sZGVuICsgJykofCQpJywgJ2lnJyksICckMTxiPiQyPC9iPiQzJyk7XG5cdH1cbn0iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBNYWtlUmVxdWVzdCB7XG4gICAgbWV0aG9kOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgaGVhZGVyczogYW55O1xuXG4gICAgY29uc3RydWN0b3IodXJsOiBzdHJpbmcsIG1ldGhvZDogc3RyaW5nID0gJ2dldCcsIGhlYWRlcnM6IGFueSA9IHt9KSB7XG4gICAgICAgIHRoaXMubWV0aG9kID0gbWV0aG9kO1xuICAgICAgICB0aGlzLnVybCA9IHVybDtcbiAgICAgICAgdGhpcy5oZWFkZXJzID0gaGVhZGVycztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEhlYWRlcnMoaHR0cFJlcXVlc3Q6IFhNTEh0dHBSZXF1ZXN0KSB7XG4gICAgICAgIGZvciAoY29uc3QgaGVhZGVyIGluIHRoaXMuaGVhZGVycykge1xuICAgICAgICAgICAgaHR0cFJlcXVlc3Quc2V0UmVxdWVzdEhlYWRlcihoZWFkZXIsIHRoaXMuaGVhZGVyc1toZWFkZXJdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbmQoZGF0YTogYW55ID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeG1sSHR0cFJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0Lm9wZW4odGhpcy5tZXRob2QsIHRoaXMudXJsKTtcbiAgICAgICAgICAgIHRoaXMuc2V0SGVhZGVycyh4bWxIdHRwUmVxdWVzdCk7XG4gICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC5zdGF0dXMgPj0gMjAwICYmXG4gICAgICAgICAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0LnN0YXR1cyA8IDMwMFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHhtbEh0dHBSZXF1ZXN0LnJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZWplY3Qoe1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiB4bWxIdHRwUmVxdWVzdC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNUZXh0OiB4bWxIdHRwUmVxdWVzdC5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9keTogeG1sSHR0cFJlcXVlc3QucmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlamVjdCh7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogeG1sSHR0cFJlcXVlc3Quc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXNUZXh0OiB4bWxIdHRwUmVxdWVzdC5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICAgICAgICBib2R5OiB4bWxIdHRwUmVxdWVzdC5yZXNwb25zZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB4bWxIdHRwUmVxdWVzdC5zZW5kKGRhdGEpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCJleHBvcnQgY2xhc3MgU3RyaW5nVXRpbCB7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIFN0cmluZ0Zvcm1hdChzdHI6IHN0cmluZywgLi4uYXJnczogc3RyaW5nW10pIHtcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC97KFxcZCspfS9nLCAobWF0Y2gsIGluZGV4KSA9PiBhcmdzW2luZGV4XSB8fCAnJyk7XG4gICAgfVxufSIsImV4cG9ydCBjbGFzcyBWaWV3cG9ydFV0aWwge1xuICAgIHByaXZhdGUgZWxlbWVudD86IEhUTUxFbGVtZW50O1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gbnVsbCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBJc1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICgoYm91bmRzLnRvcCA+IDAgJiYgYm91bmRzLnRvcCA8IGlubmVySGVpZ2h0KSB8fFxuICAgICAgICAgICAgICAgIChib3VuZHMuYm90dG9tID4gMCAmJiBib3VuZHMuYm90dG9tIDwgaW5uZXJIZWlnaHQpKSAmJlxuICAgICAgICAgICAgKChib3VuZHMubGVmdCA+IDAgJiYgYm91bmRzLmxlZnQgPCBpbm5lcldpZHRoKSB8fFxuICAgICAgICAgICAgICAgIChib3VuZHMucmlnaHQgPiAwICYmIGJvdW5kcy5yaWdodCA8IGlubmVyV2lkdGgpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBJc1BhcnRpYWxseVZpc2libGUoKSB7XG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGJvdW5kcy50b3AgPj0gMCB8fFxuICAgICAgICAgICAgYm91bmRzLmxlZnQgPj0gMCB8fFxuICAgICAgICAgICAgYm91bmRzLmJvdHRvbSA8PSBpbm5lckhlaWdodCB8fFxuICAgICAgICAgICAgYm91bmRzLnJpZ2h0IDw9IGlubmVyV2lkdGhcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgSXNPZmZzZXRWaXNpYmxlKG9mZnNldDogbnVtYmVyID0gMzAwKSB7XG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGJvdW5kcy50b3AgKyBvZmZzZXQgPj0gMCB8fFxuICAgICAgICAgICAgYm91bmRzLmxlZnQgKyBvZmZzZXQgPj0gMCB8fFxuICAgICAgICAgICAgYm91bmRzLmJvdHRvbSAtIG9mZnNldCA8PSBpbm5lckhlaWdodCB8fFxuICAgICAgICAgICAgYm91bmRzLnJpZ2h0IC0gb2Zmc2V0IDw9IGlubmVyV2lkdGhcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgV2luZG93VG9wKG9mZnNldDogbnVtYmVyID0gMCkge1xuICAgICAgICBjb25zdCBZT2Zmc2V0ID1cbiAgICAgICAgICAgIHdpbmRvdy5wYWdlWU9mZnNldCB8fFxuICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fFxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgfHxcbiAgICAgICAgICAgIDA7XG4gICAgICAgIHJldHVybiBvZmZzZXQgPD0gWU9mZnNldDtcbiAgICB9XG59XG4iLCJ0eXBlIFByb2NlZHVyZSA9ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuXG5pbnRlcmZhY2UgRGVib3VuY2Uge1xuXHQoLi4uYXJnczogYW55W10pOiBhbnk7XG5cdGNsZWFyOiAoKSA9PiB2b2lkO1xuXHRmbHVzaDogKCkgPT4gdm9pZDtcbn1cblxuY29uc3QgZGVib3VuY2VyID0gKGZ1bmM6IFByb2NlZHVyZSwgd2FpdDogbnVtYmVyLCBpbW1lZGlhdGU6IGJvb2xlYW4gPSBmYWxzZSkgPT4ge1xuXHRsZXQgdGltZW91dDogbnVtYmVyIHwgbnVsbDtcblx0bGV0IGFyZ3M6IGFueTtcblx0bGV0IGNvbnRleHQ6IGFueTtcblx0bGV0IHJlc3VsdDogYW55O1xuXG5cdGNvbnN0IGxhdGVyID0gKCkgPT4ge1xuXHRcdHRpbWVvdXQgPSBudWxsO1xuXHRcdGlmICghaW1tZWRpYXRlKSB7XG5cdFx0XHRyZXN1bHQgPSBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuXHRcdFx0Y29udGV4dCA9IGFyZ3MgPSBudWxsO1xuXHRcdH1cblx0fTtcblxuXHRjb25zdCBkZWJvdW5jZWRGdW5jOiBQcm9jZWR1cmUgPSBmdW5jdGlvbiAodGhpczogYW55KSB7XG5cdFx0Y29udGV4dCA9IHRoaXM7XG5cdFx0YXJncyA9IGFyZ3VtZW50cztcblx0XHRjb25zdCBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0O1xuXG5cdFx0aWYgKCF0aW1lb3V0KSB7XG5cdFx0XHR0aW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQobGF0ZXIsIHdhaXQpO1xuXHRcdH1cblxuXHRcdGlmIChjYWxsTm93KSB7XG5cdFx0XHRyZXN1bHQgPSBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuXHRcdFx0Y29udGV4dCA9IGFyZ3MgPSBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH07XG5cblx0Y29uc3QgY2xlYXIgPSAoKSA9PiB7XG5cdFx0aWYgKHRpbWVvdXQpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aW1lb3V0KTtcblx0XHRcdHRpbWVvdXQgPSBudWxsO1xuXHRcdH1cblx0fTtcblxuXHRjb25zdCBmbHVzaCA9ICgpID0+IHtcblx0XHRpZiAodGltZW91dCkge1xuXHRcdFx0cmVzdWx0ID0gZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcblx0XHRcdGNvbnRleHQgPSBhcmdzID0gbnVsbDtcblxuXHRcdFx0Y2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuXHRcdFx0dGltZW91dCA9IG51bGw7XG5cdFx0fVxuXHR9O1xuXG5cdGNvbnN0IGRlYm91bmNlZDogRGVib3VuY2UgPSAoKCkgPT4ge1xuXHRcdGNvbnN0IGY6IGFueSA9IGRlYm91bmNlZEZ1bmM7XG5cdFx0Zi5jbGVhciA9IGNsZWFyO1xuXHRcdGYuZmx1c2ggPSBmbHVzaDtcblx0XHRyZXR1cm4gZjtcblx0fSkoKTtcblxuXHRyZXR1cm4gZGVib3VuY2VkO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZGVib3VuY2VyOyIsImltcG9ydCBJVmFsaWRhdGlvbiBmcm9tICcuLi9JVmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhbmtBY2NvdW50VmFsaWRhdG9yIGltcGxlbWVudHMgSVZhbGlkYXRpb24ge1xuICAgIGlzU2F0aXNmaWVkQnkoaW5wdXQ6IHN0cmluZywgYWxsb3dFbXB0eTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIiwiaW1wb3J0IElWYWxpZGF0aW9uIGZyb20gJy4uL0lWYWxpZGF0b3IuaW50ZXJmYWNlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmFua0FjY291bnRSZWdpc3RyYXRpb25OdW1iZXJWYWxpZGF0b3JcbiAgICBpbXBsZW1lbnRzIElWYWxpZGF0aW9uIHtcbiAgICBpc1NhdGlzZmllZEJ5KGlucHV0OiBzdHJpbmcsIGFsbG93RW1wdHk6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cbiIsImltcG9ydCBJVmFsaWRhdGlvbiBmcm9tICcuLi9JVmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhbmtJZE5vcndheVZhbGlkYXRvciBpbXBsZW1lbnRzIElWYWxpZGF0aW9uIHtcbiAgICBpc1NhdGlzZmllZEJ5KGlucHV0OiBzdHJpbmcsIGFsbG93RW1wdHk6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrTm9QZXJzb25udW1tZXIoaW5wdXQsIGFsbG93RW1wdHkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tOb1BlcnNvbm51bW1lcihcbiAgICAgICAgaW5wdXQ6IHN0cmluZyxcbiAgICAgICAgYWxsb3dFbXB0eTogYm9vbGVhbiA9IHRydWUsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghaW5wdXQpIHtcbiAgICAgICAgICAgIHJldHVybiBhbGxvd0VtcHR5O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBlcnNvbm51bW1lcjogc3RyaW5nID0gaW5wdXQucmVwbGFjZSgnICcsICcnKS5yZXBsYWNlKCctJywgJycpO1xuICAgICAgICBjb25zdCByZWdleDogUmVnRXhwID0gbmV3IFJlZ0V4cChcbiAgICAgICAgICAgIC9eKDBbMS05XXwxWzAtOV18MlswLTldfDNbMC0xXSkoMFsxLTldfDFbMC0yXSkoXFxkezJ9KShcXGR7NX0pJC8sXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZWdleC50ZXN0KHBlcnNvbm51bW1lcik7XG4gICAgfVxufVxuIiwiaW1wb3J0IElWYWxpZGF0aW9uIGZyb20gJy4uL0lWYWxpZGF0b3IuaW50ZXJmYWNlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmFua0lkU3dlZGVuVmFsaWRhdG9yIGltcGxlbWVudHMgSVZhbGlkYXRpb24ge1xuICAgIGlzU2F0aXNmaWVkQnkoaW5wdXQ6IHN0cmluZywgYWxsb3dFbXB0eTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tTZVBlcnNvbm51bW1lcihpbnB1dCwgYWxsb3dFbXB0eSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1NlUGVyc29ubnVtbWVyKFxuICAgICAgICBpbnB1dDogc3RyaW5nLFxuICAgICAgICBhbGxvd0VtcHR5OiBib29sZWFuID0gdHJ1ZSxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFpbnB1dCkge1xuICAgICAgICAgICAgcmV0dXJuIGFsbG93RW1wdHk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGVyc29ubnVtbWVyOiBzdHJpbmcgPSBpbnB1dC5yZXBsYWNlKCcgJywgJycpLnJlcGxhY2UoJy0nLCAnJyk7XG4gICAgICAgIGNvbnN0IHJlZ2V4OiBSZWdFeHAgPSBuZXcgUmVnRXhwKFxuICAgICAgICAgICAgL14oMTlcXGR7Mn18MjBcXGR7Mn0pKDBbMS05XXwxWzAtMl0pKDBbMS05XXwxWzAtOV18MlswLTldfDNbMC0xXSkoXFxkezR9KSQvLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gcmVnZXgudGVzdChwZXJzb25udW1tZXIpO1xuICAgIH1cbn1cbiIsImltcG9ydCBJVmFsaWRhdGlvbiBmcm9tICcuLi9JVmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENwclZhbGlkYXRvciBpbXBsZW1lbnRzIElWYWxpZGF0aW9uIHtcbiAgICBpc1NhdGlzZmllZEJ5KGlucHV0OiBzdHJpbmcsIGFsbG93RW1wdHk6IGJvb2xlYW4gPSB0cnVlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrQ3ByKGlucHV0LCBhbGxvd0VtcHR5KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBtb2R1bHVzMTFNdWx0aXBseSh2YWx1ZTogbnVtYmVyLCBpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgY29udHJvbDogbnVtYmVyW10gPSBbNCwgMywgMiwgNywgNiwgNSwgNCwgMywgMiwgMV07XG4gICAgICAgIHJldHVybiBjb250cm9sW2luZGV4XSAqIHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW9kdWx1czExRXhjZXB0aW9ucyhpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGV4Y2VwdGlvbkRhdGVzOiBEYXRlW10gPSBbXG4gICAgICAgICAgICAxOTYwLFxuICAgICAgICAgICAgMTk2NCxcbiAgICAgICAgICAgIDE5NjUsXG4gICAgICAgICAgICAxOTY2LFxuICAgICAgICAgICAgMTk2OSxcbiAgICAgICAgICAgIDE5NzAsXG4gICAgICAgICAgICAxOTgwLFxuICAgICAgICAgICAgMTk4MixcbiAgICAgICAgICAgIDE5ODQsXG4gICAgICAgICAgICAxOTg1LFxuICAgICAgICAgICAgMTk4NixcbiAgICAgICAgICAgIDE5ODcsXG4gICAgICAgICAgICAxOTg4LFxuICAgICAgICAgICAgMTk4OSxcbiAgICAgICAgICAgIDE5OTAsXG4gICAgICAgIF0ubWFwKHggPT4gbmV3IERhdGUoeCwgMCwgMSkpOyAvLyBtb250aHMgYXJlIDAtaW5kZXhlZFxuXG4gICAgICAgIGNvbnN0IGNwckRhdGU6IERhdGUgPSB0aGlzLmdldENwckRhdGUoaW5wdXQpO1xuXG4gICAgICAgIHJldHVybiBleGNlcHRpb25EYXRlcy5zb21lKHggPT4geC5nZXREYXRlKCkgPT09IGNwckRhdGUuZ2V0RGF0ZSgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrQ3ByRGF0ZShpbnB1dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCB5ZWFyOiBudW1iZXIgPSAraW5wdXQuc3Vic3RyKDQsIDIpICsgMjAwMDtcbiAgICAgICAgeWVhciAtPSB5ZWFyID4gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpID8gMTAwIDogMDsgLy8gaXMgMjB4eCBvciAxOXh4XG4gICAgICAgIGNvbnN0IG1vbnRoOiBudW1iZXIgPSAraW5wdXQuc3Vic3RyKDIsIDIpIC0gMTtcbiAgICAgICAgY29uc3QgZGF5OiBudW1iZXIgPSAraW5wdXQuc3Vic3RyKDAsIDIpO1xuICAgICAgICBjb25zdCBkYXRlOiBEYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCkgPT09IHllYXIgJiZcbiAgICAgICAgICAgIGRhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGggJiZcbiAgICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpID09PSBkYXlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENwckRhdGUoaW5wdXQ6IHN0cmluZyk6IERhdGUge1xuICAgICAgICBsZXQgeWVhcjogbnVtYmVyID0gK2lucHV0LnN1YnN0cig0LCAyKSArIDIwMDA7XG4gICAgICAgIHllYXIgLT0geWVhciA+IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSA/IDEwMCA6IDA7IC8vIGlzIDIweHggb3IgMTl4eFxuICAgICAgICBjb25zdCBtb250aDogbnVtYmVyID0gK2lucHV0LnN1YnN0cigyLCAyKSAtIDE7XG4gICAgICAgIGNvbnN0IGRheTogbnVtYmVyID0gK2lucHV0LnN1YnN0cigwLCAyKTtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tDcHIoaW5wdXQ6IHN0cmluZywgYWxsb3dFbXB0eTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFpbnB1dCkge1xuICAgICAgICAgICAgcmV0dXJuIGFsbG93RW1wdHk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY3BybnI6IHN0cmluZyA9IGlucHV0LnJlcGxhY2UoJyAnLCAnJykucmVwbGFjZSgnLScsICcnKTtcbiAgICAgICAgaWYgKCFjcHJuci5tYXRjaCgvXlxcZHsxMH0kLykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuY2hlY2tDcHJEYXRlKGNwcm5yKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1vZHVsdXMxMUV4Y2VwdGlvbnMoY3BybnIpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBvdXRwdXQ6IG51bWJlciA9IDA7XG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCAxMDsgaSsrKSB7XG4gICAgICAgICAgICBvdXRwdXQgKz0gdGhpcy5tb2R1bHVzMTFNdWx0aXBseShcbiAgICAgICAgICAgICAgICBwYXJzZUludChjcHJuci5zdWJzdHIoaSwgMSksIDEwKSxcbiAgICAgICAgICAgICAgICBpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvdXRwdXQgJSAxMSA9PT0gMDsgLy8gaHZpcyBvdXRwdXQgZ8OlciBvcCBpIDExLCBlciBkZXQgZXQgZ3lsZGlndCBjcHIuXG4gICAgfVxufVxuIiwiaW1wb3J0IElWYWxpZGF0aW9uIGZyb20gJy4uL0lWYWxpZGF0b3IuaW50ZXJmYWNlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ3ZyVmFsaWRhdG9yIGltcGxlbWVudHMgSVZhbGlkYXRpb24ge1xuICAgIGlzU2F0aXNmaWVkQnkoaW5wdXQ6IHN0cmluZywgYWxsb3dFbXB0eTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tDdnIoaW5wdXQsIGFsbG93RW1wdHkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tDdnIoaW5wdXQ6IHN0cmluZywgYWxsb3dFbXB0eTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFhbGxvd0VtcHR5ICYmICFpbnB1dCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjb25zdCBjdnJucjogc3RyaW5nID0gaW5wdXQucmVwbGFjZSgnICcsICcnKS5yZXBsYWNlKCctJywgJycpO1xuICAgICAgICBpZiAoIWN2cm5yKSB7XG4gICAgICAgICAgICByZXR1cm4gYWxsb3dFbXB0eTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIS9eXFxkezh9JC8udGVzdChjdnJucikpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGN2ciBudW1yZSBrYW4gw6ViZW5iYXJ0IG9nc8OlIG1vZHVsdXMxMSB0ZXN0ZXMuXG4gICAgICAgIGxldCB0b3RhbDogbnVtYmVyID0gMDtcblxuICAgICAgICBbMiwgNywgNiwgNSwgNCwgMywgMiwgMV0uZm9yRWFjaCgoZWxtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgdG90YWwgKz0gcGFyc2VJbnQoY3ZybnJbaW5kZXhdLCAxMCkgKiBlbG07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0b3RhbCAlIDExID09PSAwO1xuICAgIH1cbn1cbiIsImltcG9ydCBJVmFsaWRhdGlvbiBmcm9tICcuLi9JVmFsaWRhdG9yLmludGVyZmFjZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNFQ29tcGFueVJlZ2lzdHJhdGlvblZhbGlkYXRvciBpbXBsZW1lbnRzIElWYWxpZGF0aW9uIHtcbiAgICBwcml2YXRlIE9SR19OUl9TRV9MVUhOX1dFSUdIVFMgPSBbMiwgMSwgMiwgMSwgMiwgMSwgMiwgMSwgMiwgMV07XG4gICAgcHJpdmF0ZSB3ZWlnaHRlZChjb2VmZmljaWVudHM6IEFycmF5PG51bWJlcj4pIHtcbiAgICAgICAgcmV0dXJuICh2YWx1ZTogbnVtYmVyLCBpbmRleDogbnVtYmVyKSA9PiB2YWx1ZSAqIGNvZWZmaWNpZW50c1tpbmRleF07XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgc3VtID0gKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiBhICsgYjtcbiAgICBcbiAgICBpc1NhdGlzZmllZEJ5KGlucHV0OiBzdHJpbmcsIGFsbG93RW1wdHk6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGFsbG93RW1wdHkgJiYgIWlucHV0KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcmV0dXJuIHRoaXMub3JnTnJTZShpbnB1dCk7XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgb3JnTnJTZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrTHVobk1vZHVsdXMxMCh2YWx1ZSwgdGhpcy5PUkdfTlJfU0VfTFVITl9XRUlHSFRTKTtcbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBjaGVja0x1aG5Nb2R1bHVzMTAgKHRlc3RWYWx1ZTogc3RyaW5nLCBsdWhuV2VpZ2h0czogbnVtYmVyW10pIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gbHVobldlaWdodHMubGVuZ3RoO1xuICAgICAgICBjb25zdCB0ZXN0VmFsdWUkID0gdGVzdFZhbHVlLnJlcGxhY2UoXCItXCIsIFwiXCIpO1xuICAgICAgICBpZiAodGVzdFZhbHVlJC5sZW5ndGggIT09IGxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4ocGFyc2VJbnQodGVzdFZhbHVlJCwgMTApKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIGNvbnN0IGRpZ2l0cyA9IHRlc3RWYWx1ZSQuc3BsaXQoXCJcIikubWFwKE51bWJlcik7XG4gICAgICAgIGNvbnN0IGx1aG5GID0gKG46IG51bWJlcikgPT4gKG4gPCBsZW5ndGggPyBuIDogbiAtIChsZW5ndGggLSAxKSk7XG4gICAgICAgIGNvbnN0IGx1aG5TdW0gPSBsdWhuV2VpZ2h0cy5tYXAodGhpcy53ZWlnaHRlZChkaWdpdHMpKS5tYXAobHVobkYpLnJlZHVjZSh0aGlzLnN1bSk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xTdW0gPSBsZW5ndGggLSAoK2x1aG5TdW0gJSBsZW5ndGgpO1xuICAgICAgICByZXR1cm4gY29udHJvbFN1bSAlIDEwID09PSAwO1xuICAgIH0gICBcbn0iLCJpbXBvcnQgSVZhbGlkYXRpb24gZnJvbSAnLi4vSVZhbGlkYXRvci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTRVBlcnNvbmFsTnVtYmVyVmFsaWRhdG9yIGltcGxlbWVudHMgSVZhbGlkYXRpb24ge1xuICAgIHByaXZhdGUgcmVnZXg6IFJlZ0V4cCA9IG5ldyBSZWdFeHAoXG4gICAgICAgIC9eKFxcZHsyfSl7MCwxfShcXGR7Mn0pKFxcZHsyfSkoXFxkezJ9KShbXFwrXFwtXT8pKCg/ITAwMClcXGR7M30pKFxcZCkkL1xuICAgICk7XG5cblxuICAgIGlzU2F0aXNmaWVkQnkoaW5wdXQ6IHN0cmluZywgYWxsb3dFbXB0eTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGFsbG93RW1wdHkgJiYgIWlucHV0KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSB0aGlzLnJlZ2V4LmV4ZWMoaW5wdXQpO1xuICAgICAgICBpZiAoIW1hdGNoZXMgfHwgbWF0Y2hlcy5sZW5ndGggPCA3KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBncm91cHMgPSBtYXRjaGVzO1xuICAgICAgICBjb25zdCBkZWNhZGUgPSBncm91cHNbMl07XG4gICAgICAgIGxldCBjZW50dXJ5O1xuXG4gICAgICAgIGlmIChncm91cHNbMV0pIHtcbiAgICAgICAgICAgIGNlbnR1cnkgPSBncm91cHNbMV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgYm9ybiA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSAtIHBhcnNlSW50KGRlY2FkZSwgMTApO1xuICAgICAgICAgICAgaWYgKGdyb3Vwc1s1XSAmJiBncm91cHNbNV0gPT09ICcrJykge1xuICAgICAgICAgICAgICAgIGJvcm4gLT0gMTAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjZW50dXJ5ID0gYm9ybi50b1N0cmluZygpLnN1YnN0cmluZygwLCAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSBkYXRlIHRpbWUgb2JqZWN0LlxuICAgICAgICBsZXQgZGF5ID0gcGFyc2VJbnQoZ3JvdXBzWzRdLCAxMCk7XG4gICAgICAgIGNvbnN0IGlzQ29vcmRpbmF0aW9uTnVtYmVyID0gZGF5ID4gNjA7XG4gICAgICAgIGRheSA9IGlzQ29vcmRpbmF0aW9uTnVtYmVyID8gZGF5IC0gNjAgOiBkYXk7XG5cbiAgICAgICAgY29uc3QgcmVhbERheSA9IGRheTtcbiAgICAgICAgY29uc3QgeWVhciA9IGRlY2FkZTtcbiAgICAgICAgY29uc3QgZnVsbFllYXIgPSBjZW50dXJ5ICsgZGVjYWRlO1xuICAgICAgICBjb25zdCBtb250aCA9IGdyb3Vwc1szXTtcbiAgICAgICAgY29uc3QgbnVtYmVycyA9IGdyb3Vwc1s2XSArIGdyb3Vwc1s3XTtcbiAgICAgICAgY29uc3QgY29udHJvbE51bWJlciA9IGdyb3Vwc1s3XTtcblxuICAgICAgICAvLyBUcnkgcGFyc2UgZGF0ZS10aW1lIHRvIG1ha2Ugc3VyZSBpdCdzIGFjdHVhbGx5IGEgcmVhbCBkYXRlLlxuICAgICAgICBpZiAoIURhdGUucGFyc2UoYCR7ZnVsbFllYXJ9LSR7bW9udGh9LSR7cmVhbERheX1gKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubHVobihgJHt5ZWFyfSR7bW9udGh9JHtkYXl9JHtncm91cHNbNl19YCkgIT09IHBhcnNlSW50KGNvbnRyb2xOdW1iZXIsIDEwKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsdWhuKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICAvLyBMdWhtIGFsZ29yaXRobSBkb3VibGVzIGV2ZXJ5IG90aGVyIG51bWJlciBpbiB0aGUgdmFsdWUuXG4gICAgICAgIC8vIFRvIGdldCB0aGUgY29ycmVjdCBjaGVja3N1bSBkaWdpdCB3ZSBhdWdodCB0byBhcHBlbmQgYSAwIG9uIHRoZSBzZXF1ZW5jZS5cbiAgICAgICAgLy8gSWYgdGhlIHJlc3VsdCBiZWNvbWVzIGEgdHdvIGRpZ2l0IG51bWJlciwgc3VidHJhY3QgOSBmcm9tIHRoZSB2YWx1ZS5cbiAgICAgICAgLy8gSWYgdGhlIHRvdGFsIHN1bSBpcyBub3QgYSAwLCB0aGUgbGFzdCBjaGVja3N1bSB2YWx1ZSBzaG91bGQgYmUgc3VidHJhY3RlZCBmcm9tIDEwLlxuICAgICAgICAvLyBUaGUgcmVzdWx0aW5nIHZhbHVlIGlzIHRoZSBjaGVjayB2YWx1ZSB0aGF0IHdlIHVzZSBhcyBjb250cm9sIG51bWJlci5cblxuICAgICAgICAvLyBUaGUgdmFsdWUgcGFzc2VkIGlzIGEgc3RyaW5nLCBzbyB3ZSBhdWdodCB0byBnZXQgdGhlIGFjdHVhbCBpbnRlZ2VyIHZhbHVlIGZyb20gZWFjaCBjaGFyIChpLmUuLCBzdWJ0cmFjdCAnMCcgd2hpY2ggaXMgNDgpLlxuICAgICAgICBjb25zdCB0OiBudW1iZXJbXSA9IHZhbHVlLnNwbGl0KCcnKS5tYXAoKGQpID0+IHBhcnNlSW50KGQsIDEwKSk7XG4gICAgICAgIGxldCBzdW0gPSAwO1xuICAgICAgICBsZXQgdGVtcDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0ZW1wID0gdFtpXTtcbiAgICAgICAgICAgIHRlbXAgKj0gMiAtIChpICUgMik7XG4gICAgICAgICAgICBpZiAodGVtcCA+IDkpIHtcbiAgICAgICAgICAgICAgICB0ZW1wIC09IDk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdW0gKz0gdGVtcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoc3VtIC8gMTAuMCkgKiAxMCAtIHN1bTtcbiAgICB9XG59XG4iLCJjbGFzcyBlbGVtZW50Q29uZmlnIHtcblx0c2VsZWN0b3I6IHN0cmluZztcblx0dGVtcGxhdGU6IHN0cmluZztcblx0c3R5bGU6IHN0cmluZztcblx0dXNlU2hhZG93OiBib29sZWFuO1xuXHR0ZW1wbGF0ZVBhdGg/OiBzdHJpbmc7XG59XG5cbmNvbnN0IHZhbGlkYXRlU2VsZWN0b3IgPSAoc2VsZWN0b3I6IHN0cmluZykgPT4ge1xuXHRpZiAoc2VsZWN0b3IuaW5kZXhPZignLScpIDw9IDApIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ1lvdSBuZWVkIGF0IGxlYXN0IDEgZGFzaCBpbiB0aGUgY3VzdG9tIGVsZW1lbnQgbmFtZSEnKTtcblx0fVxufTtcblxuY29uc3QgQ3VzdG9tRWxlbWVudCA9IChjb25maWc6IGVsZW1lbnRDb25maWcpID0+IHtcblx0cmV0dXJuIChjbHM6IGFueSkgPT4ge1xuXHRcdHZhbGlkYXRlU2VsZWN0b3IoY29uZmlnLnNlbGVjdG9yKTtcblx0XHRsZXQgdGVtcGxhdGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTtcblx0XHRpZiAoIWNvbmZpZy50ZW1wbGF0ZSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdZb3UgbmVlZCB0byBwYXNzIGEgdGVtcGxhdGUgZm9yIHRoZSBlbGVtZW50Jyk7XG5cdFx0fVxuXHRcdHRlbXBsYXRlRWxlbWVudC5pbm5lckhUTUwgPSBgPHN0eWxlPiR7Y29uZmlnLnN0eWxlfTwvc3R5bGU+ICR7XG5cdFx0XHRjb25maWcudGVtcGxhdGVcblx0XHRcdH1gO1xuXHRcdGxldCBjb25uZWN0ZWRDYWxsYmFjayA9IGNscy5wcm90b3R5cGUuY29ubmVjdGVkQ2FsbGJhY2sgfHwgZnVuY3Rpb24gKCkgeyB9O1xuXHRcdGNvbnN0IGRpc2Nvbm5lY3RlZENhbGxiYWNrID0gY2xzLnByb3RvdHlwZS5kaXNjb25uZWN0ZWRDYWxsYmFjayB8fCBmdW5jdGlvbiAoKSB7IH07XG5cblx0XHRjbHMucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0bGV0IGNsb25lID0gZG9jdW1lbnQuaW1wb3J0Tm9kZSh0ZW1wbGF0ZUVsZW1lbnQuY29udGVudCwgdHJ1ZSk7XG5cdFx0XHRpZiAoY29uZmlnLnVzZVNoYWRvdyAmJiAhdGhpcy5zaGFkb3dSb290KSB7XG5cdFx0XHRcdHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pLmFwcGVuZENoaWxkKGNsb25lKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuYXBwZW5kQ2hpbGQoY2xvbmUpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMuY29tcG9uZW50V2lsbE1vdW50KSB7XG5cdFx0XHRcdHRoaXMuY29tcG9uZW50V2lsbE1vdW50KCk7XG5cdFx0XHR9XG5cdFx0XHRjb25uZWN0ZWRDYWxsYmFjay5jYWxsKHRoaXMpO1xuXHRcdFx0aWYgKHRoaXMuY29tcG9uZW50RGlkTW91bnQpIHtcblx0XHRcdFx0dGhpcy5jb21wb25lbnREaWRNb3VudCgpO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRjbHMucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuXHRcdFx0aWYgKHRoaXMuY29tcG9uZW50V2lsbFVubW91bnQpIHtcblx0XHRcdFx0dGhpcy5jb21wb25lbnRXaWxsVW5tb3VudCgpO1xuXHRcdFx0fVxuXHRcdFx0ZGlzY29ubmVjdGVkQ2FsbGJhY2suY2FsbCh0aGlzKTtcblx0XHRcdGlmICh0aGlzLmNvbXBvbmVudERpZFVubW91bnQpIHtcblx0XHRcdFx0dGhpcy5jb21wb25lbnREaWRVbm1vdW50KCk7XG5cdFx0XHR9XG5cdFx0fTtcblx0XHR3aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKGNvbmZpZy5zZWxlY3RvciwgY2xzKTtcblx0fTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEN1c3RvbUVsZW1lbnQ7XG4iLCJpbXBvcnQgJ0B3ZWJjb21wb25lbnRzL3dlYmNvbXBvbmVudHNqcy93ZWJjb21wb25lbnRzLWJ1bmRsZSc7XG5pbXBvcnQgJ0B3ZWJjb21wb25lbnRzL3dlYmNvbXBvbmVudHNqcy9jdXN0b20tZWxlbWVudHMtZXM1LWFkYXB0ZXIuanMnO1xuaW1wb3J0ICdAd2ViY29tcG9uZW50cy93ZWJjb21wb25lbnRzanMvd2ViY29tcG9uZW50cy1sb2FkZXIuanMnO1xuXG4vLyBmb3JtXG5pbXBvcnQgeyBDdXN0b21Gb3JtIH0gZnJvbSAnLi9jdXN0b20tZm9ybSc7XG5pbXBvcnQgeyBDdXN0b21JbnB1dEVsZW1lbnQgfSBmcm9tICcuL2ZyYW1ld29yay9DdXN0b21JbnB1dEVsZW1lbnQnO1xuXG4vLyBlbGVtZW50c1xuaW1wb3J0ICogYXMgZWxlbWVudHMgZnJvbSAnLi9lbGVtZW50cy9FbGVtZW50cyc7XG5cbmV4cG9ydCB7IEN1c3RvbUZvcm0sIGVsZW1lbnRzLCBDdXN0b21JbnB1dEVsZW1lbnQgfTtcbiJdfQ==
|