PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPm1vZF9hdXRoel9kYmQgLSBBcGFjaGUgSFRUUCBTZXJ2ZXI8L3RpdGxlPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIiB0eXBlPSJ0ZXh0L2NzcyIgdGl0bGU9Ik1haW4gc3R5bGVzaGVldCIgLz4KPGxpbmsgaHJlZj0iLi4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLXByaW50LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0icHJpbnQiIHR5cGU9InRleHQvY3NzIiAvPgo8bGluayBocmVmPSIuLi9pbWFnZXMvZmF2aWNvbi5pY28iIHJlbD0ic2hvcnRjdXQgaWNvbiIgLz48L2hlYWQ+Cjxib2R5Pgo8ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuLi9tb2QvIj5Nb2R1bGVzPC9hPiB8IDxhIGhyZWY9Ii4uL21vZC9kaXJlY3RpdmVzLmh0bWwiPkRpcmVjdGl2ZXM8L2E+IHwgPGEgaHJlZj0iLi4vZmFxLyI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4uL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXJ5PC9hPiB8IDxhIGhyZWY9Ii4uL3NpdGVtYXAuaHRtbCI+U2l0ZW1hcDwvYT48L3A+CjxwIGNsYXNzPSJhcGFjaGUiPkFwYWNoZSBIVFRQIFNlcnZlciBWZXJzaW9uIDIuMzwvcD4KPGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZmVhdGhlci5naWYiIC8+PC9kaXY+CjxkaXYgY2xhc3M9InVwIj48YSBocmVmPSIuLyI+PGltZyB0aXRsZT0iJmx0Oy0iIGFsdD0iJmx0Oy0iIHNyYz0iLi4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPkhUVFAgU2VydmVyPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvIj5Eb2N1bWVudGF0aW9uPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4uLyI+VmVyc2lvbiAyLjM8L2E+ICZndDsgPGEgaHJlZj0iLi8iPk1vZHVsZXM8L2E+PC9kaXY+CjxkaXYgaWQ9InBhZ2UtY29udGVudCI+CjxkaXYgaWQ9InByZWFtYmxlIj48aDE+QXBhY2hlIE1vZHVsZSBtb2RfYXV0aHpfZGJkPC9oMT4KPGRpdiBjbGFzcz0idG9wbGFuZyI+CjxwPjxzcGFuPkF2YWlsYWJsZSBMYW5ndWFnZXM6IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9tb2QvbW9kX2F1dGh6X2RiZC5odG1sIiB0aXRsZT0iRW5nbGlzaCI+Jm5ic3A7ZW4mbmJzcDs8L2E+PC9wPgo8L2Rpdj4KPHRhYmxlIGNsYXNzPSJtb2R1bGUiPjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkdyb3VwIEF1dGhvcml6YXRpb24gYW5kIExvZ2luIHVzaW5nIFNRTDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNNb2R1bGVJZGVudGlmaWVyIj5Nb2R1bGWgSWRlbnRpZmllcjo8L2E+PC90aD48dGQ+YXV0aHpfZGJkX21vZHVsZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJtb2R1bGUtZGljdC5odG1sI1NvdXJjZUZpbGUiPlNvdXJjZaBGaWxlOjwvYT48L3RoPjx0ZD5tb2RfYXV0aHpfZGJkLmM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNDb21wYXRpYmlsaXR5Ij5Db21wYXRpYmlsaXR5OjwvYT48L3RoPjx0ZD5BdmFpbGFibGUgaW4gQXBhY2hlIDIuMiBhbmQgbGF0ZXI8L3RkPjwvdHI+PC90YWJsZT4KPGgzPlN1bW1hcnk8L2gzPgoKICAgIDxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGF1dGhvcml6YXRpb24gY2FwYWJpbGl0aWVzIHNvIHRoYXQKICAgICAgIGF1dGhlbnRpY2F0ZWQgdXNlcnMgY2FuIGJlIGFsbG93ZWQgb3IgZGVuaWVkIGFjY2VzcyB0byBwb3J0aW9ucwogICAgICAgb2YgdGhlIHdlYiBzaXRlIGJ5IGdyb3VwIG1lbWJlcnNoaXAuIEl0IGFsc28gcHJvdmlkZXMKICAgICAgIGRhdGFiYXNlL2JhY2tlbmQgbG9naW4vbG9nb3V0IGluIGNvbmp1bmN0aW9uIHdpdGgKICAgICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aG5fZGJkLmh0bWwiPm1vZF9hdXRobl9kYmQ8L2E+PC9jb2RlPi48L3A+CjwvZGl2Pgo8ZGl2IGlkPSJxdWlja3ZpZXciPjxoMyBjbGFzcz0iZGlyZWN0aXZlcyI+RGlyZWN0aXZlczwvaDM+Cjx1bCBpZD0idG9jIj4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjYXV0aHpkYmRsb2dpbnRvcmVmZXJlciI+QXV0aHpEQkRMb2dpblRvUmVmZXJlcjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNhdXRoemRiZHF1ZXJ5Ij5BdXRoekRCRFF1ZXJ5PC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2F1dGh6ZGJkcmVkaXJlY3RxdWVyeSI+QXV0aHpEQkRSZWRpcmVjdFF1ZXJ5PC9hPjwvbGk+CjwvdWw+CjxoMz5Ub3BpY3M8L2gzPgo8dWwgaWQ9InRvcGljcyI+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2xvZ2luIj5EYXRhYmFzZSBMb2dpbjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNjbGllbnQiPkNsaWVudCBMb2dpbjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNleGFtcGxlIj5Db25maWd1cmF0aW9uIEV4YW1wbGU8L2E+PC9saT4KPC91bD48aDM+U2VlIGFsc288L2gzPgo8dWwgY2xhc3M9InNlZWFsc28iPgo8bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNyZXF1aXJlIj5SZXF1aXJlPC9hPjwvY29kZT48L2xpPgo8bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9kYmQuaHRtbCNkYmRyaXZlciI+REJEcml2ZXI8L2E+PC9jb2RlPjwvbGk+CjxsaT48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX2RiZC5odG1sI2RiZHBhcmFtcyI+REJEUGFyYW1zPC9hPjwvY29kZT48L2xpPgo8L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJsb2dpbiIgaWQ9ImxvZ2luIj5EYXRhYmFzZSBMb2dpbjwvYT48L2gyPgoKPHA+SW4gYWRkaXRpb24gdG8gdGhlIHN0YW5kYXJkIGF1dGh6IGZ1bmN0aW9uIG9mIGNoZWNraW5nIGdyb3VwCm1lbWJlcnNoaXAsIHRoaXMgbW9kdWxlIHByb3ZpZGVzIGRhdGFiYXNlIExvZ2luL0xvZ291dCBjYXBhYmlsaXR5LgpTcGVjaWZpY2FsbHksIHdlIGNhbiBtYWludGFpbiBhIGxvZ2dlZCBpbi9sb2dnZWQgb3V0IHN0YXR1cyBpbgp0aGUgZGF0YWJhc2UsIGFuZCBjb250cm9sIHRoZSBzdGF0dXMgdmlhIGRlc2lnbmF0ZWQgVVJMcyAoc3ViamVjdApvZiBjb3Vyc2UgdG8gdXNlcnMgc3VwcGx5aW5nIHRoZSBuZWNlc3NhcnkgY3JlZGVudGlhbHMpLjwvcD4KPHA+VGhpcyB3b3JrcyBieSBkZWZpbmluZyB0d28gc3BlY2lhbAo8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvY29yZS5odG1sI3JlcXVpcmUiPlJlcXVpcmU8L2E+PC9jb2RlPiB0eXBlczoKPGNvZGU+UmVxdWlyZSBkYmQtbG9naW48L2NvZGU+IGFuZCA8Y29kZT5SZXF1aXJlIGRiZC1sb2dvdXQ8L2NvZGU+LgpGb3IgdXNhZ2UgZGV0YWlscywgc2VlIHRoZSBjb25maWd1cmF0aW9uIGV4YW1wbGUgYmVsb3cuPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJjbGllbnQiIGlkPSJjbGllbnQiPkNsaWVudCBMb2dpbjwvYT48L2gyPgoKPHA+SW4gY29uanVuY3Rpb24gd2l0aCBzZXJ2ZXIgbG9naW4vbG9nb3V0LCB3ZSBtYXkgd2lzaCB0byBpbXBsZW1lbnQKY2xpZW50c2lkZSBsb2dpbi9vdXQsIGZvciBleGFtcGxlIGJ5IHNldHRpbmcgYW5kIHVuc2V0dGluZyBhIGNvb2tpZQpvciBvdGhlciBzdWNoIHRva2VuLiAgQWx0aG91Z2ggdGhpcyBpcyBub3QgdGhlIGJ1c2luZXNzIG9mIGFuIGF1dGh6Cm1vZHVsZSwgY2xpZW50IHNlc3Npb24gbWFuYWdlbWVudCBzb2Z0d2FyZSBzaG91bGQgYmUgYWJsZSB0byB0aWUgaXRzCm9wZXJhdGlvbiBpbiB0byBkYXRhYmFzZSBsb2dpbi9sb2dvdXQuICBUbyBzdXBwb3J0IHRoaXMsCjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aHpfZGJkLmh0bWwiPm1vZF9hdXRoel9kYmQ8L2E+PC9jb2RlPiBleHBvcnRzIGFuIG9wdGlvbmFsIGhvb2sgdGhhdCB3aWxsCmJlIHJ1biB3aGVuZXZlciBhIHVzZXIgc3VjY2Vzc2Z1bGx5IGxvZ3MgaW50byBvciBvdXQgb2YgdGhlIGRhdGFiYXNlLgpTZXNzaW9uIG1hbmFnZW1lbnQgbW9kdWxlcyBjYW4gdXNlIHRoZSBob29rIHRvIGltcGxlbWVudCBmdW5jdGlvbnMKdG8gc3RhcnQgYW5kIGVuZCBhIGNsaWVudCBzZXNzaW9uLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iZXhhbXBsZSIgaWQ9ImV4YW1wbGUiPkNvbmZpZ3VyYXRpb24gRXhhbXBsZTwvYT48L2gyPgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHByZT48Y29kZT4KIyBEQkQgQ29uZmlndXJhdGlvbgpEQkRyaXZlciBvcmFjbGUKREJEUGFyYW1zICJkYm5hbWU9YXBhY2hlYXV0aCB1c2VyPWFwYWNoZSBwYXNzPXh4eHh4eCIKCkRCRE1pbiAgNApEQkRLZWVwIDgKREJETWF4ICAyMApEQkRFeHB0aW1lIDMwMAoKJmx0O0RpcmVjdG9yeSAvdXNyL3d3dy9teS5zaXRlL3RlYW0tcHJpdmF0ZS8mZ3Q7CiAgICMgYXV0aG4gd2l0aCBtb2RfYXV0aG5fZGJkCiAgIEF1dGhUeXBlIEJhc2ljCiAgIEF1dGhOYW1lIFRlYW0KICAgQXV0aEJhc2ljUHJvdmlkZXIgZGJkCiAgIEF1dGhEQkRVc2VyUFdRdWVyeSAiU0VMRUNUIHBhc3MgRlJPTSBhdXRobiBXSEVSRSB1c2VyID0gJXMgQU5EIGxvZ2luID0gdHJ1ZSIKCiAgICMgUmVxdWlyZSBkYmQtZ3JvdXAgYW5kIGF1dGh6X2RiZCBpbXBsZW1lbnRhdGlvbgogICBSZXF1aXJlIGRiZC1ncm91cCB0ZWFtCiAgIEF1dGh6REJEUXVlcnkgIlNFTEVDVCBncm91cCBGUk9NIGF1dGh6IFdIRVJFIHVzZXIgPSAlcyIKCiAgICMgV2hlbiBhIHVzZXIgZmFpbHMgdG8gYXV0aG4vYXV0aHosIGludml0ZSB0aGVtIHRvIGxvZ2luCiAgIEVycm9yRG9jdW1lbnQgNDAxIC90ZWFtLXByaXZhdGUvbG9naW4tZm9ybS5odG1sCgogICAmbHQ7RmlsZXMgbG9naW4uaHRtbCZndDsKICAgICAgIyBEb24ndCByZXF1aXJlIHRoYXQgd2UncmUgYWxyZWFkeSBsb2dnZWQgaW4hCiAgICAgIEF1dGhEQkRVc2VyUFdRdWVyeSAiU0VMRUNUIHBhc3MgRlJPTSBhdXRobiBXSEVSRSB1c2VyID0gJXMiCgogICAgICAjIGRiZC1sb2dpbiBhY3Rpb24gZXhlY3V0ZXMgYSBxdWVyeSB0byBzZXQgb3VyIG93biBzdGF0ZQogICAgICBSZXF1aXJlIGRiZC1sb2dpbgogICAgICBBdXRoekRCRFF1ZXJ5ICJVUERBVEUgYXV0aG4gU0VUIGxvZ2luID0gdHJ1ZSBXSEVSRSB1c2VyID0gJXMiCgogICAgICAjIFJldHVybiB1c2VyIHRvIHJlZmVycmluZyBwYWdlIChpZiBhbnkpIG9uIHN1Y2Nlc3NmdWwgbG9naW4KICAgICAgQXV0aHpEQkRMb2dpblRvUmVmZXJlciBPbgogICAmbHQ7L0ZpbGVzJmd0OwoKICAgJmx0O0ZpbGVzIGxvZ291dC5odG1sJmd0OwogICAgICAjIGRiZC1sb2dvdXQgYWN0aW9uIGV4ZWN1dGVzIGEgcXVlcnkgdG8gc2V0IG91ciBvd24gc3RhdGUKICAgICAgUmVxdWlyZSBkYmQtbG9nb3V0CiAgICAgIEF1dGh6REJEUXVlcnkgIlVQREFURSBhdXRobiBTRVQgbG9naW4gPSBmYWxzZSBXSEVSRSB1c2VyID0gJXMiCiAgICZsdDsvRmlsZXMmZ3Q7CiZsdDsvRGlyZWN0b3J5Jmd0Owo8L2NvZGU+PC9wcmU+PC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJBdXRoekRCRExvZ2luVG9SZWZlcmVyIiBpZD0iQXV0aHpEQkRMb2dpblRvUmVmZXJlciI+QXV0aHpEQkRMb2dpblRvUmVmZXJlcjwvYT4gPGEgbmFtZT0iYXV0aHpkYmRsb2dpbnRvcmVmZXJlciIgaWQ9ImF1dGh6ZGJkbG9naW50b3JlZmVyZXIiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkRldGVybWluZXMgd2hldGhlciB0byByZWRpcmVjdCB0aGUgQ2xpZW50IHRvIHRoZSBSZWZlcnJpbmcKcGFnZSBvbiBzdWNjZXNzZnVsIGxvZ2luIG9yIGxvZ291dCBpZiBhIDxjb2RlPlJlZmVyZXI8L2NvZGU+IHJlcXVlc3QKaGVhZGVyIGlzIHByZXNlbnQ8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+QXV0aHpEQkRMb2dpblRvUmVmZXJlciBPbnxPZmY8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+QXV0aHpEQkRMb2dpblRvUmVmZXJlciBPZmY8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+ZGlyZWN0b3J5PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfYXV0aHpfZGJkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+SW4gY29uanVuY3Rpb24gd2l0aCA8Y29kZT5SZXF1aXJlIGRiZC1sb2dpbjwvY29kZT4gb3IKICAgIDxjb2RlPlJlcXVpcmUgZGJkLWxvZ291dDwvY29kZT4sIHRoaXMgcHJvdmlkZXMgdGhlIG9wdGlvbiB0bwogICAgcmVkaXJlY3QgdGhlIGNsaWVudCBiYWNrIHRvIHRoZSBSZWZlcnJpbmcgcGFnZSAodGhlIFVSTCBpbgogICAgdGhlIDxjb2RlPlJlZmVyZXI8L2NvZGU+IEhUVFAgcmVxdWVzdCBoZWFkZXIsIGlmIHByZXNlbnQuCiAgICBXaGVuIHRoZXJlIGlzIG5vIDxjb2RlPlJlZmVyZXI8L2NvZGU+IGhlYWRlciwKICAgIDxjb2RlPkF1dGh6REJETG9naW5Ub1JlZmVyZXIgT248L2NvZGU+IHdpbGwgYmUgaWdub3JlZC48L3A+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iQXV0aHpEQkRRdWVyeSIgaWQ9IkF1dGh6REJEUXVlcnkiPkF1dGh6REJEUXVlcnk8L2E+IDxhIG5hbWU9ImF1dGh6ZGJkcXVlcnkiIGlkPSJhdXRoemRiZHF1ZXJ5Ij5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5TcGVjaWZ5IHRoZSBTUUwgUXVlcnkgZm9yIHRoZSByZXF1aXJlZCBvcGVyYXRpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+QXV0aHpEQkRRdWVyeSBTUUwtUXVlcnk8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+ZGlyZWN0b3J5PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVuc2lvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfYXV0aHpfZGJkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgPHA+VGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkF1dGh6REJEUXVlcnk8L2NvZGU+IHNwZWNpZmllcyBhbiBTUUwKICAgIHF1ZXJ5IHRvIHJ1bi4gIFRoZSBwdXJwb3NlIG9mIHRoZSBxdWVyeSBkZXBlbmRzIG9uIHRoZQogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL2NvcmUuaHRtbCNyZXF1aXJlIj5SZXF1aXJlPC9hPjwvY29kZT4gZGlyZWN0aXZlIGluCiAgICBlZmZlY3QuPC9wPgogICAgPHVsPgogICAgPGxpPldpdGggPGNvZGU+UmVxdWlyZSBkYmQtZ3JvdXA8L2NvZGU+LCBpdCBzcGVjaWZpZXMgYSBxdWVyeQogICAgdG8gbG9vayB1cCBncm91cHMgZm9yIHRoZSBjdXJyZW50IHVzZXIuICBUaGlzIGlzIHRoZSBzdGFuZGFyZAogICAgZnVuY3Rpb25hbGl0eSBvZiBvdGhlciBhdXRoeiBtb2R1bGVzIHN1Y2ggYXMKICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aHpfZmlsZS5odG1sIj5tb2RfYXV0aHpfZmlsZTwvYT48L2NvZGU+IGFuZCA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2F1dGh6X2RibS5odG1sIj5tb2RfYXV0aHpfZGJtPC9hPjwvY29kZT4uCiAgICBJbiB0aGlzIGNhc2UgaXQgd2lsbCB0eXBpY2FsbHkgdGFrZSB0aGUgZm9ybTxiciAvPgogICAgPGNvZGU+QXV0aHpEQkRRdWVyeSAiU0VMRUNUIGdyb3VwIEZST00gZ3JvdXBzIFdIRVJFIHVzZXI9ICVzIjwvY29kZT4KICAgIDwvbGk+CiAgICA8bGk+V2l0aCA8Y29kZT5SZXF1aXJlIGRiZC1sb2dpbjwvY29kZT4gb3IgPGNvZGU+UmVxdWlyZSBkYmQtbG9nb3V0PC9jb2RlPiwKICAgIGl0IHdpbGwgbmV2ZXIgZGVueSBhY2Nlc3MsIGJ1dCB3aWxsIGluc3RlYWQgZXhlY3V0ZSBhbiBTUUwgUXVlcnkKICAgIGRlc2lnbmVkIHRvIGxvZyB0aGUgdXNlciAod2hvIG11c3QgYWxyZWFkeSBiZSBhdXRoZW50aWNhdGVkIHdpdGgKICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfYXV0aG5fZGJkLmh0bWwiPm1vZF9hdXRobl9kYmQ8L2E+PC9jb2RlPikgaW4gb3Igb3V0LiAgU3VjaCBhIHF1ZXJ5IHdpbGwKICAgIHR5cGljYWxseSB0YWtlIHRoZSBmb3JtPGJyIC8+CiAgICA8Y29kZT5BdXRoekRCRFF1ZXJ5ICJVUERBVEUgYXV0aG4gU0VUIGxvZ2luID0gdHJ1ZSBXSEVSRSB1c2VyID0gJXMiPC9jb2RlPgogICAgPC9saT4KICAgIDwvdWw+Cgo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iQXV0aHpEQkRSZWRpcmVjdFF1ZXJ5IiBpZD0iQXV0aHpEQkRSZWRpcmVjdFF1ZXJ5Ij5BdXRoekRCRFJlZGlyZWN0UXVlcnk8L2E+IDxhIG5hbWU9ImF1dGh6ZGJkcmVkaXJlY3RxdWVyeSIgaWQ9ImF1dGh6ZGJkcmVkaXJlY3RxdWVyeSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+U3BlY2lmeSBhIHF1ZXJ5IHRvIGxvb2sgdXAgYSBsb2dpbiBwYWdlIGZvciB0aGUgdXNlcjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5BdXRoekRCRFJlZGlyZWN0UXVlcnkgU1FMLVF1ZXJ5PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPmRpcmVjdG9yeTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlbnNpb248L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2F1dGh6X2RiZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgIDxwPlNwZWNpZmllcyBhbiBvcHRpb25hbCBxdWVyeSB0byB1c2UgYWZ0ZXIgc3VjY2Vzc2Z1bCBsb2dpbgogICAgKG9yIGxvZ291dCkgdG8gcmVkaXJlY3QgdGhlIHVzZXIgdG8gYSBwYWdlLCB3aGljaCBtYXkgYmUKICAgIHNwZWNpZmljIHRvIHRoZSB1c2VyLiAgU3VjaCBhIHF1ZXJ5IHdpbGwgdGFrZSB0aGUgZm9ybTxiciAvPgogICAgPGNvZGU+QXV0aHpEQkRSZWRpcmVjdFF1ZXJ5ICJTRUxFQ1QgdXNlcnBhZ2UgRlJPTSB1c2VycGFnZXMgV0hFUkUgdXNlciA9ICVzIjwvY29kZT4KICAgIDwvcD4KICAgIDxwPk5vdGUgdGhhdCA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5BdXRoekRCRExvZ2luVG9SZWZlcmVyPC9jb2RlPiB0YWtlcwogICAgcHJlY2VkZW5jZSBpZiBib3RoIGFyZSBzZXQuPC9wPgoKPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3R0b21sYW5nIj4KPHA+PHNwYW4+QXZhaWxhYmxlIExhbmd1YWdlczogPC9zcGFuPjxhIGhyZWY9Ii4uL2VuL21vZC9tb2RfYXV0aHpfZGJkLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAyMDA2IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi48YnIgLz5MaWNlbnNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIj5BcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjA8L2E+LjwvcD4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSIuLi9mYXEvIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+R2xvc3Nhcnk8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5TaXRlbWFwPC9hPjwvcD48L2Rpdj4KPC9ib2R5PjwvaHRtbD4=