PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5nPSJlbiIgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6KG51bGwpMT0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+PGhlYWQ+PCEtLQogICAgQ29weXJpZ2h0IDIwMDktMjAxMCBJbnRlbCBDb3Jwb3JhdGlvbgogICAgbGljZW5zZSBiYW5uZXIKLS0+Cjx0aXRsZT5Cb29zdCBQb2x5Z29uIExpYnJhcnk6IFBvbHlnb24gU2V0IENvbmNlcHQ8L3RpdGxlPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD1JU08tODg1OS0xIj4KPHRhYmxlIHN0eWxlPSJtYXJnaW46IDBwdDsgcGFkZGluZzogMHB0OyB3aWR0aDogMTAwJTsiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj48dGJvZHk+PHRyPgo8dGQgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYigyMzgsIDIzOCwgMjM4KTsiIG5vd3JhcD0iMSIgdmFsaWduPSJ0b3AiPgogICAgPGRpdiBzdHlsZT0icGFkZGluZzogNXB4OyIgYWxpZ249ImNlbnRlciI+CiAgICAgICAgPGltZyBib3JkZXI9IjAiIHNyYz0iaW1hZ2VzL2Jvb3N0LnBuZyIgd2lkdGg9IjI3NyIgaGVpZ2h0PSI4NiI+PGEgdGl0bGU9Ind3dy5ib29zdC5vcmcgaG9tZSBwYWdlIiBocmVmPSJodHRwOi8vd3d3LmJvb3N0Lm9yZy8iIHRhYmluZGV4PSIyIiBzdHlsZT0iYm9yZGVyOiBtZWRpdW0gbm9uZSA7Ij4KICAgICAgICAgICAgPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJtYXJnaW46IDVweDsiPgogICAgICAgIDxoMyBjbGFzcz0ibmF2YmFyIj5Db250ZW50czwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaW5kZXguaHRtIj5Cb29zdC5Qb2x5Z29uIE1haW4gUGFnZTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iZ3RsX2Rlc2lnbl9vdmVydmlldy5odG0iPkRlc2lnbiBPdmVydmlldzwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iZ3RsX2lzb3Ryb3B5Lmh0bSI+SXNvdHJvcHk8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imd0bF9jb29yZGluYXRlX2NvbmNlcHQuaHRtIj5Db29yZGluYXRlIENvbmNlcHQ8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imd0bF9pbnRlcnZhbF9jb25jZXB0Lmh0bSI+SW50ZXJ2YWwgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3BvaW50X2NvbmNlcHQuaHRtIj5Qb2ludCBDb25jZXB0PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcmVjdGFuZ2xlX2NvbmNlcHQuaHRtIj5SZWN0YW5nbGUgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3BvbHlnb25fOTBfY29uY2VwdC5odG0iPlBvbHlnb24gOTAgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3BvbHlnb25fOTBfd2l0aF9ob2xlc19jb25jZXB0Lmh0bSI+UG9seWdvbiA5MCBXaXRoIEhvbGVzIENvbmNlcHQ8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9wb2x5Z29uXzQ1X2NvbmNlcHQuaHRtIj5Qb2x5Z29uIDQ1IENvbmNlcHQ8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9wb2x5Z29uXzQ1X3dpdGhfaG9sZXNfY29uY2VwdC5odG0iPlBvbHlnb24gNDUgV2l0aCBIb2xlcyBDb25jZXB0PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcG9seWdvbl9jb25jZXB0Lmh0bSI+UG9seWdvbiBDb25jZXB0PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcG9seWdvbl93aXRoX2hvbGVzX2NvbmNlcHQuaHRtIj5Qb2x5Z29uIFdpdGggSG9sZXMgQ29uY2VwdDwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3BvbHlnb25fOTBfc2V0X2NvbmNlcHQuaHRtIj5Qb2x5Z29uIDkwIFNldCBDb25jZXB0PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcG9seWdvbl80NV9zZXRfY29uY2VwdC5odG0iPlBvbHlnb24gNDUgU2V0IENvbmNlcHQ8L2E+PC9saT4KCQkJPGxpPlBvbHlnb24gU2V0IENvbmNlcHQ8L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX2Nvbm5lY3Rpdml0eV9leHRyYWN0aW9uXzkwLmh0bSI+Q29ubmVjdGl2aXR5IEV4dHJhY3Rpb24gOTA8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9jb25uZWN0aXZpdHlfZXh0cmFjdGlvbl80NS5odG0iPkNvbm5lY3Rpdml0eSBFeHRyYWN0aW9uIDQ1PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfY29ubmVjdGl2aXR5X2V4dHJhY3Rpb24uaHRtIj5Db25uZWN0aXZpdHkgRXh0cmFjdGlvbjwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0iZ3RsX3Byb3BlcnR5X21lcmdlXzkwLmh0bSI+UHJvcGVydHkgTWVyZ2UgOTA8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9Imd0bF9wcm9wZXJ0eV9tZXJnZV80NS5odG0iPlByb3BlcnR5IE1lcmdlIDQ1PC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJndGxfcHJvcGVydHlfbWVyZ2UuaHRtIj5Qcm9wZXJ0eSBNZXJnZTwvYT48L2xpPgogICAgICAgIDwvdWw+CiAgICAgICAgPGgzIGNsYXNzPSJuYXZiYXIiPk90aGVyIFJlc291cmNlczwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iR1RMX2Jvb3N0Y29uMjAwOS5wZGYiPkdUTCBCb29zdGNvbiAyMDA5IFBhcGVyPC9hPjwvbGk+CiAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iR1RMX2Jvb3N0Y29uX2RyYWZ0MDMucGRmIj5HVEwgQm9vc3Rjb24gMjAwOSAKCQkJCVByZXNlbnRhdGlvbjwvYT48L2xpPgogICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImFuYWx5c2lzLmh0bSI+UGVyZm9ybWFuY2UgQW5hbHlzaXM8L2E+PC9saT4KICAgICAgICAJPGxpPjxhIGhyZWY9Imd0bF90dXRvcmlhbC5odG0iPkxheW91dCBWZXJzdXMgU2NoZW1hdGljIFR1dG9yaWFsPC9hPjwvbGk+CiAgICAgICAgCTxsaT48YSBocmVmPSJndGxfbWlua293c2tpX3R1dG9yaWFsLmh0bSI+TWlua293c2tpIFN1bSBUdXRvcmlhbDwvYT48L2xpPgogICAgICAgIDwvdWw+CiAgICA8L2Rpdj4KICAgICAgICA8aDMgY2xhc3M9Im5hdmJhciI+UG9seWdvbiBTcG9uc29yPC9oMz4KICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDVweDsiIGFsaWduPSJjZW50ZXIiPgogICAgICAgIDxpbWcgYm9yZGVyPSIwIiBzcmM9ImltYWdlcy9pbnRsb2dvLmdpZiIgd2lkdGg9IjEyNyIgaGVpZ2h0PSI1MSI+CiAgICA8L2Rpdj4gICAgCjwvdGQ+Cjx0ZCBzdHlsZT0icGFkZGluZy1sZWZ0OiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogMTBweDsiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTAwJSI+Cgo8IS0tIEVuZCBIZWFkZXIgLS0+Cgo8YnI+CjxwPgo8L3A+PGgxPlBvbHlnb24gU2V0IENvbmNlcHQ8L2gxPgoKPHA+IAo8cD5UaGUgcG9seWdvbl9zZXQgY29uY2VwdCB0YWcgaXMgPGZvbnQgZmFjZT0iQ291cmllciBOZXciPgpwb2x5Z29uX3NldF9jb25jZXB0PC9mb250PjwvcD4KPHA+IAo8Zm9udCBmYWNlPSJUaW1lcyBOZXcgUm9tYW4iPlRoZSBzZW1hbnRpYyBvZiBhIHBvbHlnb25fc2V0IGlzIHplcm8gb3IgbW9yZSAKZ2VvbWV0cnkgcmVnaW9ucy4mbmJzcDsgQSBQb2x5Z29uIFNldCBDb25jZXB0IG1heSBiZSBkZWZpbmVkIHdpdGggZmxvYXRpbmcgcG9pbnQgCmNvb3JkaW5hdGVzLCBidXQgYSBzbmFwIHJvdW5kaW5nIGRpc3RhbmNlIG9mIG9uZSBpbnRlZ2VyIHVuaXQgd2lsbCBzdGlsbCBiZSAKYXBwbGllZCwgZnVydGhlcm1vcmUsIGdlb21ldHJ5IG91dHNpZGUgdGhlIGRvbWFpbiB3aGVyZSBvbmUgaW50ZWdlciB1bml0IGlzIApzdWZmaWNpZW50IHRvIHByb3ZpZGUgcm9idXN0bmVzcyBtYXkgbGVhZCB0byB1bmRlZmluZWQgYmVoYXZpb3IgaW4gYWxnb3JpdGhtcy4mbmJzcDsgCkl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSBpbnRlZ2VyIGNvb3JkaW5hdGVzIGZvciByb2J1c3Qgb3BlcmF0aW9ucy4mbmJzcDsgSW4gdGhlIApjYXNlIHRoYXQgZGF0YSByZXByZXNlbnRlZCBjb250YWlucyBvbmx5IE1hbmhhdHRhbiBnZW9tZXRyeSBhIHJ1bnRpbWUgY2hlY2sgd2lsbCAKZGVmYXVsdCB0byB0aGUgTWFuaGF0dGFuIGFsZ29yaXRobS4mbmJzcDsgVGhlIHJlc3VsdHMgb2Ygd2hpY2ggYXJlIGlkZW50aWNhbCB0byAKd2hhdCB0aGUgZ2VuZXJhbCBhbGdvcml0aG0gd291bGQgZG8sIGJ1dCBvYnRhaW5lZCBtb3JlIGVmZmljaWVudGx5LiZuYnNwOyBJbiB0aGUgCmNhc2UgdGhhdCB0aGUgZGF0YSByZXByZXNlbnRlZCBjb250YWlucyBvbmx5IE1hbmhhdHRhbiBhbmQgNDUtZGVncmVlIGdlb21ldHJ5IGEgCnJ1bnRpbWUgY2hlY2sgd2lsbCBkZWZhdWx0IHRvIHRoZSBmYXN0ZXIgNDUtZGVncmVlIGFsZ29yaXRobS4mbmJzcDsgVGhlIHJlc3VsdHMgCm9mIHdoaWNoIG1heSBkaWZmZXIgc2xpZ2h0IGZyb20gd2hhdCB0aGUgZ2VuZXJhbCBhbGdvcml0aG0gd291bGQgZG8gYmVjYXVzZSAKbm9uLWludGVnZXIgaW50ZXJzZWN0aW9ucyB3aWxsIGJlIGhhbmRsZWQgZGlmZmVyZW50bHkuPC9mb250PjxwPlVzZXJzIGFyZSByZWNvbW1lbmRlZCB0byB1c2Ugc3RkOjp2ZWN0b3IgYW5kIHN0ZDo6bGlzdCBvZiB1c2VyIGRlZmluZWQgcG9seWdvbnMgCm9yIGxpYnJhcnkgcHJvdmlkZWQgcG9seWdvbl9zZXRfZGF0YSZsdDtjb29yZGluYXRlX3R5cGUmZ3Q7IG9iamVjdHMuJm5ic3A7IExpc3RzIAphbmQgdmVjdG9ycyBvZiBtb2RlbHMgb2YgcG9seWdvbl9jb25jZXB0IG9yIHBvbHlnb25fd2l0aF9ob2xlc19jb25jZXB0IGFyZSBhdXRvbWF0aWNhbGx5IG1vZGVscyBvZiBwb2x5Z29uX3NldF9jb25jZXB0LjwvcD4KPHA+RXhhbXBsZSBjb2RlIDxhIGhyZWY9Imd0bF9jdXN0b21fcG9seWdvbl9zZXQuaHRtIj5jdXN0b21fcG9seWdvbl9zZXQuY3BwPC9hPiAKCQlkZW1vbnN0cmF0ZXMgbWFwcGluZyBhIHVzZXIgZGVmaW5lZCBjbGFzcyB0byB0aGUgbGlicmFyeSBwb2x5Z29uX3NldF9jb25jZXB0PC9wPgo8cD5BbiBvYmplY3QgdGhhdCBpcyBhIG1vZGVsIG9mIDxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij4KcG9seWdvbl9zZXRfY29uY2VwdDwvZm9udD4gY2FuIGJlIHZpZXdlZCBhcyBhIG1vZGVsIG9mIDxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij4KcG9seWdvbl85MF9zZXRfY29uY2VwdDwvZm9udD4gb3IgPGZvbnQgZmFjZT0iQ291cmllciBOZXciPgpwb2x5Z29uXzQ1X3NldF9jb25jZXB0PC9mb250PiBpZiBpdCBpcyBkZXRlcm1pbmVkIGF0IHJ1bnRpbWUgdG8gY29uZm9ybSB0byB0aGUgCnJlc3RyaWN0aW9ucyBvZiB0aG9zZSBjb25jZXB0cy4mbmJzcDsgVGhpcyBjb25jZXB0IGNhc3RpbmcgaXMgYWNjb21wbGlzaGVkIAp0aHJvdWdoIHRoZSA8Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dmlld19hcyZsdDsmZ3Q7KCk8L2ZvbnQ+IGZ1bmN0aW9uLjwvcD4KPHA+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnZpZXdfYXMmbHQ7cG9seWdvbl85MF9zZXRfY29uY2VwdCZndDsocG9seWdvbl9zZXRfb2JqZWN0KTxicj4Kdmlld19hcyZsdDtwb2x5Z29uXzQ1X3NldF9jb25jZXB0Jmd0Oyhwb2x5Z29uX3NldF9vYmplY3QpPC9mb250PjwvcD4KPHA+VGhlIHJldHVybiB2YWx1ZSBvZiA8Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dmlld19hcyZsdDsmZ3Q7KCk8L2ZvbnQ+IGNhbiBiZSBwYXNzZWQgCmludG8gYW55IGludGVyZmFjZSB0aGF0IGV4cGVjdHMgYW4gb2JqZWN0IG9mIHRoZSBjb25jZXB0dWFsIHR5cGUgc3BlY2lmaWVkIGluIAppdHMgdGVtcGxhdGUgcGFyYW1ldGVyLiZuYnNwOyBQb2x5Z29uIHNldHMgY2Fubm90IGJlIHZpZXdlZCBhcyBzaW5nbGUgcG9seWdvbnMgCm9yIHJlY3RhbmdsZXMgc2luY2UgaXQgZ2VuZXJhbGx5IGNhbm5vdCBiZSBrbm93biB3aGV0aGVyIGEgcG9seWdvbiBzZXQgY29udGFpbnMgCm9ubHkgYSBzaW5nbGUgcG9seWdvbiB3aXRob3V0IGNvbnZlcnRpbmcgdG8gcG9seWdvbnMuPC9wPgo8aDI+T3BlcmF0b3JzPC9oMj4KPHA+VGhlIHJldHVybiB0eXBlIG9mIHNvbWUgb3BlcmF0b3JzIGlzIHRoZSA8Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+cG9seWdvbl9zZXRfdmlldzwvZm9udD4gCm9wZXJhdG9yIHRlbXBsYXRlIHR5cGUuJm5ic3A7IFRoaXMgdHlwZSBpcyBpdHNlbGYgYSBtb2RlbCBvZiB0aGUgcG9seWdvbiA5MCBzZXQgCmNvbmNlcHQsIGJ1dCBmdXJ0aGVybW9yZSBjYW4gYmUgdXNlZCBhcyBhbiBhcmd1bWVudCB0byB0aGUgPGZvbnQgZmFjZT0iQ291cmllciBOZXciPnBvbHlnb25fc2V0X2RhdGE8L2ZvbnQ+IApjb25zdHJ1Y3RvciBhbmQgYXNzaWdubWVudCBvcGVyYXRvci4mbmJzcDsgVGhlIG9wZXJhdG9yIHRlbXBsYXRlIGV4aXN0cyB0byAKZWxpbWluYXRlIHRlbXAgY29waWVzIG9mIGludGVybWVkaWF0ZSByZXN1bHRzIHdoZW4gQm9vbGVhbiBvcGVyYXRvcnMgYXJlIGNoYWluZWQgCnRvZ2V0aGVyLjwvcD4KPHA+T3BlcmF0b3JzIGFyZSBkZWNsYXJlZCBpbnNpZGUgdGhlIG5hbWVzcGFjZSA8Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+Ym9vc3Q6OnBvbHlnb246Om9wZXJhdG9yczwvZm9udD4uPC9wPgo8dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSIgaWQ9InRhYmxlNSI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDEsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQlwb2x5Z29uX3NldF92aWV3IDxiPm9wZXJhdG9yPC9iPnwoY29uc3QgVDEmYW1wOyBsLCBjb25zdCBUMiZhbXA7IHIpPC9mb250PjwvdGQ+CgkJPHRkPkJvb2xlYW4gT1Igb3BlcmF0aW9uIChwb2x5Z29uIHNldCB1bmlvbikuJm5ic3A7IEFjY2VwdHMgdHdvIG9iamVjdHMgCgkJdGhhdCBtb2RlbCBwb2x5Z29uX3NldCBvciBvbmUgb2YgaXRzIHJlZmluZW1lbnRzLiZuYnNwOyBSZXR1cm5zIGFuIAoJCW9wZXJhdG9yIHRlbXBsYXRlIHRoYXQgcGVyZm9ybXMgdGhlIG9wZXJhdGlvbiBvbiBkZW1hbmQgd2hlbiBjaGFpbmVkIG9yIAoJCW9yIG5lc3RlZCBpbiBhIGxpYnJhcnkgZnVuY3Rpb24gY2FsbCBzdWNoIGFzIGFzc2lnbigpLiZuYnNwOyBFeHBlY3RlZCBuIAoJCWxvZyBuIHJ1bnRpbWUsIHdvcnN0IGNhc2UgcXVhZHJhdGljIHJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIAoJCWludGVyc2VjdGlvbnMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDEsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQlwb2x5Z29uX3NldF92aWV3IDxiPm9wZXJhdG9yPC9iPisoY29uc3QgVDEmYW1wOyBsLCBjb25zdCBUMiZhbXA7IHIpPC9mb250PjwvdGQ+CgkJPHRkPlNhbWUgYXMgb3BlcmF0b3J8LiZuYnNwOyBUaGUgcGx1cyBzaWduIGlzIGFsc28gdXNlZCBmb3IgT1IgCgkJb3BlcmF0aW9ucyBpbiBCb29sZWFuIGxvZ2ljIGV4cHJlc3Npb25zLiZuYnNwOyBFeHBlY3RlZCBuIGxvZyBuIHJ1bnRpbWUsIAoJCXdvcnN0IGNhc2UgcXVhZHJhdGljIHJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIGludGVyc2VjdGlvbnMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDEsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQlwb2x5Z29uX3NldF92aWV3IDxiPm9wZXJhdG9yPC9iPiZhbXA7KGNvbnN0IFQxJmFtcDsgbCwgY29uc3QgVDImYW1wOyByKTwvZm9udD48L3RkPgoJCTx0ZD5Cb29sZWFuIEFORCBvcGVyYXRpb24gKHBvbHlnb24gc2V0IGludGVyc2VjdGlvbikuJm5ic3A7IEFjY2VwdHMgdHdvIAoJCW9iamVjdHMgdGhhdCBtb2RlbCBwb2x5Z29uX3NldCBvciBvbmUgb2YgaXRzIHJlZmluZW1lbnRzLiZuYnNwOyBFeHBlY3RlZCAKCQluIGxvZyBuIHJ1bnRpbWUsIHdvcnN0IGNhc2UgcXVhZHJhdGljIHJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIAoJCWludGVyc2VjdGlvbnMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDEsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQlwb2x5Z29uX3NldF92aWV3IDxiPm9wZXJhdG9yPC9iPiooY29uc3QgVDEmYW1wOyBsLCBjb25zdCBUMiZhbXA7IHIpPC9mb250PjwvdGQ+CgkJPHRkPlNhbWUgYXMgb3BlcmF0b3ImYW1wOy4mbmJzcDsgVGhlIG11bHRpcGxpY2F0aW9uIHN5bWJvbCBpcyBhbHNvIHVzZWQgZm9yIAoJCUFORCBvcGVyYXRpb25zIGluIEJvb2xlYW4gbG9naWMgZXhwcmVzc2lvbnMuJm5ic3A7IEV4cGVjdGVkIG4gbG9nIG4gCgkJcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUMSwgdHlwZW5hbWUgCgkJVDImZ3Q7PGJyPgoJCXBvbHlnb25fc2V0X3ZpZXcgPGI+b3BlcmF0b3I8L2I+Xihjb25zdCBUMSZhbXA7IGwsIGNvbnN0IFQyJmFtcDsgcik8L2ZvbnQ+PC90ZD4KCQk8dGQ+Qm9vbGVhbiBYT1Igb3BlcmF0aW9uIChwb2x5Z29uIHNldCBkaXNqb2ludC11bmlvbikuJm5ic3A7IEFjY2VwdHMgCgkJdHdvIG9iamVjdHMgdGhhdCBtb2RlbCBwb2x5Z29uX3NldCBvciBvbmUgb2YgaXRzIHJlZmluZW1lbnRzLiZuYnNwOyAKCQlFeHBlY3RlZCBuIGxvZyBuIHJ1bnRpbWUsIHdvcnN0IGNhc2UgcXVhZHJhdGljIHJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIAoJCWludGVyc2VjdGlvbnMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDEsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQlwb2x5Z29uX3NldF92aWV3IDxiPm9wZXJhdG9yPC9iPi0oY29uc3QgVDEmYW1wOyBsLCBjb25zdCBUMiZhbXA7IHIpPC9mb250PjwvdGQ+CgkJPHRkPkJvb2xlYW4gU1VCVFJBQ1Qgb3BlcmF0aW9uIChwb2x5Z29uIHNldCBkaWZmZXJlbmNlKS4mbmJzcDsgQWNjZXB0cyAKCQl0d28gb2JqZWN0cyB0aGF0IG1vZGVsIHBvbHlnb25fc2V0IG9yIG9uZSBvZiBpdHMgcmVmaW5lbWVudHMuJm5ic3A7IAoJCUV4cGVjdGVkIG4gbG9nIG4gcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgCgkJaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUMSwgdHlwZW5hbWUgCgkJVDImZ3Q7PGJyPgoJCVQxJmFtcDsgPGI+b3BlcmF0b3I8L2I+fD0oY29uc3QgVDEmYW1wOyBsLCBjb25zdCBUMiZhbXA7IHIpPC9mb250PjwvdGQ+CgkJPHRkPlNhbWUgYXMgb3BlcmF0b3J8LCBidXQgd2l0aCBzZWxmIGFzc2lnbm1lbnQsIGxlZnQgb3BlcmFuZCBtdXN0IG1vZGVsIAoJCXBvbHlnb25fc2V0IGFuZCBub3Qgb25lIG9mIGl0J3MgcmVmaW5lbWVudHMuJm5ic3A7IEV4cGVjdGVkIG4gbG9nIG4gCgkJcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUMSwgdHlwZW5hbWUgCgkJVDImZ3Q7PGJyPgoJCVQxJmFtcDsgPGI+b3BlcmF0b3I8L2I+Kz0oVDEmYW1wOyBsLCBjb25zdCBUMiZhbXA7IHIpPC9mb250PjwvdGQ+CgkJPHRkPlNhbWUgYXMgb3BlcmF0b3IrLCBidXQgd2l0aCBzZWxmIGFzc2lnbm1lbnQsIGxlZnQgb3BlcmFuZCBtdXN0IG1vZGVsIAoJCXBvbHlnb25fc2V0IGFuZCBub3Qgb25lIG9mIGl0J3MgcmVmaW5lbWVudHMuJm5ic3A7IEV4cGVjdGVkIG4gbG9nIG4gCgkJcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUMSwgdHlwZW5hbWUgCgkJVDImZ3Q7PGJyPgoJCVQxJmFtcDsgPGI+b3BlcmF0b3I8L2I+JmFtcDs9KGNvbnN0IFQxJmFtcDsgbCwgY29uc3QgVDImYW1wOyByKTwvZm9udD48L3RkPgoJCTx0ZD5TYW1lIGFzIG9wZXJhdG9yJmFtcDssIGJ1dCB3aXRoIHNlbGYgYXNzaWdubWVudCwgbGVmdCBvcGVyYW5kIG11c3QgbW9kZWwgCgkJcG9seWdvbl9zZXQgYW5kIG5vdCBvbmUgb2YgaXQncyByZWZpbmVtZW50cy4mbmJzcDsgRXhwZWN0ZWQgbiBsb2cgbiAKCQlydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyBydW50aW1lIHdydC4gdmVydGljZXMgKyBpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQxLCB0eXBlbmFtZSAKCQlUMiZndDs8YnI+CgkJVDEmYW1wOyA8Yj5vcGVyYXRvcjwvYj4qPShUMSZhbXA7IGwsIGNvbnN0IFQyJmFtcDsgcik8L2ZvbnQ+PC90ZD4KCQk8dGQ+U2FtZSBhcyBvcGVyYXRvciosIGJ1dCB3aXRoIHNlbGYgYXNzaWdubWVudCwgbGVmdCBvcGVyYW5kIG11c3QgbW9kZWwgCgkJcG9seWdvbl9zZXQgYW5kIG5vdCBvbmUgb2YgaXQncyByZWZpbmVtZW50cy4mbmJzcDsgRXhwZWN0ZWQgbiBsb2cgbiAKCQlydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyBydW50aW1lIHdydC4gdmVydGljZXMgKyBpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQxLCB0eXBlbmFtZSAKCQlUMiZndDs8YnI+CgkJVDEmYW1wOyA8Yj5vcGVyYXRvcjwvYj5ePShjb25zdCBUMSZhbXA7IGwsIGNvbnN0IFQyJmFtcDsgcik8L2ZvbnQ+PC90ZD4KCQk8dGQ+U2FtZSBhcyBvcGVyYXRvcl4sIGJ1dCB3aXRoIHNlbGYgYXNzaWdubWVudCwgbGVmdCBvcGVyYW5kIG11c3QgbW9kZWwgCgkJcG9seWdvbl9zZXQgYW5kIG5vdCBvbmUgb2YgaXQncyByZWZpbmVtZW50cy4mbmJzcDsgRXhwZWN0ZWQgbiBsb2cgbiAKCQlydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyBydW50aW1lIHdydC4gdmVydGljZXMgKyBpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQxLCB0eXBlbmFtZSAKCQlUMiZndDs8YnI+CgkJVDEmYW1wOyA8Yj5vcGVyYXRvcjwvYj4tPShUMSZhbXA7IGwsIGNvbnN0IFQyJmFtcDsgcik8L2ZvbnQ+PC90ZD4KCQk8dGQ+U2FtZSBhcyBvcGVyYXRvci0sIGJ1dCB3aXRoIHNlbGYgYXNzaWdubWVudCwgbGVmdCBvcGVyYW5kIG11c3QgbW9kZWwgCgkJcG9seWdvbl9zZXQgYW5kIG5vdCBvbmUgb2YgaXQncyByZWZpbmVtZW50cy4mbmJzcDsgRXhwZWN0ZWQgbiBsb2cgbiAKCQlydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyBydW50aW1lIHdydC4gdmVydGljZXMgKyBpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQxJmd0Ozxicj4KCQlUMSA8Yj5vcGVyYXRvcjwvYj4rKGNvbnN0IFQxJmFtcDssIGNvb3JkaW5hdGVfdHlwZSBibG9hdGluZyk8L2ZvbnQ+PC90ZD4KCQk8dGQ+UGVyZm9ybXMgcmVzaXplIG9wZXJhdGlvbiwgaW5mbGF0aW5nIGJ5IGJsb2F0aW5nIGFtbW91bnQuJm5ic3A7IElmIAoJCW5lZ2F0aXZlIHRoZSByZXN1bHQgaXMgYSBzaHJpbmsgaW5zdGVhZCBvZiBibG9hdC4mbmJzcDsgTm90ZTogcmV0dXJucyAKCQlyZXN1bHQgYnkgdmFsdWUuJm5ic3A7IEV4cGVjdGVkIG4gbG9nIG4gcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgCgkJcnVudGltZSB3cnQuIHZlcnRpY2VzICsgaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUMSwgdHlwZW5hbWUgCgkJVDImZ3Q7PGJyPgoJCVQxIDxiPm9wZXJhdG9yPC9iPi0oY29uc3QgVDEmYW1wOywgY29vcmRpbmF0ZV90eXBlIHNocmlua2luZyk8L2ZvbnQ+PC90ZD4KCQk8dGQ+UGVyZm9ybXMgcmVzaXplIG9wZXJhdGlvbiwgZGVmbGF0aW5nIGJ5IGJsb2F0aW5nIGFtbW91bnQuJm5ic3A7IElmIAoJCW5lZ2F0aXZlIHRoZSByZXN1bHQgaXMgYSBibG9hdCBpbnN0ZWFkIG9mIHNocmluay4mbmJzcDsgTm90ZTogcmV0dXJucyAKCQlyZXN1bHQgYnkgdmFsdWUuJm5ic3A7IEV4cGVjdGVkIG4gbG9nIG4gcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgCgkJcnVudGltZSB3cnQuIHZlcnRpY2VzICsgaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUMSwgdHlwZW5hbWUgCgkJVDImZ3Q7PGJyPgoJCVQxJmFtcDsgPGI+b3BlcmF0b3I8L2I+Kz0oY29uc3QgVDEmYW1wOywgY29vcmRpbmF0ZV90eXBlIGJsb2F0aW5nKTwvZm9udD48L3RkPgoJCTx0ZD5QZXJmb3JtcyByZXNpemUgb3BlcmF0aW9uLCBpbmZsYXRpbmcgYnkgYmxvYXRpbmcgYW1tb3VudC4mbmJzcDsgSWYgCgkJbmVnYXRpdmUgdGhlIHJlc3VsdCBpcyBhIHNocmluayBpbnN0ZWFkIG9mIGJsb2F0LiZuYnNwOyBSZXR1cm5zIAoJCXJlZmVyZW5jZSB0byBtb2RpZmllZCBhcmd1bWVudC4mbmJzcDsgRXhwZWN0ZWQgbiBsb2cgbiBydW50aW1lLCB3b3JzdCAKCQljYXNlIHF1YWRyYXRpYyBydW50aW1lIHdydC4gdmVydGljZXMgKyBpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQxLCB0eXBlbmFtZSAKCQlUMiZndDs8YnI+CgkJVDEmYW1wOyA8Yj5vcGVyYXRvcjwvYj4tPShjb25zdCBUMSZhbXA7LCBjb29yZGluYXRlX3R5cGUgc2hyaW5raW5nKTwvZm9udD48L3RkPgoJCTx0ZD5QZXJmb3JtcyByZXNpemUgb3BlcmF0aW9uLCBkZWZsYXRpbmcgYnkgYmxvYXRpbmcgYW1tb3VudC4mbmJzcDsgSWYgCgkJbmVnYXRpdmUgdGhlIHJlc3VsdCBpcyBhIGJsb2F0IGluc3RlYWQgb2Ygc2hyaW5rLiZuYnNwOyBSZXR1cm5zIAoJCXJlZmVyZW5jZSB0byBtb2RpZmllZCBhcmd1bWVudC4mbmJzcDsgRXhwZWN0ZWQgbiBsb2cgbiBydW50aW1lLCB3b3JzdCAKCQljYXNlIHF1YWRyYXRpYyBydW50aW1lIHdydC4gdmVydGljZXMgKyBpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPC90YWJsZT4KPGgyPkZ1bmN0aW9uczwvaDI+Cjx0YWJsZSBib3JkZXI9IjEiIHdpZHRoPSIxMDAlIiBpZD0idGFibGU2Ij4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUMSwgdHlwZW5hbWUgCgkJVDImZ3Q7PGJyPgoJCVQxJmFtcDsgPGI+YXNzaWduPC9iPihUMSZhbXA7IGx2YWx1ZSwgY29uc3QgVDImYW1wOyBydmFsdWUpPC9mb250PjwvdGQ+CgkJPHRkPkVsaW1pbmF0ZXMgb3ZlcmxhcHMgaW4gZ2VvbWV0cnkgYW5kIGNvcGllcyBmcm9tIGFuIG9iamVjdCB0aGF0IAoJCW1vZGVscyBwb2x5Z29uX3NldCBvciBhbnkgb2YgaXRzIHJlZmluZW1lbnRzIGludG8gYW4gb2JqZWN0IHRoYXQgCgkJbW9kZWxzIHBvbHlnb25fc2V0LiZuYnNwOyBFeHBlY3RlZCBuIGxvZyBuIHJ1bnRpbWUsIHdvcnN0IGNhc2UgcXVhZHJhdGljIAoJCXJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIGludGVyc2VjdGlvbnMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVDEsIHR5cGVuYW1lIAoJCVQyJmd0Ozxicj4KCQlib29sIDxiPmVxdWl2YWxlbmNlPC9iPihjb25zdCBUMSZhbXA7IGx2YWx1ZSwgY29uc3QgVDImYW1wOyBydmFsdWUpIDwvZm9udD48L3RkPgoJCTx0ZD5SZXR1cm5zIHRydWUgaWYgYW4gb2JqZWN0IHRoYXQgbW9kZWxzIHBvbHlnb25fc2V0IG9yIG9uZSBvZiBpdHMgCgkJcmVmaW5lbWVudHMgY292ZXJzIHRoZSBleGFjdCBzYW1lIGdlb21ldHJpYyByZWdpb25zIGFzIGFub3RoZXIgb2JqZWN0IAoJCXRoYXQgbW9kZWxzIHBvbHlnb25fc2V0IG9yIG9uZSBvZiBpdHMgcmVmaW5lbWVudHMuJm5ic3A7IEZvciBleGFtcGxlOiAKCQl0d28gb2YgcG9seWdvbiBvYmplY3RzLiZuYnNwOyBFeHBlY3RlZCBuIGxvZyBuIHJ1bnRpbWUsIHdvcnN0IGNhc2UgCgkJcXVhZHJhdGljIHJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIGludGVyc2VjdGlvbnMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgCgkJb3V0cHV0X2NvbnRhaW5lcl90eXBlLCB0eXBlbmFtZSBUJmd0Ozxicj4KCQl2b2lkIDxiPmdldF90cmFwZXpvaWRzPC9iPihvdXRwdXRfY29udGFpbmVyX3R5cGUmYW1wOyBvdXRwdXQsIDxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IAoJCWNvbnN0IFQmYW1wOyBwb2x5Z29uX3NldCk8L2ZvbnQ+PC90ZD4KCQk8dGQ+T3V0cHV0IGNvbnRhaW5lciBpcyBleHBlY3RlZCB0byBiZSBhIHN0YW5kYXJkIGNvbnRhaW5lci4mbmJzcDsgCgkJU2xpY2VzIGdlb21ldHJ5IG9mIGFuIG9iamVjdCB0aGF0IG1vZGVscyBwb2x5Z29uX3NldCBvciBvbmUgb2YgaXRzIAoJCXJlZmluZW1lbnRzIGludG8gbm9uIG92ZXJsYXBwaW5nIHRyYXBlem9pZHMgYWxvbmcgYSB2ZXJ0aWNhbCBzbGljaW5nIAoJCW9yaWVudGF0aW9uIGFuZCBhcHBlbmRzIHRoZW0gdG8gdGhlIAoJCW91dHB1dCwgd2hpY2ggbXVzdCBoYXZlIGEgdmFsdWUgdHlwZSB0aGF0IG1vZGVscyBwb2x5Z29uIG9yIHBvbHlnb25fd2l0aF9ob2xlcy4mbmJzcDsgCgkJRXhwZWN0ZWQgbiBsb2cgbiBydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyBydW50aW1lIHdydC4gdmVydGljZXMgKyAKCQlpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIAoJCW91dHB1dF9jb250YWluZXJfdHlwZSwgdHlwZW5hbWUgVCZndDs8YnI+CgkJdm9pZCA8Yj5nZXRfdHJhcGV6b2lkczwvYj4ob3V0cHV0X2NvbnRhaW5lcl90eXBlJmFtcDsgb3V0cHV0LCA8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAKCQljb25zdCBUJmFtcDsgcG9seWdvbl9zZXQsPGJyPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgb3JpZW50YXRpb25fMmQgb3JpZW50KTwvZm9udD48L3RkPgoJCTx0ZD5PdXRwdXQgY29udGFpbmVyIGlzIGV4cGVjdGVkIHRvIGJlIGEgc3RhbmRhcmQgY29udGFpbmVyLiZuYnNwOyAKCQlTbGljZXMgZ2VvbWV0cnkgb2YgYW4gb2JqZWN0IHRoYXQgbW9kZWxzIHBvbHlnb25fc2V0IG9yIG9uZSBvZiBpdHMgCgkJcmVmaW5lbWVudHMgaW50byBub24gb3ZlcmxhcHBpbmcgdHJhcGV6b2lkcyBhbG9uZyBhIHRoZSBzcGVjaWZpZWQgc2xpY2luZyAKCQlvcmllbnRhdGlvbiBhbmQgYXBwZW5kcyB0aGVtIHRvIHRoZSAKCQlvdXRwdXQsIHdoaWNoIG11c3QgaGF2ZSBhIHZhbHVlIHR5cGUgdGhhdCBtb2RlbHMgcG9seWdvbiBvciBwb2x5Z29uX3dpdGhfaG9sZXMuJm5ic3A7IAoJCUV4cGVjdGVkIG4gbG9nIG4gcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgCgkJaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSAKCQlwb2x5Z29uX3NldF90eXBlJmd0Ozxicj4KCQl2b2lkIDxiPmNsZWFyPC9iPihwb2x5Z29uX3NldF90eXBlJmFtcDsgcG9seWdvbl9zZXQpPC9mb250PjwvdGQ+CgkJPHRkPk1ha2VzIHRoZSBvYmplY3QgZW1wdHkgb2YgZ2VvbWV0cnkuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgCgkJcG9seWdvbl9zZXRfdHlwZSZndDs8YnI+CgkJYm9vbCA8Yj5lbXB0eTwvYj4oY29uc3QgcG9seWdvbl9zZXRfdHlwZSZhbXA7IHBvbHlnb25fc2V0KTwvZm9udD48L3RkPgoJCTx0ZD5DaGVja3Mgd2hldGhlciB0aGUgb2JqZWN0IGlzIGVtcHR5IG9mIGdlb21ldHJ5LiZuYnNwOyBQb2x5Z29ucyB0aGF0IAoJCWFyZSBjb21wbGV0ZWx5IGNvdmVyZWQgYnkgaG9sZXMgd2lsbCByZXN1bHQgaW4gZW1wdHkgcmV0dXJuaW5nIHRydWUuJm5ic3A7IAoJCUV4cGVjdGVkIG4gbG9nIG4gcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgCgkJaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBULCB0eXBlbmFtZSAKCQlyZWN0YW5nbGVfdHlwZSZndDs8YnI+CgkJYm9vbCA8Yj5leHRlbnRzPC9iPihyZWN0YW5nbGVfdHlwZSZhbXA7IGV4dGVudHNfcmVjdGFuZ2xlLCA8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb25zdCAKCQlUJmFtcDsgcG9seWdvbl9zZXQpPC9mb250PjwvdGQ+CgkJPHRkPkNvbXB1dGVzIGJvdW5kaW5nIGJveCBvZiBhbiBvYmplY3QgdGhhdCBtb2RlbHMgcG9seWdvbl9zZXQgYW5kIAoJCXN0b3JlcyBpdCBpbiBhbiBvYmplY3QgdGhhdCBtb2RlbHMgcmVjdGFuZ2xlLiZuYnNwOyBJZiB0aGUgcG9seWdvbiBzZXQgCgkJaXMgZW1wdHkgcmV0dXJucyBmYWxzZS4mbmJzcDsgSWYgdGhlcmUgYXJlIGhvbGVzIG91dHNpZGUgb2Ygc2hlbGxzIHRoZXkgCgkJZG8gbm90IGNvbnRyaWJ1dGUgdG8gdGhlIGV4dGVudHMgb2YgdGhlIHBvbHlnb24gc2V0LiZuYnNwOyBFeHBlY3RlZCBuIAoJCWxvZyBuIHJ1bnRpbWUsIHdvcnN0IGNhc2UgcXVhZHJhdGljIHJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIAoJCWludGVyc2VjdGlvbnMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVCZndDs8YnI+CgkJYXJlYV90eXBlIDxiPmFyZWE8L2I+KGNvbnN0IFQmYW1wOyBwb2x5Z29uX3NldCk8L2ZvbnQ+PC90ZD4KCQk8dGQ+Q29tcHV0ZXMgdGhlIGFyZWEgY292ZXJlZCBieSBnZW9tZXRyeSBpbiBhbiBvYmplY3QgdGhhdCBtb2RlbHMgCgkJcG9seWdvbl9zZXQuJm5ic3A7IEV4cGVjdGVkIG4gbG9nIG4gcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgCgkJcnVudGltZSB3cnQuIHZlcnRpY2VzICsgaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUJmd0Ozxicj4KCQlUJmFtcDsgPGI+YmxvYXQ8L2I+KFQmYW1wOyBwb2x5Z29uX3NldCwgdW5zaWduZWRfYXJlYV90eXBlIGJsb2F0aW5nKTwvZm9udD48L3RkPgoJCTx0ZD5TYW1lIGFzIGdldHRpbmcgYWxsIHRoZSBwb2x5Z29ucywgYmxvYXRpbmcgdGhlbSBhbmQgcHV0dGluZyB0aGVtIAoJCWJhY2suJm5ic3A7IEV4cGVjdGVkIG4gbG9nIG4gcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIAoJCXZlcnRpY2VzICsgaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBUJmd0Ozxicj4KCQlUJmFtcDsgPGI+c2hyaW5rPC9iPihUJmFtcDsgcG9seWdvbl9zZXQsIHVuc2lnbmVkX2FyZWFfdHlwZSBzaHJpbmtpbmcpPC9mb250PjwvdGQ+CgkJPHRkPlNhbWUgYXMgZ2V0dGluZyBhbGwgdGhlIHBvbHlnb25zLCBzaHJpbmtpbmcgdGhlbSBhbmQgb3ZlcndyaXRpbmcgCgkJdGhlIHBvbHlnb24gc2V0IHdpdGggdGhlIHJlc3VsdGluZyByZWdpb25zLiZuYnNwOyBFeHBlY3RlZCBuIGxvZyBuIAoJCXJ1bnRpbWUsIHdvcnN0IGNhc2UgcXVhZHJhdGljIHJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIGludGVyc2VjdGlvbnMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVCwgdHlwZW5hbWUgCgkJY29vcmRfdHlwZSZndDs8YnI+CgkJVCZhbXA7IDxiPnJlc2l6ZTwvYj4oVCZhbXA7IHBvbHlnb25fc2V0LCBjb29yZF90eXBlIHJlc2l6aW5nLDxicj4gCgkJJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IAoJCWJvb2wgY29ybmVyX2ZpbGxfYXJjID0gZmFsc2UsIDxicj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgCgkJdW5zaWduZWQgaW50IG51bV9jaXJjbGVfc2VnbWVudHMgPSAwKTwvZm9udD48L3RkPgoJCTx0ZD5TYW1lIGFzIGJsb2F0IGlmIHJlc2l6aW5nIGlzIHBvc2l0aXZlLCBzYW1lIGFzIHNocmluayBpZiByZXNpemluZyBpcyAKCQluZWdhdGl2ZS4mbmJzcDsgT3JpZ2luYWwgdG9wb2xvZ3kgYXQgYWN1dGUgYW5nbGUgdmVydGljZXMgaXMgcHJlc2VydmVkIAoJCWJ5IGRlZmF1bHQsIHNlZ21lbnRlZCBjaXJjdWxhciBhcmNzIGFyZSBpbnNlcnRlZCBpZiBjb3JuZXJfZmlsbF9hcmMgaXMgCgkJdHJ1ZS4mbmJzcDsgbnVtX2NpcmNsZV9zZWdtZW50cyBzcGVjaWZpZXMgbnVtYmVyIG9mIHNlZ21lbnRzIHRvIAoJCWludHJvZHVjZSBvbiBhIGZ1bGwgY2lyY2xlIHdoZW4gZmlsbGluZyBhY3V0ZSBhbmdsZSBjb3JuZXJzIHdpdGggCgkJY2lyY3VsYXIgYXJjcy4mbmJzcDsgRXhwZWN0ZWQgbiBsb2cgbiBydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyAKCQlydW50aW1lIHdydC4gdmVydGljZXMgKyBpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQmZ3Q7PGJyPgpUJmFtcDsgPGI+c2NhbGVfdXA8L2I+KFQmYW1wOyBwb2x5Z29uX3NldCwgdW5zaWduZWRfYXJlYV90eXBlIGZhY3Rvcik8L2ZvbnQ+PC90ZD4KCQk8dGQ+U2NhbGVzIGdlb21ldHJ5IHVwIGJ5IHVuc2lnbmVkIGZhY3Rvci4mbmJzcDsgRXhwZWN0ZWQgbiBsb2cgbiAKCQlydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyBydW50aW1lIHdydC4gdmVydGljZXMgKyBpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQmZ3Q7PGJyPgpUJmFtcDsgPGI+c2NhbGVfZG93bjwvYj4oVCZhbXA7IHBvbHlnb25fc2V0LCB1bnNpZ25lZF9hcmVhX3R5cGUgZmFjdG9yKTwvZm9udD48L3RkPgoJCTx0ZD5TY2FsZXMgZ2VvbWV0cnkgZG93biBieSB1bnNpZ25lZCBmYWN0b3IuJm5ic3A7IEV4cGVjdGVkIG4gbG9nIG4gCgkJcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBULCB0eXBlbmFtZSB0cmFuc2Zvcm1hdGlvbl90eXBlJmd0Ozxicj4KVCZhbXA7IDxiPnRyYW5zZm9ybTwvYj4oVCZhbXA7IHBvbHlnb25fc2V0LDxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbnN0IAp0cmFuc2Zvcm1hdGlvbl90eXBlJmFtcDsgdHJhbnNmb3JtYXRpb24pPC9mb250PjwvdGQ+CgkJPHRkPkFwcGxpZXMgdHJhbnNmb3JtYXRpb24udHJhbnNmb3JtKCkgb24gYWxsIHZlcnRpY2VzLiZuYnNwOyBFeHBlY3RlZCBuIAoJCWxvZyBuIHJ1bnRpbWUsIHdvcnN0IGNhc2UgcXVhZHJhdGljIHJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIAoJCWludGVyc2VjdGlvbnMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgVCZndDs8YnI+ClQmYW1wOyA8Yj5rZWVwPC9iPihUJmFtcDsgcG9seWdvbl9zZXQsIDxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHVuc2lnbmVkX2FyZWFfdHlwZSBtaW5fYXJlYSw8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB1bnNpZ25lZF9hcmVhX3R5cGUgbWF4X2FyZWEsPGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdW5zaWduZWRfYXJlYV90eXBlIG1pbl93aWR0aCw8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB1bnNpZ25lZF9hcmVhX3R5cGUgbWF4X3dpZHRoLDxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHVuc2lnbmVkX2FyZWFfdHlwZSBtaW5faGVpZ2h0LDxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHVuc2lnbmVkX2FyZWFfdHlwZSBtYXhfaGVpZ2h0KTwvZm9udD48L3RkPgoJCTx0ZD5SZXRhaW5zIG9ubHkgcmVnaW9ucyB0aGF0IHNhdGlzZnkgdGhlIG1pbi9tYXggY3JpdGVyaWEgaW4gdGhlIAoJCWFyZ3VtZW50IGxpc3QuJm5ic3A7IE5vdGU6IHVzZWZ1bCBmb3IgdmlzdWFsaXphdGlvbiB0byBjdWxsIHRvbyBzbWFsbCAKCQlwb2x5Z29ucy4mbmJzcDsgRXhwZWN0ZWQgbiBsb2cgbiBydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyBydW50aW1lIAoJCXdydC4gdmVydGljZXMgKyBpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPC90YWJsZT4KCTxoMT5Qb2x5Z29uIFNldCBEYXRhIE9iamVjdDwvaDE+Cgo8cD4gCjxwPlRoZSBwb2x5Z29uIHNldCBkYXRhIHR5cGUgZW5jYXBzdWxhdGVzIHRoZSBpbnRlcm5hbCBkYXRhIGZvcm1hdCB0aGF0IApzZXJ2ZXMgYXMgdGhlIGlucHV0IHRvIHRoZSBzd2VlcC1saW5lIGFsZ29yaXRobSB0aGF0IGltcGxlbWVudHMgcG9seWdvbi1jbGlwcGluZyAKQm9vbGVhbiBvcGVyYXRpb25zLiZuYnNwOyBJdCBhbHNvIGludGVybmFsbHkga2VlcHMgdHJhY2sgb2Ygd2hldGhlciB0aGF0IGRhdGEgCmhhcyBiZWVuIHNvcnRlZCBvciBzY2FubmVkIGFuZCBtYWludGFpbnMgdGhlIGludmFyaWFudCB0aGF0IHdoZW4gaXRzIGZsYWdzIAppbmRpY2F0ZSB0aGF0IHRoZSBkYXRhIGlzIHNvcnRlZCBvciBzY2FubmVkIHRoZSBkYXRhIGhhcyBub3QgYmVlbiBjaGFuZ2VkIHRvIAp2aW9sYXRlIHRoYXQgYXNzdW1wdGlvbi4mbmJzcDsgVXNpbmcgdGhlIFBvbHlnb24gU2V0IERhdGEgdHlwZSBkaXJlY3RseSBjYW4gCmJlIG1vcmUgZWZmaWNpZW50IHRoYW4gdXNpbmcgbGlzdHMgYW5kIHZlY3RvcnMgb2YgcG9seWdvbnMgaW4gdGhlIGZ1bmN0aW9ucyAKYWJvdmUgYmVjYXVzZSBvZiB0aGUgaW52YXJpYW50cyBpdCBjYW4gZW5mb3JjZSB3aGljaCBwcm92aWRlIHRoZSBvcHBvcnR1bml0eSB0byAKbWFpbnRhaW4gdGhlIGRhdGEgaXMgc29ydGVkIGZvcm0gcmF0aGVyIHRoYW4gZ29pbmcgYWxsIHRoZSB3YXkgb3V0IHRvIHBvbHlnb25zIAp0aGVuIHJlc29ydGluZyB0aG9zZSB2ZXJ0aWNlcyBmb3IgYSBzdWJzZXF1ZW50IG9wZXJhdGlvbi48L3A+CjxwPlRoZSBkZWNsYXJhdGlvbiBvZiBQb2x5Z29uIFNldCBEYXRhIGlzIHRoZSBmb2xsb3dpbmc6PC9wPgo8cD48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIFQmZ3Q7PGJyPgpjbGFzcyBwb2x5Z29uX3NldF9kYXRhOzwvZm9udD48L3A+CjxwPlRoZSBjbGFzcyBpcyBwYXJhbWV0ZXJpemVkIG9uIHRoZSBjb29yZGluYXRlIGRhdGEgdHlwZS4mbmJzcDsgQWxnb3JpdGhtcyB0aGF0IApiZW5lZml0IGZyb20ga25vd2xlZGdlIG9mIHRoZSBpbnZhcmlhbnRzIGVuZm9yY2VkIGJ5IHRoZSBjbGFzcyBhcmUgaW1wbGVtZW50ZWQgCmFzIG1lbWJlciBmdW5jdGlvbnMgdG8gcHJvdmlkZSB0aGVtIGFjY2VzcyB0byBpbmZvcm1hdGlvbiBhYm91dCB0aG9zZSAKaW52YXJpYW50cy4mbmJzcDsgPC9wPgo8cD5FeGFtcGxlIGNvZGUgPGEgaHJlZj0iZ3RsX3BvbHlnb25fc2V0X3VzYWdlLmh0bSI+cG9seWdvbl9zZXRfdXNhZ2UuY3BwPC9hPiAKZGVtb25zdHJhdGVzIHVzaW5nIAoJCXRoZSBsaWJyYXJ5IHByb3ZpZGVkIHBvbHlnb24gc2V0IGRhdGEgdHlwZXMgYW5kIGZ1bmN0aW9uczwvcD4KPGgyPk1lbWJlciBGdW5jdGlvbnM8L2gyPgo8dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSIgaWQ9InRhYmxlNyI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij48Yj5wb2x5Z29uX3NldF9kYXRhPC9iPigpPC9mb250PjwvdGQ+CgkJPHRkPkRlZmF1bHQgY29uc3RydWN0b3IuIDwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dGVtcGxhdGUgJmx0O3R5cGVuYW1lIGlUJmd0Ozxicj4KCTxiPnBvbHlnb25fc2V0X2RhdGE8L2I+KGlUIGlucHV0X2JlZ2luLCBpVCAKCWlucHV0X2VuZCk8L2ZvbnQ+PC90ZD4KCQk8dGQ+Q29uc3RydWN0IHdpdGggc2Nhbm5pbmcgb3JpZW50YXRpb24gZnJvbSBhbiBpdGVyYXRvciByYW5nZSBvZiAKCQlpbnNlcnRhYmxlIG9iamVjdHMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij4KCTxiPnBvbHlnb25fc2V0X2RhdGE8L2I+KGNvbnN0IHBvbHlnb25fc2V0X2RhdGEmYW1wOyB0aGF0KTwvZm9udD48L3RkPgoJCTx0ZD5Db3B5IGNvbnN0cnVjdC48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+Cjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgbCwgdHlwZW5hbWUgciwgdHlwZW5hbWUgb3AmZ3Q7PGJyPgo8Yj5wb2x5Z29uX3NldF9kYXRhPC9iPihjb25zdCBwb2x5Z29uX3NldF92aWV3Jmx0O2wscixvcCZndDsmYW1wOyAKdCk8L2ZvbnQ+PC90ZD4KCQk8dGQ+Q29weSBjb25zdHJ1Y3QgZnJvbSBhIEJvb2xlYW4gb3BlcmF0b3IgdGVtcGxhdGUuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPgo8Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+cG9seWdvbl9zZXRfZGF0YSZhbXA7IDxicj48Yj5vcGVyYXRvcj08L2I+KGNvbnN0IHBvbHlnb25fc2V0X2RhdGEmYW1wOyB0aGF0KTwvZm9udD48L3RkPgoJCTx0ZD5Bc3NpZ25tZW50IGZyb20gYW5vdGhlciBwb2x5Z29uIHNldCwgbWF5IGNoYW5nZSBzY2FubmluZyAKCQlvcmllbnRhdGlvbi48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+Cjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij50ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgbCwgdHlwZW5hbWUgciwgdHlwZW5hbWUgb3AmZ3Q7PGJyPgpwb2x5Z29uX3NldF9kYXRhJmFtcDsgPGJyPjxiPm9wZXJhdG9yPTwvYj4oY29uc3QgcG9seWdvbl9zZXRfdmlldyZsdDtsLCByLCAKb3AmZ3Q7JmFtcDsgdGhhdCk8L2ZvbnQ+PC90ZD4KCQk8dGQ+QXNzaWdubWVudCBmcm9tIGEgQm9vbGVhbiBvcGVyYXRvciB0ZW1wbGF0ZS48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnRlbXBsYXRlICZsdDt0eXBlbmFtZSBnZW9tZXRyeV9vYmplY3QmZ3Q7PGJyPgpwb2x5Z29uX3NldF9kYXRhJmFtcDsgPGI+b3BlcmF0b3I9PC9iPihjb25zdCBnZW9tZXRyeV9vYmplY3QmYW1wOyBnZW8pPC9mb250PjwvdGQ+CgkJPHRkPkFzc2lnbm1lbnQgZnJvbSBhbiBpbnNlcnRhYmxlIG9iamVjdC48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+Cjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij4KdGVtcGxhdGUgJmx0O3R5cGVuYW1lIGlUJmd0Ozxicj4Kdm9pZCA8Yj5pbnNlcnQ8L2I+KGlUIGlucHV0X2JlZ2luLCBpVCBpbnB1dF9lbmQpPC9mb250PjwvdGQ+CgkJPHRkPkluc2VydCBvYmplY3RzIG9mIGFuIGl0ZXJhdG9yIHJhbmdlLiZuYnNwOyBMaW5lYXIgd3J0IHZlcnRpY2VzIAoJCWluc2VydGVkLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij4KPGZvbnQgZmFjZT0iQ291cmllciBOZXciPgp2b2lkIDxiPmluc2VydDwvYj4oY29uc3QgcG9seWdvbl9zZXRfZGF0YSZhbXA7IHBvbHlnb25fc2V0KTwvZm9udD48L3RkPgoJCTx0ZD5JbnNlcnQgYSBwb2x5Z29uIHNldC4mbmJzcDsgTGluZWFyIHdydCB2ZXJ0aWNlcyBpbnNlcnRlZC48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+Cjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij4KdGVtcGxhdGUgJmx0O3R5cGVuYW1lIGdlb21ldHJ5X3R5cGUmZ3Q7PGJyPgp2b2lkIDxiPmluc2VydDwvYj4oY29uc3QgZ2VvbWV0cnlfdHlwZSZhbXA7IGdlb21ldHJ5X29iamVjdCwgPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBib29sIGlzX2hvbGUgCj0gZmFsc2UpPC9mb250PjwvdGQ+CgkJPHRkPkluc2VydCBhIGdlb21ldHJ5IG9iamVjdCwgaWYgaXNfaG9sZSBpcyB0cnVlIHRoZW4gdGhlIGluc2VydGVkIAoJCXJlZ2lvbiBpcyBzdWJ0cmFjdGl2ZSByYXRoZXIgdGhhbiBhZGRpdGl2ZS4mbmJzcDsgTGluZWFyIHdydCB2ZXJ0aWNlcyAKCQlpbnNlcnRlZC48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPgp0ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgb3V0cHV0X2NvbnRhaW5lciZndDs8YnI+CnZvaWQgPGI+Z2V0PC9iPihvdXRwdXRfY29udGFpbmVyJmFtcDsgb3V0cHV0KSBjb25zdDwvZm9udD48L3RkPgoJCTx0ZD5FeHBlY3RzIGEgc3RhbmRhcmQgY29udGFpbmVyIG9mIHBvbHlnb25zIG9iamVjdHMuJm5ic3A7IFdpbGwgc2NhbiAKCQlhbmQgZWxpbWluYXRlIG92ZXJsYXBzLiZuYnNwOyBDb252ZXJ0cyBwb2x5Z29uIHNldCBnZW9tZXRyeSB0byBvYmplY3RzIAoJCW9mIHRoZSBwb2x5Z29uIHR5cGUgYW5kIGFwcGVuZHMgdGhlbSB0byB0aGUgY29udGFpbmVyLiZuYnNwOyBQb2x5Z29ucyAKCQl3aWxsIGJlIG91dHB1dCB3aXRoIGNvdW50ZXJjbG9ja3dpc2Ugd2luZGluZywgaG9sZSBwb2x5Z29ucyB3aWxsIGJlIAoJCW91dHB1dCB3aXRoIGNsb2Nrd2lzZSB3aW5kaW5nLiZuYnNwOyBUaGUgbGFzdCB2ZXJ0ZXggb2YgYW4gb3V0cHV0IAoJCXBvbHlnb24gaXMgdGhlIGR1cGxpY2F0ZSBvZiB0aGUgZmlyc3QsIGFuZCB0aGUgbnVtYmVyIG9mIHBvaW50cyBpcyBlcXVhbCAKCQl0byB0aGUgbnVtYmVyIG9mIGVkZ2VzIHBsdXMgMS4mbmJzcDsgSWYgcmVxdWlyZWQgYnkgdGhlIG91dHB1dCBkYXRhIAoJCXR5cGUsIHBvbHlnb25zIHdpbGwgaGF2ZSBob2xlcyBmcmFjdHVyZWQgb3V0IHRvIHRoZSBvdXRlciBib3VuZGFyeSBhbG9uZyAKCQl0aGUgcG9zaXRpdmUgeSBkaXJlY3Rpb24gYW5kIG9mZiBncmlkIGludGVyc2VjdGlvbnMgb24gdGhlIG91dGVyIAoJCWJvdW5kYXJ5IGludHJvZHVjZWQgYnkgdGhpcyBmcmFjdHVyZSB3aWxsIGJlIHRydW5jYXRlZCBkb3dud2FyZC4mbmJzcDsgCgkJRXhwZWN0ZWQgbiBsb2cgbiBydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyBydW50aW1lIHdydC4gdmVydGljZXMgKyAKCQlpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+CnRlbXBsYXRlICZsdDt0eXBlbmFtZSBvdXRwdXRfY29udGFpbmVyJmd0Ozxicj4Kdm9pZCA8Yj5nZXRfdHJhcGV6b2lkczwvYj4ob3V0cHV0X2NvbnRhaW5lciZhbXA7IG91dHB1dCkgY29uc3Q8L2ZvbnQ+PC90ZD4KCQk8dGQ+RXhwZWN0cyBhIHN0YW5kYXJkIGNvbnRhaW5lciBvZiBwb2x5Z29uIG9iamVjdHMuJm5ic3A7IFdpbGwgc2NhbiAKCQlhbmQgZWxpbWluYXRlIG92ZXJsYXBzLiZuYnNwOyBTbGljZXMgcG9seWdvbiBzZXQgZ2VvbWV0cnkgdG8gdHJhcGV6b2lkcyAKCQl2ZXJ0aWNhbGx5IGFuZCBhcHBlbmRzIHRoZW0gdG8gdGhlIGNvbnRhaW5lci4mbmJzcDsgRXhwZWN0ZWQgbiBsb2cgbiAKCQlydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyBydW50aW1lIHdydC4gdmVydGljZXMgKyBpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij4KPGZvbnQgZmFjZT0iQ291cmllciBOZXciPgp0ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgb3V0cHV0X2NvbnRhaW5lciZndDs8YnI+CnZvaWQgPGI+Z2V0X3RyYXBlem9pZHM8L2I+KG91dHB1dF9jb250YWluZXImYW1wOyBvdXRwdXQsIDxicj4mbmJzcDsgb3JpZW50YXRpb25fMmQgCnNsaWNpbmdfb3JpZW50YXRpb24pIGNvbnN0IDwvZm9udD4KCQk8L3RkPgoJCTx0ZD5FeHBlY3RzIGEgc3RhbmRhcmQgY29udGFpbmVyIG9mIHBvbHlnb24gb2JqZWN0cy4mbmJzcDsgV2lsbCBzY2FuIAoJCWFuZCBlbGltaW5hdGUgb3ZlcmxhcHMuJm5ic3A7IFNsaWNlcyBwb2x5Z29uIHNldCBnZW9tZXRyeSB0byB0cmFwZXpvaWRzIAoJCWFsb25nIHRoZSBnaXZlbiBvcmllbnRhdGlvbiBhbmQgYXBwZW5kcyB0aGVtIHRvIHRoZSBjb250YWluZXIuJm5ic3A7IAoJCUV4cGVjdGVkIG4gbG9nIG4gcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgCgkJaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+Cjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij4KYm9vbCA8Yj5vcGVyYXRvcj09PC9iPihjb25zdCBwb2x5Z29uX3NldF9kYXRhJmFtcDsgcCkgY29uc3Q8L2ZvbnQ+PC90ZD4KCQk8dGQ+T25jZSBzY2FubmVkIHRoZSBkYXRhIHJlcHJlc2VudGF0aW9uIG9mIGdlb21ldHJ5IHdpdGhpbiBhIHBvbHlnb24gCgkJc2V0IGlzIGluIGEgbWF0aGVtYXRpY2FsbHkgY2Fub25pY2FsIGZvcm0uJm5ic3A7IENvbXBhcmlzb24gYmV0d2VlbiB0d28gCgkJc2V0cyBpcyB0aGVyZWZvcmUgYSBsaW5lYXIgdGltZSBvcGVyYXRpb24gb25jZSB0aGV5IGFyZSBpbiB0aGUgc2Nhbm5lZCAKCQlzdGF0ZS4gV2lsbCBzY2FuIGFuZCBlbGltaW5hdGUgb3ZlcmxhcHMgaW4gYm90aCBwb2x5Z29uIHNldHMuJm5ic3A7IAoJCUV4cGVjdGVkIG4gbG9nIG4gcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgCgkJaW50ZXJzZWN0aW9ucy4mbmJzcDsgPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij4KYm9vbCA8Yj5vcGVyYXRvciE9PC9iPihjb25zdCBwb2x5Z29uX3NldF9kYXRhJmFtcDsgcCkgY29uc3Q8L2ZvbnQ+PC90ZD4KCQk8dGQ+SW52ZXJzZSBsb2dpYyBvZiBlcXVpdmFsZW5jZSBvcGVyYXRvci48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPnZvaWQgPGI+Y2xlYXI8L2I+KCk8L2ZvbnQ+PC90ZD4KCQk8dGQ+TWFrZSB0aGUgcG9seWdvbiBzZXQgZW1wdHkuJm5ic3A7IE5vdGU6IGRvZXMgbm90IGRlLWFsbG9jYXRlIG1lbW9yeS4mbmJzcDsgCgkJVXNlIHNocmluayB0byBmaXQgaWRpb20gYW5kIGFzc2lnbiBkZWZhdWx0IGNvbnN0cnVjdGVkIHBvbHlnb24gc2V0IHRvIAoJCWRlLWFsbG9jYXRlLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+Ym9vbCA8Yj5lbXB0eTwvYj4oKSBjb25zdCA8L2ZvbnQ+CgkJPC90ZD4KCQk8dGQ+Q2hlY2sgd2hldGhlciB0aGUgcG9seWdvbiBzZXQgY29udGFpbnMgbm8gZ2VvbWV0cnkuJm5ic3A7IFdpbGwgc2NhbiAKCQlhbmQgZWxpbWluYXRlIG92ZXJsYXBzIGJlY2F1c2Ugc3VidHJhY3RpdmUgcmVnaW9ucyBtaWdodCBtYWtlIHRoZSAKCQlwb2x5Z29uIHNldCBlbXB0eS4mbmJzcDsgRXhwZWN0ZWQgbiBsb2cgbiBydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyAKCQlydW50aW1lIHdydC4gdmVydGljZXMgKyBpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+dm9pZCA8Yj5jbGVhbjwvYj4oKSBjb25zdDwvZm9udD48L3RkPgoJCTx0ZD5TY2FuIGFuZCBlbGltaW5hdGUgb3ZlcmxhcHMuJm5ic3A7IEV4cGVjdGVkIG4gbG9nIG4gcnVudGltZSwgd29yc3QgCgkJY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgaW50ZXJzZWN0aW9ucyB0aGUgZmlyc3QgdGltZSwgCgkJY29uc3RhbnQgdGltZSBzdWJzZXF1ZW50bHkuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij4KdGVtcGxhdGUgJmx0O3R5cGVuYW1lIGlucHV0X2l0ZXJhdG9yX3R5cGUmZ3Q7PGJyPgp2b2lkIDxiPnNldDwvYj4oaW5wdXRfaXRlcmF0b3JfdHlwZSBpbnB1dF9iZWdpbiwgPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbnB1dF9pdGVyYXRvcl90eXBlIGlucHV0X2VuZCkgPC9mb250PgoJCTwvdGQ+CgkJPHRkPk92ZXJ3cml0ZSBnZW9tZXRyeSBpbiBwb2x5Z29uIHNldCB3aXRoIGluc2VydGFibGUgb2JqZWN0cyBpbiB0aGUgCgkJaXRlcmF0b3IgcmFuZ2UuIDwvdGQ+Cgk8L3RyPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNTg2Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+CnRlbXBsYXRlICZsdDt0eXBlbmFtZSByZWN0YW5nbGVfdHlwZSZndDs8YnI+CmJvb2wgPGI+ZXh0ZW50czwvYj4ocmVjdGFuZ2xlX3R5cGUmYW1wOyBleHRlbnRzX3JlY3RhbmdsZSkgY29uc3Q8L2ZvbnQ+PC90ZD4KCQk8dGQ+R2l2ZW4gYW4gb2JqZWN0IHRoYXQgbW9kZWxzIHJlY3RhbmdsZSwgc2NhbnMgYW5kIGVsaW1pbmF0ZXMgb3ZlcmxhcHMgCgkJaW4gdGhlIHBvbHlnb24gc2V0IGJlY2F1c2Ugc3VidHJhY3RpdmUgcmVnaW9ucyBtYXkgYWx0ZXIgaXRzIGV4dGVudHMgCgkJdGhlbiBjb21wdXRlcyB0aGUgYm91bmRpbmcgYm94IGFuZCBhc3NpZ25zIGl0IHRvIGV4dGVudHNfcmVjdGFuZ2xlLiZuYnNwOyAKCQlFeHBlY3RlZCBuIGxvZyBuIHJ1bnRpbWUsIHdvcnN0IGNhc2UgcXVhZHJhdGljIHJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIAoJCWludGVyc2VjdGlvbnMgdGhlIGZpcnN0IHRpbWUsIGxpbmVhciBzdWJzZXF1ZW50bHkuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij4KcG9seWdvbl9zZXRfZGF0YSZhbXA7PGJyPgo8Yj5yZXNpemU8L2I+KGNvb3JkX3R5cGUgcmVzaXppbmcsPGJyPiAKCQkmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYm9vbCBjb3JuZXJfZmlsbF9hcmMgPSBmYWxzZSwgPGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAKCQl1bnNpZ25lZCBpbnQgbnVtX2NpcmNsZV9zZWdtZW50cyA9IDApPC9mb250PjwvdGQ+CgkJPHRkPkluZmxhdGVzIGlmIHJlc2l6aW5nIGlzIHBvc2l0aXZlLCBkZWZsYXRlcyBpZiByZXNpemluZyBpcyAKCQluZWdhdGl2ZS4mbmJzcDsgT3JpZ2luYWwgdG9wb2xvZ3kgYXQgYWN1dGUgYW5nbGUgdmVydGljZXMgaXMgcHJlc2VydmVkIAoJCWJ5IGRlZmF1bHQsIHNlZ21lbnRlZCBjaXJjdWxhciBhcmNzIGFyZSBpbnNlcnRlZCBpZiBjb3JuZXJfZmlsbF9hcmMgaXMgCgkJdHJ1ZS4mbmJzcDsgbnVtX2NpcmNsZV9zZWdtZW50cyBzcGVjaWZpZXMgbnVtYmVyIG9mIHNlZ21lbnRzIHRvIAoJCWludHJvZHVjZSBvbiBhIGZ1bGwgY2lyY2xlIHdoZW4gZmlsbGluZyBhY3V0ZSBhbmdsZSBjb3JuZXJzIHdpdGggCgkJY2lyY3VsYXIgYXJjcy4mbmJzcDsgU3BlY2lmeWluZyB6ZXJvIGZvciBudW1fY2lyY2xlX3NlZ21lbnRzIHJlc3VsdHMgaW4gCgkJb25seSBhIHNpbmdsZSBzZWdtZW50IGJlaW5nIGluc2VydGVkIGF0IGFjdXRlIGNvcm5lcnMuJm5ic3A7IEV4cGVjdGVkIG4gCgkJbG9nIG4gcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgCgkJaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPgp0ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgdHJhbnNmb3JtYXRpb25fdHlwZSZndDs8YnI+CnBvbHlnb25fc2V0X2RhdGEmYW1wOyA8YnI+PGI+dHJhbnNmb3JtPC9iPihjb25zdCB0cmFuc2Zvcm1hdGlvbl90eXBlJmFtcDsgdHJhbnNmb3JtYXRpb24pIDwvZm9udD4KCQk8L3RkPgoJCTx0ZD5BcHBsaWVzIHRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybSgpIG9uIHZlcnRpY2VzIHN0b3JlZCB3aXRoaW4gdGhlIAoJCXBvbHlnb24gc2V0LiZuYnNwOyBFeHBlY3RlZCBuIGxvZyBuIHJ1bnRpbWUsIHdvcnN0IGNhc2UgcXVhZHJhdGljIAoJCXJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIGludGVyc2VjdGlvbnMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij4KcG9seWdvbl9zZXRfZGF0YSZhbXA7IDxiPnNjYWxlX3VwPC9iPih1bnNpZ25lZF9hcmVhX3R5cGUgZmFjdG9yKTwvZm9udD48L3RkPgoJCTx0ZD5TY2FsZXMgdmVydGljZXMgc3RvcmVkIHdpdGhpbiB0aGUgcG9seWdvbiBzZXQgdXAgYnkgZmFjdG9yLiZuYnNwOyAKCQlFeHBlY3RlZCBuIGxvZyBuIHJ1bnRpbWUsIHdvcnN0IGNhc2UgcXVhZHJhdGljIHJ1bnRpbWUgd3J0LiB2ZXJ0aWNlcyArIAoJCWludGVyc2VjdGlvbnMuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkIHdpZHRoPSI1ODYiPgo8Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+cG9seWdvbl9zZXRfZGF0YSZhbXA7IDxiPnNjYWxlX2Rvd248L2I+KHVuc2lnbmVkX2FyZWFfdHlwZSAKZmFjdG9yKTwvZm9udD4mbmJzcDs8L3RkPgoJCTx0ZD5TY2FsZXMgdmVydGljZXMgc3RvcmVkIHdpdGhpbiB0aGUgcG9seWdvbiBzZXQgZG93biBieSBmYWN0b3IuJm5ic3A7IAoJCUV4cGVjdGVkIG4gbG9nIG4gcnVudGltZSwgd29yc3QgY2FzZSBxdWFkcmF0aWMgcnVudGltZSB3cnQuIHZlcnRpY2VzICsgCgkJaW50ZXJzZWN0aW9ucy48L3RkPgoJPC90cj4KCTx0cj4KCQk8dGQgd2lkdGg9IjU4NiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciPgp0ZW1wbGF0ZSAmbHQ7dHlwZW5hbWUgc2NhbGluZ190eXBlJmd0Ozxicj4KcG9seWdvbl9zZXRfZGF0YSZhbXA7PGJyPiA8Yj5zY2FsZTwvYj4oY29uc3Qgc2NhbGluZ190eXBlJmFtcDsgCgkJZik8L2ZvbnQ+PC90ZD4KCQk8dGQ+U2NhbGVzIHZlcnRpY2VzIHN0b3JlZCB3aXRoaW4gdGhlIHBvbHlnb24gc2V0IGJ5IGFwcGx5aW5nIGYuc2NhbGUoKS4mbmJzcDsgCgkJRXhwZWN0ZWQgbiBsb2cgbiBydW50aW1lLCB3b3JzdCBjYXNlIHF1YWRyYXRpYyBydW50aW1lIHdydC4gdmVydGljZXMgKyAKCQlpbnRlcnNlY3Rpb25zLjwvdGQ+Cgk8L3RyPgoJPC90YWJsZT4KCTx0cj4KPHRkIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM4LCAyMzgsIDIzOCk7IiBub3dyYXA9IjEiIHZhbGlnbj0idG9wIj4KICAgICZuYnNwOzwvdGQ+Cjx0ZCBzdHlsZT0icGFkZGluZy1sZWZ0OiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogMTBweDsiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTAwJSI+CgoKPHRhYmxlIGNsYXNzPSJkb2NpbmZvIiBydWxlcz0ibm9uZSIgZnJhbWU9InZvaWQiIGlkPSJ0YWJsZTgiPgoJPGNvbGdyb3VwPgoJCTxjb2wgY2xhc3M9ImRvY2luZm8tbmFtZSI+PGNvbCBjbGFzcz0iZG9jaW5mby1jb250ZW50Ij4KCTwvY29sZ3JvdXA+Cgk8dGJvZHkgdkFsaWduPSJ0b3AiPgoJCTx0cj4KCQkJPHRoIGNsYXNzPSJkb2NpbmZvLW5hbWUiPkNvcHlyaWdodDo8L3RoPgoJCQk8dGQ+Q29weXJpZ2h0IKkgSW50ZWwgQ29ycG9yYXRpb24gMjAwOC0yMDEwLjwvdGQ+CgkJPC90cj4KCQk8dHIgY2xhc3M9ImZpZWxkIj4KCQkJPHRoIGNsYXNzPSJkb2NpbmZvLW5hbWUiPkxpY2Vuc2U6PC90aD4KCQkJPHRkIGNsYXNzPSJmaWVsZC1ib2R5Ij5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgCgkJCVZlcnNpb24gMS4wLiAoU2VlIGFjY29tcGFueWluZyBmaWxlIDx0dCBjbGFzcz0ibGl0ZXJhbCI+CgkJCTxzcGFuIGNsYXNzPSJwcmUiPkxJQ0VOU0VfMV8wLnR4dDwvc3Bhbj48L3R0PiBvciBjb3B5IGF0CgkJCTxhIGNsYXNzPSJyZWZlcmVuY2UiIHRhcmdldD0iX3RvcCIgaHJlZj0iaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij4KCQkJaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0PC9hPik8L3RkPgoJCTwvdHI+CjwvdGFibGU+Cgo8L2h0bWw+