@esfaenza/core 15.2.269 → 15.2.270
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/components/error/404/pagenotfound.component.d.ts +1 -2
- package/components/error/500/servererror.component.d.ts +1 -2
- package/components/error/Angular/angularerror.component.d.ts +1 -2
- package/components/navbar/navbar.component.d.ts +1 -2
- package/domain/tokens.d.ts +0 -2
- package/esm2020/components/back-top/back-top.component.mjs +4 -4
- package/esm2020/components/base/base.component.mjs +4 -4
- package/esm2020/components/base/embedding.component.mjs +4 -4
- package/esm2020/components/base/reactive.component.mjs +4 -4
- package/esm2020/components/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2020/components/components.module.mjs +5 -5
- package/esm2020/components/error/404/pagenotfound.component.mjs +8 -14
- package/esm2020/components/error/500/servererror.component.mjs +8 -14
- package/esm2020/components/error/Angular/angularerror.component.mjs +8 -14
- package/esm2020/components/es-image-cropper/es-image-cropper.component.mjs +4 -4
- package/esm2020/components/es-modal/es-modal-head/es-modal-head.component.mjs +4 -4
- package/esm2020/components/es-modal/es-modal.component.mjs +4 -4
- package/esm2020/components/external-page/external_pages.component.mjs +5 -5
- package/esm2020/components/jace-login/jace-login.component.mjs +4 -4
- package/esm2020/components/jace-resource/jace-resource.component.mjs +4 -4
- package/esm2020/components/labeled-span/labeled-span.component.mjs +4 -4
- package/esm2020/components/navbar/navbar.component.loc.mjs +4 -4
- package/esm2020/components/navbar/navbar.component.mjs +7 -11
- package/esm2020/components/page/pages.component.mjs +4 -4
- package/esm2020/components/redirecter/redirecter.component.mjs +4 -4
- package/esm2020/components/sidebar/sidebar.component.loc.mjs +4 -4
- package/esm2020/components/sidebar/sidebar.component.mjs +4 -4
- package/esm2020/components/user_infos/user_infos.component.loc.mjs +4 -4
- package/esm2020/components/user_infos/user_infos.component.mjs +7 -9
- package/esm2020/directives/componentHost/componentHost.directive.mjs +4 -4
- package/esm2020/directives/directives.module.mjs +5 -5
- package/esm2020/directives/draggable/draggable.directive.mjs +4 -4
- package/esm2020/directives/es-modal/es-modal.directive.mjs +4 -4
- package/esm2020/directives/es-routerLink/es-routerLink.directive.mjs +4 -4
- package/esm2020/directives/slim-scroll/slim-scroll.directive.mjs +4 -4
- package/esm2020/directives/widget/widget.directive.mjs +4 -4
- package/esm2020/domain/tokens.mjs +1 -3
- package/esm2020/lib/app.component.mjs +9 -13
- package/esm2020/lib/core.module.mjs +8 -25
- package/esm2020/modules/classes/_embedding.module.mjs +5 -5
- package/esm2020/modules/classes/_shared.module.mjs +5 -5
- package/esm2020/modules/classes/t_c.module.mjs +5 -5
- package/esm2020/pipes/classes/included_in.pipe.mjs +4 -4
- package/esm2020/pipes/classes/safe_html.pipe.mjs +4 -4
- package/esm2020/pipes/classes/safe_script.pipe.mjs +4 -4
- package/esm2020/pipes/classes/safe_style.pipe.mjs +4 -4
- package/esm2020/pipes/classes/safe_url.pipe.mjs +4 -4
- package/esm2020/pipes/pipes.module.mjs +5 -5
- package/esm2020/services/classes/app.accesstoken.mjs +6 -16
- package/esm2020/services/classes/app.completedjobredirection.mjs +4 -4
- package/esm2020/services/classes/app.errorhandler.mjs +4 -4
- package/esm2020/services/classes/app.event.mjs +4 -4
- package/esm2020/services/classes/app.globalsearch.mjs +4 -4
- package/esm2020/services/classes/app.httpextensions.loc.mjs +4 -4
- package/esm2020/services/classes/app.httpextensions.mjs +4 -4
- package/esm2020/services/classes/app.menufilter.mjs +4 -4
- package/esm2020/services/classes/app.routeguard.mjs +5 -6
- package/esm2020/services/classes/app.session.mjs +7 -15
- package/esm2020/services/classes/app.state.mjs +9 -19
- package/esm2020/services/classes/preferences/app.cache.persistor.mjs +4 -4
- package/esm2020/services/classes/preferences/app.preference.persistor.mjs +4 -4
- package/esm2020/services/classes/preferences/user/app.userpreferences.base.mjs +6 -9
- package/fesm2015/esfaenza-core-components.mjs +90 -116
- package/fesm2015/esfaenza-core-components.mjs.map +1 -1
- package/fesm2015/esfaenza-core-directives.mjs +22 -22
- package/fesm2015/esfaenza-core-directives.mjs.map +1 -1
- package/fesm2015/esfaenza-core-domain.mjs +1 -3
- package/fesm2015/esfaenza-core-domain.mjs.map +1 -1
- package/fesm2015/esfaenza-core-modules.mjs +12 -12
- package/fesm2015/esfaenza-core-modules.mjs.map +1 -1
- package/fesm2015/esfaenza-core-pipes.mjs +19 -19
- package/fesm2015/esfaenza-core-pipes.mjs.map +1 -1
- package/fesm2015/esfaenza-core-services.mjs +53 -85
- package/fesm2015/esfaenza-core-services.mjs.map +1 -1
- package/fesm2015/esfaenza-core.mjs +17 -39
- package/fesm2015/esfaenza-core.mjs.map +1 -1
- package/fesm2020/esfaenza-core-components.mjs +90 -110
- package/fesm2020/esfaenza-core-components.mjs.map +1 -1
- package/fesm2020/esfaenza-core-directives.mjs +22 -22
- package/fesm2020/esfaenza-core-directives.mjs.map +1 -1
- package/fesm2020/esfaenza-core-domain.mjs +1 -3
- package/fesm2020/esfaenza-core-domain.mjs.map +1 -1
- package/fesm2020/esfaenza-core-modules.mjs +12 -12
- package/fesm2020/esfaenza-core-modules.mjs.map +1 -1
- package/fesm2020/esfaenza-core-pipes.mjs +19 -19
- package/fesm2020/esfaenza-core-pipes.mjs.map +1 -1
- package/fesm2020/esfaenza-core-services.mjs +53 -81
- package/fesm2020/esfaenza-core-services.mjs.map +1 -1
- package/fesm2020/esfaenza-core.mjs +17 -37
- package/fesm2020/esfaenza-core.mjs.map +1 -1
- package/lib/app.component.d.ts +1 -1
- package/lib/core.module.d.ts +0 -1
- package/package.json +8 -8
- package/services/classes/app.accesstoken.d.ts +2 -3
- package/services/classes/app.session.d.ts +1 -2
- package/services/classes/app.state.d.ts +1 -2
|
@@ -25,11 +25,8 @@ export class UserPreferencesService {
|
|
|
25
25
|
this.http = this.injector.get(HTTPService);
|
|
26
26
|
this.msgExts = this.injector.get(MessageService);
|
|
27
27
|
this.fakeToken = this.injector.get(USE_FAKE_ACCESS_TOKEN) || false;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
this.AccountId = identity.IdAccount.toString();
|
|
31
|
-
this.doReloadProfilePicture();
|
|
32
|
-
}
|
|
28
|
+
this.AccountId = tks.getJaceIdentity().IdAccount.toString();
|
|
29
|
+
this.doReloadProfilePicture();
|
|
33
30
|
}
|
|
34
31
|
async getAccountProfile() {
|
|
35
32
|
let pars = new HttpParams().set("idAccount", this.AccountId);
|
|
@@ -93,9 +90,9 @@ export class UserPreferencesService {
|
|
|
93
90
|
return cr;
|
|
94
91
|
}
|
|
95
92
|
}
|
|
96
|
-
UserPreferencesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
97
|
-
UserPreferencesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
93
|
+
UserPreferencesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserPreferencesService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
94
|
+
UserPreferencesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserPreferencesService });
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserPreferencesService, decorators: [{
|
|
99
96
|
type: Injectable
|
|
100
97
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnVzZXJwcmVmZXJlbmNlcy5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9wcmVmZXJlbmNlcy91c2VyL2FwcC51c2VycHJlZmVyZW5jZXMuYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFlBQVksRUFBbUIsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxLQUFLO0FBQ0wsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxnQ0FBZ0MsRUFBZSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUV6Six5QkFBeUI7QUFDekIsTUFBTSxpQ0FBaUMsR0FBVyxvQ0FBb0MsQ0FBQztBQUN2RixNQUFNLHFDQUFxQyxHQUFXLHVDQUF1QyxDQUFDO0FBQzlGLE1BQU0sMkNBQTJDLEdBQVcsNkNBQTZDLENBQUM7QUFDMUcsTUFBTSxzQ0FBc0MsR0FBVyx3Q0FBd0MsQ0FBQztBQUNoRyxNQUFNLG9DQUFvQyxHQUFXLHVDQUF1QyxDQUFDO0FBQzdGLE1BQU0sZ0NBQWdDLEdBQVcsbUNBQW1DLENBQUM7QUFHckYsTUFBTSxPQUFPLHNCQUFzQjtJQVMvQixZQUFvQixRQUFrQjtRQUFsQixhQUFR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SUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELElBQUksRUFBRSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFhLG9DQUFvQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckcsSUFBSSxFQUFFLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNDLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQzs7bUhBN0ZRLHNCQUFzQjt1SEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG4vLyBFU1xyXG5pbXBvcnQgeyBDYWxsUmVzdWx0LCBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gXCIuLi8uLi9hcHAuYWNjZXNzdG9rZW5cIjtcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBVcGRhdGVQYXNzd29yZER0bywgVXBkYXRlUHJvZmlsZVBpY3R1cmVEdG8sIFVwZGF0ZUFjY291bnRSZWNvdmVyeVNldHRpbmdzRHRvLCBVc2VyQWNjb3VudCwgVVNFX0ZBS0VfQUNDRVNTX1RPS0VOIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiO1xyXG5cclxuLy8gQ2hpYW1hdGUgYWkgUmVwb3NpdG9yeVxyXG5jb25zdCBHRVRfVXNlclByb2ZpbGVfR2V0QWNjb3VudFBpY3R1cmU6IHN0cmluZyA9IFwiL2FwaS9Vc2VyUHJvZmlsZS9HZXRBY2NvdW50UGljdHVyZVwiO1xyXG5jb25zdCBQT1NUX1VzZXJQcm9maWxlX1VwZGF0ZUFjY291bnRQaWN0dXJlOiBzdHJpbmcgPSBcIi9hcGkvVXNlclByb2ZpbGUvVXBkYXRlQWNjb3VudFBpY3R1cmVcIjtcclxuY29uc3QgUE9TVF9Vc2VyUHJvZmlsZV9VcGRhdGVBY2NvdW50UmVjb3ZlcnlJbmZvczogc3RyaW5nID0gXCIvYXBpL1VzZXJQcm9maWxlL1VwZGF0ZUFjY291bnRSZWNvdmVyeUluZm9zXCI7XHJcbmNvbnN0IFBPU1RfVXNlclByb2ZpbGVfVXBkYXRlQWNjb3VudFBhc3N3b3JkOiBzdHJpbmcgPSBcIi9hcGkvVXNlclByb2ZpbGUvVXBkYXRlQWNjb3VudFBhc3N3b3JkXCI7XHJcbmNvbnN0IEdFVF9Vc2VyUHJvZmlsZV9EZWxldGVBY2NvdW50UGljdHVyZTogc3RyaW5nID0gXCIvYXBpL1VzZXJQcm9maWxlL0RlbGV0ZUFjY291bnRQaWN0dXJlXCI7XHJcbmNvbnN0IEdFVF9Vc2VyUHJvZmlsZV9HZXRFbnRpdHlBY2NvdW50OiBzdHJpbmcgPSBcIi9hcGkvVXNlclByb2ZpbGUvR2V0RW50aXR5QWNjb3VudFwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVXNlclByZWZlcmVuY2VzU2VydmljZSB7XHJcbiAgICBwcml2YXRlIEFjY291bnRJZDogc3RyaW5nO1xyXG4gICAgcHVibGljIFByb2ZpbGVQaWN0dXJlOiBTYWZlUmVzb3VyY2VVcmw7XHJcblxyXG4gICAgcHVibGljIGZha2VUb2tlbjogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcjtcclxuICAgIHB1YmxpYyBodHRwOiBIVFRQU2VydmljZTtcclxuICAgIHB1YmxpYyBtc2dFeHRzOiBNZXNzYWdlU2VydmljZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIGxldCB0a3MgPSB0aGlzLmluamVjdG9yLmdldChUb2tlblNlcnZpY2UpO1xyXG4gICAgICAgIHRoaXMuc2FuaXRpemVyID0gdGhpcy5pbmplY3Rvci5nZXQoRG9tU2FuaXRpemVyKTtcclxuICAgICAgICB0aGlzLmh0dHAgPSB0aGlzLmluamVjdG9yLmdldChIVFRQU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5tc2dFeHRzID0gdGhpcy5pbmplY3Rvci5nZXQoTWVzc2FnZVNlcnZpY2UpO1xyXG4gICAgICAgIHRoaXMuZmFrZVRva2VuID0gdGhpcy5pbmplY3Rvci5nZXQoVVNFX0ZBS0VfQUNDRVNTX1RPS0VOKSB8fCBmYWxzZTtcclxuXHJcbiAgICAgICAgdmFyIGlkZW50aXR5ID0gdGtzLmdldEphY2VJZGVudGl0eSgpO1xyXG4gICAgICAgIGlmIChpZGVudGl0eSkge1xyXG4gICAgICAgICAgICB0aGlzLkFjY291bnRJZCA9IGlkZW50aXR5LklkQWNjb3VudC50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB0aGlzLmRvUmVsb2FkUHJvZmlsZVBpY3R1cmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEFjY291bnRQcm9maWxlKCk6IFByb21pc2U8VXNlckFjY291bnQ+IHtcclxuICAgICAgICBsZXQgcGFycyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KFwiaWRBY2NvdW50XCIsIHRoaXMuQWNjb3VudElkKTtcclxuICAgICAgICBsZXQgcmV0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxVc2VyQWNjb3VudD4oR0VUX1VzZXJQcm9maWxlX0dldEVudGl0eUFjY291bnQsIHBhcnMpKTtcclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkb1JlbG9hZFByb2ZpbGVQaWN0dXJlKCkge1xyXG4gICAgICAgIHRoaXMuUHJvZmlsZVBpY3R1cmUgPSBudWxsO1xyXG4gICAgICAgIGxldCB0bXBQaWN0ID0gYXdhaXQgdGhpcy5nZXRDdXJyZW50UHJvZmlsZVBpY3R1cmUoKTtcclxuICAgICAgICB0aGlzLlByb2ZpbGVQaWN0dXJlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKGBkYXRhOmltYWdlL3BuZztiYXNlNjQsJHt0bXBQaWN0fWApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRDdXJyZW50UHJvZmlsZVBpY3R1cmUoKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuXHJcbiAgICAgICAgLy8gU2UgZmFrZSB0b2tlbiByZXN0aXR1aXNjbyBsYSBzdG9jayBpbWFnZSBkZWxsJ3V0ZW50ZVxyXG4gICAgICAgIGlmICh0aGlzLmZha2VUb2tlbilcclxuICAgICAgICAgICAgcmV0dXJuIFwiLzlqLzRBQVFTa1pKUmdBQkFRRUJMQUVzQUFELzRRQ2FSWGhwWmdBQVNVa3FBQWdBQUFBREFBNEJBZ0JRQUFBQU1nQUFBQm9CQlFBQkFBQUFnZ0FBQUJzQkJRQUJBQUFBaWdBQUFBQUFBQUJFWldaaGRXeDBJRUYyWVhSaGNpQlFjbTltYVd4bElFbGpiMjRnVm1WamRHOXlMaUJUYjJOcFlXd2dUV1ZrYVdFZ1ZYTmxjaUJKYldGblpTNGdWbVZqZEc5eUlFbHNiSFZ6ZEhKaGRHbHZiaXdCQUFBQkFBQUFMQUVBQUFFQUFBRC80UVhIYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3THdBOFAzaHdZV05yWlhRZ1ltVm5hVzQ5SXUrN3Z5SWdhV1E5SWxjMVRUQk5jRU5sYUdsSWVuSmxVM3BPVkdONmEyTTVaQ0kvUGdvOGVEcDRiWEJ0WlhSaElIaHRiRzV6T25nOUltRmtiMkpsT201ek9tMWxkR0V2SWo0S0NUeHlaR1k2VWtSR0lIaHRiRzV6T25Ka1pqMGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M4d01pOHlNaTF5WkdZdGMzbHVkR0Y0TFc1ekl5SStDZ2tKUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02Y0dodmRHOXphRzl3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzQm9iM1J2YzJodmNDOHhMakF2SWlCNGJXeHVjenBKY0hSak5IaHRjRU52Y21VOUltaDBkSEE2THk5cGNIUmpMbTl5Wnk5emRHUXZTWEIwWXpSNGJYQkRiM0psTHpFdU1DOTRiV3h1Y3k4aUlDQWdlRzFzYm5NNlIyVjBkSGxKYldGblpYTkhTVVpVUFNKb2RIUndPaTh2ZUcxd0xtZGxkSFI1YVcxaFoyVnpMbU52YlM5bmFXWjBMekV1TUM4aUlIaHRiRzV6T21SalBTSm9kSFJ3T2k4dmNIVnliQzV2Y21jdlpHTXZaV3hsYldWdWRITXZNUzR4THlJZ2VHMXNibk02Y0d4MWN6MGlhSFIwY0RvdkwyNXpMblZ6WlhCc2RYTXViM0puTDJ4a1ppOTRiWEF2TVM0d0x5SWdJSGh0Ykc1ek9tbHdkR05GZUhROUltaDBkSEE2THk5cGNIUmpMbTl5Wnk5emRHUXZTWEIwWXpSNGJYQkZlSFF2TWpBd09DMHdNaTB5T1M4aUlIaHRiRzV6T25odGNGSnBaMmgwY3owaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wzSnBaMmgwY3k4aUlIQm9iM1J2YzJodmNEcERjbVZrYVhROUlrZGxkSFI1SUVsdFlXZGxjeUlnUjJWMGRIbEpiV0ZuWlhOSFNVWlVPa0Z6YzJWMFNVUTlJakV6TXpjeE5EUXhORFlpSUhodGNGSnBaMmgwY3pwWFpXSlRkR0YwWlcxbGJuUTlJbWgwZEhCek9pOHZkM2QzTG1semRHOWphM0JvYjNSdkxtTnZiUzlzWldkaGJDOXNhV05sYm5ObExXRm5jbVZsYldWdWREOTFkRzFmYldWa2FYVnRQVzl5WjJGdWFXTW1ZVzF3TzNWMGJWOXpiM1Z5WTJVOVoyOXZaMnhsSm1GdGNEdDFkRzFmWTJGdGNHRnBaMjQ5YVhCMFkzVnliQ0lnY0d4MWN6cEVZWFJoVFdsdWFXNW5QU0pvZEhSd09pOHZibk11ZFhObGNHeDFjeTV2Y21jdmJHUm1MM1p2WTJGaUwwUk5TUzFRVWs5SVNVSkpWRVZFTFVWWVEwVlFWRk5GUVZKRFNFVk9SMGxPUlVsT1JFVllTVTVISWlBK0NqeGtZenBqY21WaGRHOXlQanh5WkdZNlUyVnhQanh5WkdZNmJHaytUV0Z5YVdFZ1UyaGhjR2xzYjNaaFBDOXlaR1k2YkdrK1BDOXlaR1k2VTJWeFBqd3ZaR002WTNKbFlYUnZjajQ4WkdNNlpHVnpZM0pwY0hScGIyNCtQSEprWmpwQmJIUStQSEprWmpwc2FTQjRiV3c2YkdGdVp6MGllQzFrWldaaGRXeDBJajVFWldaaGRXeDBJRUYyWVhSaGNpQlFjbTltYVd4bElFbGpiMjRnVm1WamRHOXlMaUJUYjJOcFlXd2dUV1ZrYVdFZ1ZYTmxjaUJKYldGblpTNGdWbVZqZEc5eUlFbHNiSFZ6ZEhKaGRHbHZiand2Y21SbU9teHBQand2Y21SbU9rRnNkRDQ4TDJSak9tUmxjMk55YVhCMGFXOXVQZ284Y0d4MWN6cE1hV05sYm5OdmNqNDhjbVJtT2xObGNUNDhjbVJtT214cElISmtaanB3WVhKelpWUjVjR1U5SjFKbGMyOTFjbU5sSno0OGNHeDFjenBNYVdObGJuTnZjbFZTVEQ1b2RIUndjem92TDNkM2R5NXBjM1J2WTJ0d2FHOTBieTVqYjIwdmNHaHZkRzh2YkdsalpXNXpaUzFuYlRFek16Y3hORFF4TkRZdFAzVjBiVjl0WldScGRXMDliM0puWVc1cFl5WmhiWEE3ZFhSdFgzTnZkWEpqWlQxbmIyOW5iR1VtWVcxd08zVjBiVjlqWVcxd1lXbG5iajFwY0hSamRYSnNQQzl3YkhWek9reHBZMlZ1YzI5eVZWSk1Qand2Y21SbU9teHBQand2Y21SbU9sTmxjVDQ4TDNCc2RYTTZUR2xqWlc1emIzSStDZ2tKUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2drOEwzSmtaanBTUkVZK0Nqd3ZlRHA0YlhCdFpYUmhQZ284UDNod1lXTnJaWFFnWlc1a1BTSjNJajgrQ3YvdEFKWlFhRzkwYjNOb2IzQWdNeTR3QURoQ1NVMEVCQUFBQUFBQWVod0NVQUFQVFdGeWFXRWdVMmhoY0dsc2IzWmhIQUo0QUZCRVpXWmhkV3gwSUVGMllYUmhjaUJRY205bWFXeGxJRWxqYjI0Z1ZtVmpkRzl5TGlCVGIyTnBZV3dnVFdWa2FXRWdWWE5sY2lCSmJXRm5aUzRnVm1WamRHOXlJRWxzYkhWemRISmhkR2x2Ymh3Q2JnQU1SMlYwZEhrZ1NXMWhaMlZ6LzlzQVF3QUtCd2NJQndZS0NBZ0lDd29LQ3c0WUVBNE5EUTRkRlJZUkdDTWZKU1FpSHlJaEppczNMeVlwTkNraElqQkJNVFE1T3o0K1BpVXVSRWxEUEVnM1BUNDcvOElBQ3dnQ1pBSmtBUUVSQVAvRUFCb0FBUUFDQXdFQUFBQUFBQUFBQUFBQUFBQUVCUUVDQXdiLzJnQUlBUUVBQUFBQjltQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF4d2o4ZVhQR003OU8zZVR1QUFBQUFBQUFBRFdGQ2lhZ0FkNXM3dUFBQUFBQUFBQnhyWUdvQUFFbXhuWkFBQUFBQUFBYzZxdkFBQUIydFp1UUFBQUFBQUJpdXF0UUFBQUNWYzlnQUFBQUFBSE9saUFBQUFBMnQ3QUFBQUFBQUVhajVnQUFBQUZqYjVBQUFBQUFJbEhxQUFBQUFFeTcyQUFBQUFBaVVXQUFBQUFBSmQ3a0FBQUFBSTFEcUFBQUFBQVRycklBQUFBQno4OXpBQUR0TDdaNXg0bUFBQXRiUUFBQUFCaWlpQUFEdmJTOGh6cmEzQUFBdnBZQUFBQUZiVUFBQ2ZjYkFFV2owQUFPdm90Z0FBQUE1K2MxQUFKdDNrQUkxQmdBQXNyY0FBQUFLYXZBQU9ub3R3QUt5cEFBTStpN0FBQUFISHpnQUF0N0lBQnI1dlFBQW4zUUFBQUJUMXdBQTlMMEFBS2V1QUFNK2s2QUFBQWErYTFBQU8zb3dBQkJwQUFCYTJnQUFBRUNsQUFFdStBQUVXZ0FBSGIwV1FBQUFVY0lBQVNyOEFBUmFBQUFQUmR3QUFBeDVuVUFBZGZTQUFDdnBnQUF0ck1BQUFJL25nQUFlazZnQUZMQUFBQ2JlQUFBQlgwd0FBTFMxQUFhZWIxQUFEcjZRQUFBS21zQUFCdDZMcUFCVVZvQUFIcDlnQUFCU1FRQUFKTjlzQUVLakFBQWVpN2dBQUNnaWdBQUpWMzBBSUZOZ0FBQmZ5Z0FBQjUrTUFBQWIycy9ZSTlYQ0FBQUY3TUFBQUhubzRBQUFiU2UyZEkzRUFBQUY3TUFBQUhuNHdBQUFBQUFBQVgwc0FBQVVVTUFBQ1ZMa2ROZ1kwNHhvV2dBQUhvSklBQUFwcThBQVpzTExzQUF4Q3F1SUFBZWs2Z0FBQ3NxUUFEdmRTQUFBWXJLb0FBMjlOa0FBQVE2SUFCTXU5Z0FBQ0hTYWdBU2ZRQUFBQnA1a0FDWGU1QUFBQ0pSWUFCWTNBQUFBUE84QUE2K2gzQUFBQXJhZ0FGNU5BQUFCVlZZQVhzd0FBQUJpZ2pBRFBwdGdBQUFjUE9nQ1ZmZ0FBQUNMUUFDYmVBQUFBUFB4Z0M4bWdBQUFCNTNnQVhzd0FBQUJBcFFHM3BkZ0FBQUFxNm9CMjlGa0FBQUJqenZFQ1hmQUFBQUFpMEFDNm5nQUFBQ0RTQVdOd0FBQUFEVHpJSGYwT1FBQUFCaWhpZ3RiUUFBQUFHUExnWDhvQUFBQUhIejJvV3RvQUFBQUI1ZkFXTndBQUFBQXI2WUxhekFBQUFBOHZnZC9RYkFBQUFBRlBYRGJZQUFBQURtTi9RZGdBQUFBQmlqaGdBQUFBQU0zMG9BQUFBQUd0SEVBQUFBQUJtOG1BQUFBQUFNVXNFQUFBQUFiM2tvQUFBQUFBWXJLb0FBQUFCM3ZPd0FBQUFBQUVTbTVBQUFBQlkyMndBQUFBQUFCclZWMkFBQUFPOXhLQUFBQUFBQUE0MWNIQUFBQjJ0SjJRQUFBQUFBQUJ6cjRIRUFBWm1XRXZJQUFBQUFBQUFESEdIR2o4Z0czZVJMbDdBQUFBQUFBQUFBRFhscHF6dDA2WkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vRUFDY1FBQUlCQXdRQkJBTUJBUUFBQUFBQUFBRUNBd0FFUUJFU0V6QlFGQ0F4TXlFaUk1QmcvOW9BQ0FFQkFBRUZBdjhBVzh6UnJSdkVvM2hyMWNsZXBscjFFdGVvbHIxRXRlcWxvWGowTHdVTHFJMEhWdk9raGFhN1FVMTFJYUxNM2NzOGkwdDVTVFJ2NWg1VWpwN3NtaXhZNGFUeUpTWFNONVIzVkJKZE0xZk9Ra3J4MUhjcS9rWmJvQ21Zc2N1SzRhT281RmtIakhkVUV0dzBtZUNWTU55SDhYTE1zUWQya2J3TU56dDhUTk9JZ1NXUGc0SnpIUU9vOExQTnhBa2srRmduNHlEcVBCelNpSlNTeDhQYno3RDRKM0NLN21Sc0ZZbmVoWnRYbzFyMGFVYk9tdFpGb2dqQ3RadkJYRXZJMkJIQzBsUjI2SjcyUlhFbHBYeGd3UzhpWjkxTG9NQ0MzMzBCb09tV0JaUXlsRzc0M01iZ2hobXU0UkdZczNmYnc4aDdKb2hLcEdoNzdTWDg1dDFKdWJ2UkM3cW9WZTI3aS9IZURvWTM1RXk1WDQ0L25BdEUvWHVJMURyc2Z2dEpOSHk3dDlXd0VYYW5mZUwrL2VEb1ViZW1TVHRESGMzZkNOWmNDN0dzV0JadmxYYmFSWUZ0OStCY2ZSZ1JOc2x5YnB0WmNDMisvQXVmb3dZVzN4WkRIYzJCRWRzdUJkbitXRFp0K3VQT2RzT0ZHMitQdnUyMWt3YlU2VFk5NGY1NFZvL2V6YlZZN213WXp0a3g3dy9uQ1ZpclJ1SkU3YnFYVTRZT294cnY3c09HWGlZRUVkYzgzR01TSDh3NDF6OStKRE9ZaXJxNDZacmtKUk9weExmNk1hNCsvRlYyUXgzYW1nUTN1ZVpFcVM1WjhlMStqR3VQdnh3U3RDNWxGZXNhdldHamR5VTAwalpOcjlHTmNmZjVXMitqR3V2dncxdDVHcGJPaGF4Q3VDS3VLT3VLT3VLT3VLT3VLT3VLT3VHT2pieEdqYUpUV2JpbVJreElQb3hyd2Ywd1BtbzdRbWtqUk8vNXA3VkdxU0o0OEtNYVI0MTRQeDN4UXRLWTRWancvbXBiWEFBMWJIdWhyRDNRUUdTZ0FveFpvQkpSQlU5dHVOWnNkeHVUdGdoNUNQd01lZUhsSHdleXpYOXNpZGRzM1hHaGtkVkNMazNVT283TFZkSWNpOFhzdDR1Tk11ZVBqazZnTlNvMnJrVEp2aTZyZVBmSm1YRWUrUHF0VTNTNVU2YkplbTFUYkZtekpzbDZiWk5rV1ZkSnVqNkZHNWdOQm0zaTlNU2NrbVpLbkhKNzdZYXpaMXdOWWVpMWoycG1YTWU5UGZaajk4NXhxbnZoajVKTTY0aTQzOTFsNGVDTGpUT2tqRWlFRlQ3Ykw0eno4KzIxaTNId0Z6RHZIdHN2alBQejdJb3pLNEFVZUJ1WWR2dERFVnlQWEk5Y2oxeVBYSTljajF5UFhJOWNqMXlQWEk5Y2oxeVBYSTljajF5UFhJOWNqMXlQWEk5Y2oxeVBYSTljajF5UFhJOWNqMXlQWEk5Y2oxeVA3VlV1MFVZalR3YzhIR2ZEQUVtR0hpWHdoR29uZ01aOElBU1lJQkdQREVhaWUzMmVEVlM1aGhFUThUTmErQmppYVV4eExHUEZ5d0xKVHh0R2MySzFMVUFGSGpTQXdsdEtJMHlvNFhrcUtCWS9KUEdzbFNXakNpTk1aSW5rcU8xVmZMTWl2VDJkTkU2WUlCTkphdTFKYlJwNXRvWTNwck1VYldRVVkzWHBBSm9XOHBwYk5xVzFqRkJRdi9Ba0Exd3htdlR4VjZXS3ZTeFY2YUt1Q0toR2cvMXovOFFBTEJBQUFRSUVCUVFCQlFFQkFRQUFBQUFBQVFBUkFpRXlRREF4VUZHUkVpSkJZWUVERXlCeG9aQmdZdi9hQUFnQkFRQUdQd0wvQUZ2bkdGSUVxVUM4S3IrS3RWcXRaaFRoQ25BczJVb2dkZG1XVXU1U2twa25HbEV1NkhoU2kxanVLN0F5bVh0TTNIdGQzYWRVZUlwb0pDNTdTbWk3VHFMUVRPNmNsN3hzd3UwNmE4UlRaUTM3Z3NtaWtkTDk3SjR0QzZZOHQ5SllWSnpvakdsT05HWVZKem96R2xPTkU5K0U1MGpwaXAwUHFLNmpaU2hVNGdGVVZVVktOYi9wVHN2dHhmR2hTcEZqTExkYm44MmlEcC9wOFdYc2FCMERNNTJQVkZTbUdGc2QweHNPb0p4ZkdJcHo1c09vMGpGOStFeHNQdG40dnVnWkN3RUlUREcrNFBtd2RDSzhNVmlZOThkaWpEdFlkRzk0SU5yRVE3V0FpM3NIUWl1aWRrVHZZUWozWXZzYkV3Zk4wMjlpTEdLeEJ1bTJzUll4V1VKdVNkN0dFKzdGdHpaUlEzRVZtSXJEcDJzbTN1QU56Wm1EakhNUjhJaytiS0UrN2lFV2Jqd3VvWTMyeDgyZ052OEFGcDZPYWNZakNxMWgvVnViWGVGUENjSm9aeEp6YXcyOFZzOEpYZkpTTC9sTXBoMmkzRnZGY1NMTE4vMnFRcUFwQUJUaU55TGVMVmhibTB5YjlydWk0V1RxZ0tnY0tpSGhVUThLaUhoVVE4S2lIaFVCVXFSSVhhUVYzQnJTRzNCOVdUeHlYYUxEdDdTcGo1c29SNnQ0VFlTeTNVczk3Ui9wOFdBRndmV081cFRDMmNTaVRIR2h1Q044WnpTRXd1SlZKc1V4WE1ReE9rSmhkZmNIeml2dmNpTDR4SE9adlBSeXcyUUcxeVJoK2hlK3hodnRkblk0VDczeEdGN04zMWVZY0VEZE5mUXhmR0NCZW1IQUhxL2l3ZW81bTk2aG1NQ0krcjhqMWdONDgzOHNqK2Nlait6bmY5S1kvbEZvM1djaGxvUFVNeCtVV2l0NDhwaG9YWERsNS9HUklWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjVWWjUvRmdtR2lPS2RIWUwvMW9yRk9LZEZZSnpWbzdGZFVOT2hzQXQ0dEs2dnA4YURMTGRNTk0yTzZhSVh6eHlHeVlhY3hEcC9wOEtkMUlTM1c1MzFMdUM3SnFkdElKNHU0NnQzQjEySGxUaHNaQjFQdFc1OTYzT0Zkc1NreFU0VGd5Q3BYZEVBcHpVZzMvQXpDb0NwV1g5V1g5VlA5VkFVb1J4L3JuLy9FQUN3UUFBRUNCUU1FQVFRREFRRUFBQUFBQUFFQUVTRXhRRUZSVUdGeE1JR2hzU0NSd2RIaGtQRHhFR0QvMmdBSUFRRUFBVDhoL2x1SmFhOWNJb1ZGWkE1S0o1QWV5SjhPeGJyNkxjSnY5QWdLNTJRRXlycUhCVTVMa0Y0aURyb3h4QnVvVzh0cEsyeDJSejY0ZXRNMGpCaXJmZVNRejRNTllBU2RycUhNTW1hZXhpM3BKYnRFaG4yQ0JCRGd1TlRnb0tHRzlkRWtuSmMxQml4Z3lYNjROUmZmV0U1a1c5WkVuR1U3dVFYR213SEFvUzRNMTR5VVF3bURuYkhTNHhpY2tmRS8yMEl6Q3ZaZ2dRUTRMalNKd0NrTUk1TzVPaUZaL29nQ0k0TjlHRE5Da01JaUk1TjlHSk9DOElBQ09Eb2pwbWNpT1R1VHBFYW92R2hrY2tJOS93QWFLZlJHVWI0aUtGN3REL2svdGdwRUFPNUVXQWc0TkU2eE9mMjBLRDdEZWhOd3RjU2k1RzhmbXdDRzZNSWo3a1FTWWhpS0FGaTRVKzN0QWovOWhRbHRiQmxBRUJnTGRKNGNLSGcySW9CanVES0dUT0RYV2tFUkdqUUlhL2NVdW95WkRNaUdBeEU2Qmh4QXhya2RNdk5CZVFRRU5nT3M0d2lLQVFBRmlFTUplZk5ZREFTNVJKSWt6TkEyVE9BZGNCcEJnamtMcUJ5S1V2TlkyRW9qelFDSlpNVlpRTWhXTWFBZ0FtRU1aY1ZReXNnZEZNeko5U2VLSUJ1RlZCc3pvUjh2cWhGLzZYb2NadkdxMitMVUpOM2ZWQ1RkajNSWlVaalVFc0hXK3A2SFpDaE5oUkI3QUwxRG8yYWozeUVhQnNDMmk0d2FvWm80VDNucmhTZ0NMT1JQUmJhQlVkckUwWUZPSkJGengxb3d3Rkkza0QwNXV6QVVoNHNaUkFSSEJ2MUJ1OFhoVExta0p6c3B6ZmJiMVNzUXhKaFJuQjBuajdZRVF4SEp2U20vZTkwL2swMEpncUFBL0lraGppRGI1WDlPQkVyeDZ6cC9JTlA1TlFlY3hiRlczd0lYenIvY1JYb2xZZGlWVDVCcDRlMTYxYjMvQUhUaTI0QlJ6a3NmWmdRZndsTUM1RkFIelBVcFNsUDhkV1QyS1A4QXlDL0FLaTBXa0MzRFRzWlZDQUpNQTVVVEc0RTBGZ2plL1hJQU1RNFVaN0NTSzJzSlVXd0FVL0Z5UlFXQXVKQzRYdUtkR1FBWWh3VlBWSUlMRU1ldnZRV3FIZGsvWEt5dzhvWUN3RnFZYjNES09Sc1Jick03QmVvMlROMWo4NGJvQUFEQVZBWFlBa2NvZ2tJTVIxWHNZTlU0SWR4MUJydUhDRUJzQlZRQmlQcTZyVmNiMU1jZkxxUWt2bXNmZ00zVEdHRXlXUVFNZ2FweVd6anB0YjVUV3ViWkIwNHhrTDFiYzNCMG9nbkhYWXFtT2syRTVhdUdQMGRFb0c1a0FBU0FhdWg5MTBjYXpQQ2xWa0FoaklvdGd0eDBQcjlYOGVqMFlUZmhyWWFmaDZIRUs5dUVYUUlLMUZBR0RDdWlJWGg4d2dYR2dHWitjN3pWNHlMc2NGSEltSStYbGpRSnZQeWd2N0IwR0ErYmNmTHl4b0UzbjRqQWNpR1JNQkxRblJGRkpqNCtEdzZJSVFoQ0VJUWhDRUlRaENFSVFoQ0VJUWhDRUlZRzVLQ3Axem5ReUFReGlDalRzdkdqaVFISnNoUklsTTZLQXdIQnNwaUM4YUtGQWNteW1JS1p4bzRDQWNHeUsrTDZhR092aVU3Smt6cFR6ZzUvRkVFRmpvRFlCcmthYkc1enBnMTB1M0FiR3VhUGVDaGdJQUZocHpZUUd4UkJFY1pJaE1CQkZqVkVaV1NTaS9kYWtPWjNlNmlaTnhkRUpnSU9EVFl6eVpMNk1sa0FBR0dxajJDZ0o5bEo5TmtVSlZpRnNvczBONXFPRUtTMXFVTDVFRVhOSE1WTG5DVkxuMjZNM0R3RktUSE1FVjRDS2s0bnVVS1lRYkQvQU1ESmc4aEdhK21pZjl5dDJtNVQrNGtCSWtEL0FKYzMvOW9BQ0FFQkFBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEbG9BQUFBQUFBQUFBY0FEQUFBQUFBQUFBSEFBQUlBQUFBQUFBQUlBQUFHQUFBQUFBQUdBQUFBR0FBQUFBQUFBQUFBQUNBQUFBQUFCZ0FBQUFBQUFBQUFBQUFBQUFBREFBQUFBQUlBQUFBQUNBQUFBQUJBQUFBQUFEQUFBQUFDQUFBS0FBQUFBQUFBUUFBY0VBQUdBQUFBQWdBQWdDQUFBQUFBQUFBQUdBQkFBRUFBQUFBQUFJQUFBQUVBQUFBWUFBQUFHQUFJQUFBQWdBREFBRUFBQUFBQUJBQUVBQUFBQUFBQUFFQUFBQUFBQUF3QUFBSUFBUUFBQUFBQUFBQXdBQWdBQkFBQkFBQUJBQUFBQUNBQUFBQUFDQUFBQUFJQUFBQUFBQUFBQkFBQUFBQUFBQUFBQURBQWdBQUlBQUFRQUFEQUFBQUFBQUFBQUFBQ0FBQUFBQUFBQkFBQUFLQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFDSUhRQUFFQUFBSUFBRUFBSUFBSUFBQUFBQmdBQUVBQVFBQUFBQUVBQUFJQUFBQUFBZ0FRQUFBQUFDQUFBQkFBQUFBQUFBQUFBQUFBQ0FBQUFRQVFBQUFBQUlBQUFBQUFnQUFBQUFBQUFBQVFBQUFBQUlBZ0FBQUFBR0FBQUFBQUFBQUFBQUFBQUFBUUVBQUFBQUF3QUFBQXdBQUFBQUdBQUFBQUFnUUFBQUFFQUFBQUFBZ0FBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQUFFQUFBQUFCZ0FBQUFBWUFBQUFBQWdBQUFBQUFBQUFBQUJRQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQVFBQUFDQUFBQUFBQUFZQUFBVUFBQUFBQUFBQ0FBR2dBQUFBQUFBQUZBQWdBQUFBQUFBQUFBSWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUgvL3hBQXJFQUVBQVFFRkNBSURBUUVCQUFBQUFBQUJFUUFoTVVCQlVWQmhjWUdSb2RIeE1NRWdzZUh3a0dELzJnQUlBUUVBQVQ4US93Q3R3Q1VBWnJVOElUSnk3VllQTEFLZjNwZkZkb0YvYlZ3SGc4RkxlQjRyMDU0b3poNHQ5VmZYRW42cnN3eWZkUDZrYjRxeUZkLzlVWFBDQjI2dElNMUJVMlBLT3BxVk9ESmVyVTZjM2o4b295TUptVkVBVGN1OU1RTjN2MCthaENSM3p2dGlZQXNqYXVWU3grTjlGeFcvbmluQ1FBd2I0L2xSSnFadHE1MENFbHlNanRPRHM1R2J3S2xONnQ3eFRseVhxeXVJblNtYTJYS282QmRXMXdhdjJlb0NyQVhyVmdtNlZjNGEwcGNiMVl4Y1RlMTNCeXExTVM5czRoczFXQXJqTmRBcGhseWkyOFdQdTh4S3F6bmRsend1eTVWWmxrMnU5MEtWU1dRWERRMkZPSmNwYThXcFFJU0VpTmpzaXlBYmNielQ0WFNyc1FTcTdkbnZuaWpybWtGenNheGdQeUduYnVsV2V4cHZxN1RWcVVHQVVpWEpzU1pZc09xNjhLZnkrVmRrSUVoYkZ6K0tFU1JrZGhOcEFYWnJvVXpscmNaRFF3VVd2TTFoMWFOSGRnVjlVY3QvQUtZTEQ2ZUtPT3ovQUhvcFRIRTZOS1RxOEljRm1DTHovT1d3VkFWWUM5YVdXdFlPclhBM0hSMEI1b1FnK1hZY0Nydnk0UUFYY0tOV0hXdDVOT1hJaEVoTUFoSWlNaVpVRnRMbzY3OWdaRkNVWmFPZUJpRGVBUDhBTkJCTkFDQStKaEFFc0RzNjA2ZnV0NWdMVnlMTkJtVkcrY2pqcmhJMkdya1ZNT2FWd0dZSXUxNmNLQUFBQVdBZkk2c1duNlhkVDlGd0hKd0VscWx5Y3pIUk9jSVovd0FZQzhTZHJvWnRSUEhCOHdCa2dtWms0Qk1TUkV5YWlZa1FOTTJNVVY0Z2FxNm5MVkpWemNBWkcwNVpmMy9Yem5kSnFOU3J4NkNkVEo2WUNUUDZ3ODR5WmRqelYzYjk0QUlBbFdDaXl3blBQQVJTczV3Zng3WUJFWVVSMFN0Y2FUUnpPdUthbUVMZ1ZmMWhZQ1RDU0M4cmZyQXhNTFFldG4zZ1owcnZDL1dLaG1pRnlMWDZ3TW03RjNZSGhNSHN3TnZjQ0hBMk9Lc28yTG1iWDZ3UEdjTzdBOFJRN01GTUxQVUN6RUFpWUFscDM3MTZuQXpHd0JQQzV3TnRkb2RDM3hncFZibzhIMWlMVjRXTG5aOTRLNW1pT1pUNXJudmdKT1dXdkZ0L1VZS1BsWS8yK3NSQnJjZEE5WU14WGY4QTJQOEFiL25UaUpEVDFXaFlLMmVMUndtM0VUNkhxRThZTkI0bURTUzJDMDFabnpHVWhaWm02Y3NHTUlsNVc2eTZqRHdtamQxKzhKZjVZdERlVWJjMGd6K1IwUk96ZDFhVlJGVzFYUENjRXJvUmg0RG9IWmhiWVNPRHZLSWdiUzgzUHhCckxoYi9BQ3RQQmRLcjNDekhRSGRoM1BDZm93MDQrZEZ6eEtGT2ZaZlpRMXN6VW41RG9ZLzdNdWRGTnFaSzF4Y09wM2Y3SEQ5Zy9SaU42YkVLTWhEdUdpSFNGS1k3QTR1alkzZ0plN1JLSVdSaDBNVC9BS0d1SFBNcnMyc1kzcXU3RHlqVmRvK3NHQ2dDcmNGUnlUczM5TDZGQzd1Zzd0WDgyci9VVmNQUEovZGVwVjZ4WHJGZXNWNnhYckZLWDlIVjVGeEQ3cTkvNGdxWVFORzE0cUliMlN4NTRTT2F6NnE0ZmhJOUY4NEU2NUxBQ1ZvNDV0bDRxRkthclZ6K2R3Skx4SkdwN3ZSY3ZGWG9zdG9zRnVPWGJEejZ3T2ZyQVFVd09nUExVSGxEVVBHRGNtQkNKSTBVRGh2VS9yeFNKUU1JbHA4N0EzbDFOQUFCY1llRkMwTytQdjV3TWpyODkwODBGVTBBd3ljZ1N6SnVQbW53dmhYeldQV1NlUk9JRm5ON0tSRkVoTC9sZ2FqV3RXaFE0QVFCY0dJaXNEOEJwMFNJUnlmbGtZc01jVi9tSmhBaGNrMi9KWW1UYm9NMm9aamd4Uk5ZdXlaTmVYeXl3V2psdVAxaVlScjUvWWZmeUVNQXVBWkdMUVJFa2J4cUVQNkRUbDhZanlJY1dyZ0VEbGlZbUo2eVcvSFliUE85RHJqYkxwL3ZuVDQ3Qko2NDJIMzB4Y0RrSnkzKy9GSGxEeTRaZWVlT2pVaHZKZmlnVkN6NFpkdjNpNFk1U1hlci9QdzNnQURtMFRzQ0J1TWRJVXRGVHVmZnd0QjM1ZEJmUUFBSUM0eGFNcENFY3luUk1HWHFydmdsU1NCZklzN3BqNGRGcER5ZkUvRFBRTG5kazYrTWJmZ3Q3TTh4OS9CSm9BNnY4eCs0NmR2Z2pFM2hvVUFBQUVBWlkyK3Byc04xUHo1Z1A3eDZTUlJndEg4Z1ZnSldpR1BiTkRsajdJMWJla05Udm5DZmwvaWI5Z2Q2L0xQSVdIcWN0ZzVacXdmNmsvTC9BQk4rd085ZmpLRUMzUlBOQUtIQU5oWDZWWVp0ZUg0bnBJWHpFMTdWWHRWZTFWN1ZYdFZlMVY3Vlh0VmUxVjdWWHRWZTFWN1ZYdFZlMVY3Vlh0VmUxVjdWWHRWZTFWN1ZYdFZlMVY3Vlh0VmUxVjdWWHRWZTFWN1ZTeXkvaEpPY0c3ZlZwbGUxMncwWkFJUnpLWWtyczM5SFk2dDN3RE9wOUFQQzNHeFRyR2hXZEtqWFdPZTQ3Rlp1NkFaMVlNTnVOdzJPR0FVS0xHa2dOOGw3L093MExaWXlxZG9Cd2R4c2xCSVNScTRJMy80ZHFSQWlXSWxwc0N5cUcwdVA3VnAwcjIvWmhOdzRMK090VE1FM0Z2QWNhQ3NCSzFieHZqOWpTcmlxd2JPZjM0Z3FUemxOYWNIT2s5OVFJVEZHTjRXQTgwTVIzWmR3TXRwUThMSTJEblVqMG1IbWs1VmVFSmhsaWJYWkRuVWFrSEFPV2RBQUFMZ0x0cTdzc1V0T0RUcGgvd0NyeXArT040ZFRBbFhESVMxQmRRdWdxQVdXZHpwUUFBQUM0TnRTak5ieDJxYWQxbUgxVS9BY0o3MWttWnpqclNJd2tQd0tRL3ZHcnBUVm43VkFJbWhWOVZFdkkxMEszQnNnL3dEQTlsY2EvVUFuNnE5Q2NDKzZVeXVhdmVxQ3p2SHlWZDdjWmYzWFkwRkFCQVFidit1WC85az1cIjtcclxuXHJcbiAgICAgICAgbGV0IHBpY3R1cmViNjQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PHN0cmluZz4oR0VUX1VzZXJQcm9maWxlX0dldEFjY291bnRQaWN0dXJlLCBuZXcgSHR0cFBhcmFtcygpLnNldCgnaWRBY2NvdW50JywgdGhpcy5BY2NvdW50SWQpKSk7XHJcbiAgICAgICAgcmV0dXJuIHBpY3R1cmViNjQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGRvVXBkYXRlUHJvZmlsZVBpY3R1cmUoaW1hZ2U6IGFueSk6IFByb21pc2U8Q2FsbFJlc3VsdD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmZha2VUb2tlbikge1xyXG4gICAgICAgICAgICB2YXIgcmV0ID0gbmV3IENhbGxSZXN1bHQoKTtcclxuICAgICAgICAgICAgcmV0LnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGR0b1BpYyA9IG5ldyBVcGRhdGVQcm9maWxlUGljdHVyZUR0byh0aGlzLkFjY291bnRJZCk7XHJcbiAgICAgICAgbGV0IGNyID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3R3aXRoRmlsZXM8Q2FsbFJlc3VsdD4oUE9TVF9Vc2VyUHJvZmlsZV9VcGRhdGVBY2NvdW50UGljdHVyZSwgZHRvUGljLCBpbWFnZSA/PyBbXSkpO1xyXG4gICAgICAgIGlmIChjci5zdWNjZXNzKSB0aGlzLmRvUmVsb2FkUHJvZmlsZVBpY3R1cmUoKTtcclxuICAgICAgICByZXR1cm4gY3I7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGRvVXBkYXRlUmVjb3ZlcnlTZXR0aW5ncyhlbWFpbDogc3RyaW5nKTogUHJvbWlzZTxDYWxsUmVzdWx0PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmFrZVRva2VuKSB7XHJcbiAgICAgICAgICAgIHZhciByZXQgPSBuZXcgQ2FsbFJlc3VsdCgpO1xyXG4gICAgICAgICAgICByZXQuc3VjY2VzcyA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgZHRvID0gbmV3IFVwZGF0ZUFjY291bnRSZWNvdmVyeVNldHRpbmdzRHRvKHRoaXMuQWNjb3VudElkLCBlbWFpbCk7XHJcbiAgICAgICAgbGV0IGNyID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8Q2FsbFJlc3VsdD4oUE9TVF9Vc2VyUHJvZmlsZV9VcGRhdGVBY2NvdW50UmVjb3ZlcnlJbmZvcywgZHRvKSk7XHJcbiAgICAgICAgcmV0dXJuIGNyO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkb1VwZGF0ZVBhc3N3b3JkKG9sZFBhc3N3b3JkOiBzdHJpbmcsIG5ld1Bhc3N3b3JkOiBzdHJpbmcsIG5ld1Bhc3N3b3JkQ29uZmlybTogc3RyaW5nKTogUHJvbWlzZTxDYWxsUmVzdWx0PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmFrZVRva2VuKSB7XHJcbiAgICAgICAgICAgIHZhciByZXQgPSBuZXcgQ2FsbFJlc3VsdCgpO1xyXG4gICAgICAgICAgICByZXQuc3VjY2VzcyA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgZHRvID0gbmV3IFVwZGF0ZVBhc3N3b3JkRHRvKHRoaXMuQWNjb3VudElkLCBvbGRQYXNzd29yZCwgbmV3UGFzc3dvcmQsIG5ld1Bhc3N3b3JkQ29uZmlybSk7XHJcbiAgICAgICAgbGV0IGNyID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8Q2FsbFJlc3VsdD4oUE9TVF9Vc2VyUHJvZmlsZV9VcGRhdGVBY2NvdW50UGFzc3dvcmQsIGR0bykpO1xyXG4gICAgICAgIHJldHVybiBjcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZG9EZWxldGVQcm9maWxlUGljdHVyZSgpOiBQcm9taXNlPENhbGxSZXN1bHQ+IHtcclxuICAgICAgICBpZiAodGhpcy5mYWtlVG9rZW4pIHtcclxuICAgICAgICAgICAgdmFyIHJldCA9IG5ldyBDYWxsUmVzdWx0KCk7XHJcbiAgICAgICAgICAgIHJldC5zdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIHJldDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBwYXJzID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkQWNjb3VudCcsIHRoaXMuQWNjb3VudElkKTtcclxuICAgICAgICBsZXQgY3IgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PENhbGxSZXN1bHQ+KEdFVF9Vc2VyUHJvZmlsZV9EZWxldGVBY2NvdW50UGljdHVyZSwgcGFycykpO1xyXG4gICAgICAgIGlmIChjci5zdWNjZXNzKSB0aGlzLlByb2ZpbGVQaWN0dXJlID0gbnVsbDtcclxuICAgICAgICByZXR1cm4gY3I7XHJcbiAgICB9XHJcbn0iXX0=
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnVzZXJwcmVmZXJlbmNlcy5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9wcmVmZXJlbmNlcy91c2VyL2FwcC51c2VycHJlZmVyZW5jZXMuYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFlBQVksRUFBbUIsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxLQUFLO0FBQ0wsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxnQ0FBZ0MsRUFBZSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUV6Six5QkFBeUI7QUFDekIsTUFBTSxpQ0FBaUMsR0FBVyxvQ0FBb0MsQ0FBQztBQUN2RixNQUFNLHFDQUFxQyxHQUFXLHVDQUF1QyxDQUFDO0FBQzlGLE1BQU0sMkNBQTJDLEdBQVcsNkNBQTZDLENBQUM7QUFDMUcsTUFBTSxzQ0FBc0MsR0FBVyx3Q0FBd0MsQ0FBQztBQUNoRyxNQUFNLG9DQUFvQyxHQUFXLHVDQUF1QyxDQUFDO0FBQzdGLE1BQU0sZ0NBQWdDLEdBQVcsbUNBQW1DLENBQUM7QUFHckYsTUFBTSxPQUFPLHNCQUFzQjtJQVMvQixZQUFvQixRQUFrQjtRQUFsQixhQUFR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Q0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYSxvQ0FBb0MsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JHLElBQUksRUFBRSxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQyxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7O29IQTFGUSxzQkFBc0I7d0hBQXRCLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5cclxuLy8gRVNcclxuaW1wb3J0IHsgQ2FsbFJlc3VsdCwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vYXBwLmFjY2Vzc3Rva2VuXCI7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgVXBkYXRlUGFzc3dvcmREdG8sIFVwZGF0ZVByb2ZpbGVQaWN0dXJlRHRvLCBVcGRhdGVBY2NvdW50UmVjb3ZlcnlTZXR0aW5nc0R0bywgVXNlckFjY291bnQsIFVTRV9GQUtFX0FDQ0VTU19UT0tFTiB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIjtcclxuXHJcbi8vIENoaWFtYXRlIGFpIFJlcG9zaXRvcnlcclxuY29uc3QgR0VUX1VzZXJQcm9maWxlX0dldEFjY291bnRQaWN0dXJlOiBzdHJpbmcgPSBcIi9hcGkvVXNlclByb2ZpbGUvR2V0QWNjb3VudFBpY3R1cmVcIjtcclxuY29uc3QgUE9TVF9Vc2VyUHJvZmlsZV9VcGRhdGVBY2NvdW50UGljdHVyZTogc3RyaW5nID0gXCIvYXBpL1VzZXJQcm9maWxlL1VwZGF0ZUFjY291bnRQaWN0dXJlXCI7XHJcbmNvbnN0IFBPU1RfVXNlclByb2ZpbGVfVXBkYXRlQWNjb3VudFJlY292ZXJ5SW5mb3M6IHN0cmluZyA9IFwiL2FwaS9Vc2VyUHJvZmlsZS9VcGRhdGVBY2NvdW50UmVjb3ZlcnlJbmZvc1wiO1xyXG5jb25zdCBQT1NUX1VzZXJQcm9maWxlX1VwZGF0ZUFjY291bnRQYXNzd29yZDogc3RyaW5nID0gXCIvYXBpL1VzZXJQcm9maWxlL1VwZGF0ZUFjY291bnRQYXNzd29yZFwiO1xyXG5jb25zdCBHRVRfVXNlclByb2ZpbGVfRGVsZXRlQWNjb3VudFBpY3R1cmU6IHN0cmluZyA9IFwiL2FwaS9Vc2VyUHJvZmlsZS9EZWxldGVBY2NvdW50UGljdHVyZVwiO1xyXG5jb25zdCBHRVRfVXNlclByb2ZpbGVfR2V0RW50aXR5QWNjb3VudDogc3RyaW5nID0gXCIvYXBpL1VzZXJQcm9maWxlL0dldEVudGl0eUFjY291bnRcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBBY2NvdW50SWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyBQcm9maWxlUGljdHVyZTogU2FmZVJlc291cmNlVXJsO1xyXG5cclxuICAgIHB1YmxpYyBmYWtlVG9rZW46IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXI7XHJcbiAgICBwdWJsaWMgaHR0cDogSFRUUFNlcnZpY2U7XHJcbiAgICBwdWJsaWMgbXNnRXh0czogTWVzc2FnZVNlcnZpY2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICBsZXQgdGtzID0gdGhpcy5pbmplY3Rvci5nZXQoVG9rZW5TZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLnNhbml0aXplciA9IHRoaXMuaW5qZWN0b3IuZ2V0KERvbVNhbml0aXplcik7XHJcbiAgICAgICAgdGhpcy5odHRwID0gdGhpcy5pbmplY3Rvci5nZXQoSFRUUFNlcnZpY2UpO1xyXG4gICAgICAgIHRoaXMubXNnRXh0cyA9IHRoaXMuaW5qZWN0b3IuZ2V0KE1lc3NhZ2VTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLmZha2VUb2tlbiA9IHRoaXMuaW5qZWN0b3IuZ2V0KFVTRV9GQUtFX0FDQ0VTU19UT0tFTikgfHwgZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMuQWNjb3VudElkID0gdGtzLmdldEphY2VJZGVudGl0eSgpLklkQWNjb3VudC50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuZG9SZWxvYWRQcm9maWxlUGljdHVyZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRBY2NvdW50UHJvZmlsZSgpOiBQcm9taXNlPFVzZXJBY2NvdW50PiB7XHJcbiAgICAgICAgbGV0IHBhcnMgPSBuZXcgSHR0cFBhcmFtcygpLnNldChcImlkQWNjb3VudFwiLCB0aGlzLkFjY291bnRJZCk7XHJcbiAgICAgICAgbGV0IHJldCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQ8VXNlckFjY291bnQ+KEdFVF9Vc2VyUHJvZmlsZV9HZXRFbnRpdHlBY2NvdW50LCBwYXJzKSk7XHJcbiAgICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZG9SZWxvYWRQcm9maWxlUGljdHVyZSgpIHtcclxuICAgICAgICB0aGlzLlByb2ZpbGVQaWN0dXJlID0gbnVsbDtcclxuICAgICAgICBsZXQgdG1wUGljdCA9IGF3YWl0IHRoaXMuZ2V0Q3VycmVudFByb2ZpbGVQaWN0dXJlKCk7XHJcbiAgICAgICAgdGhpcy5Qcm9maWxlUGljdHVyZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChgZGF0YTppbWFnZS9wbmc7YmFzZTY0LCR7dG1wUGljdH1gKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Q3VycmVudFByb2ZpbGVQaWN0dXJlKCk6IFByb21pc2U8c3RyaW5nPiB7XHJcblxyXG4gICAgICAgIC8vIFNlIGZha2UgdG9rZW4gcmVzdGl0dWlzY28gbGEgc3RvY2sgaW1hZ2UgZGVsbCd1dGVudGVcclxuICAgICAgICBpZiAodGhpcy5mYWtlVG9rZW4pXHJcbiAgICAgICAgICAgIHJldHVybiBcIi85ai80QUFRU2taSlJnQUJBUUVCTEFFc0FBRC80UUNhUlhocFpnQUFTVWtxQUFnQUFBQURBQTRCQWdCUUFBQUFNZ0FBQUJvQkJRQUJBQUFBZ2dBQUFCc0JCUUFCQUFBQWlnQUFBQUFBQUFCRVpXWmhkV3gwSUVGMllYUmhjaUJRY205bWFXeGxJRWxqYjI0Z1ZtVmpkRzl5TGlCVGIyTnBZV3dnVFdWa2FXRWdWWE5sY2lCSmJXRm5aUzRnVm1WamRHOXlJRWxzYkhWemRISmhkR2x2Yml3QkFBQUJBQUFBTEFFQUFBRUFBQUQvNFFYSGFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0x3QThQM2h3WVdOclpYUWdZbVZuYVc0OUl1Kzd2eUlnYVdROUlsYzFUVEJOY0VObGFHbEllbkpsVTNwT1ZHTjZhMk01WkNJL1BnbzhlRHA0YlhCdFpYUmhJSGh0Ykc1ek9uZzlJbUZrYjJKbE9tNXpPbTFsZEdFdklqNEtDVHh5WkdZNlVrUkdJSGh0Ykc1ek9uSmtaajBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOHdNaTh5TWkxeVpHWXRjM2x1ZEdGNExXNXpJeUkrQ2drSlBISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmNHaHZkRzl6YUc5d1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM0JvYjNSdmMyaHZjQzh4TGpBdklpQjRiV3h1Y3pwSmNIUmpOSGh0Y0VOdmNtVTlJbWgwZEhBNkx5OXBjSFJqTG05eVp5OXpkR1F2U1hCMFl6UjRiWEJEYjNKbEx6RXVNQzk0Yld4dWN5OGlJQ0FnZUcxc2JuTTZSMlYwZEhsSmJXRm5aWE5IU1VaVVBTSm9kSFJ3T2k4dmVHMXdMbWRsZEhSNWFXMWhaMlZ6TG1OdmJTOW5hV1owTHpFdU1DOGlJSGh0Ykc1ek9tUmpQU0pvZEhSd09pOHZjSFZ5YkM1dmNtY3ZaR012Wld4bGJXVnVkSE12TVM0eEx5SWdlRzFzYm5NNmNHeDFjejBpYUhSMGNEb3ZMMjV6TG5WelpYQnNkWE11YjNKbkwyeGtaaTk0YlhBdk1TNHdMeUlnSUhodGJHNXpPbWx3ZEdORmVIUTlJbWgwZEhBNkx5OXBjSFJqTG05eVp5OXpkR1F2U1hCMFl6UjRiWEJGZUhRdk1qQXdPQzB3TWkweU9TOGlJSGh0Ykc1ek9uaHRjRkpwWjJoMGN6MGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMM0pwWjJoMGN5OGlJSEJvYjNSdmMyaHZjRHBEY21Wa2FYUTlJa2RsZEhSNUlFbHRZV2RsY3lJZ1IyVjBkSGxKYldGblpYTkhTVVpVT2tGemMyVjBTVVE5SWpFek16Y3hORFF4TkRZaUlIaHRjRkpwWjJoMGN6cFhaV0pUZEdGMFpXMWxiblE5SW1oMGRIQnpPaTh2ZDNkM0xtbHpkRzlqYTNCb2IzUnZMbU52YlM5c1pXZGhiQzlzYVdObGJuTmxMV0ZuY21WbGJXVnVkRDkxZEcxZmJXVmthWFZ0UFc5eVoyRnVhV01tWVcxd08zVjBiVjl6YjNWeVkyVTlaMjl2WjJ4bEptRnRjRHQxZEcxZlkyRnRjR0ZwWjI0OWFYQjBZM1Z5YkNJZ2NHeDFjenBFWVhSaFRXbHVhVzVuUFNKb2RIUndPaTh2Ym5NdWRYTmxjR3gxY3k1dmNtY3ZiR1JtTDNadlkyRmlMMFJOU1MxUVVrOUlTVUpKVkVWRUxVVllRMFZRVkZORlFWSkRTRVZPUjBsT1JVbE9SRVZZU1U1SElpQStDanhrWXpwamNtVmhkRzl5UGp4eVpHWTZVMlZ4UGp4eVpHWTZiR2srVFdGeWFXRWdVMmhoY0dsc2IzWmhQQzl5WkdZNmJHaytQQzl5WkdZNlUyVnhQand2WkdNNlkzSmxZWFJ2Y2o0OFpHTTZaR1Z6WTNKcGNIUnBiMjQrUEhKa1pqcEJiSFErUEhKa1pqcHNhU0I0Yld3NmJHRnVaejBpZUMxa1pXWmhkV3gwSWo1RVpXWmhkV3gwSUVGMllYUmhjaUJRY205bWFXeGxJRWxqYjI0Z1ZtVmpkRzl5TGlCVGIyTnBZV3dnVFdWa2FXRWdWWE5sY2lCSmJXRm5aUzRnVm1WamRHOXlJRWxzYkhWemRISmhkR2x2Ymp3dmNtUm1PbXhwUGp3dmNtUm1Pa0ZzZEQ0OEwyUmpPbVJsYzJOeWFYQjBhVzl1UGdvOGNHeDFjenBNYVdObGJuTnZjajQ4Y21SbU9sTmxjVDQ4Y21SbU9teHBJSEprWmpwd1lYSnpaVlI1Y0dVOUoxSmxjMjkxY21ObEp6NDhjR3gxY3pwTWFXTmxibk52Y2xWU1RENW9kSFJ3Y3pvdkwzZDNkeTVwYzNSdlkydHdhRzkwYnk1amIyMHZjR2h2ZEc4dmJHbGpaVzV6WlMxbmJURXpNemN4TkRReE5EWXRQM1YwYlY5dFpXUnBkVzA5YjNKbllXNXBZeVpoYlhBN2RYUnRYM052ZFhKalpUMW5iMjluYkdVbVlXMXdPM1YwYlY5allXMXdZV2xuYmoxcGNIUmpkWEpzUEM5d2JIVnpPa3hwWTJWdWMyOXlWVkpNUGp3dmNtUm1PbXhwUGp3dmNtUm1PbE5sY1Q0OEwzQnNkWE02VEdsalpXNXpiM0krQ2drSlBDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0NnazhMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdvOFAzaHdZV05yWlhRZ1pXNWtQU0ozSWo4K0N2L3RBSlpRYUc5MGIzTm9iM0FnTXk0d0FEaENTVTBFQkFBQUFBQUFlaHdDVUFBUFRXRnlhV0VnVTJoaGNHbHNiM1poSEFKNEFGQkVaV1poZFd4MElFRjJZWFJoY2lCUWNtOW1hV3hsSUVsamIyNGdWbVZqZEc5eUxpQlRiMk5wWVd3Z1RXVmthV0VnVlhObGNpQkpiV0ZuWlM0Z1ZtVmpkRzl5SUVsc2JIVnpkSEpoZEdsdmJod0NiZ0FNUjJWMGRIa2dTVzFoWjJWei85c0FRd0FLQndjSUJ3WUtDQWdJQ3dvS0N3NFlFQTRORFE0ZEZSWVJHQ01mSlNRaUh5SWhKaXMzTHlZcE5Da2hJakJCTVRRNU96NCtQaVV1UkVsRFBFZzNQVDQ3LzhJQUN3Z0NaQUprQVFFUkFQL0VBQm9BQVFBQ0F3RUFBQUFBQUFBQUFBQUFBQUFFQlFFQ0F3Yi8yZ0FJQVFFQUFBQUI5bUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBeHdqOGVYUEdNNzlPM2VUdUFBQUFBQUFBQURXRkNpYWdBZDVzN3VBQUFBQUFBQUJ4cllHb0FBRW14blpBQUFBQUFBQWM2cXZBQUFCMnRadVFBQUFBQUFCaXVxdFFBQUFDVmM5Z0FBQUFBQUhPbGlBQUFBQTJ0N0FBQUFBQUFFYWo1Z0FBQUFGamI1QUFBQUFBSWxIcUFBQUFBRXk3MkFBQUFBQWlVV0FBQUFBQUpkN2tBQUFBQUkxRHFBQUFBQUFUcnJJQUFBQUJ6ODl6QUFEdEw3WjV4NG1BQUF0YlFBQUFBQmlpaUFBRHZiUzhoenJhM0FBQXZwWUFBQUFGYlVBQUNmY2JBRVdqMEFBT3ZvdGdBQUFBNStjMUFBSnQza0FJMUJnQUFzcmNBQUFBS2F2QUFPbm90d0FLeXBBQU0raTdBQUFBSEh6Z0FBdDdJQUJyNXZRQUFuM1FBQUFCVDF3QUE5TDBBQUtldUFBTStrNkFBQUFhK2ExQUFPM293QUJCcEFBQmEyZ0FBQUVDbEFBRXUrQUFFV2dBQUhiMFdRQUFBVWNJQUFTcjhBQVJhQUFBUFJkd0FBQXg1blVBQWRmU0FBQ3ZwZ0FBdHJNQUFBSS9uZ0FBZWs2Z0FGTEFBQUNiZUFBQUJYMHdBQUxTMUFBYWViMUFBRHI2UUFBQUttc0FBQnQ2THFBQlVWb0FBSHA5Z0FBQlNRUUFBSk45c0FFS2pBQUFlaTdnQUFDZ2lnQUFKVjMwQUlGTmdBQUJmeWdBQUI1K01BQUFiMnMvWUk5WENBQUFGN01BQUFIbm80QUFBYlNlMmRJM0VBQUFGN01BQUFIbjR3QUFBQUFBQUFYMHNBQUFVVU1BQUNWTGtkTmdZMDR4b1dnQUFIb0pJQUFBcHE4QUFac0xMc0FBeENxdUlBQWVrNmdBQUNzcVFBRHZkU0FBQVlyS29BQTI5TmtBQUFRNklBQk11OWdBQUNIU2FnQVNmUUFBQUJwNWtBQ1hlNUFBQUNKUllBQlkzQUFBQVBPOEFBNitoM0FBQUFyYWdBRjVOQUFBQlZWWUFYc3dBQUFCaWdqQURQcHRnQUFBY1BPZ0NWZmdBQUFDTFFBQ2JlQUFBQVBQeGdDOG1nQUFBQjUzZ0FYc3dBQUFCQXBRRzNwZGdBQUFBcTZvQjI5RmtBQUFCanp2RUNYZkFBQUFBaTBBQzZuZ0FBQUNEU0FXTndBQUFBRFR6SUhmME9RQUFBQmloaWd0YlFBQUFBR1BMZ1g4b0FBQUFISHoyb1d0b0FBQUFCNWZBV053QUFBQUFyNllMYXpBQUFBQTh2Z2QvUWJBQUFBQUZQWERiWUFBQUFEbU4vUWRnQUFBQUJpamhnQUFBQUFNMzBvQUFBQUFHdEhFQUFBQUFCbThtQUFBQUFBTVVzRUFBQUFBYjNrb0FBQUFBQVlyS29BQUFBQjN2T3dBQUFBQUFFU201QUFBQUJZMjJ3QUFBQUFBQnJWVjJBQUFBTzl4S0FBQUFBQUFBNDFjSEFBQUIydEoyUUFBQUFBQUFCenI0SEVBQVptV0V2SUFBQUFBQUFBREhHSEdqOGdHM2VSTGw3QUFBQUFBQUFBQURYbHBxenQwNlpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvL0VBQ2NRQUFJQkF3UUJCQU1CQVFBQUFBQUFBQUVDQXdBRVFCRVNFekJRRkNBeE15RWlJNUJnLzlvQUNBRUJBQUVGQXY4QVc4elJyUnZFbzNocjFjbGVwbHIxRXRlb2xyMUV0ZXFsb1hqMEx3VUxxSTBIVnZPa2hhYTdRVTExSWFMTTNjczhpMHQ1U1RSdjVoNVVqcDdzbWl4WTRhVHlKU1hTTjVSM1ZCSmRNMWZPUWtyeDFIY3Eva1pib0NtWXNjdUs0YU9vNUZrSGpIZFVFdHcwbWVDVk1OeUg4WExNc1FkMmtid01OenQ4VE5PSWdTV1BnNEp6SFFPbzhMUE54QWtrK0ZnbjR5RHFQQnpTaUpTU3g4UGJ6N0Q0SjNDSzdtUnNGWW5laFp0WG8xcjBhVWJPbXRaRm9nakN0WnZCWEV2STJCSEMwbFIyNko3MlJYRWxwWHhnd1M4aVo5MUxvTUNDMzMwQm9PbVdCWlF5bEc3NDNNYmdoaG11NFJHWXMzZmJ3OGg3Sm9oS3BHaDc3U1g4NXQxSnVidlJDN3FvVmUyN2kvSGVEb1kzNUV5NVg0NC9uQXRFL1h1STFEcnNmdnRKTkh5N3Q5V3dFWGFuZmVMKy9lRG9VYmVtU1R0REhjM2ZDTlpjQzdHc1dCWnZsWGJhUllGdDkrQmNmUmdSTnNseWJwdFpjQzIrL0F1Zm93WVczeFpESGMyQkVkc3VCZG4rV0RadCt1UE9kc09GRzIrUHZ1MjFrd2JVNlRZOTRmNTRWby9lemJWWTdtd1l6dGt4N3cvbkNWaXJSdUpFN2JxWFU0WU9veHJ2N3NPR1hpWUVFZGM4M0dNU0g4dzQxejkrSkRPWWlycTQ2WnJrSlJPcHhMZjZNYTQrL0ZWMlF4M2FtZ1EzdWVaRXFTNVo4ZTErakd1UHZ4d1N0QzVsRmVzYXZXR2pkeVUwMGpaTnI5R05jZmY1VzIrakd1dnZ3MXQ1R3BiT2hheEN1Q0t1S091S091S091S091S091S091R09qYnhHamFKVFdiaW1Sa3hJUG94cndmMHdQbW83UW1ralJPLzVwN1ZHcVNKNDhLTWFSNDE0UHgzeFF0S1k0Vmp3L21wYlhBQTFiSHVockQzUVFHU2dBb3hab0JKUkJVOXR1TlpzZHh1VHRnaDVDUHdNZWVIbEh3ZXl6WDlzaWRkczNYR2hrZFZDTGszVU9vN0xWZEljaThYc3Q0dU5NdWVQams2Z05TbzJya1RKdmk2cmVQZkptWEVlK1BxdFUzUzVVNmJKZW0xVGJGbXpKc2w2YlpOa1dWZEp1ajZGRzVnTkJtM2k5TVNja21aS25ISjc3WWF6WjF3TlllaTFqMnBtWE1lOVBmWmo5ODV4cW52aGo1Sk02NGk0MzkxbDRlQ0xqVE9rakVpRUZUN2JMNHp6OCsyMWkzSHdGekR2SHRzdmpQUHo3SW96SzRBVWVCdVlkdnRERVZ5UFhJOWNqMXlQWEk5Y2oxeVBYSTljajF5UFhJOWNqMXlQWEk5Y2oxeVBYSTljajF5UFhJOWNqMXlQWEk5Y2oxeVBYSTljajF5UFhJOWNqMXlQN1ZVdTBVWWpUd2M4SEdmREFFbUdIaVh3aEdvbmdNWjhJQVNZSUJHUERFYWllMzJlRFZTNWhoRVE4VE5hK0JqaWFVeHhMR1BGeXdMSlR4dEdjMksxTFVBRkhqU0F3bHRLSTB5bzRYa3FLQlkvSlBHc2xTV2pDaU5NWklua3FPMVZmTE1pdlQyZE5FNllJQk5KYXUxSmJScDV0b1kzcHJNVWJXUVVZM1hwQUpvVzhwcGJOcVcxakZCUXYvQWtBMXd4bXZUeFY2V0t2U3hWNmFLdUNLaEdnLzF6LzhRQUxCQUFBUUlFQlFRQkJRRUJBUUFBQUFBQUFRQVJBaUV5UURBeFVGR1JFaUpCWVlFREV5QnhvWkJnWXYvYUFBZ0JBUUFHUHdML0FGdm5HRklFcVVDOEtyK0t0VnF0WmhUaENuQXMyVW9nZGRtV1V1NVNrcGtuR2xFdTZIaFNpMWp1SzdBeW1YdE0zSHRkM2FkVWVJcG9KQzU3U21pN1RxTFFUTzZjbDd4c3d1MDZhOFJUWlEzN2dzbWlrZEw5N0o0dEM2WTh0OUpZVkp6b2pHbE9OR1lWSnpvekdsT05FOStFNTBqcGlwMFBxSzZqWlNoVTRnRlVWVVZLTmIvcFRzdnR4ZkdoU3BGakxMZGJuODJpRHAvcDhXWHNhQjBETTUyUFZGU21HRnNkMHhzT29KeGZHSXB6NXNPbzBqRjkrRXhzUHRuNHZ1Z1pDd0VJVERHKzRQbXdkQ0s4TVZpWTk4ZGlqRHRZZEc5NElOckVRN1dBaTNzSFFpdWlka1R2WVFqM1l2c2JFd2ZOMDI5aUxHS3hCdW0yc1JZeFdVSnVTZDdHRSs3RnR6WlJRM0VWbUlyRHAyc20zdUFOelptRGpITVI4SWsrYktFKzdpRVdiand1b1kzMng4MmdOdjhBRnA2T2FjWWpDcTFoL1Z1YlhlRlBDY0pvWnhKemF3MjhWczhKWGZKU0wvbE1waDJpM0Z2RmNTTExOLzJxUXFBcEFCVGlOeUxlTFZoYm0weWI5cnVpNFdUcWdLZ2NLaUhoVVE4S2lIaFVROEtpSGhVQlVxUklYYVFWM0JyU0czQjlXVHh5WGFMRHQ3U3BqNXNvUjZ0NFRZU3kzVXM5N1IvcDhXQUZ3ZldPNXBUQzJjU2lUSEdodUNOOFp6U0V3dUpWSnNVeFhNUXhPa0poZGZjSHppdnZjaUw0eEhPWnZQUnl3MlFHMXlSaCtoZSt4aHZ0ZG5ZNFQ3M3hHRjdOMzFlWWNFRGROZlF4ZkdDQmVtSEFIcS9pd2VvNW05NmhtTUNJK3I4ajFnTjQ4MzhzaitjZWorem5mOUtZL2xGbzNXY2hsb1BVTXgrVVdpdDQ4cGhvWFhEbDUvR1JJVlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1Vlo1L0ZnbUdpT0tkSFlMLzFvckZPS2RGWUp6Vm83RmRVTk9oc0F0NHRLNnZwOGFETExkTU5NMk82YUlYenh5R3lZYWN4RHAvcDhLZDFJUzNXNTMxTHVDN0pxZHRJSjR1NDZ0M0IxMkhsVGhzWkIxUHRXNTk2M09GZHNTa3hVNFRneUNwWGRFQXB6VWczL0F6Q29DcFdYOVdYOVZQOVZBVW9SeC9ybi8vRUFDd1FBQUVDQlFNRUFRUURBUUVBQUFBQUFBRUFFU0V4UUVGUlVHRnhNSUdoc1NDUndkSGhrUER4RUdELzJnQUlBUUVBQVQ4aC9sdUphYTljSW9WRlpBNUtKNUFleUo4T3hicjZMY0p2OUFnSzUyUUV5cnFIQlU1TGtGNGlEcm94eEJ1b1c4dHBLMngyUno2NGV0TTBqQmlyZmVTUXo0TU5ZQVNkcnFITU1tYWV4aTNwSmJ0RWhuMkNCQkRndU5UZ29LR0c5ZEVrbkpjMUJpeGd5WDY0TlJmZldFNWtXOVpFbkdVN3VRWEdtd0hBb1M0TTE0eVVRd21EbmJIUzR4aWNrZkUvMjBJekN2WmdnUVE0TGpTSndDa01JNU81T2lGWi9vZ0NJNE45R0ROQ2tNSWlJNU45R0pPQzhJQUNPRG9qcG1jaU9UdVRwRWFvdkdoa2NrSTkvd0FhS2ZSR1ViNGlLRjd0RC9rL3RncEVBTzVFV0FnNE5FNnhPZjIwS0Q3RGVoTnd0Y1NpNUc4Zm13Q0c2TUlqN2tRU1loaUtBRmk0VSszdEFqLzloUWx0YkJsQUVCZ0xkSjRjS0hnMklvQmp1REtHVE9EWFdrRVJHalFJYS9jVXVveVpETWlHQXhFNkJoeEF4cmtkTXZOQmVRUUVOZ09zNHdpS0FRQUZpRU1KZWZOWURBUzVSSklrek5BMlRPQWRjQnBCZ2prTHFCeUtVdk5ZMkVvanpRQ0paTVZaUU1oV01hQWdBbUVNWmNWUXlzZ2RGTXpKOVNlS0lCdUZWQnN6b1I4dnFoRi82WG9jWnZHcTIrTFVKTjNmVkNUZGozUlpVWmpVRXNIVytwNkhaQ2hOaFJCN0FMMURvMmFqM3lFYUJzQzJpNHdhb1pvNFQzbnJoU2dDTE9SUFJiYUJVZHJFMFlGT0pCRnp4MW93d0ZJM2tEMDV1ekFVaDRzWlJBUkhCdjFCdThYaFRMbWtKenNwemZiYjFTc1F4SmhSbkIwbmo3WUVReEhKdlNtL2U5MC9rMDBKZ3FBQS9Ja2hqaURiNVg5T0JFcng2enAvSU5QNU5RZWN4YkZXM3dJWHpyL2NSWG9sWWRpVlQ1QnA0ZTE2MWIzL0FIVGkyNEJSemtzZlpnUWZ3bE1DNUZBSHpQVXBTbFA4ZFdUMktQOEF5Qy9BS2kwV2tDM0RUc1pWQ0FKTUE1VVRHNEUwRmdqZS9YSUFNUTRVWjdDU0syc0pVV3dBVS9GeVJRV0F1SkM0WHVLZEdRQVlod1ZQVklJTEVNZXZ2UVdxSGRrL1hLeXc4b1lDd0ZxWWIzREtPUnNSYnJNN0JlbzJUTjFqODRib0FBREFWQVhZQWtjb2drSU1SMVhzWU5VNElkeDFCcnVIQ0VCc0JWUUJpUHE2clZjYjFNY2ZMcVFrdm1zZmdNM1RHR0V5V1FRTWdhcHlXempwdGI1VFd1YlpCMDR4a0wxYmMzQjBvZ25IWFlxbU9rMkU1YXVHUDBkRW9HNWtBQVNBYXVoOTEwY2F6UENsVmtBaGpJb3RndHgwUHI5WDhlajBZVGZocllhZmg2SEVLOXVFWFFJSzFGQUdEQ3VpSVhoOHdnWEdnR1orYzd6VjR5THNjRkhJbUkrWGxqUUp2UHlndjdCMEdBK2JjZkx5eG9FM240akFjaUdSTUJMUW5SRkZKajQrRHc2SUlRaENFSVFoQ0VJUWhDRUlRaENFSVFoQ0VJWUc1S0NwMXpuUXlBUXhpQ2pUc3ZHamlRSEpzaFJJbE02S0F3SEJzcGlDOGFLRkFjbXltSUtaeG80Q0FjR3lLK0w2YUdPdmlVN0prenBUemc1L0ZFRUZqb0RZQnJrYWJHNXpwZzEwdTNBYkd1YVBlQ2hnSUFGaHB6WVFHeFJCRWNaSWhNQkJGalZFWldTU2kvZGFrT1ozZTZpWk54ZEVKZ0lPRFRZenlaTDZNbGtBQUdHcWoyQ2dKOWxKOU5rVUpWaUZzb3MwTjVxT0VLUzFxVUw1RUVYTkhNVkxuQ1ZMbjI2TTNEd0ZLVEhNRVY0Q0trNG51VUtZUWJEL0FNREpnOGhHYSttaWY5eXQybTVUKzRrQklrRC9BSmMzLzlvQUNBRUJBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRGxvQUFBQUFBQUFBQWNBREFBQUFBQUFBQUhBQUFJQUFBQUFBQUFJQUFBR0FBQUFBQUFHQUFBQUdBQUFBQUFBQUFBQUFDQUFBQUFBQmdBQUFBQUFBQUFBQUFBQUFBQURBQUFBQUFJQUFBQUFDQUFBQUFCQUFBQUFBREFBQUFBQ0FBQUtBQUFBQUFBQVFBQWNFQUFHQUFBQUFnQUFnQ0FBQUFBQUFBQUFHQUJBQUVBQUFBQUFBSUFBQUFFQUFBQVlBQUFBR0FBSUFBQUFnQURBQUVBQUFBQUFCQUFFQUFBQUFBQUFBRUFBQUFBQUFBd0FBQUlBQVFBQUFBQUFBQUF3QUFnQUJBQUJBQUFCQUFBQUFDQUFBQUFBQ0FBQUFBSUFBQUFBQUFBQUJBQUFBQUFBQUFBQUFEQUFnQUFJQUFBUUFBREFBQUFBQUFBQUFBQUNBQUFBQUFBQUJBQUFBS0FBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQ0lIUUFBRUFBQUlBQUVBQUlBQUlBQUFBQUJnQUFFQUFRQUFBQUFFQUFBSUFBQUFBQWdBUUFBQUFBQ0FBQUJBQUFBQUFBQUFBQUFBQUNBQUFBUUFRQUFBQUFJQUFBQUFBZ0FBQUFBQUFBQUFRQUFBQUFJQWdBQUFBQUdBQUFBQUFBQUFBQUFBQUFBQVFFQUFBQUFBd0FBQUF3QUFBQUFHQUFBQUFBZ1FBQUFBRUFBQUFBQWdBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBRUFBQUFBQmdBQUFBQVlBQUFBQUFnQUFBQUFBQUFBQUFCUUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFRQUFBQ0FBQUFBQUFBWUFBQVVBQUFBQUFBQUNBQUdnQUFBQUFBQUFGQUFnQUFBQUFBQUFBQUljQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFILy94QUFyRUFFQUFRRUZDQUlEQVFFQkFBQUFBQUFCRVFBaE1VQkJVVkJoY1lHUm9kSHhNTUVnc2VId2tHRC8yZ0FJQVFFQUFUOFEvd0N0d0NVQVpyVThJVEp5N1ZZUExBS2YzcGZGZG9GL2JWd0hnOEZMZUI0cjA1NG96aDR0OVZmWEVuNnJzd3lmZFA2a2I0cXlGZC85VVhQQ0IyNnRJTTFCVTJQS09wcVZPREplclU2YzNqOG9veU1KbVZFQVRjdTlNUU4zdjArYWhDUjN6dnRpWUFzamF1VlN4K045RnhXL25pbkNRQXdiNC9sUkpxWnRxNTBDRWx5TWp0T0RzNUdid0tsTjZ0N3hUbHlYcXl1SW5TbWEyWEtvNkJkVzF3YXYyZW9DckFYclZnbTZWYzRhMHBjYjFZeGNUZTEzQnlxMU1TOXM0aHMxV0Fyak5kQXBobHlpMjhXUHU4eEtxem5kbHp3dXk1VlpsazJ1OTBLVlNXUVhEUTJGT0pjcGE4V3BRSVNFaU5qc2l5QWJjYnpUNFhTcnNRU3E3ZG52bmlqcm1rRnpzYXhnUHlHbmJ1bFdleHB2cTdUVnFVR0FVaVhKc1NaWXNPcTY4S2Z5K1Zka0lFaGJGeitLRVNSa2RoTnBBWFpyb1V6bHJjWkRRd1VXdk0xaDFhTkhkZ1Y5VWN0L0FLWUxENmVLT096L0FIb3BUSEU2TktUcThJY0ZtQ0x6L09Xd1ZBVllDOWFXV3RZT3JYQTNIUjBCNW9RZytYWWNDcnZ5NFFBWGNLTldIV3Q1Tk9YSWhFaE1BaElpTWlaVUZ0TG82NzlnWkZDVVphT2VCaURlQVA4QU5CQk5BQ0ErSmhBRXNEczYwNmZ1dDVnTFZ5TE5CbVZHK2NqanJoSTJHcmtWTU9hVndHWUl1MTZjS0FBQUFXQWZJNnNXbjZYZFQ5RndISndFbHFseWN6SFJPY0laL3dBWUM4U2Ryb1p0UlBIQjh3QmtnbVprNEJNU1JFeWFpWWtRTk0yTVVWNGdhcTZuTFZKVnpjQVpHMDVaZjMvWHpuZEpxTlNyeDZDZFRKNllDVFA2dzg0eVpkanpWM2I5NEFJQWxXQ2l5d25QUEFSU3M1d2Z4N1lCRVlVUjBTdGNhVFJ6T3VLYW1FTGdWZjFoWUNUQ1NDOHJmckF4TUxRZXRuM2daMHJ2Qy9XS2htaUZ5TFg2d01tN0YzWUhoTUhzd052Y0NIQTJPS3NvMkxtYlg2d1BHY083QThSUTdNRk1MUFVDekVBaVlBbHAzNzE2bkF6R3dCUEM1d050ZG9kQzN4Z3BWYm84SDFpTFY0V0xuWjk0SzVtaU9aVDVybnZnSk9XV3ZGdC9VWUtQbFkvMitzUkJyY2RBOVlNeFhmOEEyUDhBYi9uVGlKRFQxV2hZSzJlTFJ3bTNFVDZIcUU4WU5CNG1EU1MyQzAxWm56R1VoWlptNmNzR01JbDVXNnk2akR3bWpkMSs4SmY1WXREZVViYzBneitSMFJPemQxYVZSRlcxWFBDY0Vyb1JoNERvSFpoYllTT0R2S0lnYlM4M1B4QnJMaGIvQUN0UEJkS3IzQ3pIUUhkaDNQQ2ZvdzA0K2RGenhLRk9mWmZaUTFzelVuNURvWS83TXVkRk5xWksxeGNPcDNmN0hEOWcvUmlONmJFS01oRHVHaUhTRktZN0E0dWpZM2dKZTdSS0lXUmgwTVQvQUtHdUhQTXJzMnNZM3F1N0R5alZkbytzR0NnQ3JjRlJ5VHMzOUw2RkM3dWc3dFg4MnIvVVZjUFBKL2RlcFY2eFhyRmVzVjZ4WHJGS1g5SFY1RnhEN3E5LzRncVlRTkcxNHFJYjJTeDU0U09hejZxNGZoSTlGODRFNjVMQUNWbzQ1dGw0cUZLYXJWeitkd0pMeEpHcDd2UmN2Rlhvc3Rvc0Z1T1hiRHo2d09mckFRVXdPZ1BMVUhsRFVQR0RjbUJDSkkwVURodlUvcnhTSlFNSWxwODdBM2wxTkFBQmNZZUZDME8rUHY1d01qcjg5MDgwRlUwQXd5Y2dTekp1UG1ud3ZoWHpXUFdTZVJPSUZuTjdLUkZFaEwvbGdhald0V2hRNEFRQmNHSWlzRDhCcDBTSVJ5ZmxrWXNNY1YvbUpoQWhjazIvSlltVGJvTTJvWmpneFJOWXV5Wk5lWHl5d1dqbHVQMWlZUnI1L1lmZnlFTUF1QVpHTFFSRWtieHFFUDZEVGw4WWp5SWNXcmdFRGxpWW1KNnlXL0hZYlBPOURyamJMcC92blQ0N0JKNjQySDMweGNEa0p5MysvRkhsRHk0WmVlZU9qVWh2SmZpZ1ZDejRaZHYzaTRZNVNYZXIvUHczZ0FEbTBUc0NCdU1kSVV0RlR1ZmZ3dEIzNWRCZlFBQUlDNHhhTXBDRWN5blJNR1hxcnZnbFNTQmZJczdwajRkRnBEeWZFL0RQUUxuZGs2K01iZmd0N004eDkvQkpvQTZ2OHgrNDZkdmdqRTNob1VBQUFFQVpZMitwcnNOMVB6NWdQN3g2U1JSZ3RIOGdWZ0pXaUdQYk5EbGo3STFiZWtOVHZuQ2ZsL2liOWdkNi9MUElXSHFjdGc1WnF3ZjZrL0wvQUJOK3dPOWZqS0VDM1JQTkFLSEFOaFg2VlladGVING5wSVh6RTE3Vlh0VmUxVjdWWHRWZTFWN1ZYdFZlMVY3Vlh0VmUxVjdWWHRWZTFWN1ZYdFZlMVY3Vlh0VmUxVjdWWHRWZTFWN1ZYdFZlMVY3Vlh0VmUxVjdWU3l5L2hKT2NHN2ZWcGxlMTJ3MFpBSVJ6S1lrcnMzOUhZNnQzd0RPcDlBUEMzR3hUckdoV2RLalhXT2U0N0ZadTZBWjFZTU51TncyT0dBVUtMR2tnTjhsNy9PdzBMWll5cWRvQndkeHNsQklTUnE0STMvNGRxUkFpV0lscHNDeXFHMHVQN1ZwMHIyL1poTnc0TCtPdFRNRTNGdkFjYUNzQksxYnh2ajlqU3JpcXdiT2YzNGdxVHpsTmFjSE9rOTlRSVRGR040V0E4ME1SM1pkd010cFE4TEkyRG5VajBtSG1rNVZlRUpobGliWFpEblVha0hBT1dkQUFBTGdMdHE3c3NVdE9EVHBoL3dDcnlwK09ONGRUQWxYRElTMUJkUXVncUFXV2R6cFFBQUFDNE50U2pOYngycWFkMW1IMVUvQWNKNzFrbVp6anJTSXdrUHdLUS92R3JwVFZuN1ZBSW1oVjlWRXZJMTBLM0JzZy93REE5bGNhL1VBbjZxOUNjQys2VXl1YXZlcUN6dkh5VmQ3Y1pmM1hZMEZBQkFRYnYrdVgvOWs9XCI7XHJcblxyXG4gICAgICAgIGxldCBwaWN0dXJlYjY0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxzdHJpbmc+KEdFVF9Vc2VyUHJvZmlsZV9HZXRBY2NvdW50UGljdHVyZSwgbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkQWNjb3VudCcsIHRoaXMuQWNjb3VudElkKSkpO1xyXG4gICAgICAgIHJldHVybiBwaWN0dXJlYjY0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkb1VwZGF0ZVByb2ZpbGVQaWN0dXJlKGltYWdlOiBhbnkpOiBQcm9taXNlPENhbGxSZXN1bHQ+IHtcclxuICAgICAgICBpZiAodGhpcy5mYWtlVG9rZW4pIHtcclxuICAgICAgICAgICAgdmFyIHJldCA9IG5ldyBDYWxsUmVzdWx0KCk7XHJcbiAgICAgICAgICAgIHJldC5zdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIHJldDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBkdG9QaWMgPSBuZXcgVXBkYXRlUHJvZmlsZVBpY3R1cmVEdG8odGhpcy5BY2NvdW50SWQpO1xyXG4gICAgICAgIGxldCBjciA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0d2l0aEZpbGVzPENhbGxSZXN1bHQ+KFBPU1RfVXNlclByb2ZpbGVfVXBkYXRlQWNjb3VudFBpY3R1cmUsIGR0b1BpYywgaW1hZ2UgPz8gW10pKTtcclxuICAgICAgICBpZiAoY3Iuc3VjY2VzcykgdGhpcy5kb1JlbG9hZFByb2ZpbGVQaWN0dXJlKCk7XHJcbiAgICAgICAgcmV0dXJuIGNyO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkb1VwZGF0ZVJlY292ZXJ5U2V0dGluZ3MoZW1haWw6IHN0cmluZyk6IFByb21pc2U8Q2FsbFJlc3VsdD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmZha2VUb2tlbikge1xyXG4gICAgICAgICAgICB2YXIgcmV0ID0gbmV3IENhbGxSZXN1bHQoKTtcclxuICAgICAgICAgICAgcmV0LnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGR0byA9IG5ldyBVcGRhdGVBY2NvdW50UmVjb3ZlcnlTZXR0aW5nc0R0byh0aGlzLkFjY291bnRJZCwgZW1haWwpO1xyXG4gICAgICAgIGxldCBjciA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PENhbGxSZXN1bHQ+KFBPU1RfVXNlclByb2ZpbGVfVXBkYXRlQWNjb3VudFJlY292ZXJ5SW5mb3MsIGR0bykpO1xyXG4gICAgICAgIHJldHVybiBjcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZG9VcGRhdGVQYXNzd29yZChvbGRQYXNzd29yZDogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nLCBuZXdQYXNzd29yZENvbmZpcm06IHN0cmluZyk6IFByb21pc2U8Q2FsbFJlc3VsdD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmZha2VUb2tlbikge1xyXG4gICAgICAgICAgICB2YXIgcmV0ID0gbmV3IENhbGxSZXN1bHQoKTtcclxuICAgICAgICAgICAgcmV0LnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGR0byA9IG5ldyBVcGRhdGVQYXNzd29yZER0byh0aGlzLkFjY291bnRJZCwgb2xkUGFzc3dvcmQsIG5ld1Bhc3N3b3JkLCBuZXdQYXNzd29yZENvbmZpcm0pO1xyXG4gICAgICAgIGxldCBjciA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wb3N0PENhbGxSZXN1bHQ+KFBPU1RfVXNlclByb2ZpbGVfVXBkYXRlQWNjb3VudFBhc3N3b3JkLCBkdG8pKTtcclxuICAgICAgICByZXR1cm4gY3I7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGRvRGVsZXRlUHJvZmlsZVBpY3R1cmUoKTogUHJvbWlzZTxDYWxsUmVzdWx0PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmFrZVRva2VuKSB7XHJcbiAgICAgICAgICAgIHZhciByZXQgPSBuZXcgQ2FsbFJlc3VsdCgpO1xyXG4gICAgICAgICAgICByZXQuc3VjY2VzcyA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgcGFycyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdpZEFjY291bnQnLCB0aGlzLkFjY291bnRJZCk7XHJcbiAgICAgICAgbGV0IGNyID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxDYWxsUmVzdWx0PihHRVRfVXNlclByb2ZpbGVfRGVsZXRlQWNjb3VudFBpY3R1cmUsIHBhcnMpKTtcclxuICAgICAgICBpZiAoY3Iuc3VjY2VzcykgdGhpcy5Qcm9maWxlUGljdHVyZSA9IG51bGw7XHJcbiAgICAgICAgcmV0dXJuIGNyO1xyXG4gICAgfVxyXG59Il19
|