PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPm1vZF9zc2wgLSBBcGFjaGUgSFRUUCBTZXJ2ZXI8L3RpdGxlPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIiB0eXBlPSJ0ZXh0L2NzcyIgdGl0bGU9Ik1haW4gc3R5bGVzaGVldCIgLz4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLXByaW50LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0icHJpbnQiIHR5cGU9InRleHQvY3NzIiAvPgo8bGluayBocmVmPSIuLi9pbWFnZXMvZmF2aWNvbi5pY28iIHJlbD0ic2hvcnRjdXQgaWNvbiIgLz48L2hlYWQ+Cjxib2R5Pgo8ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iLi4vZmFxLyI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXJ5PC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+U2l0ZW1hcDwvYT48L3A+CjxwIGNsYXNzPSJhcGFjaGUiPkFwYWNoZSBIVFRQIFNlcnZlciBWZXJzaW9uIDIuMzwvcD4KPGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZmVhdGhlci5naWYiIC8+PC9kaXY+CjxkaXYgY2xhc3M9InVwIj48YSBocmVmPSIuLyI+PGltZyB0aXRsZT0iJmx0Oy0iIGFsdD0iJmx0Oy0iIHNyYz0iLi4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPkhUVFAgU2VydmVyPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MtcHJvamVjdC8iPkRvY3VtZW50YXRpb248L2E+ICZndDsgPGEgaHJlZj0iLi4vIj5WZXJzaW9uIDIuMzwvYT4gJmd0OyA8YSBocmVmPSIuLyI+TW9kdWxlczwvYT48L2Rpdj4KPGRpdiBpZD0icGFnZS1jb250ZW50Ij4KPGRpdiBpZD0icHJlYW1ibGUiPjxoMT5BcGFjaGUgTW9kdWxlIG1vZF9zc2w8L2gxPgo8ZGl2IGNsYXNzPSJ0b3BsYW5nIj4KPHA+PHNwYW4+QXZhaWxhYmxlIExhbmd1YWdlczogPC9zcGFuPjxhIGhyZWY9Ii4uL2VuL21vZC9tb2Rfc3NsLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT48L3A+CjwvZGl2Pgo8dGFibGUgY2xhc3M9Im1vZHVsZSI+PHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+U3Ryb25nIGNyeXB0b2dyYXBoeSB1c2luZyB0aGUgU2VjdXJlIFNvY2tldHMKTGF5ZXIgKFNTTCkgYW5kIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSAoVExTKSBwcm90b2NvbHM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjTW9kdWxlSWRlbnRpZmllciI+TW9kdWxloElkZW50aWZpZXI6PC9hPjwvdGg+PHRkPnNzbF9tb2R1bGU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTb3VyY2VGaWxlIj5Tb3VyY2WgRmlsZTo8L2E+PC90aD48dGQ+bW9kX3NzbC5jPC90ZD48L3RyPjwvdGFibGU+CjxoMz5TdW1tYXJ5PC9oMz4KCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIFNTTCB2Mi92MyBhbmQgVExTIHYxIHN1cHBvcnQgZm9yIHRoZSBBcGFjaGUKSFRUUCBTZXJ2ZXIuICBJdCB3YXMgY29udHJpYnV0ZWQgYnkgUmFsZiBTLiBFbmdlc2NoYWxsIGJhc2VkIG9uIGhpcwptb2Rfc3NsIHByb2plY3QgYW5kIG9yaWdpbmFsbHkgZGVyaXZlZCBmcm9tIHdvcmsgYnkgQmVuIExhdXJpZS48L3A+Cgo8cD5UaGlzIG1vZHVsZSByZWxpZXMgb24gPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuc3NsLm9yZy8iPk9wZW5TU0w8L2E+CnRvIHByb3ZpZGUgdGhlIGNyeXB0b2dyYXBoeSBlbmdpbmUuPC9wPgoKPHA+RnVydGhlciBkZXRhaWxzLCBkaXNjdXNzaW9uLCBhbmQgZXhhbXBsZXMgYXJlIHByb3ZpZGVkIGluIHRoZQo8YSBocmVmPSIuLi9zc2wvIj5TU0wgZG9jdW1lbnRhdGlvbjwvYT4uPC9wPgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48aDMgY2xhc3M9ImRpcmVjdGl2ZXMiPkRpcmVjdGl2ZXM8L2gzPgo8dWwgaWQ9InRvYyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3NzbGNhY2VydGlmaWNhdGVmaWxlIj5TU0xDQUNlcnRpZmljYXRlRmlsZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xjYWNlcnRpZmljYXRlcGF0aCI+U1NMQ0FDZXJ0aWZpY2F0ZVBhdGg8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NsY2FkbnJlcXVlc3RmaWxlIj5TU0xDQUROUmVxdWVzdEZpbGU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NsY2FkbnJlcXVlc3RwYXRoIj5TU0xDQUROUmVxdWVzdFBhdGg8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NsY2FyZXZvY2F0aW9uZmlsZSI+U1NMQ0FSZXZvY2F0aW9uRmlsZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xjYXJldm9jYXRpb25wYXRoIj5TU0xDQVJldm9jYXRpb25QYXRoPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3NzbGNlcnRpZmljYXRlY2hhaW5maWxlIj5TU0xDZXJ0aWZpY2F0ZUNoYWluRmlsZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xjZXJ0aWZpY2F0ZWZpbGUiPlNTTENlcnRpZmljYXRlRmlsZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xjZXJ0aWZpY2F0ZWtleWZpbGUiPlNTTENlcnRpZmljYXRlS2V5RmlsZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xjaXBoZXJzdWl0ZSI+U1NMQ2lwaGVyU3VpdGU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NsY3J5cHRvZGV2aWNlIj5TU0xDcnlwdG9EZXZpY2U8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NsZW5naW5lIj5TU0xFbmdpbmU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NsaG9ub3JjaXBoZXJvcmRlciI+U1NMSG9ub3JDaXBoZXJPcmRlcjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xtdXRleCI+U1NMTXV0ZXg8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3Nsb3B0aW9ucyI+U1NMT3B0aW9uczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xwYXNzcGhyYXNlZGlhbG9nIj5TU0xQYXNzUGhyYXNlRGlhbG9nPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3NzbHByb3RvY29sIj5TU0xQcm90b2NvbDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xwcm94eWNhY2VydGlmaWNhdGVmaWxlIj5TU0xQcm94eUNBQ2VydGlmaWNhdGVGaWxlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3NzbHByb3h5Y2FjZXJ0aWZpY2F0ZXBhdGgiPlNTTFByb3h5Q0FDZXJ0aWZpY2F0ZVBhdGg8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NscHJveHljYXJldm9jYXRpb25maWxlIj5TU0xQcm94eUNBUmV2b2NhdGlvbkZpbGU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NscHJveHljYXJldm9jYXRpb25wYXRoIj5TU0xQcm94eUNBUmV2b2NhdGlvblBhdGg8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NscHJveHljaXBoZXJzdWl0ZSI+U1NMUHJveHlDaXBoZXJTdWl0ZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xwcm94eWVuZ2luZSI+U1NMUHJveHlFbmdpbmU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NscHJveHltYWNoaW5lY2VydGlmaWNhdGVmaWxlIj5TU0xQcm94eU1hY2hpbmVDZXJ0aWZpY2F0ZUZpbGU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NscHJveHltYWNoaW5lY2VydGlmaWNhdGVwYXRoIj5TU0xQcm94eU1hY2hpbmVDZXJ0aWZpY2F0ZVBhdGg8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NscHJveHlwcm90b2NvbCI+U1NMUHJveHlQcm90b2NvbDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xwcm94eXZlcmlmeSI+U1NMUHJveHlWZXJpZnk8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NscHJveHl2ZXJpZnlkZXB0aCI+U1NMUHJveHlWZXJpZnlEZXB0aDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xyYW5kb21zZWVkIj5TU0xSYW5kb21TZWVkPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3NzbHJlcXVpcmUiPlNTTFJlcXVpcmU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjc3NscmVxdWlyZXNzbCI+U1NMUmVxdWlyZVNTTDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xzZXNzaW9uY2FjaGUiPlNTTFNlc3Npb25DYWNoZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2xzZXNzaW9uY2FjaGV0aW1lb3V0Ij5TU0xTZXNzaW9uQ2FjaGVUaW1lb3V0PC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3NzbHVzZXJuYW1lIj5TU0xVc2VyTmFtZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2x2ZXJpZnljbGllbnQiPlNTTFZlcmlmeUNsaWVudDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNzc2x2ZXJpZnlkZXB0aCI+U1NMVmVyaWZ5RGVwdGg8L2E+PC9saT4KPC91bD4KPGgzPlRvcGljczwvaDM+Cjx1bCBpZD0idG9waWNzIj4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZW52dmFycyI+RW52aXJvbm1lbnQgVmFyaWFibGVzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2xvZ2Zvcm1hdHMiPkN1c3RvbSBMb2cgRm9ybWF0czwvYT48L2xpPgo8L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJlbnZ2YXJzIiBpZD0iZW52dmFycyI+RW52aXJvbm1lbnQgVmFyaWFibGVzPC9hPjwvaDI+Cgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIGxvdCBvZiBTU0wgaW5mb3JtYXRpb24gYXMgYWRkaXRpb25hbCBlbnZpcm9ubWVudAp2YXJpYWJsZXMgdG8gdGhlIFNTSSBhbmQgQ0dJIG5hbWVzcGFjZS4gVGhlIGdlbmVyYXRlZCB2YXJpYWJsZXMgYXJlIGxpc3RlZCBpbgp0aGUgdGFibGUgYmVsb3cuIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHRoZSBpbmZvcm1hdGlvbiBjYW4KYmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgZGlmZmVyZW50IG5hbWVzLCB0b28uIExvb2sgaW4gdGhlIDxhIGhyZWY9Ii4uL3NzbC9zc2xfY29tcGF0Lmh0bWwiPkNvbXBhdGliaWxpdHk8L2E+IGNoYXB0ZXIgZm9yIGRldGFpbHMgb24gdGhlCmNvbXBhdGliaWxpdHkgdmFyaWFibGVzLjwvcD4KCjx0YWJsZSBjbGFzcz0iYm9yZGVyZWQiPgoKPHRyPgogPHRoPjxhIG5hbWU9InRhYmxlMyI+VmFyaWFibGUgTmFtZTo8L2E+PC90aD4KIDx0aD5WYWx1ZSBUeXBlOjwvdGg+CiA8dGg+RGVzY3JpcHRpb246PC90aD4KPC90cj4KPHRyPjx0ZD48Y29kZT5IVFRQUzwvY29kZT48L3RkPiAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+ZmxhZzwvdGQ+ICAgICAgPHRkPkhUVFBTIGlzIGJlaW5nIHVzZWQuPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9QUk9UT0NPTDwvY29kZT48L3RkPiAgICAgICAgICAgICAgICAgIDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+VGhlIFNTTCBwcm90b2NvbCB2ZXJzaW9uIChTU0x2MiwgU1NMdjMsIFRMU3YxKTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0xfU0VTU0lPTl9JRDwvY29kZT48L3RkPiAgICAgICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4gICAgPHRkPlRoZSBoZXgtZW5jb2RlZCBTU0wgc2Vzc2lvbiBpZDwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0xfQ0lQSEVSPC9jb2RlPjwvdGQ+ICAgICAgICAgICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4gICAgPHRkPlRoZSBjaXBoZXIgc3BlY2lmaWNhdGlvbiBuYW1lPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9DSVBIRVJfRVhQT1JUPC9jb2RlPjwvdGQ+ICAgICAgICAgICAgIDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+PGNvZGU+dHJ1ZTwvY29kZT4gaWYgY2lwaGVyIGlzIGFuIGV4cG9ydCBjaXBoZXI8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U1NMX0NJUEhFUl9VU0VLRVlTSVpFPC9jb2RlPjwvdGQ+ICAgICAgICAgPHRkPm51bWJlcjwvdGQ+ICAgIDx0ZD5OdW1iZXIgb2YgY2lwaGVyIGJpdHMgKGFjdHVhbGx5IHVzZWQpPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9DSVBIRVJfQUxHS0VZU0laRTwvY29kZT48L3RkPiAgICAgICAgIDx0ZD5udW1iZXI8L3RkPiAgICA8dGQ+TnVtYmVyIG9mIGNpcGhlciBiaXRzIChwb3NzaWJsZSk8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U1NMX0NPTVBSRVNTX01FVEhPRDwvY29kZT48L3RkPiAgICAgICAgICAgPHRkPnN0cmluZzwvdGQ+ICAgIDx0ZD5TU0wgY29tcHJlc3Npb24gbWV0aG9kIG5lZ290aWF0ZWQ8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U1NMX1ZFUlNJT05fSU5URVJGQUNFPC9jb2RlPjwvdGQ+ICAgICAgICAgPHRkPnN0cmluZzwvdGQ+ICAgIDx0ZD5UaGUgbW9kX3NzbCBwcm9ncmFtIHZlcnNpb248L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U1NMX1ZFUlNJT05fTElCUkFSWTwvY29kZT48L3RkPiAgICAgICAgICAgPHRkPnN0cmluZzwvdGQ+ICAgIDx0ZD5UaGUgT3BlblNTTCBwcm9ncmFtIHZlcnNpb248L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U1NMX0NMSUVOVF9NX1ZFUlNJT048L2NvZGU+PC90ZD4gICAgICAgICAgPHRkPnN0cmluZzwvdGQ+ICAgIDx0ZD5UaGUgdmVyc2lvbiBvZiB0aGUgY2xpZW50IGNlcnRpZmljYXRlPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9DTElFTlRfTV9TRVJJQUw8L2NvZGU+PC90ZD4gICAgICAgICAgIDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+VGhlIHNlcmlhbCBvZiB0aGUgY2xpZW50IGNlcnRpZmljYXRlPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9DTElFTlRfU19ETjwvY29kZT48L3RkPiAgICAgICAgICAgICAgIDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+U3ViamVjdCBETiBpbiBjbGllbnQncyBjZXJ0aWZpY2F0ZTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0xfQ0xJRU5UX1NfRE5fPC9jb2RlPjxlbT54NTA5PC9lbT48L3RkPiA8dGQ+c3RyaW5nPC90ZD4gICAgPHRkPkNvbXBvbmVudCBvZiBjbGllbnQncyBTdWJqZWN0IEROPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9DTElFTlRfSV9ETjwvY29kZT48L3RkPiAgICAgICAgICAgICAgIDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+SXNzdWVyIEROIG9mIGNsaWVudCdzIGNlcnRpZmljYXRlPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9DTElFTlRfSV9ETl88L2NvZGU+PGVtPng1MDk8L2VtPjwvdGQ+IDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+Q29tcG9uZW50IG9mIGNsaWVudCdzIElzc3VlciBETjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0xfQ0xJRU5UX1ZfU1RBUlQ8L2NvZGU+PC90ZD4gICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4gICAgPHRkPlZhbGlkaXR5IG9mIGNsaWVudCdzIGNlcnRpZmljYXRlIChzdGFydCB0aW1lKTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0xfQ0xJRU5UX1ZfRU5EPC9jb2RlPjwvdGQ+ICAgICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4gICAgPHRkPlZhbGlkaXR5IG9mIGNsaWVudCdzIGNlcnRpZmljYXRlIChlbmQgdGltZSk8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U1NMX0NMSUVOVF9WX1JFTUFJTjwvY29kZT48L3RkPiAgICAgICAgICAgPHRkPnN0cmluZzwvdGQ+ICAgIDx0ZD5OdW1iZXIgb2YgZGF5cyB1bnRpbCBjbGllbnQncyBjZXJ0aWZpY2F0ZSBleHBpcmVzPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9DTElFTlRfQV9TSUc8L2NvZGU+PC90ZD4gICAgICAgICAgICAgIDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+QWxnb3JpdGhtIHVzZWQgZm9yIHRoZSBzaWduYXR1cmUgb2YgY2xpZW50J3MgY2VydGlmaWNhdGU8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U1NMX0NMSUVOVF9BX0tFWTwvY29kZT48L3RkPiAgICAgICAgICAgICAgPHRkPnN0cmluZzwvdGQ+ICAgIDx0ZD5BbGdvcml0aG0gdXNlZCBmb3IgdGhlIHB1YmxpYyBrZXkgb2YgY2xpZW50J3MgY2VydGlmaWNhdGU8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U1NMX0NMSUVOVF9DRVJUPC9jb2RlPjwvdGQ+ICAgICAgICAgICAgICAgPHRkPnN0cmluZzwvdGQ+ICAgIDx0ZD5QRU0tZW5jb2RlZCBjbGllbnQgY2VydGlmaWNhdGU8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U1NMX0NMSUVOVF9DRVJUX0NIQUlOXzwvY29kZT48ZW0+bjwvZW0+PC90ZD4gPHRkPnN0cmluZzwvdGQ+ICAgIDx0ZD5QRU0tZW5jb2RlZCBjZXJ0aWZpY2F0ZXMgaW4gY2xpZW50IGNlcnRpZmljYXRlIGNoYWluPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9DTElFTlRfVkVSSUZZPC9jb2RlPjwvdGQ+ICAgICAgICAgICAgIDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+PGNvZGU+Tk9ORTwvY29kZT4sIDxjb2RlPlNVQ0NFU1M8L2NvZGU+LCA8Y29kZT5HRU5FUk9VUzwvY29kZT4gb3IgPGNvZGU+RkFJTEVEOjwvY29kZT48ZW0+cmVhc29uPC9lbT48L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U1NMX1NFUlZFUl9NX1ZFUlNJT048L2NvZGU+PC90ZD4gICAgICAgICAgPHRkPnN0cmluZzwvdGQ+ICAgIDx0ZD5UaGUgdmVyc2lvbiBvZiB0aGUgc2VydmVyIGNlcnRpZmljYXRlPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9TRVJWRVJfTV9TRVJJQUw8L2NvZGU+PC90ZD4gICAgICAgICAgIDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+VGhlIHNlcmlhbCBvZiB0aGUgc2VydmVyIGNlcnRpZmljYXRlPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9TRVJWRVJfU19ETjwvY29kZT48L3RkPiAgICAgICAgICAgICAgIDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+U3ViamVjdCBETiBpbiBzZXJ2ZXIncyBjZXJ0aWZpY2F0ZTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0xfU0VSVkVSX1NfRE5fPC9jb2RlPjxlbT54NTA5PC9lbT48L3RkPiA8dGQ+c3RyaW5nPC90ZD4gICAgPHRkPkNvbXBvbmVudCBvZiBzZXJ2ZXIncyBTdWJqZWN0IEROPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9TRVJWRVJfSV9ETjwvY29kZT48L3RkPiAgICAgICAgICAgICAgIDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+SXNzdWVyIEROIG9mIHNlcnZlcidzIGNlcnRpZmljYXRlPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPlNTTF9TRVJWRVJfSV9ETl88L2NvZGU+PGVtPng1MDk8L2VtPjwvdGQ+IDx0ZD5zdHJpbmc8L3RkPiAgICA8dGQ+Q29tcG9uZW50IG9mIHNlcnZlcidzIElzc3VlciBETjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0xfU0VSVkVSX1ZfU1RBUlQ8L2NvZGU+PC90ZD4gICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4gICAgPHRkPlZhbGlkaXR5IG9mIHNlcnZlcidzIGNlcnRpZmljYXRlIChzdGFydCB0aW1lKTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0xfU0VSVkVSX1ZfRU5EPC9jb2RlPjwvdGQ+ICAgICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4gICAgPHRkPlZhbGlkaXR5IG9mIHNlcnZlcidzIGNlcnRpZmljYXRlIChlbmQgdGltZSk8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+U1NMX1NFUlZFUl9BX1NJRzwvY29kZT48L3RkPiAgICAgICAgICAgICAgPHRkPnN0cmluZzwvdGQ+ICAgIDx0ZD5BbGdvcml0aG0gdXNlZCBmb3IgdGhlIHNpZ25hdHVyZSBvZiBzZXJ2ZXIncyBjZXJ0aWZpY2F0ZTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0xfU0VSVkVSX0FfS0VZPC9jb2RlPjwvdGQ+ICAgICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4gICAgPHRkPkFsZ29yaXRobSB1c2VkIGZvciB0aGUgcHVibGljIGtleSBvZiBzZXJ2ZXIncyBjZXJ0aWZpY2F0ZTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0xfU0VSVkVSX0NFUlQ8L2NvZGU+PC90ZD4gICAgICAgICAgICAgICA8dGQ+c3RyaW5nPC90ZD4gICAgPHRkPlBFTS1lbmNvZGVkIHNlcnZlciBjZXJ0aWZpY2F0ZTwvdGQ+PC90cj4KPC90YWJsZT4KCjxwPjxlbT54NTA5PC9lbT4gc3BlY2lmaWVzIGEgY29tcG9uZW50IG9mIGFuIFguNTA5IEROOyBvbmUgb2YKPGNvZGU+QyxTVCxMLE8sT1UsQ04sVCxJLEcsUyxELFVJRCxFbWFpbDwvY29kZT4uICBJbiBBcGFjaGUgMi4xIGFuZApsYXRlciwgPGVtPng1MDk8L2VtPiBtYXkgYWxzbyBpbmNsdWRlIGEgbnVtZXJpYyA8Y29kZT5fbjwvY29kZT4Kc3VmZml4LiAgSWYgdGhlIEROIGluIHF1ZXN0aW9uIGNvbnRhaW5zIG11bHRpcGxlIGF0dHJpYnV0ZXMgb2YgdGhlCnNhbWUgbmFtZSwgdGhpcyBzdWZmaXggaXMgdXNlZCBhcyBhbiBpbmRleCB0byBzZWxlY3QgYSBwYXJ0aWN1bGFyCmF0dHJpYnV0ZS4gIEZvciBleGFtcGxlLCB3aGVyZSB0aGUgc2VydmVyIGNlcnRpZmljYXRlIHN1YmplY3QgRE4KaW5jbHVkZWQgdHdvIE9VIGZpZWxkcywgPGNvZGU+U1NMX1NFUlZFUl9TX0ROX09VXzA8L2NvZGU+IGFuZAo8Y29kZT5TU0xfU0VSVkVSX1NfRE5fT1VfMTwvY29kZT4gY291bGQgYmUgdXNlZCB0byByZWZlcmVuY2UgZWFjaC48L3A+Cgo8cD48Y29kZT5TU0xfQ0xJRU5UX1ZfUkVNQUlOPC9jb2RlPiBpcyBvbmx5IGF2YWlsYWJsZSBpbiB2ZXJzaW9uIDIuMQphbmQgbGF0ZXIuPC9wPgoKPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0ibG9nZm9ybWF0cyIgaWQ9ImxvZ2Zvcm1hdHMiPkN1c3RvbSBMb2cgRm9ybWF0czwvYT48L2gyPgoKPHA+V2hlbiA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX3NzbC5odG1sIj5tb2Rfc3NsPC9hPjwvY29kZT4gaXMgYnVpbHQgaW50byBBcGFjaGUgb3IgYXQgbGVhc3QKbG9hZGVkICh1bmRlciBEU08gc2l0dWF0aW9uKSBhZGRpdGlvbmFsIGZ1bmN0aW9ucyBleGlzdCBmb3IgdGhlIDxhIGhyZWY9Im1vZF9sb2dfY29uZmlnLmh0bWwjZm9ybWF0cyI+Q3VzdG9tIExvZyBGb3JtYXQ8L2E+IG9mIAo8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2xvZ19jb25maWcuaHRtbCI+bW9kX2xvZ19jb25maWc8L2E+PC9jb2RlPi4gRmlyc3QgdGhlcmUgaXMgYW4KYWRkaXRpb25hbCBgYDxjb2RlPiV7PC9jb2RlPjxlbT52YXJuYW1lPC9lbT48Y29kZT59eDwvY29kZT4nJwplWHRlbnNpb24gZm9ybWF0IGZ1bmN0aW9uIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGV4cGFuZCBhbnkgdmFyaWFibGVzCnByb3ZpZGVkIGJ5IGFueSBtb2R1bGUsIGVzcGVjaWFsbHkgdGhvc2UgcHJvdmlkZWQgYnkgbW9kX3NzbCB3aGljaCBjYW4KeW91IGZpbmQgaW4gdGhlIGFib3ZlIHRhYmxlLjwvcD4KPHA+CkZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHRoZXJlIGlzIGFkZGl0aW9uYWxseSBhIHNwZWNpYWwKYGA8Y29kZT4lezwvY29kZT48ZW0+bmFtZTwvZW0+PGNvZGU+fWM8L2NvZGU+JycgY3J5cHRvZ3JhcGh5IGZvcm1hdCBmdW5jdGlvbgpwcm92aWRlZC4gSW5mb3JtYXRpb24gYWJvdXQgdGhpcyBmdW5jdGlvbiBpcyBwcm92aWRlZCBpbiB0aGUgPGEgaHJlZj0iLi4vc3NsL3NzbF9jb21wYXQuaHRtbCI+Q29tcGF0aWJpbGl0eTwvYT4gY2hhcHRlci48L3A+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KQ3VzdG9tTG9nIGxvZ3Mvc3NsX3JlcXVlc3RfbG9nIFwKICAgICAgICAgICIldCAlaCAle1NTTF9QUk9UT0NPTH14ICV7U1NMX0NJUEhFUn14IFwiJXJcIiAlYiIKPC9jb2RlPjwvcD48L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTENBQ2VydGlmaWNhdGVGaWxlIiBpZD0iU1NMQ0FDZXJ0aWZpY2F0ZUZpbGUiPlNTTENBQ2VydGlmaWNhdGVGaWxlPC9hPiA8YSBuYW1lPSJzc2xjYWNlcnRpZmljYXRlZmlsZSIgaWQ9InNzbGNhY2VydGlmaWNhdGVmaWxlIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5GaWxlIG9mIGNvbmNhdGVuYXRlZCBQRU0tZW5jb2RlZCBDQSBDZXJ0aWZpY2F0ZXMgCmZvciBDbGllbnQgQXV0aDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5TU0xDQUNlcnRpZmljYXRlRmlsZSA8ZW0+ZmlsZS1wYXRoPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBkaXJlY3RpdmUgc2V0cyB0aGUgPGVtPmFsbC1pbi1vbmU8L2VtPiBmaWxlIHdoZXJlIHlvdSBjYW4gYXNzZW1ibGUgdGhlCkNlcnRpZmljYXRlcyBvZiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0aWVzIChDQSkgd2hvc2UgPGVtPmNsaWVudHM8L2VtPiB5b3UgZGVhbAp3aXRoLiBUaGVzZSBhcmUgdXNlZCBmb3IgQ2xpZW50IEF1dGhlbnRpY2F0aW9uLiBTdWNoIGEgZmlsZSBpcyBzaW1wbHkgdGhlCmNvbmNhdGVuYXRpb24gb2YgdGhlIHZhcmlvdXMgUEVNLWVuY29kZWQgQ2VydGlmaWNhdGUgZmlsZXMsIGluIG9yZGVyIG9mCnByZWZlcmVuY2UuIFRoaXMgY2FuIGJlIHVzZWQgYWx0ZXJuYXRpdmVseSBhbmQvb3IgYWRkaXRpb25hbGx5IHRvIAo8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjc3NsY2FjZXJ0aWZpY2F0ZXBhdGgiPlNTTENBQ2VydGlmaWNhdGVQYXRoPC9hPjwvY29kZT4uPC9wPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTENBQ2VydGlmaWNhdGVGaWxlIC91c3IvbG9jYWwvYXBhY2hlMi9jb25mL3NzbC5jcnQvY2EtYnVuZGxlLWNsaWVudC5jcnQKPC9jb2RlPjwvcD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJTU0xDQUNlcnRpZmljYXRlUGF0aCIgaWQ9IlNTTENBQ2VydGlmaWNhdGVQYXRoIj5TU0xDQUNlcnRpZmljYXRlUGF0aDwvYT4gPGEgbmFtZT0ic3NsY2FjZXJ0aWZpY2F0ZXBhdGgiIGlkPSJzc2xjYWNlcnRpZmljYXRlcGF0aCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+RGlyZWN0b3J5IG9mIFBFTS1lbmNvZGVkIENBIENlcnRpZmljYXRlcyBmb3IgCkNsaWVudCBBdXRoPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTENBQ2VydGlmaWNhdGVQYXRoIDxlbT5kaXJlY3RvcnktcGF0aDwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPC90YWJsZT4KPHA+ClRoaXMgZGlyZWN0aXZlIHNldHMgdGhlIGRpcmVjdG9yeSB3aGVyZSB5b3Uga2VlcCB0aGUgQ2VydGlmaWNhdGVzIG9mCkNlcnRpZmljYXRpb24gQXV0aG9yaXRpZXMgKENBcykgd2hvc2UgY2xpZW50cyB5b3UgZGVhbCB3aXRoLiBUaGVzZSBhcmUgdXNlZCB0bwp2ZXJpZnkgdGhlIGNsaWVudCBjZXJ0aWZpY2F0ZSBvbiBDbGllbnQgQXV0aGVudGljYXRpb24uPC9wPgo8cD4KVGhlIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGhhdmUgdG8gYmUgUEVNLWVuY29kZWQgYW5kIGFyZSBhY2Nlc3NlZCB0aHJvdWdoCmhhc2ggZmlsZW5hbWVzLiBTbyB1c3VhbGx5IHlvdSBjYW4ndCBqdXN0IHBsYWNlIHRoZSBDZXJ0aWZpY2F0ZSBmaWxlcwp0aGVyZTogeW91IGFsc28gaGF2ZSB0byBjcmVhdGUgc3ltYm9saWMgbGlua3MgbmFtZWQKPGVtPmhhc2gtdmFsdWU8L2VtPjxjb2RlPi5OPC9jb2RlPi4gQW5kIHlvdSBzaG91bGQgYWx3YXlzIG1ha2Ugc3VyZSB0aGlzIGRpcmVjdG9yeQpjb250YWlucyB0aGUgYXBwcm9wcmlhdGUgc3ltYm9saWMgbGlua3MuIFVzZSB0aGUgPGNvZGU+TWFrZWZpbGU8L2NvZGU+IHdoaWNoCmNvbWVzIHdpdGggbW9kX3NzbCB0byBhY2NvbXBsaXNoIHRoaXMgdGFzay48L3A+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KU1NMQ0FDZXJ0aWZpY2F0ZVBhdGggL3Vzci9sb2NhbC9hcGFjaGUyL2NvbmYvc3NsLmNydC8KPC9jb2RlPjwvcD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJTU0xDQUROUmVxdWVzdEZpbGUiIGlkPSJTU0xDQUROUmVxdWVzdEZpbGUiPlNTTENBRE5SZXF1ZXN0RmlsZTwvYT4gPGEgbmFtZT0ic3NsY2FkbnJlcXVlc3RmaWxlIiBpZD0ic3NsY2FkbnJlcXVlc3RmaWxlIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5GaWxlIG9mIGNvbmNhdGVuYXRlZCBQRU0tZW5jb2RlZCBDQSBDZXJ0aWZpY2F0ZXMgCmZvciBkZWZpbmluZyBhY2NlcHRhYmxlIENBIG5hbWVzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTENBRE5SZXF1ZXN0RmlsZSA8ZW0+ZmlsZS1wYXRoPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD5XaGVuIGEgY2xpZW50IGNlcnRpZmljYXRlIGlzIHJlcXVlc3RlZCBieSBtb2Rfc3NsLCBhIGxpc3Qgb2YKPGVtPmFjY2VwdGFibGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IG5hbWVzPC9lbT4gaXMgc2VudCB0byB0aGUgY2xpZW50CmluIHRoZSBTU0wgaGFuZHNoYWtlLiAgVGhlc2UgQ0EgbmFtZXMgY2FuIGJlIHVzZWQgYnkgdGhlIGNsaWVudCB0bwpzZWxlY3QgYW4gYXBwcm9wcmlhdGUgY2xpZW50IGNlcnRpZmljYXRlIG91dCBvZiB0aG9zZSBpdCBoYXMKYXZhaWxhYmxlLjwvcD4KCjxwPklmIG5laXRoZXIgb2YgdGhlIGRpcmVjdGl2ZXMgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI3NzbGNhZG5yZXF1ZXN0cGF0aCI+U1NMQ0FETlJlcXVlc3RQYXRoPC9hPjwvY29kZT4gb3IgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI3NzbGNhZG5yZXF1ZXN0ZmlsZSI+U1NMQ0FETlJlcXVlc3RGaWxlPC9hPjwvY29kZT4gYXJlIGdpdmVuLCB0aGVuIHRoZQpzZXQgb2YgYWNjZXB0YWJsZSBDQSBuYW1lcyBzZW50IHRvIHRoZSBjbGllbnQgaXMgdGhlIG5hbWVzIG9mIGFsbCB0aGUKQ0EgY2VydGlmaWNhdGVzIGdpdmVuIGJ5IHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjc3NsY2FjZXJ0aWZpY2F0ZWZpbGUiPlNTTENBQ2VydGlmaWNhdGVGaWxlPC9hPjwvY29kZT4gYW5kIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNzc2xjYWNlcnRpZmljYXRlcGF0aCI+U1NMQ0FDZXJ0aWZpY2F0ZVBhdGg8L2E+PC9jb2RlPiBkaXJlY3RpdmVzOyBpbiBvdGhlcgp3b3JkcywgdGhlIG5hbWVzIG9mIHRoZSBDQXMgd2hpY2ggd2lsbCBhY3R1YWxseSBiZSB1c2VkIHRvIHZlcmlmeSB0aGUKY2xpZW50IGNlcnRpZmljYXRlLjwvcD4KCjxwPkluIHNvbWUgY2lyY3Vtc3RhbmNlcywgaXQgaXMgdXNlZnVsIHRvIGJlIGFibGUgdG8gc2VuZCBhIHNldCBvZgphY2NlcHRhYmxlIENBIG5hbWVzIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgYWN0dWFsIENBcyB1c2VkIHRvIHZlcmlmeQp0aGUgY2xpZW50IGNlcnRpZmljYXRlIC0gZm9yIGV4YW1wbGUsIGlmIHRoZSBjbGllbnQgY2VydGlmaWNhdGVzIGFyZQpzaWduZWQgYnkgaW50ZXJtZWRpYXRlIENBcy4gIEluIHN1Y2ggY2FzZXMsIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNzc2xjYWRucmVxdWVzdHBhdGgiPlNTTENBRE5SZXF1ZXN0UGF0aDwvYT48L2NvZGU+IGFuZC9vciA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjc3NsY2FkbnJlcXVlc3RmaWxlIj5TU0xDQUROUmVxdWVzdEZpbGU8L2E+PC9jb2RlPiBjYW4gYmUgdXNlZDsgdGhlCmFjY2VwdGFibGUgQ0EgbmFtZXMgYXJlIHRoZW4gdGFrZW4gZnJvbSB0aGUgY29tcGxldGUgc2V0IG9mCmNlcnRpZmljYXRlcyBpbiB0aGUgZGlyZWN0b3J5IGFuZC9vciBmaWxlIHNwZWNpZmllZCBieSB0aGlzIHBhaXIgb2YKZGlyZWN0aXZlcy48L3A+Cgo8cD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjc3NsY2FkbnJlcXVlc3RmaWxlIj5TU0xDQUROUmVxdWVzdEZpbGU8L2E+PC9jb2RlPiBtdXN0CnNwZWNpZnkgYW4gPGVtPmFsbC1pbi1vbmU8L2VtPiBmaWxlIGNvbnRhaW5pbmcgYSBjb25jYXRlbmF0aW9uIG9mClBFTS1lbmNvZGVkIENBIGNlcnRpZmljYXRlcy48L3A+Cgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTENBRE5SZXF1ZXN0RmlsZSAvdXNyL2xvY2FsL2FwYWNoZTIvY29uZi9jYS1uYW1lcy5jcnQKPC9jb2RlPjwvcD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJTU0xDQUROUmVxdWVzdFBhdGgiIGlkPSJTU0xDQUROUmVxdWVzdFBhdGgiPlNTTENBRE5SZXF1ZXN0UGF0aDwvYT4gPGEgbmFtZT0ic3NsY2FkbnJlcXVlc3RwYXRoIiBpZD0ic3NsY2FkbnJlcXVlc3RwYXRoIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5EaXJlY3Rvcnkgb2YgUEVNLWVuY29kZWQgQ0EgQ2VydGlmaWNhdGVzIGZvciAKZGVmaW5pbmcgYWNjZXB0YWJsZSBDQSBuYW1lczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5TU0xDQUROUmVxdWVzdFBhdGggPGVtPmRpcmVjdG9yeS1wYXRoPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgoKPHA+VGhpcyBvcHRpb25hbCBkaXJlY3RpdmUgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgc2V0IG9mCjxlbT5hY2NlcHRhYmxlIENBIG5hbWVzPC9lbT4gd2hpY2ggd2lsbCBiZSBzZW50IHRvIHRoZSBjbGllbnQgd2hlbiBhCmNsaWVudCBjZXJ0aWZpY2F0ZSBpcyByZXF1ZXN0ZWQuICBTZWUgdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNzc2xjYWRucmVxdWVzdGZpbGUiPlNTTENBRE5SZXF1ZXN0RmlsZTwvYT48L2NvZGU+IGRpcmVjdGl2ZSBmb3IgbW9yZQpkZXRhaWxzLjwvcD4KCjxwPlRoZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBoYXZlIHRvIGJlIFBFTS1lbmNvZGVkIGFuZCBhcmUgYWNjZXNzZWQKdGhyb3VnaCBoYXNoIGZpbGVuYW1lcy4gU28gdXN1YWxseSB5b3UgY2FuJ3QganVzdCBwbGFjZSB0aGUKQ2VydGlmaWNhdGUgZmlsZXMgdGhlcmU6IHlvdSBhbHNvIGhhdmUgdG8gY3JlYXRlIHN5bWJvbGljIGxpbmtzIG5hbWVkCjxlbT5oYXNoLXZhbHVlPC9lbT48Y29kZT4uTjwvY29kZT4uIEFuZCB5b3Ugc2hvdWxkIGFsd2F5cyBtYWtlIHN1cmUKdGhpcyBkaXJlY3RvcnkgY29udGFpbnMgdGhlIGFwcHJvcHJpYXRlIHN5bWJvbGljIGxpbmtzLiBVc2UgdGhlCjxjb2RlPk1ha2VmaWxlPC9jb2RlPiB3aGljaCBjb21lcyB3aXRoIG1vZF9zc2wgdG8gYWNjb21wbGlzaCB0aGlzCnRhc2suPC9wPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTENBRE5SZXF1ZXN0UGF0aCAvdXNyL2xvY2FsL2FwYWNoZTIvY29uZi9jYS1uYW1lcy5jcnQvCjwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iU1NMQ0FSZXZvY2F0aW9uRmlsZSIgaWQ9IlNTTENBUmV2b2NhdGlvbkZpbGUiPlNTTENBUmV2b2NhdGlvbkZpbGU8L2E+IDxhIG5hbWU9InNzbGNhcmV2b2NhdGlvbmZpbGUiIGlkPSJzc2xjYXJldm9jYXRpb25maWxlIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5GaWxlIG9mIGNvbmNhdGVuYXRlZCBQRU0tZW5jb2RlZCBDQSBDUkxzIGZvciAKQ2xpZW50IEF1dGg8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMQ0FSZXZvY2F0aW9uRmlsZSA8ZW0+ZmlsZS1wYXRoPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBkaXJlY3RpdmUgc2V0cyB0aGUgPGVtPmFsbC1pbi1vbmU8L2VtPiBmaWxlIHdoZXJlIHlvdSBjYW4KYXNzZW1ibGUgdGhlIENlcnRpZmljYXRlIFJldm9jYXRpb24gTGlzdHMgKENSTCkgb2YgQ2VydGlmaWNhdGlvbgpBdXRob3JpdGllcyAoQ0EpIHdob3NlIDxlbT5jbGllbnRzPC9lbT4geW91IGRlYWwgd2l0aC4gVGhlc2UgYXJlIHVzZWQKZm9yIENsaWVudCBBdXRoZW50aWNhdGlvbi4gIFN1Y2ggYSBmaWxlIGlzIHNpbXBseSB0aGUgY29uY2F0ZW5hdGlvbiBvZgp0aGUgdmFyaW91cyBQRU0tZW5jb2RlZCBDUkwgZmlsZXMsIGluIG9yZGVyIG9mIHByZWZlcmVuY2UuIFRoaXMgY2FuIGJlCnVzZWQgYWx0ZXJuYXRpdmVseSBhbmQvb3IgYWRkaXRpb25hbGx5IHRvIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNzc2xjYXJldm9jYXRpb25wYXRoIj5TU0xDQVJldm9jYXRpb25QYXRoPC9hPjwvY29kZT4uPC9wPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTENBUmV2b2NhdGlvbkZpbGUgL3Vzci9sb2NhbC9hcGFjaGUyL2NvbmYvc3NsLmNybC9jYS1idW5kbGUtY2xpZW50LmNybAo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTENBUmV2b2NhdGlvblBhdGgiIGlkPSJTU0xDQVJldm9jYXRpb25QYXRoIj5TU0xDQVJldm9jYXRpb25QYXRoPC9hPiA8YSBuYW1lPSJzc2xjYXJldm9jYXRpb25wYXRoIiBpZD0ic3NsY2FyZXZvY2F0aW9ucGF0aCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+RGlyZWN0b3J5IG9mIFBFTS1lbmNvZGVkIENBIENSTHMgZm9yIApDbGllbnQgQXV0aDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5TU0xDQVJldm9jYXRpb25QYXRoIDxlbT5kaXJlY3RvcnktcGF0aDwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPC90YWJsZT4KPHA+ClRoaXMgZGlyZWN0aXZlIHNldHMgdGhlIGRpcmVjdG9yeSB3aGVyZSB5b3Uga2VlcCB0aGUgQ2VydGlmaWNhdGUgUmV2b2NhdGlvbgpMaXN0cyAoQ1JMKSBvZiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0aWVzIChDQXMpIHdob3NlIGNsaWVudHMgeW91IGRlYWwgd2l0aC4KVGhlc2UgYXJlIHVzZWQgdG8gcmV2b2tlIHRoZSBjbGllbnQgY2VydGlmaWNhdGUgb24gQ2xpZW50IEF1dGhlbnRpY2F0aW9uLjwvcD4KPHA+ClRoZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBoYXZlIHRvIGJlIFBFTS1lbmNvZGVkIGFuZCBhcmUgYWNjZXNzZWQgdGhyb3VnaApoYXNoIGZpbGVuYW1lcy4gU28gdXN1YWxseSB5b3UgaGF2ZSBub3Qgb25seSB0byBwbGFjZSB0aGUgQ1JMIGZpbGVzIHRoZXJlLgpBZGRpdGlvbmFsbHkgeW91IGhhdmUgdG8gY3JlYXRlIHN5bWJvbGljIGxpbmtzIG5hbWVkCjxlbT5oYXNoLXZhbHVlPC9lbT48Y29kZT4uck48L2NvZGU+LiBBbmQgeW91IHNob3VsZCBhbHdheXMgbWFrZSBzdXJlIHRoaXMgZGlyZWN0b3J5CmNvbnRhaW5zIHRoZSBhcHByb3ByaWF0ZSBzeW1ib2xpYyBsaW5rcy4gVXNlIHRoZSA8Y29kZT5NYWtlZmlsZTwvY29kZT4gd2hpY2gKY29tZXMgd2l0aCA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX3NzbC5odG1sIj5tb2Rfc3NsPC9hPjwvY29kZT4gdG8gYWNjb21wbGlzaCB0aGlzIHRhc2suPC9wPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTENBUmV2b2NhdGlvblBhdGggL3Vzci9sb2NhbC9hcGFjaGUyL2NvbmYvc3NsLmNybC8KPC9jb2RlPjwvcD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJTU0xDZXJ0aWZpY2F0ZUNoYWluRmlsZSIgaWQ9IlNTTENlcnRpZmljYXRlQ2hhaW5GaWxlIj5TU0xDZXJ0aWZpY2F0ZUNoYWluRmlsZTwvYT4gPGEgbmFtZT0ic3NsY2VydGlmaWNhdGVjaGFpbmZpbGUiIGlkPSJzc2xjZXJ0aWZpY2F0ZWNoYWluZmlsZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+RmlsZSBvZiBQRU0tZW5jb2RlZCBTZXJ2ZXIgQ0EgQ2VydGlmaWNhdGVzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTENlcnRpZmljYXRlQ2hhaW5GaWxlIDxlbT5maWxlLXBhdGg8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9zc2w8L3RkPjwvdHI+CjwvdGFibGU+CjxwPgpUaGlzIGRpcmVjdGl2ZSBzZXRzIHRoZSBvcHRpb25hbCA8ZW0+YWxsLWluLW9uZTwvZW0+IGZpbGUgd2hlcmUgeW91IGNhbgphc3NlbWJsZSB0aGUgY2VydGlmaWNhdGVzIG9mIENlcnRpZmljYXRpb24gQXV0aG9yaXRpZXMgKENBKSB3aGljaCBmb3JtIHRoZQpjZXJ0aWZpY2F0ZSBjaGFpbiBvZiB0aGUgc2VydmVyIGNlcnRpZmljYXRlLiBUaGlzIHN0YXJ0cyB3aXRoIHRoZSBpc3N1aW5nIENBCmNlcnRpZmljYXRlIG9mIG9mIHRoZSBzZXJ2ZXIgY2VydGlmaWNhdGUgYW5kIGNhbiByYW5nZSB1cCB0byB0aGUgcm9vdCBDQQpjZXJ0aWZpY2F0ZS4gU3VjaCBhIGZpbGUgaXMgc2ltcGx5IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRoZSB2YXJpb3VzClBFTS1lbmNvZGVkIENBIENlcnRpZmljYXRlIGZpbGVzLCB1c3VhbGx5IGluIGNlcnRpZmljYXRlIGNoYWluIG9yZGVyLjwvcD4KPHA+ClRoaXMgc2hvdWxkIGJlIHVzZWQgYWx0ZXJuYXRpdmVseSBhbmQvb3IgYWRkaXRpb25hbGx5IHRvIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNzc2xjYWNlcnRpZmljYXRlcGF0aCI+U1NMQ0FDZXJ0aWZpY2F0ZVBhdGg8L2E+PC9jb2RlPiBmb3IgZXhwbGljaXRseQpjb25zdHJ1Y3RpbmcgdGhlIHNlcnZlciBjZXJ0aWZpY2F0ZSBjaGFpbiB3aGljaCBpcyBzZW50IHRvIHRoZSBicm93c2VyCmluIGFkZGl0aW9uIHRvIHRoZSBzZXJ2ZXIgY2VydGlmaWNhdGUuIEl0IGlzIGVzcGVjaWFsbHkgdXNlZnVsIHRvCmF2b2lkIGNvbmZsaWN0cyB3aXRoIENBIGNlcnRpZmljYXRlcyB3aGVuIHVzaW5nIGNsaWVudAphdXRoZW50aWNhdGlvbi4gQmVjYXVzZSBhbHRob3VnaCBwbGFjaW5nIGEgQ0EgY2VydGlmaWNhdGUgb2YgdGhlCnNlcnZlciBjZXJ0aWZpY2F0ZSBjaGFpbiBpbnRvIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNzc2xjYWNlcnRpZmljYXRlcGF0aCI+U1NMQ0FDZXJ0aWZpY2F0ZVBhdGg8L2E+PC9jb2RlPiBoYXMgdGhlIHNhbWUgZWZmZWN0CmZvciB0aGUgY2VydGlmaWNhdGUgY2hhaW4gY29uc3RydWN0aW9uLCBpdCBoYXMgdGhlIHNpZGUtZWZmZWN0IHRoYXQKY2xpZW50IGNlcnRpZmljYXRlcyBpc3N1ZWQgYnkgdGhpcyBzYW1lIENBIGNlcnRpZmljYXRlIGFyZSBhbHNvCmFjY2VwdGVkIG9uIGNsaWVudCBhdXRoZW50aWNhdGlvbi4gVGhhdCdzIHVzdWFsbHkgbm90IG9uZSBleHBlY3QuPC9wPgo8cD4KQnV0IGJlIGNhcmVmdWw6IFByb3ZpZGluZyB0aGUgY2VydGlmaWNhdGUgY2hhaW4gd29ya3Mgb25seSBpZiB5b3UgYXJlIHVzaW5nIGEKPGVtPnNpbmdsZTwvZW0+IChlaXRoZXIgUlNBIDxlbT5vcjwvZW0+IERTQSkgYmFzZWQgc2VydmVyIGNlcnRpZmljYXRlLiBJZiB5b3UgYXJlCnVzaW5nIGEgY291cGxlZCBSU0ErRFNBIGNlcnRpZmljYXRlIHBhaXIsIHRoaXMgd2lsbCB3b3JrIG9ubHkgaWYgYWN0dWFsbHkgYm90aApjZXJ0aWZpY2F0ZXMgdXNlIHRoZSA8ZW0+c2FtZTwvZW0+IGNlcnRpZmljYXRlIGNoYWluLiBFbHNlIHRoZSBicm93c2VycyB3aWxsIGJlCmNvbmZ1c2VkIGluIHRoaXMgc2l0dWF0aW9uLjwvcD4KPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU8L2gzPjxwPjxjb2RlPgpTU0xDZXJ0aWZpY2F0ZUNoYWluRmlsZSAvdXNyL2xvY2FsL2FwYWNoZTIvY29uZi9zc2wuY3J0L2NhLmNydAo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTENlcnRpZmljYXRlRmlsZSIgaWQ9IlNTTENlcnRpZmljYXRlRmlsZSI+U1NMQ2VydGlmaWNhdGVGaWxlPC9hPiA8YSBuYW1lPSJzc2xjZXJ0aWZpY2F0ZWZpbGUiIGlkPSJzc2xjZXJ0aWZpY2F0ZWZpbGUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlNlcnZlciBQRU0tZW5jb2RlZCBYLjUwOSBDZXJ0aWZpY2F0ZSBmaWxlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTENlcnRpZmljYXRlRmlsZSA8ZW0+ZmlsZS1wYXRoPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBkaXJlY3RpdmUgcG9pbnRzIHRvIHRoZSBQRU0tZW5jb2RlZCBDZXJ0aWZpY2F0ZSBmaWxlIGZvciB0aGUgc2VydmVyIGFuZApvcHRpb25hbGx5IGFsc28gdG8gdGhlIGNvcnJlc3BvbmRpbmcgUlNBIG9yIERTQSBQcml2YXRlIEtleSBmaWxlIGZvciBpdAooY29udGFpbmVkIGluIHRoZSBzYW1lIGZpbGUpLiBJZiB0aGUgY29udGFpbmVkIFByaXZhdGUgS2V5IGlzIGVuY3J5cHRlZCB0aGUKUGFzcyBQaHJhc2UgZGlhbG9nIGlzIGZvcmNlZCBhdCBzdGFydHVwIHRpbWUuIFRoaXMgZGlyZWN0aXZlIGNhbiBiZSB1c2VkIHVwIHRvCnR3byB0aW1lcyAocmVmZXJlbmNpbmcgZGlmZmVyZW50IGZpbGVuYW1lcykgd2hlbiBib3RoIGEgUlNBIGFuZCBhIERTQSBiYXNlZApzZXJ2ZXIgY2VydGlmaWNhdGUgaXMgdXNlZCBpbiBwYXJhbGxlbC48L3A+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KU1NMQ2VydGlmaWNhdGVGaWxlIC91c3IvbG9jYWwvYXBhY2hlMi9jb25mL3NzbC5jcnQvc2VydmVyLmNydAo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTENlcnRpZmljYXRlS2V5RmlsZSIgaWQ9IlNTTENlcnRpZmljYXRlS2V5RmlsZSI+U1NMQ2VydGlmaWNhdGVLZXlGaWxlPC9hPiA8YSBuYW1lPSJzc2xjZXJ0aWZpY2F0ZWtleWZpbGUiIGlkPSJzc2xjZXJ0aWZpY2F0ZWtleWZpbGUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlNlcnZlciBQRU0tZW5jb2RlZCBQcml2YXRlIEtleSBmaWxlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTENlcnRpZmljYXRlS2V5RmlsZSA8ZW0+ZmlsZS1wYXRoPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBkaXJlY3RpdmUgcG9pbnRzIHRvIHRoZSBQRU0tZW5jb2RlZCBQcml2YXRlIEtleSBmaWxlIGZvciB0aGUKc2VydmVyLiBJZiB0aGUgUHJpdmF0ZSBLZXkgaXMgbm90IGNvbWJpbmVkIHdpdGggdGhlIENlcnRpZmljYXRlIGluIHRoZQo8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5TU0xDZXJ0aWZpY2F0ZUZpbGU8L2NvZGU+LCB1c2UgdGhpcyBhZGRpdGlvbmFsIGRpcmVjdGl2ZSB0bwpwb2ludCB0byB0aGUgZmlsZSB3aXRoIHRoZSBzdGFuZC1hbG9uZSBQcml2YXRlIEtleS4gV2hlbgo8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5TU0xDZXJ0aWZpY2F0ZUZpbGU8L2NvZGU+IGlzIHVzZWQgYW5kIHRoZSBmaWxlCmNvbnRhaW5zIGJvdGggdGhlIENlcnRpZmljYXRlIGFuZCB0aGUgUHJpdmF0ZSBLZXkgdGhpcyBkaXJlY3RpdmUgbmVlZApub3QgYmUgdXNlZC4gQnV0IHdlIHN0cm9uZ2x5IGRpc2NvdXJhZ2UgdGhpcyBwcmFjdGljZS4gIEluc3RlYWQgd2UKcmVjb21tZW5kIHlvdSB0byBzZXBhcmF0ZSB0aGUgQ2VydGlmaWNhdGUgYW5kIHRoZSBQcml2YXRlIEtleS4gSWYgdGhlCmNvbnRhaW5lZCBQcml2YXRlIEtleSBpcyBlbmNyeXB0ZWQsIHRoZSBQYXNzIFBocmFzZSBkaWFsb2cgaXMgZm9yY2VkCmF0IHN0YXJ0dXAgdGltZS4gVGhpcyBkaXJlY3RpdmUgY2FuIGJlIHVzZWQgdXAgdG8gdHdvIHRpbWVzCihyZWZlcmVuY2luZyBkaWZmZXJlbnQgZmlsZW5hbWVzKSB3aGVuIGJvdGggYSBSU0EgYW5kIGEgRFNBIGJhc2VkCnByaXZhdGUga2V5IGlzIHVzZWQgaW4gcGFyYWxsZWwuPC9wPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTENlcnRpZmljYXRlS2V5RmlsZSAvdXNyL2xvY2FsL2FwYWNoZTIvY29uZi9zc2wua2V5L3NlcnZlci5rZXkKPC9jb2RlPjwvcD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJTU0xDaXBoZXJTdWl0ZSIgaWQ9IlNTTENpcGhlclN1aXRlIj5TU0xDaXBoZXJTdWl0ZTwvYT4gPGEgbmFtZT0ic3NsY2lwaGVyc3VpdGUiIGlkPSJzc2xjaXBoZXJzdWl0ZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+Q2lwaGVyIFN1aXRlIGF2YWlsYWJsZSBmb3IgbmVnb3RpYXRpb24gaW4gU1NMIApoYW5kc2hha2U8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMQ2lwaGVyU3VpdGUgPGVtPmNpcGhlci1zcGVjPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMQ2lwaGVyU3VpdGUgQUxMOiFBREg6UkM0K1JTQTorSElHSDorTUVESVVNOitMT1c6K1NTTHYyOitFWFA8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0LCBkaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+QXV0aENvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPC90YWJsZT4KPHA+ClRoaXMgY29tcGxleCBkaXJlY3RpdmUgdXNlcyBhIGNvbG9uLXNlcGFyYXRlZCA8ZW0+Y2lwaGVyLXNwZWM8L2VtPiBzdHJpbmcKY29uc2lzdGluZyBvZiBPcGVuU1NMIGNpcGhlciBzcGVjaWZpY2F0aW9ucyB0byBjb25maWd1cmUgdGhlIENpcGhlciBTdWl0ZSB0aGUKY2xpZW50IGlzIHBlcm1pdHRlZCB0byBuZWdvdGlhdGUgaW4gdGhlIFNTTCBoYW5kc2hha2UgcGhhc2UuIE5vdGljZSB0aGF0IHRoaXMKZGlyZWN0aXZlIGNhbiBiZSB1c2VkIGJvdGggaW4gcGVyLXNlcnZlciBhbmQgcGVyLWRpcmVjdG9yeSBjb250ZXh0LiBJbgpwZXItc2VydmVyIGNvbnRleHQgaXQgYXBwbGllcyB0byB0aGUgc3RhbmRhcmQgU1NMIGhhbmRzaGFrZSB3aGVuIGEgY29ubmVjdGlvbgppcyBlc3RhYmxpc2hlZC4gSW4gcGVyLWRpcmVjdG9yeSBjb250ZXh0IGl0IGZvcmNlcyBhIFNTTCByZW5lZ290YXRpb24gd2l0aCB0aGUKcmVjb25maWd1cmVkIENpcGhlciBTdWl0ZSBhZnRlciB0aGUgSFRUUCByZXF1ZXN0IHdhcyByZWFkIGJ1dCBiZWZvcmUgdGhlIEhUVFAKcmVzcG9uc2UgaXMgc2VudC48L3A+CjxwPgpBbiBTU0wgY2lwaGVyIHNwZWNpZmljYXRpb24gaW4gPGVtPmNpcGhlci1zcGVjPC9lbT4gaXMgY29tcG9zZWQgb2YgNCBtYWpvcgphdHRyaWJ1dGVzIHBsdXMgYSBmZXcgZXh0cmEgbWlub3Igb25lczo8L3A+Cjx1bD4KPGxpPjxlbT5LZXkgRXhjaGFuZ2UgQWxnb3JpdGhtPC9lbT46PGJyIC8+CiAgICBSU0Egb3IgRGlmZmllLUhlbGxtYW4gdmFyaWFudHMuCjwvbGk+CjxsaT48ZW0+QXV0aGVudGljYXRpb24gQWxnb3JpdGhtPC9lbT46PGJyIC8+CiAgICBSU0EsIERpZmZpZS1IZWxsbWFuLCBEU1Mgb3Igbm9uZS4KPC9saT4KPGxpPjxlbT5DaXBoZXIvRW5jcnlwdGlvbiBBbGdvcml0aG08L2VtPjo8YnIgLz4KICAgIERFUywgVHJpcGxlLURFUywgUkM0LCBSQzIsIElERUEgb3Igbm9uZS4KPC9saT4KPGxpPjxlbT5NQUMgRGlnZXN0IEFsZ29yaXRobTwvZW0+OjxiciAvPgogICAgTUQ1LCBTSEEgb3IgU0hBMS4KPC9saT4KPC91bD4KPHA+QW4gU1NMIGNpcGhlciBjYW4gYWxzbyBiZSBhbiBleHBvcnQgY2lwaGVyIGFuZCBpcyBlaXRoZXIgYSBTU0x2MiBvciBTU0x2My9UTFN2MQpjaXBoZXIgKGhlcmUgVExTdjEgaXMgZXF1aXZhbGVudCB0byBTU0x2MykuIFRvIHNwZWNpZnkgd2hpY2ggY2lwaGVycyB0byB1c2UsCm9uZSBjYW4gZWl0aGVyIHNwZWNpZnkgYWxsIHRoZSBDaXBoZXJzLCBvbmUgYXQgYSB0aW1lLCBvciB1c2UgYWxpYXNlcyB0bwpzcGVjaWZ5IHRoZSBwcmVmZXJlbmNlIGFuZCBvcmRlciBmb3IgdGhlIGNpcGhlcnMgKHNlZSA8YSBocmVmPSIjdGFibGUxIj5UYWJsZQoxPC9hPikuPC9wPgoKPHRhYmxlIGNsYXNzPSJib3JkZXJlZCI+Cgo8dHI+PHRoPjxhIG5hbWU9InRhYmxlMSI+VGFnPC9hPjwvdGg+IDx0aD5EZXNjcmlwdGlvbjwvdGg+PC90cj4KPHRyPjx0ZCBjb2xzcGFuPSIyIj48ZW0+S2V5IEV4Y2hhbmdlIEFsZ29yaXRobTo8L2VtPjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5rUlNBPC9jb2RlPjwvdGQ+ICAgPHRkPlJTQSBrZXkgZXhjaGFuZ2U8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+a0RIcjwvY29kZT48L3RkPiAgIDx0ZD5EaWZmaWUtSGVsbG1hbiBrZXkgZXhjaGFuZ2Ugd2l0aCBSU0Ega2V5PC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPmtESGQ8L2NvZGU+PC90ZD4gICA8dGQ+RGlmZmllLUhlbGxtYW4ga2V5IGV4Y2hhbmdlIHdpdGggRFNBIGtleTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5rRURIPC9jb2RlPjwvdGQ+ICAgPHRkPkVwaGVtZXJhbCAodGVtcC5rZXkpIERpZmZpZS1IZWxsbWFuIGtleSBleGNoYW5nZSAobm8gY2VydCk8L3RkPiAgIDwvdHI+Cjx0cj48dGQgY29sc3Bhbj0iMiI+PGVtPkF1dGhlbnRpY2F0aW9uIEFsZ29yaXRobTo8L2VtPjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5hTlVMTDwvY29kZT48L3RkPiAgPHRkPk5vIGF1dGhlbnRpY2F0aW9uPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPmFSU0E8L2NvZGU+PC90ZD4gICA8dGQ+UlNBIGF1dGhlbnRpY2F0aW9uPC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPmFEU1M8L2NvZGU+PC90ZD4gICA8dGQ+RFNTIGF1dGhlbnRpY2F0aW9uPC90ZD4gPC90cj4KPHRyPjx0ZD48Y29kZT5hREg8L2NvZGU+PC90ZD4gICAgPHRkPkRpZmZpZS1IZWxsbWFuIGF1dGhlbnRpY2F0aW9uPC90ZD48L3RyPgo8dHI+PHRkIGNvbHNwYW49IjIiPjxlbT5DaXBoZXIgRW5jb2RpbmcgQWxnb3JpdGhtOjwvZW0+PC90ZD48L3RyPgo8dHI+PHRkPjxjb2RlPmVOVUxMPC9jb2RlPjwvdGQ+ICA8dGQ+Tm8gZW5jb2Rpbmc8L3RkPiAgICAgICAgIDwvdHI+Cjx0cj48dGQ+PGNvZGU+REVTPC9jb2RlPjwvdGQ+ICAgIDx0ZD5ERVMgZW5jb2Rpbmc8L3RkPiAgICAgICAgPC90cj4KPHRyPjx0ZD48Y29kZT4zREVTPC9jb2RlPjwvdGQ+ICAgPHRkPlRyaXBsZS1ERVMgZW5jb2Rpbmc8L3RkPiA8L3RyPgo8dHI+PHRkPjxjb2RlPlJDNDwvY29kZT48L3RkPiAgICA8dGQ+UkM0IGVuY29kaW5nPC90ZD4gICAgICAgPC90cj4KPHRyPjx0ZD48Y29kZT5SQzI8L2NvZGU+PC90ZD4gICAgPHRkPlJDMiBlbmNvZGluZzwvdGQ+ICAgICAgIDwvdHI+Cjx0cj48dGQ+PGNvZGU+SURFQTwvY29kZT48L3RkPiAgIDx0ZD5JREVBIGVuY29kaW5nPC90ZD4gICAgICAgPC90cj4KPHRyPjx0ZCBjb2xzcGFuPSIyIj48ZW0+TUFDIERpZ2VzdCBBbGdvcml0aG08L2VtPjo8L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+TUQ1PC9jb2RlPjwvdGQ+ICAgIDx0ZD5NRDUgaGFzaCBmdW5jdGlvbjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TSEExPC9jb2RlPjwvdGQ+ICAgPHRkPlNIQTEgaGFzaCBmdW5jdGlvbjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TSEE8L2NvZGU+PC90ZD4gICAgPHRkPlNIQSBoYXNoIGZ1bmN0aW9uPC90ZD4gPC90cj4KPHRyPjx0ZCBjb2xzcGFuPSIyIj48ZW0+QWxpYXNlczo8L2VtPjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0x2MjwvY29kZT48L3RkPiAgPHRkPmFsbCBTU0wgdmVyc2lvbiAyLjAgY2lwaGVyczwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5TU0x2MzwvY29kZT48L3RkPiAgPHRkPmFsbCBTU0wgdmVyc2lvbiAzLjAgY2lwaGVyczwvdGQ+IDwvdHI+Cjx0cj48dGQ+PGNvZGU+VExTdjE8L2NvZGU+PC90ZD4gIDx0ZD5hbGwgVExTIHZlcnNpb24gMS4wIGNpcGhlcnM8L3RkPiA8L3RyPgo8dHI+PHRkPjxjb2RlPkVYUDwvY29kZT48L3RkPiAgICA8dGQ+YWxsIGV4cG9ydCBjaXBoZXJzPC90ZD4gIDwvdHI+Cjx0cj48dGQ+PGNvZGU+RVhQT1JUNDA8L2NvZGU+PC90ZD4gPHRkPmFsbCA0MC1iaXQgZXhwb3J0IGNpcGhlcnMgb25seTwvdGQ+ICA8L3RyPgo8dHI+PHRkPjxjb2RlPkVYUE9SVDU2PC9jb2RlPjwvdGQ+IDx0ZD5hbGwgNTYtYml0IGV4cG9ydCBjaXBoZXJzIG9ubHk8L3RkPiAgPC90cj4KPHRyPjx0ZD48Y29kZT5MT1c8L2NvZGU+PC90ZD4gICAgPHRkPmFsbCBsb3cgc3RyZW5ndGggY2lwaGVycyAobm8gZXhwb3J0LCBzaW5nbGUgREVTKTwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5NRURJVU08L2NvZGU+PC90ZD4gPHRkPmFsbCBjaXBoZXJzIHdpdGggMTI4IGJpdCBlbmNyeXB0aW9uPC90ZD4gPC90cj4KPHRyPjx0ZD48Y29kZT5ISUdIPC9jb2RlPjwvdGQ+ICAgPHRkPmFsbCBjaXBoZXJzIHVzaW5nIFRyaXBsZS1ERVM8L3RkPiAgICAgPC90cj4KPHRyPjx0ZD48Y29kZT5SU0E8L2NvZGU+PC90ZD4gICAgPHRkPmFsbCBjaXBoZXJzIHVzaW5nIFJTQSBrZXkgZXhjaGFuZ2U8L3RkPiA8L3RyPgo8dHI+PHRkPjxjb2RlPkRIPC9jb2RlPjwvdGQ+ICAgICA8dGQ+YWxsIGNpcGhlcnMgdXNpbmcgRGlmZmllLUhlbGxtYW4ga2V5IGV4Y2hhbmdlPC90ZD4gPC90cj4KPHRyPjx0ZD48Y29kZT5FREg8L2NvZGU+PC90ZD4gICAgPHRkPmFsbCBjaXBoZXJzIHVzaW5nIEVwaGVtZXJhbCBEaWZmaWUtSGVsbG1hbiBrZXkgZXhjaGFuZ2U8L3RkPiA8L3RyPgo8dHI+PHRkPjxjb2RlPkFESDwvY29kZT48L3RkPiAgICA8dGQ+YWxsIGNpcGhlcnMgdXNpbmcgQW5vbnltb3VzIERpZmZpZS1IZWxsbWFuIGtleSBleGNoYW5nZTwvdGQ+IDwvdHI+Cjx0cj48dGQ+PGNvZGU+RFNTPC9jb2RlPjwvdGQ+ICAgIDx0ZD5hbGwgY2lwaGVycyB1c2luZyBEU1MgYXV0aGVudGljYXRpb248L3RkPiA8L3RyPgo8dHI+PHRkPjxjb2RlPk5VTEw8L2NvZGU+PC90ZD4gICA8dGQ+YWxsIGNpcGhlcnMgdXNpbmcgbm8gZW5jcnlwdGlvbjwvdGQ+IDwvdHI+CjwvdGFibGU+CjxwPgpOb3cgd2hlcmUgdGhpcyBiZWNvbWVzIGludGVyZXN0aW5nIGlzIHRoYXQgdGhlc2UgY2FuIGJlIHB1dCB0b2dldGhlcgp0byBzcGVjaWZ5IHRoZSBvcmRlciBhbmQgY2lwaGVycyB5b3Ugd2lzaCB0byB1c2UuIFRvIHNwZWVkIHRoaXMgdXAKdGhlcmUgYXJlIGFsc28gYWxpYXNlcyAoPGNvZGU+U1NMdjIsIFNTTHYzLCBUTFN2MSwgRVhQLCBMT1csIE1FRElVTSwKSElHSDwvY29kZT4pIGZvciBjZXJ0YWluIGdyb3VwcyBvZiBjaXBoZXJzLiBUaGVzZSB0YWdzIGNhbiBiZSBqb2luZWQKdG9nZXRoZXIgd2l0aCBwcmVmaXhlcyB0byBmb3JtIHRoZSA8ZW0+Y2lwaGVyLXNwZWM8L2VtPi4gQXZhaWxhYmxlCnByZWZpeGVzIGFyZTo8L3A+Cjx1bD4KPGxpPm5vbmU6IGFkZCBjaXBoZXIgdG8gbGlzdDwvbGk+CjxsaT48Y29kZT4rPC9jb2RlPjogYWRkIGNpcGhlcnMgdG8gbGlzdCBhbmQgcHVsbCB0aGVtIHRvIGN1cnJlbnQgbG9jYXRpb24gaW4gbGlzdDwvbGk+CjxsaT48Y29kZT4tPC9jb2RlPjogcmVtb3ZlIGNpcGhlciBmcm9tIGxpc3QgKGNhbiBiZSBhZGRlZCBsYXRlciBhZ2Fpbik8L2xpPgo8bGk+PGNvZGU+ITwvY29kZT46IGtpbGwgY2lwaGVyIGZyb20gbGlzdCBjb21wbGV0ZWx5IChjYW4gPHN0cm9uZz5ub3Q8L3N0cm9uZz4gYmUgYWRkZWQgbGF0ZXIgYWdhaW4pPC9saT4KPC91bD4KPHA+QSBzaW1wbGVyIHdheSB0byBsb29rIGF0IGFsbCBvZiB0aGlzIGlzIHRvIHVzZSB0aGUgYGA8Y29kZT5vcGVuc3NsIGNpcGhlcnMKLXY8L2NvZGU+JycgY29tbWFuZCB3aGljaCBwcm92aWRlcyBhIG5pY2Ugd2F5IHRvIHN1Y2Nlc3NpdmVseSBjcmVhdGUgdGhlCmNvcnJlY3QgPGVtPmNpcGhlci1zcGVjPC9lbT4gc3RyaW5nLiBUaGUgZGVmYXVsdCA8ZW0+Y2lwaGVyLXNwZWM8L2VtPiBzdHJpbmcKaXMgYGA8Y29kZT5BTEw6IUFESDpSQzQrUlNBOitISUdIOitNRURJVU06K0xPVzorU1NMdjI6K0VYUDwvY29kZT4nJyB3aGljaAptZWFucyB0aGUgZm9sbG93aW5nOiBmaXJzdCwgcmVtb3ZlIGZyb20gY29uc2lkZXJhdGlvbiBhbnkgY2lwaGVycyB0aGF0IGRvIG5vdAphdXRoZW50aWNhdGUsIGkuZS4gZm9yIFNTTCBvbmx5IHRoZSBBbm9ueW1vdXMgRGlmZmllLUhlbGxtYW4gY2lwaGVycy4gTmV4dCwKdXNlIGNpcGhlcnMgdXNpbmcgUkM0IGFuZCBSU0EuIE5leHQgaW5jbHVkZSB0aGUgaGlnaCwgbWVkaXVtIGFuZCB0aGVuIHRoZSBsb3cKc2VjdXJpdHkgY2lwaGVycy4gRmluYWxseSA8ZW0+cHVsbDwvZW0+IGFsbCBTU0x2MiBhbmQgZXhwb3J0IGNpcGhlcnMgdG8gdGhlCmVuZCBvZiB0aGUgbGlzdC48L3A+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwcmU+CiQgb3BlbnNzbCBjaXBoZXJzIC12ICdBTEw6IUFESDpSQzQrUlNBOitISUdIOitNRURJVU06K0xPVzorU1NMdjI6K0VYUCcKTlVMTC1TSEEgICAgICAgICAgICAgICAgU1NMdjMgS3g9UlNBICAgICAgQXU9UlNBICBFbmM9Tm9uZSAgICAgIE1hYz1TSEExCk5VTEwtTUQ1ICAgICAgICAgICAgICAgIFNTTHYzIEt4PVJTQSAgICAgIEF1PVJTQSAgRW5jPU5vbmUgICAgICBNYWM9TUQ1CkVESC1SU0EtREVTLUNCQzMtU0hBICAgIFNTTHYzIEt4PURIICAgICAgIEF1PVJTQSAgRW5jPTNERVMoMTY4KSBNYWM9U0hBMQouLi4gICAgICAgICAgICAgICAgICAgICAuLi4gICAgICAgICAgICAgICAuLi4gICAgIC4uLiAgICAgICAgICAgLi4uCkVYUC1SQzQtTUQ1ICAgICAgICAgICAgIFNTTHYzIEt4PVJTQSg1MTIpIEF1PVJTQSAgRW5jPVJDNCg0MCkgICBNYWM9TUQ1ICBleHBvcnQKRVhQLVJDMi1DQkMtTUQ1ICAgICAgICAgU1NMdjIgS3g9UlNBKDUxMikgQXU9UlNBICBFbmM9UkMyKDQwKSAgIE1hYz1NRDUgIGV4cG9ydApFWFAtUkM0LU1ENSAgICAgICAgICAgICBTU0x2MiBLeD1SU0EoNTEyKSBBdT1SU0EgIEVuYz1SQzQoNDApICAgTWFjPU1ENSAgZXhwb3J0CjwvcHJlPjwvZGl2Pgo8cD5UaGUgY29tcGxldGUgbGlzdCBvZiBwYXJ0aWN1bGFyIFJTQSAmYW1wOyBESCBjaXBoZXJzIGZvciBTU0wgaXMgZ2l2ZW4gaW4gPGEgaHJlZj0iI3RhYmxlMiI+VGFibGUgMjwvYT4uPC9wPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTENpcGhlclN1aXRlIFJTQTohRVhQOiFOVUxMOitISUdIOitNRURJVU06LUxPVwo8L2NvZGU+PC9wPjwvZGl2Pgo8dGFibGUgY2xhc3M9ImJvcmRlcmVkIj4KCjx0cj48dGg+PGEgbmFtZT0idGFibGUyIj5DaXBoZXItVGFnPC9hPjwvdGg+IDx0aD5Qcm90b2NvbDwvdGg+IDx0aD5LZXkgRXguPC90aD4gPHRoPkF1dGguPC90aD4gPHRoPkVuYy48L3RoPiA8dGg+TUFDPC90aD4gPHRoPlR5cGU8L3RoPiA8L3RyPgo8dHI+PHRkIGNvbHNwYW49IjciPjxlbT5SU0EgQ2lwaGVyczo8L2VtPjwvdGQ+PC90cj4KPHRyPjx0ZD48Y29kZT5ERVMtQ0JDMy1TSEE8L2NvZGU+PC90ZD4gPHRkPlNTTHYzPC90ZD4gPHRkPlJTQTwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+M0RFUygxNjgpPC90ZD4gPHRkPlNIQTE8L3RkPiA8dGQgLz4gPC90cj4KPHRyPjx0ZD48Y29kZT5ERVMtQ0JDMy1NRDU8L2NvZGU+PC90ZD4gPHRkPlNTTHYyPC90ZD4gPHRkPlJTQTwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+M0RFUygxNjgpPC90ZD4gPHRkPk1ENTwvdGQ+IDx0ZCAvPiA8L3RyPgo8dHI+PHRkPjxjb2RlPklERUEtQ0JDLVNIQTwvY29kZT48L3RkPiA8dGQ+U1NMdjM8L3RkPiA8dGQ+UlNBPC90ZD4gPHRkPlJTQTwvdGQ+IDx0ZD5JREVBKDEyOCk8L3RkPiA8dGQ+U0hBMTwvdGQ+IDx0ZCAvPiA8L3RyPgo8dHI+PHRkPjxjb2RlPlJDNC1TSEE8L2NvZGU+PC90ZD4gPHRkPlNTTHYzPC90ZD4gPHRkPlJTQTwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+UkM0KDEyOCk8L3RkPiA8dGQ+U0hBMTwvdGQ+IDx0ZCAvPiA8L3RyPgo8dHI+PHRkPjxjb2RlPlJDNC1NRDU8L2NvZGU+PC90ZD4gPHRkPlNTTHYzPC90ZD4gPHRkPlJTQTwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+UkM0KDEyOCk8L3RkPiA8dGQ+TUQ1PC90ZD4gPHRkIC8+IDwvdHI+Cjx0cj48dGQ+PGNvZGU+SURFQS1DQkMtTUQ1PC9jb2RlPjwvdGQ+IDx0ZD5TU0x2MjwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+UlNBPC90ZD4gPHRkPklERUEoMTI4KTwvdGQ+IDx0ZD5NRDU8L3RkPiA8dGQgLz4gPC90cj4KPHRyPjx0ZD48Y29kZT5SQzItQ0JDLU1ENTwvY29kZT48L3RkPiA8dGQ+U1NMdjI8L3RkPiA8dGQ+UlNBPC90ZD4gPHRkPlJTQTwvdGQ+IDx0ZD5SQzIoMTI4KTwvdGQ+IDx0ZD5NRDU8L3RkPiA8dGQgLz4gPC90cj4KPHRyPjx0ZD48Y29kZT5SQzQtTUQ1PC9jb2RlPjwvdGQ+IDx0ZD5TU0x2MjwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+UlNBPC90ZD4gPHRkPlJDNCgxMjgpPC90ZD4gPHRkPk1ENTwvdGQ+IDx0ZCAvPiA8L3RyPgo8dHI+PHRkPjxjb2RlPkRFUy1DQkMtU0hBPC9jb2RlPjwvdGQ+IDx0ZD5TU0x2MzwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+UlNBPC90ZD4gPHRkPkRFUyg1Nik8L3RkPiA8dGQ+U0hBMTwvdGQ+IDx0ZCAvPiA8L3RyPgo8dHI+PHRkPjxjb2RlPlJDNC02NC1NRDU8L2NvZGU+PC90ZD4gPHRkPlNTTHYyPC90ZD4gPHRkPlJTQTwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+UkM0KDY0KTwvdGQ+IDx0ZD5NRDU8L3RkPiA8dGQgLz4gPC90cj4KPHRyPjx0ZD48Y29kZT5ERVMtQ0JDLU1ENTwvY29kZT48L3RkPiA8dGQ+U1NMdjI8L3RkPiA8dGQ+UlNBPC90ZD4gPHRkPlJTQTwvdGQ+IDx0ZD5ERVMoNTYpPC90ZD4gPHRkPk1ENTwvdGQ+IDx0ZCAvPiA8L3RyPgo8dHI+PHRkPjxjb2RlPkVYUC1ERVMtQ0JDLVNIQTwvY29kZT48L3RkPiA8dGQ+U1NMdjM8L3RkPiA8dGQ+UlNBKDUxMik8L3RkPiA8dGQ+UlNBPC90ZD4gPHRkPkRFUyg0MCk8L3RkPiA8dGQ+U0hBMTwvdGQ+IDx0ZD4gZXhwb3J0PC90ZD4gPC90cj4KPHRyPjx0ZD48Y29kZT5FWFAtUkMyLUNCQy1NRDU8L2NvZGU+PC90ZD4gPHRkPlNTTHYzPC90ZD4gPHRkPlJTQSg1MTIpPC90ZD4gPHRkPlJTQTwvdGQ+IDx0ZD5SQzIoNDApPC90ZD4gPHRkPk1ENTwvdGQ+IDx0ZD4gIGV4cG9ydDwvdGQ+IDwvdHI+Cjx0cj48dGQ+PGNvZGU+RVhQLVJDNC1NRDU8L2NvZGU+PC90ZD4gPHRkPlNTTHYzPC90ZD4gPHRkPlJTQSg1MTIpPC90ZD4gPHRkPlJTQTwvdGQ+IDx0ZD5SQzQoNDApPC90ZD4gPHRkPk1ENTwvdGQ+IDx0ZD4gIGV4cG9ydDwvdGQ+IDwvdHI+Cjx0cj48dGQ+PGNvZGU+RVhQLVJDMi1DQkMtTUQ1PC9jb2RlPjwvdGQ+IDx0ZD5TU0x2MjwvdGQ+IDx0ZD5SU0EoNTEyKTwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+UkMyKDQwKTwvdGQ+IDx0ZD5NRDU8L3RkPiA8dGQ+ICBleHBvcnQ8L3RkPiA8L3RyPgo8dHI+PHRkPjxjb2RlPkVYUC1SQzQtTUQ1PC9jb2RlPjwvdGQ+IDx0ZD5TU0x2MjwvdGQ+IDx0ZD5SU0EoNTEyKTwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+UkM0KDQwKTwvdGQ+IDx0ZD5NRDU8L3RkPiA8dGQ+ICBleHBvcnQ8L3RkPiA8L3RyPgo8dHI+PHRkPjxjb2RlPk5VTEwtU0hBPC9jb2RlPjwvdGQ+IDx0ZD5TU0x2MzwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+UlNBPC90ZD4gPHRkPk5vbmU8L3RkPiA8dGQ+U0hBMTwvdGQ+IDx0ZCAvPiA8L3RyPgo8dHI+PHRkPjxjb2RlPk5VTEwtTUQ1PC9jb2RlPjwvdGQ+IDx0ZD5TU0x2MzwvdGQ+IDx0ZD5SU0E8L3RkPiA8dGQ+UlNBPC90ZD4gPHRkPk5vbmU8L3RkPiA8dGQ+TUQ1PC90ZD4gPHRkIC8+IDwvdHI+Cjx0cj48dGQgY29sc3Bhbj0iNyI+PGVtPkRpZmZpZS1IZWxsbWFuIENpcGhlcnM6PC9lbT48L3RkPjwvdHI+Cjx0cj48dGQ+PGNvZGU+QURILURFUy1DQkMzLVNIQTwvY29kZT48L3RkPiA8dGQ+U1NMdjM8L3RkPiA8dGQ+REg8L3RkPiA8dGQ+Tm9uZTwvdGQ+IDx0ZD4zREVTKDE2OCk8L3RkPiA8dGQ+U0hBMTwvdGQ+IDx0ZCAvPiA8L3RyPgo8dHI+PHRkPjxjb2RlPkFESC1ERVMtQ0JDLVNIQTwvY29kZT48L3RkPiA8dGQ+U1NMdjM8L3RkPiA8dGQ+REg8L3RkPiA8dGQ+Tm9uZTwvdGQ+IDx0ZD5ERVMoNTYpPC90ZD4gPHRkPlNIQTE8L3RkPiA8dGQgLz4gPC90cj4KPHRyPjx0ZD48Y29kZT5BREgtUkM0LU1ENTwvY29kZT48L3RkPiA8dGQ+U1NMdjM8L3RkPiA8dGQ+REg8L3RkPiA8dGQ+Tm9uZTwvdGQ+IDx0ZD5SQzQoMTI4KTwvdGQ+IDx0ZD5NRDU8L3RkPiA8dGQgLz4gPC90cj4KPHRyPjx0ZD48Y29kZT5FREgtUlNBLURFUy1DQkMzLVNIQTwvY29kZT48L3RkPiA8dGQ+U1NMdjM8L3RkPiA8dGQ+REg8L3RkPiA8dGQ+UlNBPC90ZD4gPHRkPjNERVMoMTY4KTwvdGQ+IDx0ZD5TSEExPC90ZD4gPHRkIC8+IDwvdHI+Cjx0cj48dGQ+PGNvZGU+RURILURTUy1ERVMtQ0JDMy1TSEE8L2NvZGU+PC90ZD4gPHRkPlNTTHYzPC90ZD4gPHRkPkRIPC90ZD4gPHRkPkRTUzwvdGQ+IDx0ZD4zREVTKDE2OCk8L3RkPiA8dGQ+U0hBMTwvdGQ+IDx0ZCAvPiA8L3RyPgo8dHI+PHRkPjxjb2RlPkVESC1SU0EtREVTLUNCQy1TSEE8L2NvZGU+PC90ZD4gPHRkPlNTTHYzPC90ZD4gPHRkPkRIPC90ZD4gPHRkPlJTQTwvdGQ+IDx0ZD5ERVMoNTYpPC90ZD4gPHRkPlNIQTE8L3RkPiA8dGQgLz4gPC90cj4KPHRyPjx0ZD48Y29kZT5FREgtRFNTLURFUy1DQkMtU0hBPC9jb2RlPjwvdGQ+IDx0ZD5TU0x2MzwvdGQ+IDx0ZD5ESDwvdGQ+IDx0ZD5EU1M8L3RkPiA8dGQ+REVTKDU2KTwvdGQ+IDx0ZD5TSEExPC90ZD4gPHRkIC8+IDwvdHI+Cjx0cj48dGQ+PGNvZGU+RVhQLUVESC1SU0EtREVTLUNCQy1TSEE8L2NvZGU+PC90ZD4gPHRkPlNTTHYzPC90ZD4gPHRkPkRIKDUxMik8L3RkPiA8dGQ+UlNBPC90ZD4gPHRkPkRFUyg0MCk8L3RkPiA8dGQ+U0hBMTwvdGQ+IDx0ZD4gZXhwb3J0PC90ZD4gPC90cj4KPHRyPjx0ZD48Y29kZT5FWFAtRURILURTUy1ERVMtQ0JDLVNIQTwvY29kZT48L3RkPiA8dGQ+U1NMdjM8L3RkPiA8dGQ+REgoNTEyKTwvdGQ+IDx0ZD5EU1M8L3RkPiA8dGQ+REVTKDQwKTwvdGQ+IDx0ZD5TSEExPC90ZD4gPHRkPiBleHBvcnQ8L3RkPiA8L3RyPgo8dHI+PHRkPjxjb2RlPkVYUC1BREgtREVTLUNCQy1TSEE8L2NvZGU+PC90ZD4gPHRkPlNTTHYzPC90ZD4gPHRkPkRIKDUxMik8L3RkPiA8dGQ+Tm9uZTwvdGQ+IDx0ZD5ERVMoNDApPC90ZD4gPHRkPlNIQTE8L3RkPiA8dGQ+IGV4cG9ydDwvdGQ+IDwvdHI+Cjx0cj48dGQ+PGNvZGU+RVhQLUFESC1SQzQtTUQ1PC9jb2RlPjwvdGQ+IDx0ZD5TU0x2MzwvdGQ+IDx0ZD5ESCg1MTIpPC90ZD4gPHRkPk5vbmU8L3RkPiA8dGQ+UkM0KDQwKTwvdGQ+IDx0ZD5NRDU8L3RkPiA8dGQ+ICBleHBvcnQ8L3RkPiA8L3RyPgo8L3RhYmxlPgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTENyeXB0b0RldmljZSIgaWQ9IlNTTENyeXB0b0RldmljZSI+U1NMQ3J5cHRvRGV2aWNlPC9hPiA8YSBuYW1lPSJzc2xjcnlwdG9kZXZpY2UiIGlkPSJzc2xjcnlwdG9kZXZpY2UiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkVuYWJsZSB1c2Ugb2YgYSBjcnlwdG9ncmFwaGljIGhhcmR3YXJlIGFjY2VsZXJhdG9yPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTENyeXB0b0RldmljZSA8ZW0+ZW5naW5lPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMQ3J5cHRvRGV2aWNlIGJ1aWx0aW48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbXBhdGliaWxpdHkiPkNvbXBhdGliaWxpdHk6PC9hPjwvdGg+PHRkPkF2YWlsYWJsZSBpZiBtb2Rfc3NsIGlzIGJ1aWx0IHVzaW5nIDxjb2RlPi1EU1NMX0VOR0lORV9FWFBFUklNRU5UQUw8L2NvZGU+PC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBkaXJlY3RpdmUgZW5hYmxlcyB1c2Ugb2YgYSBjcnlwdG9ncmFwaGljIGhhcmR3YXJlIGFjY2VsZXJhdG9yCmJvYXJkIHRvIG9mZmxvYWQgc29tZSBvZiB0aGUgU1NMIHByb2Nlc3Npbmcgb3ZlcmhlYWQuICBUaGlzIGRpcmVjdGl2ZQpjYW4gb25seSBiZSB1c2VkIGlmIHRoZSBTU0wgdG9vbGtpdCBpcyBidWlsdCB3aXRoICJlbmdpbmUiIHN1cHBvcnQ7Ck9wZW5TU0wgMC45LjcgYW5kIGxhdGVyIHJlbGVhc2VzIGhhdmUgImVuZ2luZSIgc3VwcG9ydCBieSBkZWZhdWx0LCB0aGUKc2VwYXJhdGUgIi1lbmdpbmUiIHJlbGVhc2VzIG9mIE9wZW5TU0wgMC45LjYgbXVzdCBiZSB1c2VkLjwvcD4KCjxwPlRvIGRpc2NvdmVyIHdoaWNoIGVuZ2luZSBuYW1lcyBhcmUgc3VwcG9ydGVkLCBydW4gdGhlIGNvbW1hbmQKIjxjb2RlPm9wZW5zc2wgZW5naW5lPC9jb2RlPiIuPC9wPgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU8L2gzPjxwPjxjb2RlPgojIEZvciBhIEJyb2FkY29tIGFjY2VsZXJhdG9yOjxiciAvPgpTU0xDcnlwdG9EZXZpY2UgdWJzZWMKPC9jb2RlPjwvcD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJTU0xFbmdpbmUiIGlkPSJTU0xFbmdpbmUiPlNTTEVuZ2luZTwvYT4gPGEgbmFtZT0ic3NsZW5naW5lIiBpZD0ic3NsZW5naW5lIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5TU0wgRW5naW5lIE9wZXJhdGlvbiBTd2l0Y2g8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMRW5naW5lIG9ufG9mZnxvcHRpb25hbDwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5TU0xFbmdpbmUgb2ZmPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPC90YWJsZT4KPHA+ClRoaXMgZGlyZWN0aXZlIHRvZ2dsZXMgdGhlIHVzYWdlIG9mIHRoZSBTU0wvVExTIFByb3RvY29sIEVuZ2luZS4gVGhpcwppcyB1c3VhbGx5IHVzZWQgaW5zaWRlIGEgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCN2aXJ0dWFsaG9zdCI+Jmx0O1ZpcnR1YWxIb3N0Jmd0OzwvYT48L2NvZGU+IHNlY3Rpb24gdG8gZW5hYmxlIFNTTC9UTFMgZm9yIGEKcGFydGljdWxhciB2aXJ0dWFsIGhvc3QuIEJ5IGRlZmF1bHQgdGhlIFNTTC9UTFMgUHJvdG9jb2wgRW5naW5lIGlzCmRpc2FibGVkIGZvciBib3RoIHRoZSBtYWluIHNlcnZlciBhbmQgYWxsIGNvbmZpZ3VyZWQgdmlydHVhbCBob3N0cy48L3A+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KJmx0O1ZpcnR1YWxIb3N0IF9kZWZhdWx0Xzo0NDMmZ3Q7PGJyIC8+ClNTTEVuZ2luZSBvbjxiciAvPgouLi48YnIgLz4KJmx0Oy9WaXJ0dWFsSG9zdCZndDsKPC9jb2RlPjwvcD48L2Rpdj4KPHA+SW4gQXBhY2hlIDIuMSBhbmQgbGF0ZXIsIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPlNTTEVuZ2luZTwvY29kZT4gY2FuIGJlIHNldCB0byAKPGNvZGU+b3B0aW9uYWw8L2NvZGU+LiBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3IgCjxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzI4MTcudHh0Ij5SRkMgMjgxNzwvYT4sIFVwZ3JhZGluZyB0byBUTFMgCldpdGhpbiBIVFRQLzEuMS4gQXQgdGhpcyB0aW1lIG5vIHdlYiBicm93c2VycyBzdXBwb3J0IFJGQyAyODE3LjwvcD4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJTU0xIb25vckNpcGhlck9yZGVyIiBpZD0iU1NMSG9ub3JDaXBoZXJPcmRlciI+U1NMSG9ub3JDaXBoZXJPcmRlcjwvYT4gPGEgbmFtZT0ic3NsaG9ub3JjaXBoZXJvcmRlciIgaWQ9InNzbGhvbm9yY2lwaGVyb3JkZXIiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPk9wdGlvbiB0byBwcmVmZXIgdGhlIHNlcnZlcidzIGNpcGhlciBwcmVmZXJlbmNlIG9yZGVyPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTEhvbm9yQ2lwZXJPcmRlciA8ZW0+ZmxhZzwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbXBhdGliaWxpdHkiPkNvbXBhdGliaWxpdHk6PC9hPjwvdGg+PHRkPkF2YWlsYWJsZSBpbiBBcGFjaGUgMi4xIGFuZCBsYXRlciwgaWYgdXNpbmcgT3BlblNTTCAwLjkuNyBvciBsYXRlcjwvdGQ+PC90cj4KPC90YWJsZT4KPHA+V2hlbiBjaG9vc2luZyBhIGNpcGhlciBkdXJpbmcgYW4gU1NMdjMgb3IgVExTdjEgaGFuZHNoYWtlLCBub3JtYWxseQp0aGUgY2xpZW50J3MgcHJlZmVyZW5jZSBpcyB1c2VkLiAgSWYgdGhpcyBkaXJlY3RpdmUgaXMgZW5hYmxlZCwgdGhlCnNlcnZlcidzIHByZWZlcmVuY2Ugd2lsbCBiZSB1c2VkIGluc3RlYWQuPC9wPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTEhvbm9yQ2lwaGVyT3JkZXIgb24KPC9jb2RlPjwvcD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJTU0xNdXRleCIgaWQ9IlNTTE11dGV4Ij5TU0xNdXRleDwvYT4gPGEgbmFtZT0ic3NsbXV0ZXgiIGlkPSJzc2xtdXRleCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+U2VtYXBob3JlIGZvciBpbnRlcm5hbCBtdXR1YWwgZXhjbHVzaW9uIG9mIApvcGVyYXRpb25zPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTE11dGV4IDxlbT50eXBlPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMTXV0ZXggbm9uZTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBjb25maWd1cmVzIHRoZSBTU0wgZW5naW5lJ3Mgc2VtYXBob3JlIChha2EuIGxvY2spIHdoaWNoIGlzIHVzZWQgZm9yIG11dHVhbApleGNsdXNpb24gb2Ygb3BlcmF0aW9ucyB3aGljaCBoYXZlIHRvIGJlIGRvbmUgaW4gYSBzeW5jaHJvbml6ZWQgd2F5IGJldHdlZW4gdGhlCnByZS1mb3JrZWQgQXBhY2hlIHNlcnZlciBwcm9jZXNzZXMuIFRoaXMgZGlyZWN0aXZlIGNhbiBvbmx5IGJlIHVzZWQgaW4gdGhlCmdsb2JhbCBzZXJ2ZXIgY29udGV4dCBiZWNhdXNlIGl0J3Mgb25seSB1c2VmdWwgdG8gaGF2ZSBvbmUgZ2xvYmFsIG11dGV4LgpUaGlzIGRpcmVjdGl2ZSBpcyBkZXNpZ25lZCB0byBjbG9zZWx5IG1hdGNoIHRoZQo8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbXBtX2NvbW1vbi5odG1sI2FjY2VwdG11dGV4Ij5BY2NlcHRNdXRleDwvYT48L2NvZGU+IGRpcmVjdGl2ZS48L3A+CjxwPgpUaGUgZm9sbG93aW5nIE11dGV4IDxlbT50eXBlczwvZW0+IGFyZSBhdmFpbGFibGU6PC9wPgo8dWw+CjxsaT48Y29kZT5ub25lIHwgbm88L2NvZGU+CiAgICA8cD4KICAgIFRoaXMgaXMgdGhlIGRlZmF1bHQgd2hlcmUgbm8gTXV0ZXggaXMgdXNlZCBhdCBhbGwuIFVzZSBpdCBhdCB5b3VyIG93bgogICAgcmlzay4gQnV0IGJlY2F1c2UgY3VycmVudGx5IHRoZSBNdXRleCBpcyBtYWlubHkgdXNlZCBmb3Igc3luY2hyb25pemluZwogICAgd3JpdGUgYWNjZXNzIHRvIHRoZSBTU0wgU2Vzc2lvbiBDYWNoZSB5b3UgY2FuIGxpdmUgd2l0aG91dCBpdCBhcyBsb25nCiAgICBhcyB5b3UgYWNjZXB0IGEgc29tZXRpbWVzIGdhcmJsZWQgU2Vzc2lvbiBDYWNoZS4gU28gaXQncyBub3QgcmVjb21tZW5kZWQKICAgIHRvIGxlYXZlIHRoaXMgdGhlIGRlZmF1bHQuIEluc3RlYWQgY29uZmlndXJlIGEgcmVhbCBNdXRleC48L3A+PC9saT4KPGxpPjxjb2RlPnBvc2l4c2VtPC9jb2RlPgogICAgPHA+CiAgICBUaGlzIGlzIGFuIGVsZWdhbnQgTXV0ZXggdmFyaWFudCB3aGVyZSBhIFBvc2l4IFNlbWFwaG9yZSBpcyB1c2VkIHdoZW4gcG9zc2libGUuCiAgICBJdCBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuIHRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtCiAgICBhbmQgPGEgY2xhc3M9Imdsb3NzYXJ5bGluayIgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCNhcHIiIHRpdGxlPSJzZWUgZ2xvc3NhcnkiPkFQUjwvYT4gc3VwcG9ydHMgaXQuPC9wPjwvbGk+CjxsaT48Y29kZT5zeXN2c2VtPC9jb2RlPgogICAgPHA+CiAgICBUaGlzIGlzIGEgc29tZXdoYXQgZWxlZ2FudCBNdXRleCB2YXJpYW50IHdoZXJlIGEgU3lzdGVtViBJUEMgU2VtYXBob3JlIGlzIHVzZWQgd2hlbgogICAgcG9zc2libGUuIEl0IGlzIHBvc3NpYmxlIHRvICJsZWFrIiBTeXNWIHNlbWFwaG9yZXMgaWYgcHJvY2Vzc2VzIGNyYXNoIGJlZm9yZQogICAgdGhlIHNlbWFwaG9yZSBpcyByZW1vdmVkLiBJdCBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuIHRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtCiAgICBhbmQgPGEgY2xhc3M9Imdsb3NzYXJ5bGluayIgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCNhcHIiIHRpdGxlPSJzZWUgZ2xvc3NhcnkiPkFQUjwvYT4gc3VwcG9ydHMgaXQuPC9wPjwvbGk+CjxsaT48Y29kZT5zZW08L2NvZGU+CiAgICA8cD4KICAgIFRoaXMgZGlyZWN0aXZlIHRlbGxzIHRoZSBTU0wgTW9kdWxlIHRvIHBpY2sgdGhlICJiZXN0IiBzZW1hcGhvcmUgaW1wbGVtZW50YXRpb24KICAgIGF2YWlsYWJsZSB0byBpdCwgY2hvb3NpbmcgYmV0d2VlbiBQb3NpeCBhbmQgU3lzdGVtViBJUEMsIGluIHRoYXQgb3JkZXIuIEl0IGlzIG9ubHkKICAgIGF2YWlsYWJsZSB3aGVuIHRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtIGFuZCA8YSBjbGFzcz0iZ2xvc3NhcnlsaW5rIiBocmVmPSIuLi9nbG9zc2FyeS5odG1sI2FwciIgdGl0bGU9InNlZSBnbG9zc2FyeSI+QVBSPC9hPiBzdXBwb3J0cyBhdCBsZWFzdCBvbmUgb2YgdGhlIDIuPC9wPjwvbGk+CjxsaT48Y29kZT5wdGhyZWFkPC9jb2RlPgogICAgPHA+CiAgICBUaGlzIGRpcmVjdGl2ZSB0ZWxscyB0aGUgU1NMIE1vZHVsZSB0byB1c2UgUG9zaXggdGhyZWFkIG11dGV4ZXMuIEl0IGlzIG9ubHkgYXZhaWxhYmxlCiAgICBpZiB0aGUgdW5kZXJseWluZyBwbGF0Zm9ybSBhbmQgPGEgY2xhc3M9Imdsb3NzYXJ5bGluayIgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCNhcHIiIHRpdGxlPSJzZWUgZ2xvc3NhcnkiPkFQUjwvYT4gc3VwcG9ydHMgaXQuPC9wPjwvbGk+CjxsaT48Y29kZT5mY250bDovcGF0aC90by9tdXRleDwvY29kZT4KICAgIDxwPgogICAgVGhpcyBpcyBhIHBvcnRhYmxlIE11dGV4IHZhcmlhbnQgd2hlcmUgYSBwaHlzaWNhbCAobG9jay0pZmlsZSBhbmQgdGhlIDxjb2RlPmZjbnRsKCk8L2NvZGU+CiAgICBmdWNudGlvbiBhcmUgdXNlZCBhcyB0aGUgTXV0ZXguCiAgICBBbHdheXMgdXNlIGEgbG9jYWwgZGlzayBmaWxlc3lzdGVtIGZvciA8Y29kZT4vcGF0aC90by9tdXRleDwvY29kZT4gYW5kIG5ldmVyIGEgZmlsZQogICAgcmVzaWRpbmcgb24gYSBORlMtIG9yIEFGUy1maWxlc3lzdGVtLiBJdCBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuIHRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtCiAgICBhbmQgPGEgY2xhc3M9Imdsb3NzYXJ5bGluayIgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCNhcHIiIHRpdGxlPSJzZWUgZ2xvc3NhcnkiPkFQUjwvYT4gc3VwcG9ydHMgaXQuIE5vdGU6IEludGVybmFsbHksIHRoZSBQcm9jZXNzIElEIChQSUQpIG9mIHRoZQogICAgQXBhY2hlIHBhcmVudCBwcm9jZXNzIGlzIGF1dG9tYXRpY2FsbHkgYXBwZW5kZWQgdG8KICAgIDxjb2RlPi9wYXRoL3RvL211dGV4PC9jb2RlPiB0byBtYWtlIGl0IHVuaXF1ZSwgc28geW91IGRvbid0IGhhdmUgdG8gd29ycnkKICAgIGFib3V0IGNvbmZsaWN0cyB5b3Vyc2VsZi4gTm90aWNlIHRoYXQgdGhpcyB0eXBlIG9mIG11dGV4IGlzIG5vdCBhdmFpbGFibGUKICAgIHVuZGVyIHRoZSBXaW4zMiBlbnZpcm9ubWVudC4gVGhlcmUgeW91IDxlbT5oYXZlPC9lbT4gdG8gdXNlIHRoZSBzZW1hcGhvcmUKICAgIG11dGV4LjwvcD48L2xpPgo8bGk+PGNvZGU+ZmxvY2s6L3BhdGgvdG8vbXV0ZXg8L2NvZGU+CiAgICA8cD4KICAgIFRoaXMgaXMgc2ltaWxhciB0byB0aGUgPGNvZGU+ZmNudGw6L3BhdGgvdG8vbXV0ZXg8L2NvZGU+IG1ldGhvZCB3aXRoIHRoZQogICAgZXhjZXB0aW9uIHRoYXQgdGhlIDxjb2RlPmZsb2NrKCk8L2NvZGU+IGZ1bmN0aW9uIGlzIHVzZWQgdG8gcHJvdmlkZSBmaWxlCiAgICBsb2NraW5nLiBJdCBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuIHRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtCiAgICBhbmQgPGEgY2xhc3M9Imdsb3NzYXJ5bGluayIgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCNhcHIiIHRpdGxlPSJzZWUgZ2xvc3NhcnkiPkFQUjwvYT4gc3VwcG9ydHMgaXQuPC9wPjwvbGk+CjxsaT48Y29kZT5maWxlOi9wYXRoL3RvL211dGV4PC9jb2RlPgogICAgPHA+CiAgICBUaGlzIGRpcmVjdGl2ZSB0ZWxscyB0aGUgU1NMIE1vZHVsZSB0byBwaWNrIHRoZSAiYmVzdCIgZmlsZSBsb2NraW5nIGltcGxlbWVudGF0aW9uCiAgICBhdmFpbGFibGUgdG8gaXQsIGNob29zaW5nIGJldHdlZW4gPGNvZGU+ZmNudGw8L2NvZGU+IGFuZCA8Y29kZT5mbG9jazwvY29kZT4sCiAgICBpbiB0aGF0IG9yZGVyLiBJdCBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuIHRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtIGFuZCA8YSBjbGFzcz0iZ2xvc3NhcnlsaW5rIiBocmVmPSIuLi9nbG9zc2FyeS5odG1sI2FwciIgdGl0bGU9InNlZSBnbG9zc2FyeSI+QVBSPC9hPiBzdXBwb3J0cwogICAgYXQgbGVhc3Qgb25lIG9mIHRoZSAyLjwvcD48L2xpPgo8bGk+PGNvZGU+ZGVmYXVsdCB8IHllczwvY29kZT4KICAgIDxwPgogICAgVGhpcyBkaXJlY3RpdmUgdGVsbHMgdGhlIFNTTCBNb2R1bGUgdG8gcGljayB0aGUgZGVmYXVsdCBsb2NraW5nIGltcGxlbWVudGF0aW9uCiAgICBhcyBkZXRlcm1pbmVkIGJ5IHRoZSBwbGF0Zm9ybSBhbmQgPGEgY2xhc3M9Imdsb3NzYXJ5bGluayIgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCNhcHIiIHRpdGxlPSJzZWUgZ2xvc3NhcnkiPkFQUjwvYT4uPC9wPjwvbGk+CjwvdWw+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KU1NMTXV0ZXggZmlsZTovdXNyL2xvY2FsL2FwYWNoZS9sb2dzL3NzbF9tdXRleAo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTE9wdGlvbnMiIGlkPSJTU0xPcHRpb25zIj5TU0xPcHRpb25zPC9hPiA8YSBuYW1lPSJzc2xvcHRpb25zIiBpZD0ic3Nsb3B0aW9ucyI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+Q29uZmlndXJlIHZhcmlvdXMgU1NMIGVuZ2luZSBydW4tdGltZSBvcHRpb25zPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTE9wdGlvbnMgWyt8LV08ZW0+b3B0aW9uPC9lbT4gLi4uPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdCwgZGlyZWN0b3J5LCAuaHRhY2Nlc3M8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNPdmVycmlkZSI+T3ZlcnJpZGU6PC9hPjwvdGg+PHRkPk9wdGlvbnM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9zc2w8L3RkPjwvdHI+CjwvdGFibGU+CjxwPgpUaGlzIGRpcmVjdGl2ZSBjYW4gYmUgdXNlZCB0byBjb250cm9sIHZhcmlvdXMgcnVuLXRpbWUgb3B0aW9ucyBvbiBhCnBlci1kaXJlY3RvcnkgYmFzaXMuIE5vcm1hbGx5LCBpZiBtdWx0aXBsZSA8Y29kZT5TU0xPcHRpb25zPC9jb2RlPgpjb3VsZCBhcHBseSB0byBhIGRpcmVjdG9yeSwgdGhlbiB0aGUgbW9zdCBzcGVjaWZpYyBvbmUgaXMgdGFrZW4KY29tcGxldGVseTsgdGhlIG9wdGlvbnMgYXJlIG5vdCBtZXJnZWQuIEhvd2V2ZXIgaWYgPGVtPmFsbDwvZW0+IHRoZQpvcHRpb25zIG9uIHRoZSA8Y29kZT5TU0xPcHRpb25zPC9jb2RlPiBkaXJlY3RpdmUgYXJlIHByZWNlZGVkIGJ5IGEKcGx1cyAoPGNvZGU+KzwvY29kZT4pIG9yIG1pbnVzICg8Y29kZT4tPC9jb2RlPikgc3ltYm9sLCB0aGUgb3B0aW9ucwphcmUgbWVyZ2VkLiBBbnkgb3B0aW9ucyBwcmVjZWRlZCBieSBhIDxjb2RlPis8L2NvZGU+IGFyZSBhZGRlZCB0byB0aGUKb3B0aW9ucyBjdXJyZW50bHkgaW4gZm9yY2UsIGFuZCBhbnkgb3B0aW9ucyBwcmVjZWRlZCBieSBhCjxjb2RlPi08L2NvZGU+IGFyZSByZW1vdmVkIGZyb20gdGhlIG9wdGlvbnMgY3VycmVudGx5IGluIGZvcmNlLjwvcD4KPHA+ClRoZSBhdmFpbGFibGUgPGVtPm9wdGlvbjwvZW0+cyBhcmU6PC9wPgo8dWw+CjxsaT48Y29kZT5TdGRFbnZWYXJzPC9jb2RlPgogICAgPHA+CiAgICBXaGVuIHRoaXMgb3B0aW9uIGlzIGVuYWJsZWQsIHRoZSBzdGFuZGFyZCBzZXQgb2YgU1NMIHJlbGF0ZWQgQ0dJL1NTSQogICAgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBjcmVhdGVkLiBUaGlzIHBlciBkZWZhdWx0IGlzIGRpc2FibGVkIGZvcgogICAgcGVyZm9ybWFuY2UgcmVhc29ucywgYmVjYXVzZSB0aGUgaW5mb3JtYXRpb24gZXh0cmFjdGlvbiBzdGVwIGlzIGEKICAgIHJhdGhlciBleHBlbnNpdmUgb3BlcmF0aW9uLiBTbyBvbmUgdXN1YWxseSBlbmFibGVzIHRoaXMgb3B0aW9uIGZvcgogICAgQ0dJIGFuZCBTU0kgcmVxdWVzdHMgb25seS48L3A+CjwvbGk+CjxsaT48Y29kZT5Db21wYXRFbnZWYXJzPC9jb2RlPgogICAgPHA+CiAgICBXaGVuIHRoaXMgb3B0aW9uIGlzIGVuYWJsZWQsIGFkZGl0aW9uYWwgQ0dJL1NTSSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlCiAgICBjcmVhdGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHRvIG90aGVyIEFwYWNoZSBTU0wgc29sdXRpb25zLiBMb29rIGluCiAgICB0aGUgPGEgaHJlZj0iLi4vc3NsL3NzbF9jb21wYXQuaHRtbCI+Q29tcGF0aWJpbGl0eTwvYT4gY2hhcHRlciBmb3IgZGV0YWlscwogICAgb24gdGhlIHBhcnRpY3VsYXIgdmFyaWFibGVzIGdlbmVyYXRlZC48L3A+CjwvbGk+CjxsaT48Y29kZT5FeHBvcnRDZXJ0RGF0YTwvY29kZT4KICAgIDxwPgogICAgV2hlbiB0aGlzIG9wdGlvbiBpcyBlbmFibGVkLCBhZGRpdGlvbmFsIENHSS9TU0kgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZQogICAgY3JlYXRlZDogPGNvZGU+U1NMX1NFUlZFUl9DRVJUPC9jb2RlPiwgPGNvZGU+U1NMX0NMSUVOVF9DRVJUPC9jb2RlPiBhbmQKICAgIDxjb2RlPlNTTF9DTElFTlRfQ0VSVF9DSEFJTl88L2NvZGU+PGVtPm48L2VtPiAod2l0aCA8ZW0+bjwvZW0+ID0gMCwxLDIsLi4pLgogICAgVGhlc2UgY29udGFpbiB0aGUgUEVNLWVuY29kZWQgWC41MDkgQ2VydGlmaWNhdGVzIG9mIHNlcnZlciBhbmQgY2xpZW50IGZvcgogICAgdGhlIGN1cnJlbnQgSFRUUFMgY29ubmVjdGlvbiBhbmQgY2FuIGJlIHVzZWQgYnkgQ0dJIHNjcmlwdHMgZm9yIGRlZXBlcgogICAgQ2VydGlmaWNhdGUgY2hlY2tpbmcuIEFkZGl0aW9uYWxseSBhbGwgb3RoZXIgY2VydGlmaWNhdGVzIG9mIHRoZSBjbGllbnQKICAgIGNlcnRpZmljYXRlIGNoYWluIGFyZSBwcm92aWRlZCwgdG9vLiBUaGlzIGJsb2F0cyB1cCB0aGUgZW52aXJvbm1lbnQgYQogICAgbGl0dGxlIGJpdCB3aGljaCBpcyB3aHkgeW91IGhhdmUgdG8gdXNlIHRoaXMgb3B0aW9uIHRvIGVuYWJsZSBpdCBvbgogICAgZGVtYW5kLjwvcD4KPC9saT4KPGxpPjxjb2RlPkZha2VCYXNpY0F1dGg8L2NvZGU+CiAgICA8cD4KICAgIFdoZW4gdGhpcyBvcHRpb24gaXMgZW5hYmxlZCwgdGhlIFN1YmplY3QgRGlzdGluZ3Vpc2hlZCBOYW1lIChETikgb2YgdGhlCiAgICBDbGllbnQgWDUwOSBDZXJ0aWZpY2F0ZSBpcyB0cmFuc2xhdGVkIGludG8gYSBIVFRQIEJhc2ljIEF1dGhvcml6YXRpb24KICAgIHVzZXJuYW1lLiBUaGlzIG1lYW5zIHRoYXQgdGhlIHN0YW5kYXJkIEFwYWNoZSBhdXRoZW50aWNhdGlvbiBtZXRob2RzIGNhbgogICAgYmUgdXNlZCBmb3IgYWNjZXNzIGNvbnRyb2wuIFRoZSB1c2VyIG5hbWUgaXMganVzdCB0aGUgU3ViamVjdCBvZiB0aGUKICAgIENsaWVudCdzIFg1MDkgQ2VydGlmaWNhdGUgKGNhbiBiZSBkZXRlcm1pbmVkIGJ5IHJ1bm5pbmcgT3BlblNTTCdzCiAgICA8Y29kZT5vcGVuc3NsIHg1MDk8L2NvZGU+IGNvbW1hbmQ6IDxjb2RlPm9wZW5zc2wgeDUwOSAtbm9vdXQgLXN1YmplY3QgLWluCiAgICA8L2NvZGU+PGVtPmNlcnRpZmljYXRlPC9lbT48Y29kZT4uY3J0PC9jb2RlPikuIE5vdGUgdGhhdCBubyBwYXNzd29yZCBpcwogICAgb2J0YWluZWQgZnJvbSB0aGUgdXNlci4gRXZlcnkgZW50cnkgaW4gdGhlIHVzZXIgZmlsZSBuZWVkcyB0aGlzIHBhc3N3b3JkOgogICAgYGA8Y29kZT54eGozMVpNVFp6a1ZBPC9jb2RlPicnLCB3aGljaCBpcyB0aGUgREVTLWVuY3J5cHRlZCB2ZXJzaW9uIG9mIHRoZQogICAgd29yZCBgPGNvZGU+cGFzc3dvcmQ8L2NvZGU+JycuIFRob3NlIHdobyBsaXZlIHVuZGVyIE1ENS1iYXNlZCBlbmNyeXB0aW9uCiAgICAoZm9yIGluc3RhbmNlIHVuZGVyIEZyZWVCU0Qgb3IgQlNEL09TLCBldGMuKSBzaG91bGQgdXNlIHRoZSBmb2xsb3dpbmcgTUQ1CiAgICBoYXNoIG9mIHRoZSBzYW1lIHdvcmQ6IGBgPGNvZGU+JDEkT1hMeVMuLi4kT3d4OHMyL205L2dma2NSVlh6Z29FLzwvY29kZT4nJy48L3A+CjwvbGk+CjxsaT48Y29kZT5TdHJpY3RSZXF1aXJlPC9jb2RlPgogICAgPHA+CiAgICBUaGlzIDxlbT5mb3JjZXM8L2VtPiBmb3JiaWRkZW4gYWNjZXNzIHdoZW4gPGNvZGU+U1NMUmVxdWlyZVNTTDwvY29kZT4gb3IKICAgIDxjb2RlPlNTTFJlcXVpcmU8L2NvZGU+IHN1Y2Nlc3NmdWxseSBkZWNpZGVkIHRoYXQgYWNjZXNzIHNob3VsZCBiZQogICAgZm9yYmlkZGVuLiBVc3VhbGx5IHRoZSBkZWZhdWx0IGlzIHRoYXQgaW4gdGhlIGNhc2Ugd2hlcmUgYSBgYDxjb2RlPlNhdGlzZnkKICAgIGFueTwvY29kZT4nJyBkaXJlY3RpdmUgaXMgdXNlZCwgYW5kIG90aGVyIGFjY2VzcyByZXN0cmljdGlvbnMgYXJlIHBhc3NlZCwKICAgIGRlbmlhbCBvZiBhY2Nlc3MgZHVlIHRvIDxjb2RlPlNTTFJlcXVpcmVTU0w8L2NvZGU+IG9yCiAgICA8Y29kZT5TU0xSZXF1aXJlPC9jb2RlPiBpcyBvdmVycmlkZGVuIChiZWNhdXNlIHRoYXQncyBob3cgdGhlIEFwYWNoZQogICAgPGNvZGU+U2F0aXNmeTwvY29kZT4gbWVjaGFuaXNtIHNob3VsZCB3b3JrLikgQnV0IGZvciBzdHJpY3QgYWNjZXNzIHJlc3RyaWN0aW9uCiAgICB5b3UgY2FuIHVzZSA8Y29kZT5TU0xSZXF1aXJlU1NMPC9jb2RlPiBhbmQvb3IgPGNvZGU+U1NMUmVxdWlyZTwvY29kZT4gaW4KICAgIGNvbWJpbmF0aW9uIHdpdGggYW4gYGA8Y29kZT5TU0xPcHRpb25zICtTdHJpY3RSZXF1aXJlPC9jb2RlPicnLiBUaGVuIGFuCiAgICBhZGRpdGlvbmFsIGBgPGNvZGU+U2F0aXNmeSBBbnk8L2NvZGU+JycgaGFzIG5vIGNoYW5jZSBvbmNlIG1vZF9zc2wgaGFzCiAgICBkZWNpZGVkIHRvIGRlbnkgYWNjZXNzLjwvcD4KPC9saT4KPGxpPjxjb2RlPk9wdFJlbmVnb3RpYXRlPC9jb2RlPgogICAgPHA+CiAgICBUaGlzIGVuYWJsZXMgb3B0aW1pemVkIFNTTCBjb25uZWN0aW9uIHJlbmVnb3RpYXRpb24gaGFuZGxpbmcgd2hlbiBTU0wKICAgIGRpcmVjdGl2ZXMgYXJlIHVzZWQgaW4gcGVyLWRpcmVjdG9yeSBjb250ZXh0LiBCeSBkZWZhdWx0IGEgc3RyaWN0CiAgICBzY2hlbWUgaXMgZW5hYmxlZCB3aGVyZSA8ZW0+ZXZlcnk8L2VtPiBwZXItZGlyZWN0b3J5IHJlY29uZmlndXJhdGlvbiBvZgogICAgU1NMIHBhcmFtZXRlcnMgY2F1c2VzIGEgPGVtPmZ1bGw8L2VtPiBTU0wgcmVuZWdvdGlhdGlvbiBoYW5kc2hha2UuIFdoZW4gdGhpcwogICAgb3B0aW9uIGlzIHVzZWQgbW9kX3NzbCB0cmllcyB0byBhdm9pZCB1bm5lY2Vzc2FyeSBoYW5kc2hha2VzIGJ5IGRvaW5nIG1vcmUKICAgIGdyYW51bGFyIChidXQgc3RpbGwgc2FmZSkgcGFyYW1ldGVyIGNoZWNrcy4gTmV2ZXJ0aGVsZXNzIHRoZXNlIGdyYW51bGFyCiAgICBjaGVja3Mgc29tZXRpbWVzIG1heWJlIG5vdCB3aGF0IHRoZSB1c2VyIGV4cGVjdHMsIHNvIGVuYWJsZSB0aGlzIG9uIGEKICAgIHBlci1kaXJlY3RvcnkgYmFzaXMgb25seSwgcGxlYXNlLjwvcD4KPC9saT4KPC91bD4KPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU8L2gzPjxwPjxjb2RlPgpTU0xPcHRpb25zICtGYWtlQmFzaWNBdXRoIC1TdHJpY3RSZXF1aXJlPGJyIC8+CiZsdDtGaWxlcyB+ICJcLihjZ2l8c2h0bWwpJCImZ3Q7PGJyIC8+CiAgICBTU0xPcHRpb25zICtTdGRFbnZWYXJzICtDb21wYXRFbnZWYXJzIC1FeHBvcnRDZXJ0RGF0YTxiciAvPgombHQ7RmlsZXMmZ3Q7CjwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iU1NMUGFzc1BocmFzZURpYWxvZyIgaWQ9IlNTTFBhc3NQaHJhc2VEaWFsb2ciPlNTTFBhc3NQaHJhc2VEaWFsb2c8L2E+IDxhIG5hbWU9InNzbHBhc3NwaHJhc2VkaWFsb2ciIGlkPSJzc2xwYXNzcGhyYXNlZGlhbG9nIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5UeXBlIG9mIHBhc3MgcGhyYXNlIGRpYWxvZyBmb3IgZW5jcnlwdGVkIHByaXZhdGUgCmtleXM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMUGFzc1BocmFzZURpYWxvZyA8ZW0+dHlwZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFBhc3NQaHJhc2VEaWFsb2cgYnVpbHRpbjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KV2hlbiBBcGFjaGUgc3RhcnRzIHVwIGl0IGhhcyB0byByZWFkIHRoZSB2YXJpb3VzIENlcnRpZmljYXRlIChzZWUKPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI3NzbGNlcnRpZmljYXRlZmlsZSI+U1NMQ2VydGlmaWNhdGVGaWxlPC9hPjwvY29kZT4pIGFuZApQcml2YXRlIEtleSAoc2VlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNzc2xjZXJ0aWZpY2F0ZWtleWZpbGUiPlNTTENlcnRpZmljYXRlS2V5RmlsZTwvYT48L2NvZGU+KSBmaWxlcyBvZiB0aGUKU1NMLWVuYWJsZWQgdmlydHVhbCBzZXJ2ZXJzLiBCZWNhdXNlIGZvciBzZWN1cml0eSByZWFzb25zIHRoZSBQcml2YXRlCktleSBmaWxlcyBhcmUgdXN1YWxseSBlbmNyeXB0ZWQsIG1vZF9zc2wgbmVlZHMgdG8gcXVlcnkgdGhlCmFkbWluaXN0cmF0b3IgZm9yIGEgUGFzcyBQaHJhc2UgaW4gb3JkZXIgdG8gZGVjcnlwdCB0aG9zZSBmaWxlcy4gVGhpcwpxdWVyeSBjYW4gYmUgZG9uZSBpbiB0d28gd2F5cyB3aGljaCBjYW4gYmUgY29uZmlndXJlZCBieQo8ZW0+dHlwZTwvZW0+OjwvcD4KPHVsPgo8bGk+PGNvZGU+YnVpbHRpbjwvY29kZT4KICAgIDxwPgogICAgVGhpcyBpcyB0aGUgZGVmYXVsdCB3aGVyZSBhbiBpbnRlcmFjdGl2ZSB0ZXJtaW5hbCBkaWFsb2cgb2NjdXJzIGF0IHN0YXJ0dXAKICAgIHRpbWUganVzdCBiZWZvcmUgQXBhY2hlIGRldGFjaGVzIGZyb20gdGhlIHRlcm1pbmFsLiBIZXJlIHRoZSBhZG1pbmlzdHJhdG9yCiAgICBoYXMgdG8gbWFudWFsbHkgZW50ZXIgdGhlIFBhc3MgUGhyYXNlIGZvciBlYWNoIGVuY3J5cHRlZCBQcml2YXRlIEtleSBmaWxlLgogICAgQmVjYXVzZSBhIGxvdCBvZiBTU0wtZW5hYmxlZCB2aXJ0dWFsIGhvc3RzIGNhbiBiZSBjb25maWd1cmVkLCB0aGUKICAgIGZvbGxvd2luZyByZXVzZS1zY2hlbWUgaXMgdXNlZCB0byBtaW5pbWl6ZSB0aGUgZGlhbG9nOiBXaGVuIGEgUHJpdmF0ZSBLZXkKICAgIGZpbGUgaXMgZW5jcnlwdGVkLCBhbGwga25vd24gUGFzcyBQaHJhc2VzIChhdCB0aGUgYmVnaW5uaW5nIHRoZXJlIGFyZQogICAgbm9uZSwgb2YgY291cnNlKSBhcmUgdHJpZWQuIElmIG9uZSBvZiB0aG9zZSBrbm93biBQYXNzIFBocmFzZXMgc3VjY2VlZHMgbm8KICAgIGRpYWxvZyBwb3BzIHVwIGZvciB0aGlzIHBhcnRpY3VsYXIgUHJpdmF0ZSBLZXkgZmlsZS4gSWYgbm9uZSBzdWNjZWVkZWQsCiAgICBhbm90aGVyIFBhc3MgUGhyYXNlIGlzIHF1ZXJpZWQgb24gdGhlIHRlcm1pbmFsIGFuZCByZW1lbWJlcmVkIGZvciB0aGUgbmV4dAogICAgcm91bmQgKHdoZXJlIGl0IHBlcmhhcHMgY2FuIGJlIHJldXNlZCkuPC9wPgogICAgPHA+CiAgICBUaGlzIHNjaGVtZSBhbGxvd3MgbW9kX3NzbCB0byBiZSBtYXhpbWFsbHkgZmxleGlibGUgKGJlY2F1c2UgZm9yIE4gZW5jcnlwdGVkCiAgICBQcml2YXRlIEtleSBmaWxlcyB5b3UgPGVtPmNhbjwvZW0+IHVzZSBOIGRpZmZlcmVudCBQYXNzIFBocmFzZXMgLSBidXQgdGhlbgogICAgeW91IGhhdmUgdG8gZW50ZXIgYWxsIG9mIHRoZW0sIG9mIGNvdXJzZSkgd2hpbGUgbWluaW1pemluZyB0aGUgdGVybWluYWwKICAgIGRpYWxvZyAoaS5lLiB3aGVuIHlvdSB1c2UgYSBzaW5nbGUgUGFzcyBQaHJhc2UgZm9yIGFsbCBOIFByaXZhdGUgS2V5IGZpbGVzCiAgICB0aGlzIFBhc3MgUGhyYXNlIGlzIHF1ZXJpZWQgb25seSBvbmNlKS48L3A+PC9saT4KCjxsaT48Y29kZT58L3BhdGgvdG8vcHJvZ3JhbSBbYXJncy4uLl08L2NvZGU+IAoKICAgPHA+VGhpcyBtb2RlIGFsbG93cyBhbiBleHRlcm5hbCBwcm9ncmFtIHRvIGJlIHVzZWQgd2hpY2ggYWN0cyBhcyBhCiAgIHBpcGUgdG8gYSBwYXJ0aWN1bGFyIGlucHV0IGRldmljZTsgdGhlIHByb2dyYW0gaXMgc2VudCB0aGUgc3RhbmRhcmQKICAgcHJvbXB0IHRleHQgdXNlZCBmb3IgdGhlIDxjb2RlPmJ1aWx0aW48L2NvZGU+IG1vZGUgb24KICAgPGNvZGU+c3RkaW48L2NvZGU+LCBhbmQgaXMgZXhwZWN0ZWQgdG8gd3JpdGUgcGFzc3dvcmQgc3RyaW5ncyBvbgogICA8Y29kZT5zdGRvdXQ8L2NvZGU+LiAgSWYgc2V2ZXJhbCBwYXNzd29yZHMgYXJlIG5lZWRlZCAob3IgYW4KICAgaW5jb3JyZWN0IHBhc3N3b3JkIGlzIGVudGVyZWQpLCBhZGRpdGlvbmFsIHByb21wdCB0ZXh0IHdpbGwgYmUKICAgd3JpdHRlbiBzdWJzZXF1ZW50IHRvIHRoZSBmaXJzdCBwYXNzd29yZCBiZWluZyByZXR1cm5lZCwgYW5kIG1vcmUKICAgcGFzc3dvcmRzIG11c3QgdGhlbiBiZSB3cml0dGVuIGJhY2suPC9wPjwvbGk+Cgo8bGk+PGNvZGU+ZXhlYzovcGF0aC90by9wcm9ncmFtPC9jb2RlPgogICAgPHA+CiAgICBIZXJlIGFuIGV4dGVybmFsIHByb2dyYW0gaXMgY29uZmlndXJlZCB3aGljaCBpcyBjYWxsZWQgYXQgc3RhcnR1cCBmb3IgZWFjaAogICAgZW5jcnlwdGVkIFByaXZhdGUgS2V5IGZpbGUuIEl0IGlzIGNhbGxlZCB3aXRoIHR3byBhcmd1bWVudHMgKHRoZSBmaXJzdCBpcwogICAgb2YgdGhlIGZvcm0gYGA8Y29kZT5zZXJ2ZXJuYW1lOnBvcnRudW1iZXI8L2NvZGU+JycsIHRoZSBzZWNvbmQgaXMgZWl0aGVyCiAgICBgYDxjb2RlPlJTQTwvY29kZT4nJyBvciBgYDxjb2RlPkRTQTwvY29kZT4nJyksIHdoaWNoIGluZGljYXRlIGZvciB3aGljaAogICAgc2VydmVyIGFuZCBhbGdvcml0aG0gaXQgaGFzIHRvIHByaW50IHRoZSBjb3JyZXNwb25kaW5nIFBhc3MgUGhyYXNlIHRvCiAgICA8Y29kZT5zdGRvdXQ8L2NvZGU+LiBUaGUgaW50ZW50IGlzIHRoYXQgdGhpcyBleHRlcm5hbCBwcm9ncmFtIGZpcnN0IHJ1bnMKICAgIHNlY3VyaXR5IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCB0aGUgc3lzdGVtIGlzIG5vdCBjb21wcm9taXNlZCBieSBhbgogICAgYXR0YWNrZXIsIGFuZCBvbmx5IHdoZW4gdGhlc2UgY2hlY2tzIHdlcmUgcGFzc2VkIHN1Y2Nlc3NmdWxseSBpdCBwcm92aWRlcwogICAgdGhlIFBhc3MgUGhyYXNlLjwvcD4KICAgIDxwPgogICAgQm90aCB0aGVzZSBzZWN1cml0eSBjaGVja3MsIGFuZCB0aGUgd2F5IHRoZSBQYXNzIFBocmFzZSBpcyBkZXRlcm1pbmVkLCBjYW4KICAgIGJlIGFzIGNvbXBsZXggYXMgeW91IGxpa2UuIE1vZF9zc2wganVzdCBkZWZpbmVzIHRoZSBpbnRlcmZhY2U6IGFuCiAgICBleGVjdXRhYmxlIHByb2dyYW0gd2hpY2ggcHJvdmlkZXMgdGhlIFBhc3MgUGhyYXNlIG9uIDxjb2RlPnN0ZG91dDwvY29kZT4uCiAgICBOb3RoaW5nIG1vcmUgb3IgbGVzcyEgU28sIGlmIHlvdSdyZSByZWFsbHkgcGFyYW5vaWQgYWJvdXQgc2VjdXJpdHksIGhlcmUKICAgIGlzIHlvdXIgaW50ZXJmYWNlLiBBbnl0aGluZyBlbHNlIGhhcyB0byBiZSBsZWZ0IGFzIGFuIGV4ZXJjaXNlIHRvIHRoZQogICAgYWRtaW5pc3RyYXRvciwgYmVjYXVzZSBsb2NhbCBzZWN1cml0eSByZXF1aXJlbWVudHMgYXJlIHNvIGRpZmZlcmVudC48L3A+CiAgICA8cD4KICAgIFRoZSByZXVzZS1hbGdvcml0aG0gYWJvdmUgaXMgdXNlZCBoZXJlLCB0b28uIEluIG90aGVyIHdvcmRzOiBUaGUgZXh0ZXJuYWwKICAgIHByb2dyYW0gaXMgY2FsbGVkIG9ubHkgb25jZSBwZXIgdW5pcXVlIFBhc3MgUGhyYXNlLjwvcD48L2xpPgo8L3VsPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTFBhc3NQaHJhc2VEaWFsb2cgZXhlYzovdXNyL2xvY2FsL2FwYWNoZS9zYmluL3BwLWZpbHRlcgo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTFByb3RvY29sIiBpZD0iU1NMUHJvdG9jb2wiPlNTTFByb3RvY29sPC9hPiA8YSBuYW1lPSJzc2xwcm90b2NvbCIgaWQ9InNzbHByb3RvY29sIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5Db25maWd1cmUgdXNhYmxlIFNTTCBwcm90b2NvbCBmbGF2b3JzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFByb3RvY29sIFsrfC1dPGVtPnByb3RvY29sPC9lbT4gLi4uPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFByb3RvY29sIGFsbDwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNPdmVycmlkZSI+T3ZlcnJpZGU6PC9hPjwvdGg+PHRkPk9wdGlvbnM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9zc2w8L3RkPjwvdHI+CjwvdGFibGU+CjxwPgpUaGlzIGRpcmVjdGl2ZSBjYW4gYmUgdXNlZCB0byBjb250cm9sIHRoZSBTU0wgcHJvdG9jb2wgZmxhdm9ycyBtb2Rfc3NsIHNob3VsZAp1c2Ugd2hlbiBlc3RhYmxpc2hpbmcgaXRzIHNlcnZlciBlbnZpcm9ubWVudC4gQ2xpZW50cyB0aGVuIGNhbiBvbmx5IGNvbm5lY3QKd2l0aCBvbmUgb2YgdGhlIHByb3ZpZGVkIHByb3RvY29scy48L3A+CjxwPgpUaGUgYXZhaWxhYmxlIChjYXNlLWluc2Vuc2l0aXZlKSA8ZW0+cHJvdG9jb2w8L2VtPnMgYXJlOjwvcD4KPHVsPgo8bGk+PGNvZGU+U1NMdjI8L2NvZGU+CiAgICA8cD4KICAgIFRoaXMgaXMgdGhlIFNlY3VyZSBTb2NrZXRzIExheWVyIChTU0wpIHByb3RvY29sLCB2ZXJzaW9uIDIuMC4gSXQgaXMgdGhlCiAgICBvcmlnaW5hbCBTU0wgcHJvdG9jb2wgYXMgZGVzaWduZWQgYnkgTmV0c2NhcGUgQ29ycG9yYXRpb24uPC9wPjwvbGk+Cgo8bGk+PGNvZGU+U1NMdjM8L2NvZGU+CiAgICA8cD4KICAgIFRoaXMgaXMgdGhlIFNlY3VyZSBTb2NrZXRzIExheWVyIChTU0wpIHByb3RvY29sLCB2ZXJzaW9uIDMuMC4gSXQgaXMgdGhlCiAgICBzdWNjZXNzb3IgdG8gU1NMdjIgYW5kIHRoZSBjdXJyZW50bHkgKGFzIG9mIEZlYnJ1YXJ5IDE5OTkpIGRlLWZhY3RvCiAgICBzdGFuZGFyZGl6ZWQgU1NMIHByb3RvY29sIGZyb20gTmV0c2NhcGUgQ29ycG9yYXRpb24uIEl0J3Mgc3VwcG9ydGVkIGJ5CiAgICBhbG1vc3QgYWxsIHBvcHVsYXIgYnJvd3NlcnMuPC9wPjwvbGk+Cgo8bGk+PGNvZGU+VExTdjE8L2NvZGU+CiAgICA8cD4KICAgIFRoaXMgaXMgdGhlIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSAoVExTKSBwcm90b2NvbCwgdmVyc2lvbiAxLjAuIEl0IGlzIHRoZQogICAgc3VjY2Vzc29yIHRvIFNTTHYzIGFuZCBjdXJyZW50bHkgKGFzIG9mIEZlYnJ1YXJ5IDE5OTkpIHN0aWxsIHVuZGVyCiAgICBjb25zdHJ1Y3Rpb24gYnkgdGhlIEludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2UgKElFVEYpLiBJdCdzIHN0aWxsCiAgICBub3Qgc3VwcG9ydGVkIGJ5IGFueSBwb3B1bGFyIGJyb3dzZXJzLjwvcD48L2xpPgoKPGxpPjxjb2RlPkFsbDwvY29kZT4KICAgIDxwPgogICAgVGhpcyBpcyBhIHNob3J0Y3V0IGZvciBgYDxjb2RlPitTU0x2MiArU1NMdjMgK1RMU3YxPC9jb2RlPicnIGFuZCBhCiAgICBjb252aW5pZW50IHdheSBmb3IgZW5hYmxpbmcgYWxsIHByb3RvY29scyBleGNlcHQgb25lIHdoZW4gdXNlZCBpbgogICAgY29tYmluYXRpb24gd2l0aCB0aGUgbWludXMgc2lnbiBvbiBhIHByb3RvY29sIGFzIHRoZSBleGFtcGxlIGFib3ZlIAogICAgc2hvd3MuPC9wPjwvbGk+CjwvdWw+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KIyAgIGVuYWJsZSBTU0x2MyBhbmQgVExTdjEsIGJ1dCBub3QgU1NMdjI8YnIgLz4KU1NMUHJvdG9jb2wgYWxsIC1TU0x2Mgo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTFByb3h5Q0FDZXJ0aWZpY2F0ZUZpbGUiIGlkPSJTU0xQcm94eUNBQ2VydGlmaWNhdGVGaWxlIj5TU0xQcm94eUNBQ2VydGlmaWNhdGVGaWxlPC9hPiA8YSBuYW1lPSJzc2xwcm94eWNhY2VydGlmaWNhdGVmaWxlIiBpZD0ic3NscHJveHljYWNlcnRpZmljYXRlZmlsZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+RmlsZSBvZiBjb25jYXRlbmF0ZWQgUEVNLWVuY29kZWQgQ0EgQ2VydGlmaWNhdGVzIApmb3IgUmVtb3RlIFNlcnZlciBBdXRoPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFByb3h5Q0FDZXJ0aWZpY2F0ZUZpbGUgPGVtPmZpbGUtcGF0aDwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPC90YWJsZT4KPHA+ClRoaXMgZGlyZWN0aXZlIHNldHMgdGhlIDxlbT5hbGwtaW4tb25lPC9lbT4gZmlsZSB3aGVyZSB5b3UgY2FuIGFzc2VtYmxlIHRoZQpDZXJ0aWZpY2F0ZXMgb2YgQ2VydGlmaWNhdGlvbiBBdXRob3JpdGllcyAoQ0EpIHdob3NlIDxlbT5yZW1vdGUgc2VydmVyczwvZW0+IHlvdSBkZWFsCndpdGguIFRoZXNlIGFyZSB1c2VkIGZvciBSZW1vdGUgU2VydmVyIEF1dGhlbnRpY2F0aW9uLiBTdWNoIGEgZmlsZSBpcyBzaW1wbHkgdGhlCmNvbmNhdGVuYXRpb24gb2YgdGhlIHZhcmlvdXMgUEVNLWVuY29kZWQgQ2VydGlmaWNhdGUgZmlsZXMsIGluIG9yZGVyIG9mCnByZWZlcmVuY2UuIFRoaXMgY2FuIGJlIHVzZWQgYWx0ZXJuYXRpdmVseSBhbmQvb3IgYWRkaXRpb25hbGx5IHRvIAo8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjc3NscHJveHljYWNlcnRpZmljYXRlcGF0aCI+U1NMUHJveHlDQUNlcnRpZmljYXRlUGF0aDwvYT48L2NvZGU+LjwvcD4KPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU8L2gzPjxwPjxjb2RlPgpTU0xQcm94eUNBQ2VydGlmaWNhdGVGaWxlIC91c3IvbG9jYWwvYXBhY2hlMi9jb25mL3NzbC5jcnQvY2EtYnVuZGxlLXJlbW90ZS1zZXJ2ZXIuY3J0CjwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iU1NMUHJveHlDQUNlcnRpZmljYXRlUGF0aCIgaWQ9IlNTTFByb3h5Q0FDZXJ0aWZpY2F0ZVBhdGgiPlNTTFByb3h5Q0FDZXJ0aWZpY2F0ZVBhdGg8L2E+IDxhIG5hbWU9InNzbHByb3h5Y2FjZXJ0aWZpY2F0ZXBhdGgiIGlkPSJzc2xwcm94eWNhY2VydGlmaWNhdGVwYXRoIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5EaXJlY3Rvcnkgb2YgUEVNLWVuY29kZWQgQ0EgQ2VydGlmaWNhdGVzIGZvciAKUmVtb3RlIFNlcnZlciBBdXRoPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFByb3h5Q0FDZXJ0aWZpY2F0ZVBhdGggPGVtPmRpcmVjdG9yeS1wYXRoPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBkaXJlY3RpdmUgc2V0cyB0aGUgZGlyZWN0b3J5IHdoZXJlIHlvdSBrZWVwIHRoZSBDZXJ0aWZpY2F0ZXMgb2YKQ2VydGlmaWNhdGlvbiBBdXRob3JpdGllcyAoQ0FzKSB3aG9zZSByZW1vdGUgc2VydmVycyB5b3UgZGVhbCB3aXRoLiBUaGVzZSBhcmUgdXNlZCB0bwp2ZXJpZnkgdGhlIHJlbW90ZSBzZXJ2ZXIgY2VydGlmaWNhdGUgb24gUmVtb3RlIFNlcnZlciBBdXRoZW50aWNhdGlvbi48L3A+CjxwPgpUaGUgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgaGF2ZSB0byBiZSBQRU0tZW5jb2RlZCBhbmQgYXJlIGFjY2Vzc2VkIHRocm91Z2gKaGFzaCBmaWxlbmFtZXMuIFNvIHVzdWFsbHkgeW91IGNhbid0IGp1c3QgcGxhY2UgdGhlIENlcnRpZmljYXRlIGZpbGVzCnRoZXJlOiB5b3UgYWxzbyBoYXZlIHRvIGNyZWF0ZSBzeW1ib2xpYyBsaW5rcyBuYW1lZAo8ZW0+aGFzaC12YWx1ZTwvZW0+PGNvZGU+Lk48L2NvZGU+LiBBbmQgeW91IHNob3VsZCBhbHdheXMgbWFrZSBzdXJlIHRoaXMgZGlyZWN0b3J5CmNvbnRhaW5zIHRoZSBhcHByb3ByaWF0ZSBzeW1ib2xpYyBsaW5rcy4gVXNlIHRoZSA8Y29kZT5NYWtlZmlsZTwvY29kZT4gd2hpY2gKY29tZXMgd2l0aCBtb2Rfc3NsIHRvIGFjY29tcGxpc2ggdGhpcyB0YXNrLjwvcD4KPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU8L2gzPjxwPjxjb2RlPgpTU0xQcm94eUNBQ2VydGlmaWNhdGVQYXRoIC91c3IvbG9jYWwvYXBhY2hlMi9jb25mL3NzbC5jcnQvCjwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iU1NMUHJveHlDQVJldm9jYXRpb25GaWxlIiBpZD0iU1NMUHJveHlDQVJldm9jYXRpb25GaWxlIj5TU0xQcm94eUNBUmV2b2NhdGlvbkZpbGU8L2E+IDxhIG5hbWU9InNzbHByb3h5Y2FyZXZvY2F0aW9uZmlsZSIgaWQ9InNzbHByb3h5Y2FyZXZvY2F0aW9uZmlsZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+RmlsZSBvZiBjb25jYXRlbmF0ZWQgUEVNLWVuY29kZWQgQ0EgQ1JMcyBmb3IgClJlbW90ZSBTZXJ2ZXIgQXV0aDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5TU0xQcm94eUNBUmV2b2NhdGlvbkZpbGUgPGVtPmZpbGUtcGF0aDwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPC90YWJsZT4KPHA+ClRoaXMgZGlyZWN0aXZlIHNldHMgdGhlIDxlbT5hbGwtaW4tb25lPC9lbT4gZmlsZSB3aGVyZSB5b3UgY2FuCmFzc2VtYmxlIHRoZSBDZXJ0aWZpY2F0ZSBSZXZvY2F0aW9uIExpc3RzIChDUkwpIG9mIENlcnRpZmljYXRpb24KQXV0aG9yaXRpZXMgKENBKSB3aG9zZSA8ZW0+cmVtb3RlIHNlcnZlcnM8L2VtPiB5b3UgZGVhbCB3aXRoLiBUaGVzZSBhcmUgdXNlZApmb3IgUmVtb3RlIFNlcnZlciBBdXRoZW50aWNhdGlvbi4gIFN1Y2ggYSBmaWxlIGlzIHNpbXBseSB0aGUgY29uY2F0ZW5hdGlvbiBvZgp0aGUgdmFyaW91cyBQRU0tZW5jb2RlZCBDUkwgZmlsZXMsIGluIG9yZGVyIG9mIHByZWZlcmVuY2UuIFRoaXMgY2FuIGJlCnVzZWQgYWx0ZXJuYXRpdmVseSBhbmQvb3IgYWRkaXRpb25hbGx5IHRvIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNzc2xwcm94eWNhcmV2b2NhdGlvbnBhdGgiPlNTTFByb3h5Q0FSZXZvY2F0aW9uUGF0aDwvYT48L2NvZGU+LjwvcD4KPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU8L2gzPjxwPjxjb2RlPgpTU0xQcm94eUNBUmV2b2NhdGlvbkZpbGUgL3Vzci9sb2NhbC9hcGFjaGUyL2NvbmYvc3NsLmNybC9jYS1idW5kbGUtcmVtb3RlLXNlcnZlci5jcmwKPC9jb2RlPjwvcD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJTU0xQcm94eUNBUmV2b2NhdGlvblBhdGgiIGlkPSJTU0xQcm94eUNBUmV2b2NhdGlvblBhdGgiPlNTTFByb3h5Q0FSZXZvY2F0aW9uUGF0aDwvYT4gPGEgbmFtZT0ic3NscHJveHljYXJldm9jYXRpb25wYXRoIiBpZD0ic3NscHJveHljYXJldm9jYXRpb25wYXRoIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5EaXJlY3Rvcnkgb2YgUEVNLWVuY29kZWQgQ0EgQ1JMcyBmb3IgClJlbW90ZSBTZXJ2ZXIgQXV0aDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5TU0xQcm94eUNBUmV2b2NhdGlvblBhdGggPGVtPmRpcmVjdG9yeS1wYXRoPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBkaXJlY3RpdmUgc2V0cyB0aGUgZGlyZWN0b3J5IHdoZXJlIHlvdSBrZWVwIHRoZSBDZXJ0aWZpY2F0ZSBSZXZvY2F0aW9uCkxpc3RzIChDUkwpIG9mIENlcnRpZmljYXRpb24gQXV0aG9yaXRpZXMgKENBcykgd2hvc2UgcmVtb3RlIHNlcnZlcnMgeW91IGRlYWwgd2l0aC4KVGhlc2UgYXJlIHVzZWQgdG8gcmV2b2tlIHRoZSByZW1vdGUgc2VydmVyIGNlcnRpZmljYXRlIG9uIFJlbW90ZSBTZXJ2ZXIgQXV0aGVudGljYXRpb24uPC9wPgo8cD4KVGhlIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGhhdmUgdG8gYmUgUEVNLWVuY29kZWQgYW5kIGFyZSBhY2Nlc3NlZCB0aHJvdWdoCmhhc2ggZmlsZW5hbWVzLiBTbyB1c3VhbGx5IHlvdSBoYXZlIG5vdCBvbmx5IHRvIHBsYWNlIHRoZSBDUkwgZmlsZXMgdGhlcmUuCkFkZGl0aW9uYWxseSB5b3UgaGF2ZSB0byBjcmVhdGUgc3ltYm9saWMgbGlua3MgbmFtZWQKPGVtPmhhc2gtdmFsdWU8L2VtPjxjb2RlPi5yTjwvY29kZT4uIEFuZCB5b3Ugc2hvdWxkIGFsd2F5cyBtYWtlIHN1cmUgdGhpcyBkaXJlY3RvcnkKY29udGFpbnMgdGhlIGFwcHJvcHJpYXRlIHN5bWJvbGljIGxpbmtzLiBVc2UgdGhlIDxjb2RlPk1ha2VmaWxlPC9jb2RlPiB3aGljaApjb21lcyB3aXRoIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2Rfc3NsLmh0bWwiPm1vZF9zc2w8L2E+PC9jb2RlPiB0byBhY2NvbXBsaXNoIHRoaXMgdGFzay48L3A+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KU1NMUHJveHlDQVJldm9jYXRpb25QYXRoIC91c3IvbG9jYWwvYXBhY2hlMi9jb25mL3NzbC5jcmwvCjwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iU1NMUHJveHlDaXBoZXJTdWl0ZSIgaWQ9IlNTTFByb3h5Q2lwaGVyU3VpdGUiPlNTTFByb3h5Q2lwaGVyU3VpdGU8L2E+IDxhIG5hbWU9InNzbHByb3h5Y2lwaGVyc3VpdGUiIGlkPSJzc2xwcm94eWNpcGhlcnN1aXRlIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5DaXBoZXIgU3VpdGUgYXZhaWxhYmxlIGZvciBuZWdvdGlhdGlvbiBpbiBTU0wgCnByb3h5IGhhbmRzaGFrZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5TU0xQcm94eUNpcGhlclN1aXRlIDxlbT5jaXBoZXItc3BlYzwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFByb3h5Q2lwaGVyU3VpdGUgQUxMOiFBREg6UkM0K1JTQTorSElHSDorTUVESVVNOitMT1c6K1NTTHYyOitFWFA8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0LCBkaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+QXV0aENvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPC90YWJsZT4KPHA+RXF1aXZhbGVudCB0byA8Y29kZT5TU0xDaXBoZXJTdWl0ZTwvY29kZT4sIGJ1dCBmb3IgdGhlIHByb3h5IGNvbm5lY3Rpb24uClBsZWFzZSByZWZlciB0byA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjc3NsY2lwaGVyc3VpdGUiPlNTTENpcGhlclN1aXRlPC9hPjwvY29kZT4KZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uPC9wPgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTFByb3h5RW5naW5lIiBpZD0iU1NMUHJveHlFbmdpbmUiPlNTTFByb3h5RW5naW5lPC9hPiA8YSBuYW1lPSJzc2xwcm94eWVuZ2luZSIgaWQ9InNzbHByb3h5ZW5naW5lIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5TU0wgUHJveHkgRW5naW5lIE9wZXJhdGlvbiBTd2l0Y2g8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMUHJveHlFbmdpbmUgb258b2ZmPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFByb3h5RW5naW5lIG9mZjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9zc2w8L3RkPjwvdHI+CjwvdGFibGU+CjxwPgpUaGlzIGRpcmVjdGl2ZSB0b2dnbGVzIHRoZSB1c2FnZSBvZiB0aGUgU1NML1RMUyBQcm90b2NvbCBFbmdpbmUgZm9yIHByb3h5LiBUaGlzCmlzIHVzdWFsbHkgdXNlZCBpbnNpZGUgYSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI3ZpcnR1YWxob3N0Ij4mbHQ7VmlydHVhbEhvc3QmZ3Q7PC9hPjwvY29kZT4gc2VjdGlvbiB0byBlbmFibGUgU1NML1RMUyBmb3IgcHJveHkKdXNhZ2UgaW4gYSBwYXJ0aWN1bGFyIHZpcnR1YWwgaG9zdC4gQnkgZGVmYXVsdCB0aGUgU1NML1RMUyBQcm90b2NvbCBFbmdpbmUgaXMKZGlzYWJsZWQgZm9yIHByb3h5IGltYWdlIGJvdGggZm9yIHRoZSBtYWluIHNlcnZlciBhbmQgYWxsIGNvbmZpZ3VyZWQgdmlydHVhbCBob3N0cy48L3A+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KJmx0O1ZpcnR1YWxIb3N0IF9kZWZhdWx0Xzo0NDMmZ3Q7PGJyIC8+ClNTTFByb3h5RW5naW5lIG9uPGJyIC8+Ci4uLjxiciAvPgombHQ7L1ZpcnR1YWxIb3N0Jmd0Owo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTFByb3h5TWFjaGluZUNlcnRpZmljYXRlRmlsZSIgaWQ9IlNTTFByb3h5TWFjaGluZUNlcnRpZmljYXRlRmlsZSI+U1NMUHJveHlNYWNoaW5lQ2VydGlmaWNhdGVGaWxlPC9hPiA8YSBuYW1lPSJzc2xwcm94eW1hY2hpbmVjZXJ0aWZpY2F0ZWZpbGUiIGlkPSJzc2xwcm94eW1hY2hpbmVjZXJ0aWZpY2F0ZWZpbGUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkZpbGUgb2YgY29uY2F0ZW5hdGVkIFBFTS1lbmNvZGVkIGNsaWVudCBjZXJ0aWZpY2F0ZXMgYW5kIGtleXMgdG8gYmUgdXNlZCBieSB0aGUgcHJveHk8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMUHJveHlNYWNoaW5lQ2VydGlmaWNhdGVGaWxlIDxlbT5maWxlbmFtZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWc8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNPdmVycmlkZSI+T3ZlcnJpZGU6PC9hPjwvdGg+PHRkPk5vdCBhcHBsaWNhYmxlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBkaXJlY3RpdmUgc2V0cyB0aGUgYWxsLWluLW9uZSBmaWxlIHdoZXJlIHlvdSBrZWVwIHRoZSBjZXJ0aWZpY2F0ZXMgYW5kCmtleXMgdXNlZCBmb3IgYXV0aGVudGljYXRpb24gb2YgdGhlIHByb3h5IHNlcnZlciB0byByZW1vdGUgc2VydmVycy4KPC9wPgo8cD4KVGhpcyByZWZlcmVuY2VkIGZpbGUgaXMgc2ltcGx5IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRoZSB2YXJpb3VzIFBFTS1lbmNvZGVkCmNlcnRpZmljYXRlIGZpbGVzLCBpbiBvcmRlciBvZiBwcmVmZXJlbmNlLiBVc2UgdGhpcyBkaXJlY3RpdmUgYWx0ZXJuYXRpdmVseQpvciBhZGRpdGlvbmFsbHkgdG8gPGNvZGU+U1NMUHJveHlNYWNoaW5lQ2VydGlmaWNhdGVQYXRoPC9jb2RlPi4KPC9wPgo8ZGl2IGNsYXNzPSJ3YXJuaW5nIj4KPHA+Q3VycmVudGx5IHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9yIGVuY3J5cHRlZCBwcml2YXRlIGtleXM8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTFByb3h5TWFjaGluZUNlcnRpZmljYXRlRmlsZSAvdXNyL2xvY2FsL2FwYWNoZTIvY29uZi9zc2wuY3J0L3Byb3h5LnBlbQo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTFByb3h5TWFjaGluZUNlcnRpZmljYXRlUGF0aCIgaWQ9IlNTTFByb3h5TWFjaGluZUNlcnRpZmljYXRlUGF0aCI+U1NMUHJveHlNYWNoaW5lQ2VydGlmaWNhdGVQYXRoPC9hPiA8YSBuYW1lPSJzc2xwcm94eW1hY2hpbmVjZXJ0aWZpY2F0ZXBhdGgiIGlkPSJzc2xwcm94eW1hY2hpbmVjZXJ0aWZpY2F0ZXBhdGgiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkRpcmVjdG9yeSBvZiBQRU0tZW5jb2RlZCBjbGllbnQgY2VydGlmaWNhdGVzIGFuZCBrZXlzIHRvIGJlIHVzZWQgYnkgdGhlIHByb3h5PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFByb3h5TWFjaGluZUNlcnRpZmljYXRlUGF0aCA8ZW0+ZGlyZWN0b3J5PC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+Tm90IGFwcGxpY2FibGU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9zc2w8L3RkPjwvdHI+CjwvdGFibGU+CjxwPgpUaGlzIGRpcmVjdGl2ZSBzZXRzIHRoZSBkaXJlY3Rvcnkgd2hlcmUgeW91IGtlZXAgdGhlIGNlcnRpZmljYXRlcyBhbmQKa2V5cyB1c2VkIGZvciBhdXRoZW50aWNhdGlvbiBvZiB0aGUgcHJveHkgc2VydmVyIHRvIHJlbW90ZSBzZXJ2ZXJzLgo8L3A+CjxwPlRoZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBtdXN0IGJlIFBFTS1lbmNvZGVkIGFuZCBhcmUgYWNjZXNzZWQgdGhyb3VnaApoYXNoIGZpbGVuYW1lcy4gQWRkaXRpb25hbGx5LCB5b3UgbXVzdCBjcmVhdGUgc3ltYm9saWMgbGlua3MgbmFtZWQKPGNvZGU+PGVtPmhhc2gtdmFsdWU8L2VtPi5OPC9jb2RlPi4gQW5kIHlvdSBzaG91bGQgYWx3YXlzIG1ha2Ugc3VyZSB0aGlzCmRpcmVjdG9yeSBjb250YWlucyB0aGUgYXBwcm9wcmlhdGUgc3ltYm9saWMgbGlua3MuIFVzZSB0aGUgTWFrZWZpbGUgd2hpY2gKY29tZXMgd2l0aCBtb2Rfc3NsIHRvIGFjY29tcGxpc2ggdGhpcyB0YXNrLgo8L3A+CjxkaXYgY2xhc3M9Indhcm5pbmciPgo8cD5DdXJyZW50bHkgdGhlcmUgaXMgbm8gc3VwcG9ydCBmb3IgZW5jcnlwdGVkIHByaXZhdGUga2V5czwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KU1NMUHJveHlNYWNoaW5lQ2VydGlmaWNhdGVQYXRoIC91c3IvbG9jYWwvYXBhY2hlMi9jb25mL3Byb3h5LmNydC8KPC9jb2RlPjwvcD48L2Rpdj4gCgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iU1NMUHJveHlQcm90b2NvbCIgaWQ9IlNTTFByb3h5UHJvdG9jb2wiPlNTTFByb3h5UHJvdG9jb2w8L2E+IDxhIG5hbWU9InNzbHByb3h5cHJvdG9jb2wiIGlkPSJzc2xwcm94eXByb3RvY29sIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5Db25maWd1cmUgdXNhYmxlIFNTTCBwcm90b2NvbCBmbGF2b3JzIGZvciBwcm94eSB1c2FnZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5TU0xQcm94eVByb3RvY29sIFsrfC1dPGVtPnByb3RvY29sPC9lbT4gLi4uPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFByb3h5UHJvdG9jb2wgYWxsPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+T3B0aW9uczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPC90YWJsZT4KCjxwPgpUaGlzIGRpcmVjdGl2ZSBjYW4gYmUgdXNlZCB0byBjb250cm9sIHRoZSBTU0wgcHJvdG9jb2wgZmxhdm9ycyBtb2Rfc3NsIHNob3VsZAp1c2Ugd2hlbiBlc3RhYmxpc2hpbmcgaXRzIHNlcnZlciBlbnZpcm9ubWVudCBmb3IgcHJveHkgLiBJdCB3aWxsIG9ubHkgY29ubmVjdAp0byBzZXJ2ZXJzIHVzaW5nIG9uZSBvZiB0aGUgcHJvdmlkZWQgcHJvdG9jb2xzLjwvcD4KPHA+UGxlYXNlIHJlZmVyIHRvIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNzc2xwcm90b2NvbCI+U1NMUHJvdG9jb2w8L2E+PC9jb2RlPgpmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4KPC9wPgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTFByb3h5VmVyaWZ5IiBpZD0iU1NMUHJveHlWZXJpZnkiPlNTTFByb3h5VmVyaWZ5PC9hPiA8YSBuYW1lPSJzc2xwcm94eXZlcmlmeSIgaWQ9InNzbHByb3h5dmVyaWZ5Ij5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5UeXBlIG9mIHJlbW90ZSBzZXJ2ZXIgQ2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFByb3h5VmVyaWZ5IDxlbT5sZXZlbDwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFByb3h5VmVyaWZ5IG5vbmU8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0LCBkaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+QXV0aENvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPC90YWJsZT4KCjxwPldoZW4gYSBwcm94eSBpcyBjb25maWd1cmVkIHRvIGZvcndhcmQgcmVxdWVzdHMgdG8gYSByZW1vdGUgU1NMCnNlcnZlciwgdGhpcyBkaXJlY3RpdmUgY2FuIGJlIHVzZWQgdG8gY29uZmlndXJlIGNlcnRpZmljYXRlCnZlcmlmaWNhdGlvbiBvZiB0aGUgcmVtb3RlIHNlcnZlci4gIE5vdGljZSB0aGF0IHRoaXMgZGlyZWN0aXZlIGNhbiBiZQp1c2VkIGJvdGggaW4gcGVyLXNlcnZlciBhbmQgcGVyLWRpcmVjdG9yeSBjb250ZXh0LiBJbiBwZXItc2VydmVyCmNvbnRleHQgaXQgYXBwbGllcyB0byB0aGUgcmVtb3RlIHNlcnZlciBhdXRoZW50aWNhdGlvbiBwcm9jZXNzIHVzZWQgaW4KdGhlIHN0YW5kYXJkIFNTTCBoYW5kc2hha2Ugd2hlbiBhIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQgYnkgdGhlCnByb3h5LiBJbiBwZXItZGlyZWN0b3J5IGNvbnRleHQgaXQgZm9yY2VzIGEgU1NMIHJlbmVnb3RhdGlvbiB3aXRoIHRoZQpyZWNvbmZpZ3VyZWQgcmVtb3RlIHNlcnZlciB2ZXJpZmljYXRpb24gbGV2ZWwgYWZ0ZXIgdGhlIEhUVFAgcmVxdWVzdAp3YXMgcmVhZCBidXQgYmVmb3JlIHRoZSBIVFRQIHJlc3BvbnNlIGlzIHNlbnQuPC9wPgoKPGRpdiBjbGFzcz0id2FybmluZyI+CjxwPk5vdGUgdGhhdCBldmVuIHdoZW4gY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGlzIGVuYWJsZWQsCjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2Rfc3NsLmh0bWwiPm1vZF9zc2w8L2E+PC9jb2RlPiBkb2VzIDxzdHJvbmc+bm90PC9zdHJvbmc+IGNoZWNrIHdoZXRoZXIgdGhlCjxjb2RlPmNvbW1vbk5hbWU8L2NvZGU+IChob3N0bmFtZSkgYXR0cmlidXRlIG9mIHRoZSBzZXJ2ZXIgY2VydGlmaWNhdGUKbWF0Y2hlcyB0aGUgaG9zdG5hbWUgdXNlZCB0byBjb25uZWN0IHRvIHRoZSBzZXJ2ZXIuICBJbiBvdGhlciB3b3JkcywKdGhlIHByb3h5IGRvZXMgbm90IGd1YXJhbnRlZSB0aGF0IHRoZSBTU0wgY29ubmVjdGlvbiB0byB0aGUgYmFja2VuZApzZXJ2ZXIgaXMgInNlY3VyZSIgYmV5b25kIHRoZSBmYWN0IHRoYXQgdGhlIGNlcnRpZmljYXRlIGlzIHNpZ25lZCBieQpvbmUgb2YgdGhlIENBcyBjb25maWd1cmVkIHVzaW5nIHRoZQo8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5TU0xQcm94eUNBQ2VydGlmaWNhdGVQYXRoPC9jb2RlPiBhbmQvb3IKPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+U1NMUHJveHlDQUNlcnRpZmljYXRlRmlsZTwvY29kZT4gZGlyZWN0aXZlcy48L3A+CjwvZGl2PgoKPHA+ClRoZSBmb2xsb3dpbmcgbGV2ZWxzIGFyZSBhdmFpbGFibGUgZm9yIDxlbT5sZXZlbDwvZW0+OjwvcD4KPHVsPgo8bGk+PHN0cm9uZz5ub25lPC9zdHJvbmc+OgogICAgIG5vIHJlbW90ZSBzZXJ2ZXIgQ2VydGlmaWNhdGUgaXMgcmVxdWlyZWQgYXQgYWxsPC9saT4KPGxpPjxzdHJvbmc+b3B0aW9uYWw8L3N0cm9uZz46CiAgICAgdGhlIHJlbW90ZSBzZXJ2ZXIgPGVtPm1heTwvZW0+IHByZXNlbnQgYSB2YWxpZCBDZXJ0aWZpY2F0ZTwvbGk+CjxsaT48c3Ryb25nPnJlcXVpcmU8L3N0cm9uZz46CiAgICAgdGhlIHJlbW90ZSBzZXJ2ZXIgPGVtPmhhcyB0bzwvZW0+IHByZXNlbnQgYSB2YWxpZCBDZXJ0aWZpY2F0ZTwvbGk+CjxsaT48c3Ryb25nPm9wdGlvbmFsX25vX2NhPC9zdHJvbmc+OgogICAgIHRoZSByZW1vdGUgc2VydmVyIG1heSBwcmVzZW50IGEgdmFsaWQgQ2VydGlmaWNhdGU8YnIgLz4KICAgICBidXQgaXQgbmVlZCBub3QgdG8gYmUgKHN1Y2Nlc3NmdWxseSkgdmVyaWZpYWJsZS48L2xpPgo8L3VsPgo8cD5JbiBwcmFjdGljZSBvbmx5IGxldmVscyA8c3Ryb25nPm5vbmU8L3N0cm9uZz4gYW5kCjxzdHJvbmc+cmVxdWlyZTwvc3Ryb25nPiBhcmUgcmVhbGx5IGludGVyZXN0aW5nLCBiZWNhdXNlIGxldmVsCjxzdHJvbmc+b3B0aW9uYWw8L3N0cm9uZz4gZG9lc24ndCB3b3JrIHdpdGggYWxsIHNlcnZlcnMgYW5kIGxldmVsCjxzdHJvbmc+b3B0aW9uYWxfbm9fY2E8L3N0cm9uZz4gaXMgYWN0dWFsbHkgYWdhaW5zdCB0aGUgaWRlYSBvZgphdXRoZW50aWNhdGlvbiAoYnV0IGNhbiBiZSB1c2VkIHRvIGVzdGFibGlzaCBTU0wgdGVzdCBwYWdlcywgZXRjLik8L3A+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KU1NMUHJveHlWZXJpZnkgcmVxdWlyZQo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTFByb3h5VmVyaWZ5RGVwdGgiIGlkPSJTU0xQcm94eVZlcmlmeURlcHRoIj5TU0xQcm94eVZlcmlmeURlcHRoPC9hPiA8YSBuYW1lPSJzc2xwcm94eXZlcmlmeWRlcHRoIiBpZD0ic3NscHJveHl2ZXJpZnlkZXB0aCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+TWF4aW11bSBkZXB0aCBvZiBDQSBDZXJ0aWZpY2F0ZXMgaW4gUmVtb3RlIFNlcnZlcgpDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMUHJveHlWZXJpZnlEZXB0aCA8ZW0+bnVtYmVyPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMUHJveHlWZXJpZnlEZXB0aCAxPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdCwgZGlyZWN0b3J5LCAuaHRhY2Nlc3M8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNPdmVycmlkZSI+T3ZlcnJpZGU6PC9hPjwvdGg+PHRkPkF1dGhDb25maWc8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9zc2w8L3RkPjwvdHI+CjwvdGFibGU+CjxwPgpUaGlzIGRpcmVjdGl2ZSBzZXRzIGhvdyBkZWVwbHkgbW9kX3NzbCBzaG91bGQgdmVyaWZ5IGJlZm9yZSBkZWNpZGluZyB0aGF0IHRoZQpyZW1vdGUgc2VydmVyIGRvZXMgbm90IGhhdmUgYSB2YWxpZCBjZXJ0aWZpY2F0ZS4gTm90aWNlIHRoYXQgdGhpcyBkaXJlY3RpdmUgY2FuIGJlCnVzZWQgYm90aCBpbiBwZXItc2VydmVyIGFuZCBwZXItZGlyZWN0b3J5IGNvbnRleHQuIEluIHBlci1zZXJ2ZXIgY29udGV4dCBpdAphcHBsaWVzIHRvIHRoZSBjbGllbnQgYXV0aGVudGljYXRpb24gcHJvY2VzcyB1c2VkIGluIHRoZSBzdGFuZGFyZCBTU0wKaGFuZHNoYWtlIHdoZW4gYSBjb25uZWN0aW9uIGlzIGVzdGFibGlzaGVkLiBJbiBwZXItZGlyZWN0b3J5IGNvbnRleHQgaXQgZm9yY2VzCmEgU1NMIHJlbmVnb3RhdGlvbiB3aXRoIHRoZSByZWNvbmZpZ3VyZWQgcmVtb3RlIHNlcnZlciB2ZXJpZmljYXRpb24gZGVwdGggYWZ0ZXIgdGhlCkhUVFAgcmVxdWVzdCB3YXMgcmVhZCBidXQgYmVmb3JlIHRoZSBIVFRQIHJlc3BvbnNlIGlzIHNlbnQuPC9wPgo8cD4KVGhlIGRlcHRoIGFjdHVhbGx5IGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpbnRlcm1lZGlhdGUgY2VydGlmaWNhdGUgaXNzdWVycywKaS5lLiB0aGUgbnVtYmVyIG9mIENBIGNlcnRpZmljYXRlcyB3aGljaCBhcmUgbWF4IGFsbG93ZWQgdG8gYmUgZm9sbG93ZWQgd2hpbGUKdmVyaWZ5aW5nIHRoZSByZW1vdGUgc2VydmVyIGNlcnRpZmljYXRlLiBBIGRlcHRoIG9mIDAgbWVhbnMgdGhhdCBzZWxmLXNpZ25lZApyZW1vdGUgc2VydmVyIGNlcnRpZmljYXRlcyBhcmUgYWNjZXB0ZWQgb25seSwgdGhlIGRlZmF1bHQgZGVwdGggb2YgMSBtZWFucwp0aGUgcmVtb3RlIHNlcnZlciBjZXJ0aWZpY2F0ZSBjYW4gYmUgc2VsZi1zaWduZWQgb3IgaGFzIHRvIGJlIHNpZ25lZCBieSBhIENBCndoaWNoIGlzIGRpcmVjdGx5IGtub3duIHRvIHRoZSBzZXJ2ZXIgKGkuZS4gdGhlIENBJ3MgY2VydGlmaWNhdGUgaXMgdW5kZXIKPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI3NzbHByb3h5Y2FjZXJ0aWZpY2F0ZXBhdGgiPlNTTFByb3h5Q0FDZXJ0aWZpY2F0ZVBhdGg8L2E+PC9jb2RlPiksIGV0Yy48L3A+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KU1NMUHJveHlWZXJpZnlEZXB0aCAxMAo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTFJhbmRvbVNlZWQiIGlkPSJTU0xSYW5kb21TZWVkIj5TU0xSYW5kb21TZWVkPC9hPiA8YSBuYW1lPSJzc2xyYW5kb21zZWVkIiBpZD0ic3NscmFuZG9tc2VlZCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+UHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yIChQUk5HKSBzZWVkaW5nIApzb3VyY2U8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMUmFuZG9tU2VlZCA8ZW0+Y29udGV4dDwvZW0+IDxlbT5zb3VyY2U8L2VtPiAKWzxlbT5ieXRlczwvZW0+XTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBjb25maWd1cmVzIG9uZSBvciBtb3JlIHNvdXJjZXMgZm9yIHNlZWRpbmcgdGhlIFBzZXVkbyBSYW5kb20gTnVtYmVyCkdlbmVyYXRvciAoUFJORykgaW4gT3BlblNTTCBhdCBzdGFydHVwIHRpbWUgKDxlbT5jb250ZXh0PC9lbT4gaXMKPGNvZGU+c3RhcnR1cDwvY29kZT4pIGFuZC9vciBqdXN0IGJlZm9yZSBhIG5ldyBTU0wgY29ubmVjdGlvbiBpcyBlc3RhYmxpc2hlZAooPGVtPmNvbnRleHQ8L2VtPiBpcyA8Y29kZT5jb25uZWN0PC9jb2RlPikuIFRoaXMgZGlyZWN0aXZlIGNhbiBvbmx5IGJlIHVzZWQKaW4gdGhlIGdsb2JhbCBzZXJ2ZXIgY29udGV4dCBiZWNhdXNlIHRoZSBQUk5HIGlzIGEgZ2xvYmFsIGZhY2lsaXR5LjwvcD4KPHA+ClRoZSBmb2xsb3dpbmcgPGVtPnNvdXJjZTwvZW0+IHZhcmlhbnRzIGFyZSBhdmFpbGFibGU6PC9wPgo8dWw+CjxsaT48Y29kZT5idWlsdGluPC9jb2RlPgogICAgPHA+IFRoaXMgaXMgdGhlIGFsd2F5cyBhdmFpbGFibGUgYnVpbHRpbiBzZWVkaW5nIHNvdXJjZS4gSXQncyB1c2FnZQogICAgY29uc3VtZXMgbWluaW11bSBDUFUgY3ljbGVzIHVuZGVyIHJ1bnRpbWUgYW5kIGhlbmNlIGNhbiBiZSBhbHdheXMgdXNlZAogICAgd2l0aG91dCBkcmF3YmFja3MuIFRoZSBzb3VyY2UgdXNlZCBmb3Igc2VlZGluZyB0aGUgUFJORyBjb250YWlucyBvZiB0aGUKICAgIGN1cnJlbnQgdGltZSwgdGhlIGN1cnJlbnQgcHJvY2VzcyBpZCBhbmQgKHdoZW4gYXBwbGljYWJsZSkgYSByYW5kb21seQogICAgY2hvb3NlbiAxS0IgZXh0cmFjdCBvZiB0aGUgaW50ZXItcHJvY2VzcyBzY29yZWJvYXJkIHN0cnVjdHVyZSBvZiBBcGFjaGUuCiAgICBUaGUgZHJhd2JhY2sgaXMgdGhhdCB0aGlzIGlzIG5vdCByZWFsbHkgYSBzdHJvbmcgc291cmNlIGFuZCBhdCBzdGFydHVwCiAgICB0aW1lICh3aGVyZSB0aGUgc2NvcmVib2FyZCBpcyBzdGlsbCBub3QgYXZhaWxhYmxlKSB0aGlzIHNvdXJjZSBqdXN0CiAgICBwcm9kdWNlcyBhIGZldyBieXRlcyBvZiBlbnRyb3B5LiBTbyB5b3Ugc2hvdWxkIGFsd2F5cywgYXQgbGVhc3QgZm9yIHRoZQogICAgc3RhcnR1cCwgdXNlIGFuIGFkZGl0aW9uYWwgc2VlZGluZyBzb3VyY2UuPC9wPjwvbGk+CjxsaT48Y29kZT5maWxlOi9wYXRoL3RvL3NvdXJjZTwvY29kZT4KICAgIDxwPgogICAgVGhpcyB2YXJpYW50IHVzZXMgYW4gZXh0ZXJuYWwgZmlsZSA8Y29kZT4vcGF0aC90by9zb3VyY2U8L2NvZGU+IGFzIHRoZQogICAgc291cmNlIGZvciBzZWVkaW5nIHRoZSBQUk5HLiBXaGVuIDxlbT5ieXRlczwvZW0+IGlzIHNwZWNpZmllZCwgb25seSB0aGUKICAgIGZpcnN0IDxlbT5ieXRlczwvZW0+IG51bWJlciBvZiBieXRlcyBvZiB0aGUgZmlsZSBmb3JtIHRoZSBlbnRyb3B5IChhbmQKICAgIDxlbT5ieXRlczwvZW0+IGlzIGdpdmVuIHRvIDxjb2RlPi9wYXRoL3RvL3NvdXJjZTwvY29kZT4gYXMgdGhlIGZpcnN0CiAgICBhcmd1bWVudCkuIFdoZW4gPGVtPmJ5dGVzPC9lbT4gaXMgbm90IHNwZWNpZmllZCB0aGUgd2hvbGUgZmlsZSBmb3JtcyB0aGUKICAgIGVudHJvcHkgKGFuZCA8Y29kZT4wPC9jb2RlPiBpcyBnaXZlbiB0byA8Y29kZT4vcGF0aC90by9zb3VyY2U8L2NvZGU+IGFzCiAgICB0aGUgZmlyc3QgYXJndW1lbnQpLiBVc2UgdGhpcyBlc3BlY2lhbGx5IGF0IHN0YXJ0dXAgdGltZSwgZm9yIGluc3RhbmNlCiAgICB3aXRoIGFuIGF2YWlsYWJsZSA8Y29kZT4vZGV2L3JhbmRvbTwvY29kZT4gYW5kL29yCiAgICA8Y29kZT4vZGV2L3VyYW5kb208L2NvZGU+IGRldmljZXMgKHdoaWNoIHVzdWFsbHkgZXhpc3Qgb24gbW9kZXJuIFVuaXgKICAgIGRlcml2YXRlcyBsaWtlIEZyZWVCU0QgYW5kIExpbnV4KS48L3A+CiAgICA8cD4KICAgIDxlbT5CdXQgYmUgY2FyZWZ1bDwvZW0+OiBVc3VhbGx5IDxjb2RlPi9kZXYvcmFuZG9tPC9jb2RlPiBwcm92aWRlcyBvbmx5IGFzCiAgICBtdWNoIGVudHJvcHkgZGF0YSBhcyBpdCBhY3R1YWxseSBoYXMsIGkuZS4gd2hlbiB5b3UgcmVxdWVzdCA1MTIgYnl0ZXMgb2YKICAgIGVudHJvcHksIGJ1dCB0aGUgZGV2aWNlIGN1cnJlbnRseSBoYXMgb25seSAxMDAgYnl0ZXMgYXZhaWxhYmxlIHR3byB0aGluZ3MKICAgIGNhbiBoYXBwZW46IE9uIHNvbWUgcGxhdGZvcm1zIHlvdSByZWNlaXZlIG9ubHkgdGhlIDEwMCBieXRlcyB3aGlsZSBvbgogICAgb3RoZXIgcGxhdGZvcm1zIHRoZSByZWFkIGJsb2NrcyB1bnRpbCBlbm91Z2ggYnl0ZXMgYXJlIGF2YWlsYWJsZSAod2hpY2gKICAgIGNhbiB0YWtlIGEgbG9uZyB0aW1lKS4gSGVyZSB1c2luZyBhbiBleGlzdGluZyA8Y29kZT4vZGV2L3VyYW5kb208L2NvZGU+IGlzCiAgICBiZXR0ZXIsIGJlY2F1c2UgaXQgbmV2ZXIgYmxvY2tzIGFuZCBhY3R1YWxseSBnaXZlcyB0aGUgYW1vdW50IG9mIHJlcXVlc3RlZAogICAgZGF0YS4gVGhlIGRyYXdiYWNrIGlzIGp1c3QgdGhhdCB0aGUgcXVhbGl0eSBvZiB0aGUgcmVjZWl2ZWQgZGF0YSBtYXkgbm90CiAgICBiZSB0aGUgYmVzdC48L3A+CiAgICA8cD4KICAgIE9uIHNvbWUgcGxhdGZvcm1zIGxpa2UgRnJlZUJTRCBvbmUgY2FuIGV2ZW4gY29udHJvbCBob3cgdGhlIGVudHJvcHkgaXMKICAgIGFjdHVhbGx5IGdlbmVyYXRlZCwgaS5lLiBieSB3aGljaCBzeXN0ZW0gaW50ZXJydXB0cy4gTW9yZSBkZXRhaWxzIG9uZSBjYW4KICAgIGZpbmQgdW5kZXIgPGVtPnJuZGNvbnRyb2woOCk8L2VtPiBvbiB0aG9zZSBwbGF0Zm9ybXMuIEFsdGVybmF0aXZlbHksIHdoZW4KICAgIHlvdXIgc3lzdGVtIGxhY2tzIHN1Y2ggYSByYW5kb20gZGV2aWNlLCB5b3UgY2FuIHVzZSB0b29sCiAgICBsaWtlIDxhIGhyZWY9Imh0dHA6Ly93d3cubG90aGFyLmNvbS90ZWNoL2NyeXB0by8iPkVHRDwvYT4KICAgIChFbnRyb3B5IEdhdGhlcmluZyBEYWVtb24pIGFuZCBydW4gaXQncyBjbGllbnQgcHJvZ3JhbSB3aXRoIHRoZQogICAgPGNvZGU+ZXhlYzovcGF0aC90by9wcm9ncmFtLzwvY29kZT4gdmFyaWFudCAoc2VlIGJlbG93KSBvciB1c2UKICAgIDxjb2RlPmVnZDovcGF0aC90by9lZ2Qtc29ja2V0PC9jb2RlPiAoc2VlIGJlbG93KS48L3A+PC9saT4KCjxsaT48Y29kZT5leGVjOi9wYXRoL3RvL3Byb2dyYW08L2NvZGU+CiAgICA8cD4KICAgIFRoaXMgdmFyaWFudCB1c2VzIGFuIGV4dGVybmFsIGV4ZWN1dGFibGUKICAgIDxjb2RlPi9wYXRoL3RvL3Byb2dyYW08L2NvZGU+IGFzIHRoZSBzb3VyY2UgZm9yIHNlZWRpbmcgdGhlCiAgICBQUk5HLiBXaGVuIDxlbT5ieXRlczwvZW0+IGlzIHNwZWNpZmllZCwgb25seSB0aGUgZmlyc3QKICAgIDxlbT5ieXRlczwvZW0+IG51bWJlciBvZiBieXRlcyBvZiBpdHMgPGNvZGU+c3Rkb3V0PC9jb2RlPiBjb250ZW50cwogICAgZm9ybSB0aGUgZW50cm9weS4gV2hlbiA8ZW0+Ynl0ZXM8L2VtPiBpcyBub3Qgc3BlY2lmaWVkLCB0aGUKICAgIGVudGlyZXR5IG9mIHRoZSBkYXRhIHByb2R1Y2VkIG9uIDxjb2RlPnN0ZG91dDwvY29kZT4gZm9ybSB0aGUKICAgIGVudHJvcHkuIFVzZSB0aGlzIG9ubHkgYXQgc3RhcnR1cCB0aW1lIHdoZW4geW91IG5lZWQgYSB2ZXJ5IHN0cm9uZwogICAgc2VlZGluZyB3aXRoIHRoZSBoZWxwIG9mIGFuIGV4dGVybmFsIHByb2dyYW0gKGZvciBpbnN0YW5jZSBhcyBpbgogICAgdGhlIGV4YW1wbGUgYWJvdmUgd2l0aCB0aGUgPGNvZGU+dHJ1ZXJhbmQ8L2NvZGU+IHV0aWxpdHkgeW91IGNhbgogICAgZmluZCBpbiB0aGUgbW9kX3NzbCBkaXN0cmlidXRpb24gd2hpY2ggaXMgYmFzZWQgb24gdGhlIEFUJmFtcDtUCiAgICA8ZW0+dHJ1ZXJhbmQ8L2VtPiBsaWJyYXJ5KS4gVXNpbmcgdGhpcyBpbiB0aGUgY29ubmVjdGlvbiBjb250ZXh0CiAgICBzbG93cyBkb3duIHRoZSBzZXJ2ZXIgdG9vIGRyYW1hdGljYWxseSwgb2YgY291cnNlLiAgU28gdXN1YWxseSB5b3UKICAgIHNob3VsZCBhdm9pZCB1c2luZyBleHRlcm5hbCBwcm9ncmFtcyBpbiB0aGF0IGNvbnRleHQuPC9wPjwvbGk+CjxsaT48Y29kZT5lZ2Q6L3BhdGgvdG8vZWdkLXNvY2tldDwvY29kZT4gKFVuaXggb25seSkKICAgIDxwPgogICAgVGhpcyB2YXJpYW50IHVzZXMgdGhlIFVuaXggZG9tYWluIHNvY2tldCBvZiB0aGUKICAgIGV4dGVybmFsIEVudHJvcHkgR2F0aGVyaW5nIERhZW1vbiAoRUdEKSAoc2VlIDxhIGhyZWY9Imh0dHA6Ly93d3cubG90aGFyLmNvbS90ZWNoL2NyeXB0by8iPmh0dHA6Ly93d3cubG90aGFyLmNvbS90ZWNoCiAgICAvY3J5cHRvLzwvYT4pIHRvIHNlZWQgdGhlIFBSTkcuIFVzZSB0aGlzIGlmIG5vIHJhbmRvbSBkZXZpY2UgZXhpc3RzCiAgICBvbiB5b3VyIHBsYXRmb3JtLjwvcD48L2xpPgo8L3VsPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTFJhbmRvbVNlZWQgc3RhcnR1cCBidWlsdGluPGJyIC8+ClNTTFJhbmRvbVNlZWQgc3RhcnR1cCBmaWxlOi9kZXYvcmFuZG9tPGJyIC8+ClNTTFJhbmRvbVNlZWQgc3RhcnR1cCBmaWxlOi9kZXYvdXJhbmRvbSAxMDI0PGJyIC8+ClNTTFJhbmRvbVNlZWQgc3RhcnR1cCBleGVjOi91c3IvbG9jYWwvYmluL3RydWVyYW5kIDE2PGJyIC8+ClNTTFJhbmRvbVNlZWQgY29ubmVjdCBidWlsdGluPGJyIC8+ClNTTFJhbmRvbVNlZWQgY29ubmVjdCBmaWxlOi9kZXYvcmFuZG9tPGJyIC8+ClNTTFJhbmRvbVNlZWQgY29ubmVjdCBmaWxlOi9kZXYvdXJhbmRvbSAxMDI0PGJyIC8+CjwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iU1NMUmVxdWlyZSIgaWQ9IlNTTFJlcXVpcmUiPlNTTFJlcXVpcmU8L2E+IDxhIG5hbWU9InNzbHJlcXVpcmUiIGlkPSJzc2xyZXF1aXJlIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5BbGxvdyBhY2Nlc3Mgb25seSB3aGVuIGFuIGFyYml0cmFyaWx5IGNvbXBsZXggCmJvb2xlYW4gZXhwcmVzc2lvbiBpcyB0cnVlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFJlcXVpcmUgPGVtPmV4cHJlc3Npb248L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5kaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+QXV0aENvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPC90YWJsZT4KPHA+ClRoaXMgZGlyZWN0aXZlIHNwZWNpZmllcyBhIGdlbmVyYWwgYWNjZXNzIHJlcXVpcmVtZW50IHdoaWNoIGhhcyB0byBiZQpmdWxmaWxsZWQgaW4gb3JkZXIgdG8gYWxsb3cgYWNjZXNzLiBJdCBpcyBhIHZlcnkgcG93ZXJmdWwgZGlyZWN0aXZlIGJlY2F1c2UgdGhlCnJlcXVpcmVtZW50IHNwZWNpZmljYXRpb24gaXMgYW4gYXJiaXRyYXJpbHkgY29tcGxleCBib29sZWFuIGV4cHJlc3Npb24KY29udGFpbmluZyBhbnkgbnVtYmVyIG9mIGFjY2VzcyBjaGVja3MuPC9wPgo8ZGl2IGNsYXNzPSJ3YXJuaW5nIj4KPHA+VGhlIGltcGxlbWVudGF0aW9uIG9mIDxjb2RlPlNTTFJlcXVpcmU8L2NvZGU+IGlzIG5vdCB0aHJlYWQgc2FmZS4gIAogICBVc2luZyA8Y29kZT5TU0xSZXF1aXJlPC9jb2RlPiBpbnNpZGUgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBmaWxlcwogICBvbiBhIHRocmVhZGVkIDxhIGhyZWY9Ii4uL21wbS5odG1sIj5NUE08L2E+IG1heSBjYXVzZSByYW5kb20gY3Jhc2hlcy4KPC9wPgo8L2Rpdj4KPHA+ClRoZSA8ZW0+ZXhwcmVzc2lvbjwvZW0+IG11c3QgbWF0Y2ggdGhlIGZvbGxvd2luZyBzeW50YXggKGdpdmVuIGFzIGEgQk5GCmdyYW1tYXIgbm90YXRpb24pOjwvcD4KPGJsb2NrcXVvdGU+CjxwcmU+CmV4cHIgICAgIDo6PSAiPHN0cm9uZz50cnVlPC9zdHJvbmc+IiB8ICI8c3Ryb25nPmZhbHNlPC9zdHJvbmc+IgogICAgICAgICAgIHwgIjxzdHJvbmc+ITwvc3Ryb25nPiIgZXhwcgogICAgICAgICAgIHwgZXhwciAiPHN0cm9uZz4mYW1wOyZhbXA7PC9zdHJvbmc+IiBleHByCiAgICAgICAgICAgfCBleHByICI8c3Ryb25nPnx8PC9zdHJvbmc+IiBleHByCiAgICAgICAgICAgfCAiPHN0cm9uZz4oPC9zdHJvbmc+IiBleHByICI8c3Ryb25nPik8L3N0cm9uZz4iCiAgICAgICAgICAgfCBjb21wCgpjb21wICAgICA6Oj0gd29yZCAiPHN0cm9uZz49PTwvc3Ryb25nPiIgd29yZCB8IHdvcmQgIjxzdHJvbmc+ZXE8L3N0cm9uZz4iIHdvcmQKICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+IT08L3N0cm9uZz4iIHdvcmQgfCB3b3JkICI8c3Ryb25nPm5lPC9zdHJvbmc+IiB3b3JkCiAgICAgICAgICAgfCB3b3JkICI8c3Ryb25nPiZsdDs8L3N0cm9uZz4iICB3b3JkIHwgd29yZCAiPHN0cm9uZz5sdDwvc3Ryb25nPiIgd29yZAogICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz4mbHQ7PTwvc3Ryb25nPiIgd29yZCB8IHdvcmQgIjxzdHJvbmc+bGU8L3N0cm9uZz4iIHdvcmQKICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+Jmd0Ozwvc3Ryb25nPiIgIHdvcmQgfCB3b3JkICI8c3Ryb25nPmd0PC9zdHJvbmc+IiB3b3JkCiAgICAgICAgICAgfCB3b3JkICI8c3Ryb25nPiZndDs9PC9zdHJvbmc+IiB3b3JkIHwgd29yZCAiPHN0cm9uZz5nZTwvc3Ryb25nPiIgd29yZAogICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz5pbjwvc3Ryb25nPiIgIjxzdHJvbmc+ezwvc3Ryb25nPiIgd29yZGxpc3QgIjxzdHJvbmc+fTwvc3Ryb25nPiIKICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+aW48L3N0cm9uZz4iICI8c3Ryb25nPlBlZXJFeHRMaXN0KDwvc3Ryb25nPiIgd29yZCAiPHN0cm9uZz4pPC9zdHJvbmc+IgogICAgICAgICAgIHwgd29yZCAiPHN0cm9uZz49fjwvc3Ryb25nPiIgcmVnZXgKICAgICAgICAgICB8IHdvcmQgIjxzdHJvbmc+IX48L3N0cm9uZz4iIHJlZ2V4Cgp3b3JkbGlzdCA6Oj0gd29yZAogICAgICAgICAgIHwgd29yZGxpc3QgIjxzdHJvbmc+LDwvc3Ryb25nPiIgd29yZAoKd29yZCAgICAgOjo9IGRpZ2l0CiAgICAgICAgICAgfCBjc3RyaW5nCiAgICAgICAgICAgfCB2YXJpYWJsZQogICAgICAgICAgIHwgZnVuY3Rpb24KCmRpZ2l0ICAgIDo6PSBbMC05XSsKY3N0cmluZyAgOjo9ICIuLi4iCnZhcmlhYmxlIDo6PSAiPHN0cm9uZz4lezwvc3Ryb25nPiIgdmFybmFtZSAiPHN0cm9uZz59PC9zdHJvbmc+IgpmdW5jdGlvbiA6Oj0gZnVuY25hbWUgIjxzdHJvbmc+KDwvc3Ryb25nPiIgZnVuY2FyZ3MgIjxzdHJvbmc+KTwvc3Ryb25nPiIKPC9wcmU+CjwvYmxvY2txdW90ZT4KPHA+d2hpbGUgZm9yIDxjb2RlPnZhcm5hbWU8L2NvZGU+IGFueSB2YXJpYWJsZSBmcm9tIDxhIGhyZWY9IiN0YWJsZTMiPlRhYmxlIDM8L2E+IGNhbiBiZSB1c2VkLiBGaW5hbGx5IGZvcgo8Y29kZT5mdW5jbmFtZTwvY29kZT4gdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIGF2YWlsYWJsZTo8L3A+Cjx1bD4KPGxpPjxjb2RlPmZpbGUoPC9jb2RlPjxlbT5maWxlbmFtZTwvZW0+PGNvZGU+KTwvY29kZT4KICAgIDxwPgogICAgVGhpcyBmdW5jdGlvbiB0YWtlcyBvbmUgc3RyaW5nIGFyZ3VtZW50IGFuZCBleHBhbmRzIHRvIHRoZSBjb250ZW50cyBvZiB0aGUKICAgIGZpbGUuIFRoaXMgaXMgZXNwZWNpYWxseSB1c2VmdWwgZm9yIG1hdGNoaW5nIHRoaXMgY29udGVudHMgYWdhaW5zdCBhCiAgICByZWd1bGFyIGV4cHJlc3Npb24sIGV0Yy48L3A+CjwvbGk+CjwvdWw+CjxwPk5vdGljZSB0aGF0IDxlbT5leHByZXNzaW9uPC9lbT4gaXMgZmlyc3QgcGFyc2VkIGludG8gYW4gaW50ZXJuYWwgbWFjaGluZQpyZXByZXNlbnRhdGlvbiBhbmQgdGhlbiBldmFsdWF0ZWQgaW4gYSBzZWNvbmQgc3RlcC4gQWN0dWFsbHksIGluIEdsb2JhbCBhbmQKUGVyLVNlcnZlciBDbGFzcyBjb250ZXh0IDxlbT5leHByZXNzaW9uPC9lbT4gaXMgcGFyc2VkIGF0IHN0YXJ0dXAgdGltZSBhbmQKYXQgcnVudGltZSBvbmx5IHRoZSBtYWNoaW5lIHJlcHJlc2VudGF0aW9uIGlzIGV4ZWN1dGVkLiBGb3IgUGVyLURpcmVjdG9yeQpjb250ZXh0IHRoaXMgaXMgZGlmZmVyZW50OiBoZXJlIDxlbT5leHByZXNzaW9uPC9lbT4gaGFzIHRvIGJlIHBhcnNlZCBhbmQKaW1tZWRpYXRlbHkgZXhlY3V0ZWQgZm9yIGV2ZXJ5IHJlcXVlc3QuPC9wPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTFJlcXVpcmUgKCAgICAle1NTTF9DSVBIRVJ9ICF+IG0vXihFWFB8TlVMTCktLyBcPGJyIC8+CiAgICAgICAgICAgIGFuZCAle1NTTF9DTElFTlRfU19ETl9PfSBlcSAiU25ha2UgT2lsLCBMdGQuIiBcPGJyIC8+CiAgICAgICAgICAgIGFuZCAle1NTTF9DTElFTlRfU19ETl9PVX0gaW4geyJTdGFmZiIsICJDQSIsICJEZXYifSBcPGJyIC8+CiAgICAgICAgICAgIGFuZCAle1RJTUVfV0RBWX0gJmd0Oz0gMSBhbmQgJXtUSU1FX1dEQVl9ICZsdDs9IDUgXDxiciAvPgogICAgICAgICAgICBhbmQgJXtUSU1FX0hPVVJ9ICZndDs9IDggYW5kICV7VElNRV9IT1VSfSAmbHQ7PSAyMCAgICAgICApIFw8YnIgLz4KICAgICAgICAgICBvciAle1JFTU9URV9BRERSfSA9fiBtL14xOTJcLjc2XC4xNjJcLlswLTldKyQvCjwvY29kZT48L3A+PC9kaXY+CjxwPlRoZSA8Y29kZT5QZWVyRXh0TGlzdCg8ZW0+b2JqZWN0IGlkPC9lbT4pPC9jb2RlPiBmdW5jdGlvbiBleHBlY3RzIHRvIGZpbmQKemVybyBvciBtb3JlIGluc3RhbmNlcyBvZiB0aGUgWC41MDkgQ2VydGlmaWNhdGUgRXh0ZW5zaW9uIChhcyBpZGVudGlmaWVkIGJ5CnRoZSBnaXZlbiA8ZW0+b2JqZWN0IGlkPC9lbT4pIGluIHRoZSBjbGllbnQgY2VydGlmaWNhdGUsIGFuZCBjb21wYXJlcyB0aGUKbGVmdC1oYW5kIHNpZGUgc3RyaW5nIGFnYWluc3QgdGhlIHZhbHVlIG9mIGFueSBtYXRjaGluZyBhdHRyaWJ1dGUgdmFsdWUuIEV2ZXJ5CmV4dGVuc2lvbiB3aXRoIHRoZSBzcGVjaWZpZWQgb2JqZWN0IGlkIGlzIGNoZWNrZWQsIHVudGlsIGEgbWF0Y2ggaXMgZm91bmQuCjwvcD4KCjxwPjxlbT5TdGFuZGFyZCBDR0kvMS4wIGFuZCBBcGFjaGUgdmFyaWFibGVzOjwvZW0+PC9wPgo8cHJlPgpIVFRQX1VTRVJfQUdFTlQgICAgICAgIFBBVEhfSU5GTyAgICAgICAgICAgICBBVVRIX1RZUEUKSFRUUF9SRUZFUkVSICAgICAgICAgICBRVUVSWV9TVFJJTkcgICAgICAgICAgU0VSVkVSX1NPRlRXQVJFCkhUVFBfQ09PS0lFICAgICAgICAgICAgUkVNT1RFX0hPU1QgICAgICAgICAgIEFQSV9WRVJTSU9OCkhUVFBfRk9SV0FSREVEICAgICAgICAgUkVNT1RFX0lERU5UICAgICAgICAgIFRJTUVfWUVBUgpIVFRQX0hPU1QgICAgICAgICAgICAgIElTX1NVQlJFUSAgICAgICAgICAgICBUSU1FX01PTgpIVFRQX1BST1hZX0NPTk5FQ1RJT04gIERPQ1VNRU5UX1JPT1QgICAgICAgICBUSU1FX0RBWQpIVFRQX0FDQ0VQVCAgICAgICAgICAgIFNFUlZFUl9BRE1JTiAgICAgICAgICBUSU1FX0hPVVIKSFRUUDpoZWFkZXJuYW1lICAgICAgICBTRVJWRVJfTkFNRSAgICAgICAgICAgVElNRV9NSU4KVEhFX1JFUVVFU1QgICAgICAgICAgICBTRVJWRVJfUE9SVCAgICAgICAgICAgVElNRV9TRUMKUkVRVUVTVF9NRVRIT0QgICAgICAgICBTRVJWRVJfUFJPVE9DT0wgICAgICAgVElNRV9XREFZClJFUVVFU1RfU0NIRU1FICAgICAgICAgUkVNT1RFX0FERFIgICAgICAgICAgIFRJTUUKUkVRVUVTVF9VUkkgICAgICAgICAgICBSRU1PVEVfVVNFUiAgICAgICAgICAgRU5WOjxzdHJvbmc+dmFyaWFibGVuYW1lPC9zdHJvbmc+ClJFUVVFU1RfRklMRU5BTUUKPC9wcmU+CjxwPjxlbT5TU0wtcmVsYXRlZCB2YXJpYWJsZXM6PC9lbT48L3A+CjxwcmU+CkhUVFBTICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9NX1ZFUlNJT04gICBTU0xfU0VSVkVSX01fVkVSU0lPTgogICAgICAgICAgICAgICAgICAgICAgIFNTTF9DTElFTlRfTV9TRVJJQUwgICAgU1NMX1NFUlZFUl9NX1NFUklBTApTU0xfUFJPVE9DT0wgICAgICAgICAgIFNTTF9DTElFTlRfVl9TVEFSVCAgICAgU1NMX1NFUlZFUl9WX1NUQVJUClNTTF9TRVNTSU9OX0lEICAgICAgICAgU1NMX0NMSUVOVF9WX0VORCAgICAgICBTU0xfU0VSVkVSX1ZfRU5EClNTTF9DSVBIRVIgICAgICAgICAgICAgU1NMX0NMSUVOVF9TX0ROICAgICAgICBTU0xfU0VSVkVSX1NfRE4KU1NMX0NJUEhFUl9FWFBPUlQgICAgICBTU0xfQ0xJRU5UX1NfRE5fQyAgICAgIFNTTF9TRVJWRVJfU19ETl9DClNTTF9DSVBIRVJfQUxHS0VZU0laRSAgU1NMX0NMSUVOVF9TX0ROX1NUICAgICBTU0xfU0VSVkVSX1NfRE5fU1QKU1NMX0NJUEhFUl9VU0VLRVlTSVpFICBTU0xfQ0xJRU5UX1NfRE5fTCAgICAgIFNTTF9TRVJWRVJfU19ETl9MClNTTF9WRVJTSU9OX0xJQlJBUlkgICAgU1NMX0NMSUVOVF9TX0ROX08gICAgICBTU0xfU0VSVkVSX1NfRE5fTwpTU0xfVkVSU0lPTl9JTlRFUkZBQ0UgIFNTTF9DTElFTlRfU19ETl9PVSAgICAgU1NMX1NFUlZFUl9TX0ROX09VCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9TX0ROX0NOICAgICBTU0xfU0VSVkVSX1NfRE5fQ04KICAgICAgICAgICAgICAgICAgICAgICBTU0xfQ0xJRU5UX1NfRE5fVCAgICAgIFNTTF9TRVJWRVJfU19ETl9UCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9TX0ROX0kgICAgICBTU0xfU0VSVkVSX1NfRE5fSQogICAgICAgICAgICAgICAgICAgICAgIFNTTF9DTElFTlRfU19ETl9HICAgICAgU1NMX1NFUlZFUl9TX0ROX0cKICAgICAgICAgICAgICAgICAgICAgICBTU0xfQ0xJRU5UX1NfRE5fUyAgICAgIFNTTF9TRVJWRVJfU19ETl9TCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9TX0ROX0QgICAgICBTU0xfU0VSVkVSX1NfRE5fRAogICAgICAgICAgICAgICAgICAgICAgIFNTTF9DTElFTlRfU19ETl9VSUQgICAgU1NMX1NFUlZFUl9TX0ROX1VJRAogICAgICAgICAgICAgICAgICAgICAgIFNTTF9DTElFTlRfU19ETl9FbWFpbCAgU1NMX1NFUlZFUl9TX0ROX0VtYWlsCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9JX0ROICAgICAgICBTU0xfU0VSVkVSX0lfRE4KICAgICAgICAgICAgICAgICAgICAgICBTU0xfQ0xJRU5UX0lfRE5fQyAgICAgIFNTTF9TRVJWRVJfSV9ETl9DCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9JX0ROX1NUICAgICBTU0xfU0VSVkVSX0lfRE5fU1QKICAgICAgICAgICAgICAgICAgICAgICBTU0xfQ0xJRU5UX0lfRE5fTCAgICAgIFNTTF9TRVJWRVJfSV9ETl9MCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9JX0ROX08gICAgICBTU0xfU0VSVkVSX0lfRE5fTwogICAgICAgICAgICAgICAgICAgICAgIFNTTF9DTElFTlRfSV9ETl9PVSAgICAgU1NMX1NFUlZFUl9JX0ROX09VCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9JX0ROX0NOICAgICBTU0xfU0VSVkVSX0lfRE5fQ04KICAgICAgICAgICAgICAgICAgICAgICBTU0xfQ0xJRU5UX0lfRE5fVCAgICAgIFNTTF9TRVJWRVJfSV9ETl9UCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9JX0ROX0kgICAgICBTU0xfU0VSVkVSX0lfRE5fSQogICAgICAgICAgICAgICAgICAgICAgIFNTTF9DTElFTlRfSV9ETl9HICAgICAgU1NMX1NFUlZFUl9JX0ROX0cKICAgICAgICAgICAgICAgICAgICAgICBTU0xfQ0xJRU5UX0lfRE5fUyAgICAgIFNTTF9TRVJWRVJfSV9ETl9TCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9JX0ROX0QgICAgICBTU0xfU0VSVkVSX0lfRE5fRAogICAgICAgICAgICAgICAgICAgICAgIFNTTF9DTElFTlRfSV9ETl9VSUQgICAgU1NMX1NFUlZFUl9JX0ROX1VJRAogICAgICAgICAgICAgICAgICAgICAgIFNTTF9DTElFTlRfSV9ETl9FbWFpbCAgU1NMX1NFUlZFUl9JX0ROX0VtYWlsCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9BX1NJRyAgICAgICBTU0xfU0VSVkVSX0FfU0lHCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9BX0tFWSAgICAgICBTU0xfU0VSVkVSX0FfS0VZCiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9DRVJUICAgICAgICBTU0xfU0VSVkVSX0NFUlQKICAgICAgICAgICAgICAgICAgICAgICBTU0xfQ0xJRU5UX0NFUlRfQ0hBSU5fPHN0cm9uZz5uPC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgU1NMX0NMSUVOVF9WRVJJRlkKPC9wcmU+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iU1NMUmVxdWlyZVNTTCIgaWQ9IlNTTFJlcXVpcmVTU0wiPlNTTFJlcXVpcmVTU0w8L2E+IDxhIG5hbWU9InNzbHJlcXVpcmVzc2wiIGlkPSJzc2xyZXF1aXJlc3NsIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5EZW55IGFjY2VzcyB3aGVuIFNTTCBpcyBub3QgdXNlZCBmb3IgdGhlIApIVFRQIHJlcXVlc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMUmVxdWlyZVNTTDwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5kaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+QXV0aENvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX3NzbDwvdGQ+PC90cj4KPC90YWJsZT4KPHA+ClRoaXMgZGlyZWN0aXZlIGZvcmJpZHMgYWNjZXNzIHVubGVzcyBIVFRQIG92ZXIgU1NMIChpLmUuIEhUVFBTKSBpcyBlbmFibGVkIGZvcgp0aGUgY3VycmVudCBjb25uZWN0aW9uLiBUaGlzIGlzIHZlcnkgaGFuZHkgaW5zaWRlIHRoZSBTU0wtZW5hYmxlZCB2aXJ0dWFsCmhvc3Qgb3IgZGlyZWN0b3JpZXMgZm9yIGRlZmVuZGluZyBhZ2FpbnN0IGNvbmZpZ3VyYXRpb24gZXJyb3JzIHRoYXQgZXhwb3NlCnN0dWZmIHRoYXQgc2hvdWxkIGJlIHByb3RlY3RlZC4gV2hlbiB0aGlzIGRpcmVjdGl2ZSBpcyBwcmVzZW50IGFsbCByZXF1ZXN0cwphcmUgZGVuaWVkIHdoaWNoIGFyZSBub3QgdXNpbmcgU1NMLjwvcD4KPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU8L2gzPjxwPjxjb2RlPgpTU0xSZXF1aXJlU1NMCjwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iU1NMU2Vzc2lvbkNhY2hlIiBpZD0iU1NMU2Vzc2lvbkNhY2hlIj5TU0xTZXNzaW9uQ2FjaGU8L2E+IDxhIG5hbWU9InNzbHNlc3Npb25jYWNoZSIgaWQ9InNzbHNlc3Npb25jYWNoZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+VHlwZSBvZiB0aGUgZ2xvYmFsL2ludGVyLXByb2Nlc3MgU1NMIFNlc3Npb24gCkNhY2hlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFNlc3Npb25DYWNoZSA8ZW0+dHlwZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFNlc3Npb25DYWNoZSBub25lPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWc8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9zc2w8L3RkPjwvdHI+CjwvdGFibGU+CjxwPgpUaGlzIGNvbmZpZ3VyZXMgdGhlIHN0b3JhZ2UgdHlwZSBvZiB0aGUgZ2xvYmFsL2ludGVyLXByb2Nlc3MgU1NMIFNlc3Npb24KQ2FjaGUuIFRoaXMgY2FjaGUgaXMgYW4gb3B0aW9uYWwgZmFjaWxpdHkgd2hpY2ggc3BlZWRzIHVwIHBhcmFsbGVsIHJlcXVlc3QKcHJvY2Vzc2luZy4gRm9yIHJlcXVlc3RzIHRvIHRoZSBzYW1lIHNlcnZlciBwcm9jZXNzICh2aWEgSFRUUCBrZWVwLWFsaXZlKSwKT3BlblNTTCBhbHJlYWR5IGNhY2hlcyB0aGUgU1NMIHNlc3Npb24gaW5mb3JtYXRpb24gbG9jYWxseS4gQnV0IGJlY2F1c2UgbW9kZXJuCmNsaWVudHMgcmVxdWVzdCBpbmxpbmVkIGltYWdlcyBhbmQgb3RoZXIgZGF0YSB2aWEgcGFyYWxsZWwgcmVxdWVzdHMgKHVzdWFsbHkKdXAgdG8gZm91ciBwYXJhbGxlbCByZXF1ZXN0cyBhcmUgY29tbW9uKSB0aG9zZSByZXF1ZXN0cyBhcmUgc2VydmVkIGJ5CjxlbT5kaWZmZXJlbnQ8L2VtPiBwcmUtZm9ya2VkIHNlcnZlciBwcm9jZXNzZXMuIEhlcmUgYW4gaW50ZXItcHJvY2VzcyBjYWNoZQpoZWxwcyB0byBhdm9pZCB1bm5lY2Nlc3Nhcnkgc2Vzc2lvbiBoYW5kc2hha2VzLjwvcD4KPHA+ClRoZSBmb2xsb3dpbmcgZm91ciBzdG9yYWdlIDxlbT50eXBlPC9lbT5zIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkOjwvcD4KPHVsPgo8bGk+PGNvZGU+bm9uZTwvY29kZT4KCiAgICA8cD5UaGlzIGRpc2FibGVzIHRoZSBnbG9iYWwvaW50ZXItcHJvY2VzcyBTZXNzaW9uIENhY2hlLiAgVGhpcwogICAgd2lsbCBpbmN1ciBhIG5vdGljZWFibGUgc3BlZWQgcGVuYWx0eSBhbmQgbWF5IGNhdXNlIHByb2JsZW1zIGlmCiAgICB1c2luZyBjZXJ0YWluIGJyb3dzZXJzLCBwYXJ0aWN1bGFybHkgaWYgY2xpZW50IGNlcnRpZmljYXRlcyBhcmUKICAgIGVuYWJsZWQuICBUaGlzIHNldHRpbmcgaXMgbm90IHJlY29tbWVuZGVkLjwvcD48L2xpPgoKPGxpPjxjb2RlPm5vbmVub3RudWxsPC9jb2RlPgoKICAgIDxwPlRoaXMgZGlzYWJsZXMgYW55IGdsb2JhbC9pbnRlci1wcm9jZXNzIFNlc3Npb24gQ2FjaGUuICBIb3dldmVyCiAgICBpdCBkb2VzIGZvcmNlIE9wZW5TU0wgdG8gc2VuZCBhIG5vbi1udWxsIHNlc3Npb24gSUQgdG8KICAgIGFjY29tbW9kYXRlIGJ1Z2d5IGNsaWVudHMgdGhhdCByZXF1aXJlIG9uZS48L3A+PC9saT4KCjxsaT48Y29kZT5kYm06L3BhdGgvdG8vZGF0YWZpbGU8L2NvZGU+CgogICAgPHA+VGhpcyBtYWtlcyB1c2Ugb2YgYSBEQk0gaGFzaGZpbGUgb24gdGhlIGxvY2FsIGRpc2sgdG8KICAgIHN5bmNocm9uaXplIHRoZSBsb2NhbCBPcGVuU1NMIG1lbW9yeSBjYWNoZXMgb2YgdGhlIHNlcnZlcgogICAgcHJvY2Vzc2VzLiAgVGhpcyBzZXNzaW9uIGNhY2hlIG1heSBzdWZmZXIgcmVsaWFiaWxpdHkgaXNzdWVzIHVuZGVyCiAgICBoaWdoIGxvYWQuPC9wPjwvbGk+Cgo8bGk+PGNvZGU+c2htOi9wYXRoL3RvL2RhdGFmaWxlPC9jb2RlPls8Y29kZT4oPC9jb2RlPjxlbT5zaXplPC9lbT48Y29kZT4pPC9jb2RlPl0KCiAgICA8cD5UaGlzIG1ha2VzIHVzZSBvZiBhIGhpZ2gtcGVyZm9ybWFuY2UgY3ljbGljIGJ1ZmZlcgogICAgKGFwcHJveC4gPGVtPnNpemU8L2VtPiBieXRlcyBpbiBzaXplKSBpbnNpZGUgYSBzaGFyZWQgbWVtb3J5CiAgICBzZWdtZW50IGluIFJBTSAoZXN0YWJsaXNoZWQgdmlhIDxjb2RlPi9wYXRoL3RvL2RhdGFmaWxlPC9jb2RlPikgdG8KICAgIHN5bmNocm9uaXplIHRoZSBsb2NhbCBPcGVuU1NMIG1lbW9yeSBjYWNoZXMgb2YgdGhlIHNlcnZlcgogICAgcHJvY2Vzc2VzLiAgVGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgc2Vzc2lvbiBjYWNoZS48L3A+PC9saT4KCjxsaT48Y29kZT5kYzpVTklYOi9wYXRoL3RvL3NvY2tldDwvY29kZT4KCiAgICA8cD5UaGlzIG1ha2VzIHVzZSBvZiB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5kaXN0Y2FjaGUub3JnLyI+ZGlzdGNhY2hlPC9hPiBkaXN0cmlidXRlZCBzZXNzaW9uCiAgICBjYWNoaW5nIGxpYnJhcmllcy4gIFRoZSBhcmd1bWVudCBzaG91bGQgc3BlY2lmeSB0aGUgbG9jYXRpb24gb2YKICAgIHRoZSBzZXJ2ZXIgb3IgcHJveHkgdG8gYmUgdXNlZCB1c2luZyB0aGUgZGlzdGNhY2hlIGFkZHJlc3Mgc3ludGF4OwogICAgZm9yIGV4YW1wbGUsIDxjb2RlPlVOSVg6L3BhdGgvdG8vc29ja2V0PC9jb2RlPiBzcGVjaWZpZXMgYSBVTklYCiAgICBkb21haW4gc29ja2V0ICh0eXBpY2FsbHkgYSBsb2NhbCBkY19jbGllbnQgcHJveHkpOwogICAgPGNvZGU+SVA6c2VydmVyLmV4YW1wbGUuY29tOjkwMDE8L2NvZGU+IHNwZWNpZmllcyBhbiBJUAogICAgYWRkcmVzcy48L3A+PC9saT4KCjwvdWw+CjxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlczwvaDM+PHA+PGNvZGU+ClNTTFNlc3Npb25DYWNoZSBkYm06L3Vzci9sb2NhbC9hcGFjaGUvbG9ncy9zc2xfZ2NhY2hlX2RhdGE8YnIgLz4KU1NMU2Vzc2lvbkNhY2hlIHNobTovdXNyL2xvY2FsL2FwYWNoZS9sb2dzL3NzbF9nY2FjaGVfZGF0YSg1MTIwMDApCjwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iU1NMU2Vzc2lvbkNhY2hlVGltZW91dCIgaWQ9IlNTTFNlc3Npb25DYWNoZVRpbWVvdXQiPlNTTFNlc3Npb25DYWNoZVRpbWVvdXQ8L2E+IDxhIG5hbWU9InNzbHNlc3Npb25jYWNoZXRpbWVvdXQiIGlkPSJzc2xzZXNzaW9uY2FjaGV0aW1lb3V0Ij5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5OdW1iZXIgb2Ygc2Vjb25kcyBiZWZvcmUgYW4gU1NMIHNlc3Npb24gZXhwaXJlcwppbiB0aGUgU2Vzc2lvbiBDYWNoZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5TU0xTZXNzaW9uQ2FjaGVUaW1lb3V0IDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMU2Vzc2lvbkNhY2hlVGltZW91dCAzMDA8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBkaXJlY3RpdmUgc2V0cyB0aGUgdGltZW91dCBpbiBzZWNvbmRzIGZvciB0aGUgaW5mb3JtYXRpb24gc3RvcmVkIGluIHRoZQpnbG9iYWwvaW50ZXItcHJvY2VzcyBTU0wgU2Vzc2lvbiBDYWNoZSBhbmQgdGhlIE9wZW5TU0wgaW50ZXJuYWwgbWVtb3J5IGNhY2hlLgpJdCBjYW4gYmUgc2V0IGFzIGxvdyBhcyAxNSBmb3IgdGVzdGluZywgYnV0IHNob3VsZCBiZSBzZXQgdG8gaGlnaGVyCnZhbHVlcyBsaWtlIDMwMCBpbiByZWFsIGxpZmUuPC9wPgo8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+RXhhbXBsZTwvaDM+PHA+PGNvZGU+ClNTTFNlc3Npb25DYWNoZVRpbWVvdXQgNjAwCjwvY29kZT48L3A+PC9kaXY+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iU1NMVXNlck5hbWUiIGlkPSJTU0xVc2VyTmFtZSI+U1NMVXNlck5hbWU8L2E+IDxhIG5hbWU9InNzbHVzZXJuYW1lIiBpZD0ic3NsdXNlcm5hbWUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlZhcmlhYmxlIG5hbWUgdG8gZGV0ZXJtaW5lIHVzZXIgbmFtZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5TU0xVc2VyTmFtZSA8ZW0+dmFybmFtZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIGRpcmVjdG9yeSwgLmh0YWNjZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjT3ZlcnJpZGUiPk92ZXJyaWRlOjwvYT48L3RoPjx0ZD5BdXRoQ29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29tcGF0aWJpbGl0eSI+Q29tcGF0aWJpbGl0eTo8L2E+PC90aD48dGQ+QXZhaWxhYmxlIGluIEFwYWNoZSAyLjAuNTEgYW5kIGxhdGVyPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBkaXJlY3RpdmUgc2V0cyB0aGUgInVzZXIiIGZpZWxkIGluIHRoZSBBcGFjaGUgcmVxdWVzdCBvYmplY3QuClRoaXMgaXMgdXNlZCBieSBsb3dlciBtb2R1bGVzIHRvIGlkZW50aWZ5IHRoZSB1c2VyIHdpdGggYSBjaGFyYWN0ZXIKc3RyaW5nLiBJbiBwYXJ0aWN1bGFyLCB0aGlzIG1heSBjYXVzZSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKPGNvZGU+UkVNT1RFX1VTRVI8L2NvZGU+IHRvIGJlIHNldC4gIFRoZSA8ZW0+dmFybmFtZTwvZW0+IGNhbiBiZQphbnkgb2YgdGhlIDxhIGhyZWY9IiNlbnZ2YXJzIj5TU0wgZW52aXJvbm1lbnQgdmFyaWFibGVzPC9hPi48L3A+Cgo8cD5Ob3RlIHRoYXQgdGhpcyBkaXJlY3RpdmUgaGFzIG5vIGVmZmVjdCBpZiB0aGUKPGNvZGU+RmFrZUJhc2ljPC9jb2RlPiBvcHRpb24gaXMgdXNlZCAoc2VlIDxhIGhyZWY9IiNzc2xvcHRpb25zIj5TU0xPcHRpb25zPC9hPikuPC9wPgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU8L2gzPjxwPjxjb2RlPgpTU0xVc2VyTmFtZSBTU0xfQ0xJRU5UX1NfRE5fQ04KPC9jb2RlPjwvcD48L2Rpdj4KCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJTU0xWZXJpZnlDbGllbnQiIGlkPSJTU0xWZXJpZnlDbGllbnQiPlNTTFZlcmlmeUNsaWVudDwvYT4gPGEgbmFtZT0ic3NsdmVyaWZ5Y2xpZW50IiBpZD0ic3NsdmVyaWZ5Y2xpZW50Ij5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5UeXBlIG9mIENsaWVudCBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMVmVyaWZ5Q2xpZW50IDxlbT5sZXZlbDwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPlNTTFZlcmlmeUNsaWVudCBub25lPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdCwgZGlyZWN0b3J5LCAuaHRhY2Nlc3M8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNPdmVycmlkZSI+T3ZlcnJpZGU6PC9hPjwvdGg+PHRkPkF1dGhDb25maWc8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZW5zaW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9zc2w8L3RkPjwvdHI+CjwvdGFibGU+CjxwPgpUaGlzIGRpcmVjdGl2ZSBzZXRzIHRoZSBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gbGV2ZWwgZm9yIHRoZSBDbGllbnQKQXV0aGVudGljYXRpb24uIE5vdGljZSB0aGF0IHRoaXMgZGlyZWN0aXZlIGNhbiBiZSB1c2VkIGJvdGggaW4gcGVyLXNlcnZlciBhbmQKcGVyLWRpcmVjdG9yeSBjb250ZXh0LiBJbiBwZXItc2VydmVyIGNvbnRleHQgaXQgYXBwbGllcyB0byB0aGUgY2xpZW50CmF1dGhlbnRpY2F0aW9uIHByb2Nlc3MgdXNlZCBpbiB0aGUgc3RhbmRhcmQgU1NMIGhhbmRzaGFrZSB3aGVuIGEgY29ubmVjdGlvbiBpcwplc3RhYmxpc2hlZC4gSW4gcGVyLWRpcmVjdG9yeSBjb250ZXh0IGl0IGZvcmNlcyBhIFNTTCByZW5lZ290YXRpb24gd2l0aCB0aGUKcmVjb25maWd1cmVkIGNsaWVudCB2ZXJpZmljYXRpb24gbGV2ZWwgYWZ0ZXIgdGhlIEhUVFAgcmVxdWVzdCB3YXMgcmVhZCBidXQKYmVmb3JlIHRoZSBIVFRQIHJlc3BvbnNlIGlzIHNlbnQuPC9wPgo8cD4KVGhlIGZvbGxvd2luZyBsZXZlbHMgYXJlIGF2YWlsYWJsZSBmb3IgPGVtPmxldmVsPC9lbT46PC9wPgo8dWw+CjxsaT48c3Ryb25nPm5vbmU8L3N0cm9uZz46CiAgICAgbm8gY2xpZW50IENlcnRpZmljYXRlIGlzIHJlcXVpcmVkIGF0IGFsbDwvbGk+CjxsaT48c3Ryb25nPm9wdGlvbmFsPC9zdHJvbmc+OgogICAgIHRoZSBjbGllbnQgPGVtPm1heTwvZW0+IHByZXNlbnQgYSB2YWxpZCBDZXJ0aWZpY2F0ZTwvbGk+CjxsaT48c3Ryb25nPnJlcXVpcmU8L3N0cm9uZz46CiAgICAgdGhlIGNsaWVudCA8ZW0+aGFzIHRvPC9lbT4gcHJlc2VudCBhIHZhbGlkIENlcnRpZmljYXRlPC9saT4KPGxpPjxzdHJvbmc+b3B0aW9uYWxfbm9fY2E8L3N0cm9uZz46CiAgICAgdGhlIGNsaWVudCBtYXkgcHJlc2VudCBhIHZhbGlkIENlcnRpZmljYXRlPGJyIC8+CiAgICAgYnV0IGl0IG5lZWQgbm90IHRvIGJlIChzdWNjZXNzZnVsbHkpIHZlcmlmaWFibGUuPC9saT4KPC91bD4KPHA+SW4gcHJhY3RpY2Ugb25seSBsZXZlbHMgPHN0cm9uZz5ub25lPC9zdHJvbmc+IGFuZAo8c3Ryb25nPnJlcXVpcmU8L3N0cm9uZz4gYXJlIHJlYWxseSBpbnRlcmVzdGluZywgYmVjYXVzZSBsZXZlbAo8c3Ryb25nPm9wdGlvbmFsPC9zdHJvbmc+IGRvZXNuJ3Qgd29yayB3aXRoIGFsbCBicm93c2VycyBhbmQgbGV2ZWwKPHN0cm9uZz5vcHRpb25hbF9ub19jYTwvc3Ryb25nPiBpcyBhY3R1YWxseSBhZ2FpbnN0IHRoZSBpZGVhIG9mCmF1dGhlbnRpY2F0aW9uIChidXQgY2FuIGJlIHVzZWQgdG8gZXN0YWJsaXNoIFNTTCB0ZXN0IHBhZ2VzLCBldGMuKTwvcD4KPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU8L2gzPjxwPjxjb2RlPgpTU0xWZXJpZnlDbGllbnQgcmVxdWlyZQo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IlNTTFZlcmlmeURlcHRoIiBpZD0iU1NMVmVyaWZ5RGVwdGgiPlNTTFZlcmlmeURlcHRoPC9hPiA8YSBuYW1lPSJzc2x2ZXJpZnlkZXB0aCIgaWQ9InNzbHZlcmlmeWRlcHRoIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5NYXhpbXVtIGRlcHRoIG9mIENBIENlcnRpZmljYXRlcyBpbiBDbGllbnQgCkNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5TU0xWZXJpZnlEZXB0aCA8ZW0+bnVtYmVyPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+U1NMVmVyaWZ5RGVwdGggMTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3QsIGRpcmVjdG9yeSwgLmh0YWNjZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjT3ZlcnJpZGUiPk92ZXJyaWRlOjwvYT48L3RoPjx0ZD5BdXRoQ29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2Rfc3NsPC90ZD48L3RyPgo8L3RhYmxlPgo8cD4KVGhpcyBkaXJlY3RpdmUgc2V0cyBob3cgZGVlcGx5IG1vZF9zc2wgc2hvdWxkIHZlcmlmeSBiZWZvcmUgZGVjaWRpbmcgdGhhdCB0aGUKY2xpZW50cyBkb24ndCBoYXZlIGEgdmFsaWQgY2VydGlmaWNhdGUuIE5vdGljZSB0aGF0IHRoaXMgZGlyZWN0aXZlIGNhbiBiZQp1c2VkIGJvdGggaW4gcGVyLXNlcnZlciBhbmQgcGVyLWRpcmVjdG9yeSBjb250ZXh0LiBJbiBwZXItc2VydmVyIGNvbnRleHQgaXQKYXBwbGllcyB0byB0aGUgY2xpZW50IGF1dGhlbnRpY2F0aW9uIHByb2Nlc3MgdXNlZCBpbiB0aGUgc3RhbmRhcmQgU1NMCmhhbmRzaGFrZSB3aGVuIGEgY29ubmVjdGlvbiBpcyBlc3RhYmxpc2hlZC4gSW4gcGVyLWRpcmVjdG9yeSBjb250ZXh0IGl0IGZvcmNlcwphIFNTTCByZW5lZ290YXRpb24gd2l0aCB0aGUgcmVjb25maWd1cmVkIGNsaWVudCB2ZXJpZmljYXRpb24gZGVwdGggYWZ0ZXIgdGhlCkhUVFAgcmVxdWVzdCB3YXMgcmVhZCBidXQgYmVmb3JlIHRoZSBIVFRQIHJlc3BvbnNlIGlzIHNlbnQuPC9wPgo8cD4KVGhlIGRlcHRoIGFjdHVhbGx5IGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpbnRlcm1lZGlhdGUgY2VydGlmaWNhdGUgaXNzdWVycywKaS5lLiB0aGUgbnVtYmVyIG9mIENBIGNlcnRpZmljYXRlcyB3aGljaCBhcmUgbWF4IGFsbG93ZWQgdG8gYmUgZm9sbG93ZWQgd2hpbGUKdmVyaWZ5aW5nIHRoZSBjbGllbnQgY2VydGlmaWNhdGUuIEEgZGVwdGggb2YgMCBtZWFucyB0aGF0IHNlbGYtc2lnbmVkIGNsaWVudApjZXJ0aWZpY2F0ZXMgYXJlIGFjY2VwdGVkIG9ubHksIHRoZSBkZWZhdWx0IGRlcHRoIG9mIDEgbWVhbnMgdGhlIGNsaWVudApjZXJ0aWZpY2F0ZSBjYW4gYmUgc2VsZi1zaWduZWQgb3IgaGFzIHRvIGJlIHNpZ25lZCBieSBhIENBIHdoaWNoIGlzIGRpcmVjdGx5Cmtub3duIHRvIHRoZSBzZXJ2ZXIgKGkuZS4gdGhlIENBJ3MgY2VydGlmaWNhdGUgaXMgdW5kZXIKPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI3NzbGNhY2VydGlmaWNhdGVwYXRoIj5TU0xDQUNlcnRpZmljYXRlUGF0aDwvYT48L2NvZGU+KSwgZXRjLjwvcD4KPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPkV4YW1wbGU8L2gzPjxwPjxjb2RlPgpTU0xWZXJpZnlEZXB0aCAxMAo8L2NvZGU+PC9wPjwvZGl2PgoKPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3R0b21sYW5nIj4KPHA+PHNwYW4+QXZhaWxhYmxlIExhbmd1YWdlczogPC9zcGFuPjxhIGhyZWY9Ii4uL2VuL21vZC9tb2Rfc3NsLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAxOTk1LTIwMDUgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG9yIGl0cyBsaWNlbnNvcnMsIGFzIGFwcGxpY2FibGUuPGJyIC8+TGljZW5zZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iLi4vZmFxLyI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXJ5PC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+U2l0ZW1hcDwvYT48L3A+PC9kaXY+CjwvYm9keT48L2h0bWw+