PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgc3RhbmRhbG9uZT0ibm8iPz4NCjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4NCjxodG1sPg0KPGhlYWQ+DQo8dGl0bGU+QVNGOiBQcm9ncmFtbWluZyBUaXBzPC90aXRsZT4NCjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIC8+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIiAvPg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icmVzb3VyY2VzL2FwYWNoZS14YWxhbi5jc3MiIC8+DQo8L2hlYWQ+DQo8IS0tDQogKiBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lDQogKiBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gU2VlIHRoZSBOT1RJQ0UgZmlsZQ0KICogZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24NCiAqIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLiBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZQ0KICogdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAgIkxpY2Vuc2UiKTsNCiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4NCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCiAqDQogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlDQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuDQogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kDQogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiAtLT4NCjxib2R5Pg0KPGRpdiBpZD0idGl0bGUiPg0KPHRhYmxlIGNsYXNzPSJIZHJUaXRsZSI+DQo8dGJvZHk+DQo8dHI+DQo8dGggcm93c3Bhbj0iMiI+DQo8YSBocmVmPSIuLi9pbmRleC5odG1sIj4NCjxpbWcgYWx0PSJUcmFkZW1hcmsgTG9nbyIgc3JjPSJyZXNvdXJjZXMvWGFsYW5DLUxvZ28tdG0ucG5nIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjkwIiAvPg0KPC9hPg0KPC90aD4NCjx0aCB0ZXh0LWFsaWduPSJjZW50ZXIiIHdpZHRoPSI3NSUiPg0KPGEgaHJlZj0iaW5kZXguaHRtbCI+WGFsYW4tQy9DKysgVmVyc2lvbiAxLjExPC9hPg0KPC90aD4NCjwvdHI+DQo8dHI+DQo8dGQgdmFsaWduPSJtaWRkbGUiPlByb2dyYW1taW5nIFRpcHM8L3RkPg0KPC90cj4NCjwvdGJvZHk+DQo8L3RhYmxlPg0KPHRhYmxlIGNsYXNzPSJIZHJCdXR0b25zIiBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjEiPg0KPHRib2R5Pg0KPHRyPg0KPHRkPg0KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnIj5BcGFjaGUgRm91bmRhdGlvbjwvYT4NCjwvdGQ+DQo8dGQ+DQo8YSBocmVmPSJodHRwOi8veGFsYW4uYXBhY2hlLm9yZyI+WGFsYW4gUHJvamVjdDwvYT4NCjwvdGQ+DQo8dGQ+DQo8YSBocmVmPSJodHRwOi8veGVyY2VzLmFwYWNoZS5vcmciPlhlcmNlcyBQcm9qZWN0PC9hPg0KPC90ZD4NCjx0ZD4NCjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSIj5XZWIgQ29uc29ydGl1bTwvYT4NCjwvdGQ+DQo8dGQ+DQo8YSBocmVmPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL3N0YW5kYXJkcyI+T2FzaXMgT3BlbjwvYT4NCjwvdGQ+DQo8L3RyPg0KPC90Ym9keT4NCjwvdGFibGU+DQo8L2Rpdj4NCjxkaXYgaWQ9Im5hdkxlZnQiPg0KPHVsPg0KPGxpPg0KPGEgaHJlZj0icmVzb3VyY2VzLmh0bWwiPlJlc291cmNlczwvYT4NCjxiciAvPg0KPC9saT4NCjxsaT4NCjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPkhvbWU8L2E+DQo8L2xpPjwvdWw+PGhyIC8+PHVsPg0KPGxpPg0KPGEgaHJlZj0iaW5kZXguaHRtbCI+WGFsYW4tQysrIDEuMTE8L2E+DQo8L2xpPg0KPGxpPg0KPGEgaHJlZj0id2hhdHNuZXcuaHRtbCI+V2hhdCdzIE5ldzwvYT4NCjwvbGk+DQo8bGk+DQo8YSBocmVmPSJsaWNlbnNlLmh0bWwiPkxpY2Vuc2VzPC9hPg0KPC9saT48L3VsPjxociAvPjx1bD4NCjxsaT4NCjxhIGhyZWY9Im92ZXJ2aWV3Lmh0bWwiPk92ZXJ2aWV3PC9hPg0KPC9saT4NCjxsaT4NCjxhIGhyZWY9ImNoYXJ0ZXIuaHRtbCI+Q2hhcnRlcjwvYT4NCjwvbGk+PC91bD48aHIgLz48dWw+DQo8bGk+DQo8YSBocmVmPSJkb3dubG9hZC5odG1sIj5Eb3dubG9hZDwvYT4NCjwvbGk+DQo8bGk+DQo8YSBocmVmPSJidWlsZGxpYnMuaHRtbCI+QnVpbGQgTGlicmFyaWVzPC9hPg0KPC9saT4NCjxsaT4NCjxhIGhyZWY9Imluc3RhbGwuaHRtbCI+SW5zdGFsbGF0aW9uPC9hPg0KPC9saT4NCjxsaT4NCjxhIGhyZWY9ImJ1aWxkZG9jcy5odG1sIj5CdWlsZCBEb2N1bWVudHM8L2E+DQo8L2xpPjwvdWw+PGhyIC8+PHVsPg0KPGxpPg0KPGEgaHJlZj0ic2FtcGxlcy5odG1sIj5TYW1wbGUgQXBwczwvYT4NCjwvbGk+DQo8bGk+DQo8YSBocmVmPSJjb21tYW5kbGluZS5odG1sIj5Db21tYW5kIExpbmU8L2E+DQo8L2xpPg0KPGxpPg0KPGEgaHJlZj0idXNhZ2VwYXR0ZXJucy5odG1sIj5Vc2FnZSBQYXR0ZXJuczwvYT4NCjwvbGk+PC91bD48aHIgLz48dWw+DQo8bGk+UHJvZ3JhbW1pbmc8YnIgLz4NCjwvbGk+DQo8bGk+DQo8YSBocmVmPSJleHRlbnNpb25zLmh0bWwiPkV4dGVuc2lvbnM8L2E+DQo8L2xpPg0KPGxpPg0KPGEgaHJlZj0iZXh0ZW5zaW9uc2xpYi5odG1sIj5FeHRlbnNpb25zIExpYnJhcnk8L2E+DQo8L2xpPg0KPGxpPg0KPGEgaHJlZj0iYXBpRG9jcy9pbmRleC5odG1sIj5BUEkgUmVmZXJlbmNlPC9hPg0KPC9saT48L3VsPjxociAvPjx1bD4NCjxsaT4NCjxhIGhyZWY9ImZhcS5odG1sIj5YYWxhbi1DIEZBUXM8L2E+DQo8L2xpPjwvdWw+PGhyIC8+PHVsPg0KPGxpPg0KPGEgaHJlZj0id2hhdHNuZXcuaHRtbCNidWdzIj5CdWdzPC9hPg0KPC9saT4NCjxsaT4NCjxhIGhyZWY9Imh0dHA6Ly94bWwuYXBhY2hlLm9yZy94YWxhbi1qL3Rlc3QvcnVuLmh0bWwjaG93LXRvLXJ1bi1jIj5UZXN0aW5nPC9hPg0KPC9saT4NCjxsaT4NCjxhIGhyZWY9InNlY3VyZXdlYi5odG1sIj5XZWIgU2VjdXJpdHk8L2E+DQo8L2xpPg0KPC91bD4NCjwvZGl2Pg0KPGRpdiBpZD0iY29udGVudCI+DQo8aDI+UHJvZ3JhbW1pbmcgVGlwczwvaDI+DQogICA8dWw+DQogICAgICA8bGk+DQo8YSBocmVmPSIjaW50cm8iPkludHJvZHVjdGlvbjwvYT4NCjwvbGk+DQogICAgICA8bGk+DQo8YSBocmVmPSIjbWVtb3J5Ij5QbHVnZ2FibGUgTWVtb3J5IE1hbmFnZW1lbnQ8L2E+DQo8L2xpPg0KICAgICAgPGxpPg0KPGEgaHJlZj0iI21vcmUiPk1vcmUgdG9waWNzPC9hPg0KPC9saT4NCiAgIDwvdWw+DQoNCjxhIG5hbWU9ImludHJvIj4mIzgyMDQ7PC9hPiAgIA0KPHAgYWxpZ249InJpZ2h0IiBzaXplPSIyIj4NCjxhIGhyZWY9IiNjb250ZW50Ij4odG9wKTwvYT4NCjwvcD4NCjxoMz5JbnRyb2R1Y3Rpb248L2gzPg0KPHA+VGhpcyBzZWN0aW9uIHdhcyBjcmVhdGVkIHRvIGd1aWRlIHVzZXJzIG9uIGhvdyB0byB1c2Ugc29tZSBvZiB0aGUgbmV3IGZlYXR1cmVzIGdvaW5nIGludG8gdGhlIFhhbGFuIA0Kc291cmNlIGNvZGUgYmFzZS4gIFNvbWUgb2YgdGhlIGZlYXR1cmVzIGRpc2N1c3NlZCBpbiB0aGlzIHNlY3Rpb24gYXJlIGJhc2VkIG9uIGZlZWRiYWNrIGFuZCBxdWVzdGlvbnMNCnBvc3RlZCBvbiB0aGUgeGFsYW4tYy11c2VycyBuZXdzZ3JvdXAuICBUaGlzIHNlY3Rpb24gd2lsbCBjb3ZlciB0aGUgYmVuZWZpdHMgb2YgY2VydGFpbiBmZWF0dXJlcw0KYW5kIHByb3ZpZGUgdXNlcnMgd2l0aCBwcm9ncmFtbWluZyBoaW50cyBvbiBob3cgdG8gdXRpbGl6ZSB0aGUgZmVhdHVyZXMgaW4gdGhlaXIgYXBwbGljYXRpb25zLjwvcD4NCg0KDQo8YSBuYW1lPSJtZW1vcnkiPiYjODIwNDs8L2E+DQo8cCBhbGlnbj0icmlnaHQiIHNpemU9IjIiPg0KPGEgaHJlZj0iI2NvbnRlbnQiPih0b3ApPC9hPg0KPC9wPg0KPGgzPlBsdWdnYWJsZSBNZW1vcnkgTWFuYWdlbWVudDwvaDM+DQo8cD5QbHVnZ2FibGUgbWVtb3J5IG1hbmFnZW1lbnQgd2FzIGFkZGVkIGFzIGEgbmV3IGZlYXR1cmUgaW4gWGFsYW4tQyBWZXJzaW9uIDEuODsuICBUaGlzIGZlYXR1cmUgaW50cm9kdWNlcyBhbg0Kb2JqZWN0IGNhbGxlZCBNZW1vcnlNYW5hZ2VyIHdoaWNoIGFsbG93cyBhcHBsaWNhdGlvbnMgd2l0aCBzdHJpY3RlciBtZW1vcnkgbWFuYWdlbWVudCByZXF1aXJlbWVudHMgdG8gDQp1dGlsaXplIGEgbW9yZSBlZmZpY2llbnQgYWxsb2NhdGlvbiBtZXRob2QuICBUaGlzIE1lbW9yeU1hbmFnZXIgb2JqZWN0IGNhbiBiZSBhcHBsaWVkIHRvIA0KZWFjaCBwcm9jZXNzb3IgaW5zdGFuY2UsIHRodXMgcmVjb3ZlcnkgcHJvY2VkdXJlcyBmcm9tIG1lbW9yeSBsZWFrcyBvciBwcm9jZXNzb3IgY3Jhc2hlcyB3aWxsIGJlIGFwcGxpZWQgdG8gDQp0aGUgYXNzb2NpYXRlZCBpbnN0YW5jZSBvbmx5LjwvcD4NCjxwPlRoZSBtZW1vcnkgbWFuYWdlbWVudCBtb2RlbCBpcyBzaW1pbGFyIHRvIHRoZSBtZW1vcnkgbWFuYWdlbWVudCBmZWF0dXJlIHByb3ZpZGVkIGJ5IHRoZSBYZXJjZXMtQyBYTUwgUGFyc2VyLjwvcD4NCjxwIGFsaWduPSJyaWdodCIgc2l6ZT0iMiI+DQo8YSBocmVmPSIjY29udGVudCI+KHRvcCk8L2E+DQo8L3A+DQo8aDQ+SG93IFRvIFVzZSBUaGlzIEZlYXR1cmU8L2g0Pg0KPHA+VG8gYXBwbHkgbWVtb3J5IG1hbmFnZW1lbnQgdG8geW91ciBhcHBsaWNhdGlvbiwgdGhlIE1lbW9yeU1hbmFnZXIgb2JqZWN0IG5lZWRzIHRvIGJlIHNwZWNpZmllZCBpbiB0d28NCnN0YWdlczo8L3A+DQo8dWw+DQo8bGk+QXQgaW5pdGlhbGl6YXRpb24gcGhhc2UuICBUaGUgcHVycG9zZSBvZiBzcGVjaWZ5aW5nIGEgTWVtb3J5TWFuYWdlciBvYmplY3QgZHVyaW5nIGluaXRpYWxpemF0aW9uIGlzIHRvIA0KY3JlYXRlIGEgc2VwYXJhdGUgbWVtb3J5IG1hbmFnZXIgZm9yIHRoZSBvdmVyYWxsIGFwcGxpY2F0aW9uLiAgRXhhbXBsZSBvZiBob3cgdGhpcyBjYW4gYmUgZG9uZSBpcyBzaG93biBpbiANCnRoZSBleGFtcGxlIGJlbG93PGJyIC8+DQo8YnIgLz4NCjxibG9ja3F1b3RlIGNsYXNzPSJzb3VyY2UiPg0KPHByZT4NCi8vIEluaXRpYWxpemF0aW9uIHN0ZXANCnN0YXRpYyB2b2lkIFhhbGFuVHJhbnNmb3JtZXI6OmluaXRpYWxpemUoTWVtb3J5TWFuYWdlciogaW5pdE1lbW9yeU1hbmFnZXI9MCk7DQo8L3ByZT4NCjwvYmxvY2txdW90ZT4NCjwvbGk+DQo8bGk+Q3JlYXRpb24gb2YgYSB0cmFuc2Zvcm1lciBpbnN0YW5jZS4gIFRoaXMgY3JlYXRlcyBhIHVuaXF1ZSBtZW1vcnkgbWFuYWdlciBmb3IgdGhlIGluc3RhbmNlIG9mIHRoZSANCnByb2Nlc3Nvci4gIFRoaXMgc3RlcCBpcyBvcHRpb25hbC4gIElmIG5vIG1lbW9yeSBtYW5hZ2VyIGlzIHByb3ZpZGVkLCB0aGUgZ2xvYmFsIGhlYXAgaXMgdXNlZCBhcyB0aGUgbWVtb3J5DQpzb3VyY2UuICBFeGFtcGxlIG9mIHRoaXMgaXMgc2hvd24gYmVsb3c6PGJyIC8+DQo8YnIgLz4NCjxibG9ja3F1b3RlIGNsYXNzPSJzb3VyY2UiPg0KPHByZT4NCi8vIENyZWF0ZSBpbnN0YW5jZSBvZiBYYWxhblRyYW5zZm9ybWVyDQpNZW1vcnlNYW5hZ2VyICAgICAgbWVtTWdyQTsgICAgICAgICAgICAgICAgLy8gbWVtb3J5IG1hbmFnZXIgb2JqZWN0DQpYYWxhblRyYW5zZm9ybWVyICAgdHJhbnNmb3JtZXJBKCZhbXA7bWVtTWdyQSk7IA0KDQpNZW1vcnlNYW5hZ2VyICAgICAgbWVtTWdyQjsNClhhbGFuVHJhbnNmb3JtZXIgICB0cmFuc2Zvcm1lckIoJmFtcDttZW1NZ3JCKTsNClhhbGFuVHJhbnNmb3JtZXIgICB0cmFuc2Zvcm1lckMoJmFtcDttZW1NZ3JCKTsgIC8vIFVzZXMgc2FtZSBtZW1vcnkgbWFuYWdlciBvYmplY3QgYXMgdHJhbnNmb3JtZXJCDQpYYWxhblRyYW5zZm9ybWVyICAgdHJhbnNmb3JtZXJEOyAgICAgICAgICAgLy8gVXNlcyBkZWZhdWx0IHN0YXRpYyBtZW1vcnkgbWFuYWdlcg0KPC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQo8L2xpPg0KPC91bD4NCjxwPlRoZSBhYm92ZSBtZXRob2QgZGVtb25zdHJhdGVzIGhvdyB1c2VycyBjYW4gYXBwbHkgdGhlIGJhc2ljIHBsdWdnYWJsZSBtZW1vcnkgbWFuYWdlbWVudCBmZWF0dXJlLiAgVXNlcnMNCmFsc28gaGF2ZSB0aGUgb3B0aW9uIG9mIGltcGxlbWVudGluZyB0aGVpciBvd24gbWVtb3J5IG1hbmFnZXIuICBUaGlzIGNhbiBiZSBkb25lIGJ5IHNpbXBseSB3cml0aW5nIG1ldGhvZHMgDQpmb3I6PC9wPg0KPGJsb2NrcXVvdGUgY2xhc3M9InNvdXJjZSI+DQo8cHJlPg0KLy8gTWV0aG9kIGZvciBhbGxvY2F0aW5nIG1lbW9yeQ0Kdm9pZCogYWxsb2NhdGUoc2l6ZV90IHNpemUpOw0KPC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQo8cD5hbmQ8L3A+DQo8YmxvY2txdW90ZSBjbGFzcz0ic291cmNlIj4NCjxwcmU+DQovLyBNZXRob2QgZm9yIGRlYWxsb2NhdGluZyBtZW1vcnkNCnZvaWQgZGVhbGxvY2F0ZSh2b2lkICpwKTsNCjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KPHA+Rm9yIGFuIGV4YW1wbGUgb2YgaG93IHRvIHVzZSB0aGlzIGZlYXR1cmUsIHBsZWFzZSBzZWUgdGhlIDxhIGhyZWY9InNhbXBsZXMuaHRtbCNzaW1wbGV0cmFuc2Zvcm0iPg0KU2ltcGxlVHJhbnNmb3JtPC9hPiBzYW1wbGUgdGhhdCBoYXMgYmVlbiBwcm92aWRlZCBpbiB0aGUgYmluYXJ5IGRpc3RyaWJ1dGlvbnMuPC9wPg0KDQoNCg0KPGEgbmFtZT0ibW9yZSI+JiM4MjA0OzwvYT4NCjxwIGFsaWduPSJyaWdodCIgc2l6ZT0iMiI+DQo8YSBocmVmPSIjY29udGVudCI+KHRvcCk8L2E+DQo8L3A+DQo8aDM+TW9yZSBUb3BpY3M8L2gzPg0KPHA+UGxlYXNlIGZlZWwgZnJlZSB0byBnaXZlIHVzIGZlZWRiYWNrIG9uIHdoYXQgdG9waWNzIHlvdSB3b3VsZCBsaWtlIHRvIHNlZS48L3A+DQo8cD5TZW5kIGNvbW1lbnRzIHRvIDxhIGhyZWY9Im1haWx0bzp4YWxhbi1kZXZAeG1sLmFwYWNoZS5vcmciPlhhbGFuIERldmVsb3BtZW50IE1haWxpbmcgTGlzdDwvYT4uPC9wPg0KDQoNCjxwIGFsaWduPSJyaWdodCIgc2l6ZT0iMiI+DQo8YSBocmVmPSIjY29udGVudCI+KHRvcCk8L2E+DQo8L3A+DQo8L2Rpdj4NCjxkaXYgaWQ9ImZvb3RlciI+Q29weXJpZ2h0IKkgMTk5OS0yMDEyIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjxiciAvPkFwYWNoZSwgWGFsYW4sIGFuZCB0aGUgRmVhdGhlciBsb2dvIGFyZSB0cmFkZW1hcmtzIG9mIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbjxkaXYgY2xhc3M9InNtYWxsIj5XZWIgUGFnZSBjcmVhdGVkIG9uIC0gRnJpIDA2LzE1LzIwMTI8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K