PGh0bWw+Cgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUyIj4KPG1ldGEgbmFtZT0iR0VORVJBVE9SIiBjb250ZW50PSJNaWNyb3NvZnQgRnJvbnRQYWdlIDQuMCI+CjxtZXRhIG5hbWU9IlByb2dJZCIgY29udGVudD0iRnJvbnRQYWdlLkVkaXRvci5Eb2N1bWVudCI+Cjx0aXRsZT5YTUwgQ29sbGF0aW9uIFNwZWNpZmljYXRpb248L3RpdGxlPgo8c3R5bGU+CjwhLS0KdGggICAgICAgICAgIHsgYmFja2dyb3VuZC1jb2xvcjogIzk5OTlDQzsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLXdpZHRoOiAxcHg7IHBhZGRpbmc6IDQgfQp0ZCAgICAgICAgICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDQ0ZGOyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItd2lkdGg6IDFweDsgcGFkZGluZzogNCB9CnRhYmxlICAgICAgICB7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogMXB4IH0KLS0+Cjwvc3R5bGU+CjwvaGVhZD4KCjxib2R5IHN0eWxlPSJtYXJnaW46MmVtIj4KCjxoMSBhbGlnbj0iY2VudGVyIj5YTUwgQ29sbGF0aW9uIFNwZWNpZmljYXRpb248L2gxPgo8cCBhbGlnbj0iY2VudGVyIj48aT48Zm9udCBzaXplPSI0Ij48Yj48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+RWFybHkgRHJhZnQ6PC9mb250PjwvYj4KTUVEIDIwMDItMDYtMjE8L2ZvbnQ+PC9pPjwvcD4KPHA+VGhpcyBkb2N1bWVudCBkZWZpbmVzIGFuIFhNTCB2b2NhYnVsYXJ5IGZvciBleGNoYW5naW5nIHRhaWxvcmluZyBydWxlcywgYW5kCnNwZWNpZnlpbmcgY29tcGFyaXNvbiBvcHRpb25zLiBJdCBhbGxvd3MgYW55IHR3byBpbXBsZW1lbnRhdGlvbnMgdG8gZXhjaGFuZ2UgYQpzcGVjaWZpY2F0aW9uIG9mIGNvbGxhdGlvbi4gVXNpbmcgdGhlIHNhbWUgc3BlY2lmaWNhdGlvbiwgdGhlIHR3bwppbXBsZW1lbnRhdGlvbnMgd2lsbCBhY2hpZXZlIHRoZSBzYW1lIHJlc3VsdHMgaW4gY29tcGFyaW5nIHN0cmluZ3MuPC9wPgo8cD4mbmJzcDtUaGUgcnVsZXMgYXJlIGRlZmluZWQgYnkgY29ycmVzcG9uZGVuY2Ugd2l0aCB0aGUgPGk+YmFzaWM8L2k+IDxhIGhyZWY9Imh0dHA6Ly9vc3Muc29mdHdhcmUuaWJtLmNvbS9pY3UvdXNlcmd1aWRlL0NvbGxhdGVfQ3VzdG9taXphdGlvbi5odG1sIj5JQ1UKcnVsZSBzeW50YXg8L2E+ICh1c2VkIGluIElDVSBhbmQgSmF2YSkgYW5kL29yIHRoZSBJQ1UgcGFyYW1ldGVyaXphdGlvbnMuIFlvdQpzaG91bGQgYmUgZmFtaWxpYXIgd2l0aCB0aGUgVUNBIGFuZCB0aGUgSUNVIGltcGxlbWVudGF0aW9uIG9mIGl0IGJlZm9yZQpjb250aW51aW5nIHdpdGggdGhlIHJlc3Qgb2YgdGhpcyBkb2N1bWVudC48L3A+CjxibG9ja3F1b3RlPgogIDxwPjxiPk5vdGU6IDwvYj5JQ1UgcHJvdmlkZXMgYSBjb25jaXNlIGZvcm1hdCBmb3Igc3BlY2lmeWluZyBvcmRlcmluZ3MsIGJhc2VkCiAgb24gdGFpbG9yaW5ncyB0byB0aGUgVUNBLiBGb3IgZXhhbXBsZSwgdG8gc3BlY2lmeSB0aGF0IGsgYW5kIHEgZm9sbG93ICdjJywgb25lCiAgY2FuIHVzZSB0aGUgcnVsZTogJnF1b3Q7JmFtcDsgYyAmbHQ7IGsgJmx0OyBxJnF1b3Q7LiBUaGUgcnVsZXMgYWxzbyBhbGxvdwogIHBlb3BsZSB0byBzZXQgZGVmYXVsdCBnZW5lcmFsIHBhcmFtZXRlciB2YWx1ZXMsIHN1Y2ggYXMgd2hldGhlciB1cHBlcmNhc2UgaXMKICBiZWZvcmUgbG93ZXJjYXNlIG9yIG5vdC48L3A+CiAgPHA+SmF2YSBjb250YWlucyBhbiBlYXJsaWVyIHZlcnNpb24gb2YgSUNVLCBhbmQgaGFzIG5vdCBiZWVuIHVwZGF0ZWQgcmVjZW50bHkuCiAgSXQgZG9lcyBub3Qgc3VwcG9ydCBhbnkgb2YgdGhlIGJhc2ljIHN5bnRheCBtYXJrZWQgd2l0aCBbLi4uXSwgYW5kIGl0cyBkZWZhdWx0CiAgdGFibGUgaXMgbm90IHRoZSBVQ0EuPC9wPgogIDxwPkl0IGlzIG5vdCBuZWNlc3NhcnkgZm9yIElDVSB0byBiZSB1c2VkIGluIHRoZSB1bmRlcmx5aW5nIGltcGxlbWVudGF0aW9uLgogIFRoZSBmZWF0dXJlcyBhcmUgc2ltcGx5IGRlc2NyaWJlZCBoZXJlIGluIHRlcm1zIG9mIHRoZSBJQ1UgY2FwYWJpbGl0aWVzLCBzaW5jZQogIHRoYXQgaXMgZWFzaWVyIHRoYW4gZHVwbGljYXRpbmcgdGhlIHRleHQuPC9wPgo8L2Jsb2NrcXVvdGU+CjxwPkxpa2UgdGhlIElDVSBydWxlcywgdGhlIHRhaWxvcmluZyBzeW50YXggaXMgZGVzaWduZWQgdG8gYmUgaW5kZXBlbmRlbnQgb2YgdGhlCmFjdHVhbCB3ZWlnaHRzIHVzZWQgaW4gYW55IHBhcnRpY3VsYXIgVUNBIHRhYmxlLiBUaGF0IHdheSB0aGUgc2FtZSBydWxlcyBjYW4gYmUKYXBwbGllZCB0byBVQ0EgdmVyc2lvbnMgb3ZlciB0aW1lLCBldmVuIGlmIHRoZSB1bmRlcmx5aW5nIHdlaWdodHMgY2hhbmdlLjwvcD4KPGgzPjxhIG5hbWU9IkRvY3VtZW50X1N0cnVjdHVyZSI+RG9jdW1lbnQgU3RydWN0dXJlPC9hPjwvaDM+CjxwPlRoZSBmb2xsb3dpbmcgZGVzY3JpYmVzIHRoZSBvdmVyYWxsIGRvY3VtZW50IHN0cnVjdHVyZSB1c2VkIHRvIHNwZWNpZnkgYQpjb2xsYXRpb24gaW4gWE1MLjwvcD4KPHA+PGNvZGU+Jmx0O2NvbGxhdGlvbiBuYW1lPSZxdW90O3NvbWVuYW1lJnF1b3Q7Jmd0Ozxicj4KJm5ic3A7Jmx0O2Jhc2UgLi4uLyZndDs8YnI+CiZuYnNwOyZsdDtzZXR0aW5ncyAuLi4vJmd0Ozxicj4KJm5ic3A7Jmx0O3J1bGVzJmd0Ozxicj4KJm5ic3A7ICZsdDshLS0gcnVsZXMgZ28gaGVyZSwgaWYgdGhlcmUgYXJlIGFueSAtLSZndDs8YnI+CiZuYnNwOyZsdDsvcnVsZXMmZ3Q7PGJyPgombHQ7L2NvbGxhdGlvbiZndDs8L2NvZGU+PC9wPgo8dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSI+CiAgPHRyPgogICAgPHRkIHdpZHRoPSIxMDAlIj48Yj5UQkQ6PC9iPgogICAgICA8dWw+CiAgICAgICAgPGxpPjxiPkFkZCBEVEQ8L2I+PC9saT4KICAgICAgICA8bGk+PGI+Q2xhcmlmeSBob3cgdmVyc2lvbnMgd29yay48L2I+PC9saT4KICAgICAgICA8bGk+PGI+QWRkIE5hbWVzcGFjZTwvYj48L2xpPgogICAgICA8L3VsPgogICAgPC90ZD4KICA8L3RyPgo8L3RhYmxlPgo8aDM+PGEgbmFtZT0iQmFzZSI+QmFzZTwvYT48L2gzPgo8cD5UaGVyZSBtdXN0IGJlIGV4YWN0bHkgb25lIGJhc2UgZWxlbWVudC4gVGhlIGJhc2UgZWxlbWVudCBpbmRpY2F0ZXMgdGhlCmNvbGxhdGlvbiBvcmRlcmluZyB0aGF0IGlzIHRvIGJlIHVzZWQgYXMgYSBmb3VuZGF0aW9uLiBUaGlzIGJhc2UgY29sbGF0aW9uCm9yZGVyaW5nIGNhbiBiZSBtb2RpZmllZCAodGFpbG9yZWQpIGJ5IGEgcnVsZXMgZWxlbWVudCwgYW5kIHRoZSBzZXR0aW5ncyBpbiB0aGUKYmFzZSBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgc2V0dGluZ3MgZWxlbWVudC4gVGhlIHJ1bGVzIGFyZSB0cmVhdGVkIGFzIGlmIHRoZXkKd2VyZSBhcHBlbmRlZCB0byB0aGUgcnVsZXMgaW4gdGhlIFVSTC4gV2hlbiB0aGUgeG1sOmxhbmcgaXMgdXNlZCwgdGhlbiB0aGUgcnVsZXMKaW4gdGhlIElDVSByZXBvc2l0b3J5IHdpdGggdGhhdCB2ZXJzaW9uIGFyZSBzcGVjaWZpZWQuIFRoZXJlIGFyZSB0d28gYWx0ZXJuYXRpdmUKYXR0cmlidXRlczo8L3A+Cjx0YWJsZT4KICA8dHI+CiAgICA8dGg+QXR0cmlidXRlPC90aD4KICAgIDx0aD5PcHRpb25zPC90aD4KICAgIDx0aD5YTUwgRXhhbXBsZTwvdGg+CiAgICA8dGg+RGVzY3JpcHRpb248L3RoPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPnVjYTwvdGQ+CiAgICA8dGQ+PGk+dWNhIHZlcnNpb24vdW5pY29kZSB2ZXJzaW9uPC9pPjwvdGQ+CiAgICA8dGQ+dWNhPSZxdW90OzMuMS4xZDEvMy4yLjAmcXVvdDs8L3RkPgogICAgPHRkPlNwZWNpZmllcyB0aGUgVUNBIHZlcnNpb248L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPnNyYzwvdGQ+CiAgICA8dGQ+PGk+VVJMPC9pPjwvdGQ+CiAgICA8dGQ+c3JjPSZxdW90O2h0dHA6Ly93d3cuZm9vLmNvbS9zb3J0X2VuX3VzLnhtbCZxdW90OzwvdGQ+CiAgICA8dGQ+UG9pbnRzIHRvIGEgZGlmZmVyZW50IGNvbGxhdGlvbiBzcGVjaWZpY2F0aW9uLjwvdGQ+CiAgPC90cj4KPC90YWJsZT4KPHA+VGhlIGZpcnN0IG9uZSBpcyB1c2VkIGZvciBhIGRpcmVjdCB0YWJsZSwgb25lIHRoYXQgZWl0aGVyIHVzZXMgdGhlIFVDQSBhbG9uZSwKb3IgbW9kaWZpZXMgaXQgd2l0aCBzZXR0aW5ncyBhbmQvb3IgcnVsZXMuIFRoZSBzZWNvbmQgb25lIGlzIHVzZWQgdG8gcmVmZXIgdG8gYQpwcmUtZXhpc3RpbmcgZG9jdW1lbnQgaW4gdGhpcyBmb3JtYXQsIHdoaWNoIGNhbiBhbHNvIGJlIG1vZGlmaWVkIHdpdGggc2V0dGluZ3MKYW5kL29yIHJ1bGVzLjwvcD4KPHA+PGk+RXhhbXBsZSAxOjxicj4KVGhlIGZvbGxvd2luZyBzcGVjaWZpZXMgYSBHZXJtYW4gcGhvbmVib29rIG9yZGVyaW5nLCBieSBzZXR0aW5nIHRoZSB1bWxhdXRlZApsZXR0ZXJzIHRvIGJlIGVxdWl2YWxlbnQgdG8gYmFzZSArIGUuPC9pPjwvcD4KPGJsb2NrcXVvdGU+CiAgPHByZT4mbHQ7Y29sbGF0aW9uIG5hbWU9JnF1b3Q7R2VybWFuIFBob25lYm9vayBPcmRlcmluZyZxdW90OyZndDsKICZsdDtiYXNlIHVjYT0mcXVvdDszLjEuMWQxLzMuMi4wJnF1b3Q7LyZndDsKICZsdDtydWxlcyZndDsKICAmbHQ7cmVzZXQvJmd0OyBhZSAmbHQ7dC8mZ3Q7IOQKICAmbHQ7cmVzZXQvJmd0OyBBRSAmbHQ7dC8mZ3Q7IMQKICAmbHQ7cmVzZXQvJmd0OyBvZSAmbHQ7dC8mZ3Q7IPYKICAmbHQ7cmVzZXQvJmd0OyBPRSAmbHQ7dC8mZ3Q7INYKICAmbHQ7cmVzZXQvJmd0OyB1ZSAmbHQ7dC8mZ3Q7IPwKICAmbHQ7cmVzZXQvJmd0OyBVRSAmbHQ7dC8mZ3Q7INwKICZsdDsvcnVsZXMmZ3Q7CiZsdDsvY29sbGF0aW9uJmd0OzwvcHJlPgo8L2Jsb2NrcXVvdGU+CjxwPjxpPkV4YW1wbGUgMjo8YnI+ClN1cHBvc2luZyB0aGUgYWJvdmUgaXMgb24gdGhlIHdlYiBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmZvby5jb20vZGVfZGVfcGhvbmVib29rLnhtbCI+aHR0cDovL3d3dy5mb28uY29tL2RlX2RlX3Bob25lYm9vay54bWw8L2E+LAp0aGUgZm9sbG93aW5nIG1vZGlmaWVzIHRoYXQgdG8gc29ydCB1cHBlcmNhc2UgZmlyc3QsIGFuZCBzb3J0IHRoZSBjaGFyYWN0ZXIgJ0AnCmFzIGlmIGl0IHdlcmUgc3BlbGxlZCBvdXQuPC9pPjwvcD4KPGJsb2NrcXVvdGU+CiAgPHByZT4mbHQ7Y29sbGF0aW9uIG5hbWU9JnF1b3Q7R2VybWFuIFBob25lYm9vayBPcmRlcmluZywgVXBwZXJjYXNlIEZpcnN0IHdpdGggQW1wZXJzYW5kJnF1b3Q7Jmd0OwogJmx0O2Jhc2Ugc3JjPSZxdW90O2h0dHA6Ly93d3cuZm9vLmNvbS9kZV9kZV9waG9uZWJvb2sueG1sJnF1b3Q7LyZndDsKICZsdDtzZXR0aW5nIGNhc2VGaXJzdD0mcXVvdDt1cHBlciZxdW90Oy8mZ3Q7CiAmbHQ7cnVsZXMmZ3Q7CiAgJmx0O3Jlc2V0LyZndDsgQCAmbHQ7dC8mZ3Q7IEFmZmVuc2Nod2FuegogJmx0Oy9ydWxlcyZndDsKJmx0Oy9jb2xsYXRpb24mZ3Q7PC9wcmU+CjwvYmxvY2txdW90ZT4KPGgzPjxhIG5hbWU9IlNldHRpbmdfT3B0aW9ucyI+U2V0dGluZyBPcHRpb25zPC9hPjwvaDM+CjxwPlRoZXJlIG11c3QgYmUgZXhhY3RseSBvbmUgc2V0dGluZ3MgZWxlbWVudC4gSXQgY29udGFpbnMgZ2xvYmFsIHNldHRpbmdzIG9uCnRoZSBjb2xsYXRpb24gc2VxdWVuY2UuIEZvciBleGFtcGxlLCAmbHQ7c2V0dGluZwpzdHJlbmd0aD0mcXVvdDtzZWNvbmRhcnkmcXVvdDsmZ3Q7IHdpbGwgb25seSBjb21wYXJlIHN0cmluZ3MgYmFzZWQgb24gdGhlaXIKcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IHdlaWdodHMsIGlnbm9yaW5nIGFueSB3ZWFrZXIgd2VpZ2h0cy48L3A+CjxwPlRoZSBmb2xsb3dpbmcgdGFibGUgcHJvdmlkZXMgYSBsaXN0IG9mIHZhbGlkIGF0dHJpYnV0ZXMuIElmIGFueSBvZiB0aGUKYXR0cmlidXRlcyBpcyBub3QgcHJlc2VudCwgdGhlIGRlZmF1bHQgZm9yIHRoZSBiYXNlIGlzIHVzZWQuIFRoZSBkZWZhdWx0IGZvciB0aGUKVUNBIGlzIGxpc3RlZCBpbiBpdGFsaWNzIGJlbG93LCBidXQgaXQgbWF5IGJlIG1vZGlmaWVkIGJ5IHRoZSBiYXNlLiBUaGUgZWZmZWN0Cm9mIHRoZXNlIGF0dHJpYnV0ZXMgaXMgZGVmaW5lZCBieSByZWZlcmVuY2UgdG8gdGhlIGVmZmVjdCBvZiB0aGUgPGEgaHJlZj0iaHR0cDovL29zcy5zb2Z0d2FyZS5pYm0uY29tL2ljdS9hcGlyZWYvdWNvbF84aC5odG1sI2E2OSI+c2V0QXR0cmlidXRlczwvYT4KQVBJIChleGNlcHQgZm9yIHZhcmlhYmxlVG9wLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgPGEgaHJlZj0iaHR0cDovL29zcy5zb2Z0d2FyZS5pYm0uY29tL2ljdS9hcGlyZWYvY2xhc3NDb2xsYXRvci5odG1sI2EyMSI+c2V0VmFyaWFibGVUb3A8L2E+CkFQSSkuIDxpPltFZC4gTm90ZTogVGhpcyBpcyB0ZW1wb3JhcnksIHVudGlsIHRoZSB0ZXh0dWFsIGRlc2NyaXB0aW9uIGlzIGJyb3VnaHQKaW4gaGVyZV0uIDwvaT5UaGUgYmFzaWMgZXhhbXBsZSBpcyBnaXZlbiB3aGVyZSB0aGUgc2V0dGluZyBjYW4gYWxzbyBiZSBnaXZlbgp3aXRoIHJ1bGVzIGluIHRoZSBiYXNpYyBzeW50YXguPC9wPgo8dGFibGU+CiAgPHRib2R5PgogICAgPHRyPgogICAgICA8dGg+QXR0cmlidXRlPC90aD4KICAgICAgPHRoPk9wdGlvbnM8L3RoPgogICAgICA8dGg+QmFzaWMgRXhhbXBsZSAmbmJzcDs8L3RoPgogICAgICA8dGg+WE1MIEV4YW1wbGU8L3RoPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkPmFsdGVybmF0ZTwvdGQ+CiAgICAgIDx0ZD48aT5ub24taWdub3JhYmxlPC9pPjxicj4KICAgICAgICBzaGlmdGVkPC90ZD4KICAgICAgPHRkPjxmb250IGNvbG9yPSIjMDAwMDAwIj48Y29kZT5bYWx0ZXJuYXRlIG5vbi1pZ25vcmFibGVdPC9jb2RlPjwvZm9udD48L3RkPgogICAgICA8dGQ+PGNvZGU+YWx0ZXJuYXRlPSZxdW90O25vbi1pZ25vcmFibGUmcXVvdDs8L2NvZGU+PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZD5iYWNrd2FyZHM8L3RkPgogICAgICA8dGQ+b248YnI+CiAgICAgICAgPGk+b2ZmPC9pPjwvdGQ+CiAgICAgIDx0ZD48Zm9udCBjb2xvcj0iIzAwMDAwMCI+PGNvZGU+W2JhY2t3YXJkcyBvbl0gJm5ic3A7PC9jb2RlPjwvZm9udD48L3RkPgogICAgICA8dGQ+PGNvZGU+YmFja3dhcmRzPSZxdW90O29uJnF1b3Q7PC9jb2RlPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQ+bm9ybWFsaXphdGlvbjwvdGQ+CiAgICAgIDx0ZD5vbjxicj4KICAgICAgICBvZmY8L3RkPgogICAgICA8dGQ+PGZvbnQgY29sb3I9IiMwMDAwMDAiPjxjb2RlPltub3JtYWxpemF0aW9uIG9uXSZuYnNwOzwvY29kZT48L2ZvbnQ+PC90ZD4KICAgICAgPHRkPjxjb2RlPm5vcm1hbGl6YXRpb249JnF1b3Q7b2ZmJnF1b3Q7PC9jb2RlPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQ+Y2FzZUxldmVsPC90ZD4KICAgICAgPHRkPm9uPGJyPgogICAgICAgIG9mZjwvdGQ+CiAgICAgIDx0ZD48Zm9udCBjb2xvcj0iIzAwMDAwMCI+PGNvZGU+W2Nhc2VMZXZlbCBvbl08L2NvZGU+PC9mb250PjwvdGQ+CiAgICAgIDx0ZD48Y29kZT5jYXNlTGV2ZWw9JnF1b3Q7b2ZmJnF1b3Q7PC9jb2RlPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQ+Y2FzZUZpcnN0PC90ZD4KICAgICAgPHRkPnVwcGVyPGJyPgogICAgICAgIGxvd2VyPGJyPgogICAgICAgIG9mZjwvdGQ+CiAgICAgIDx0ZD48Zm9udCBjb2xvcj0iIzAwMDAwMCI+PGNvZGU+W2Nhc2VGaXJzdCBvZmZdPC9jb2RlPjwvZm9udD48L3RkPgogICAgICA8dGQ+PGNvZGU+Y2FzZUZpcnN0PSZxdW90O29mZiZxdW90OzwvY29kZT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkPmhpcmFnYW5hUTwvdGQ+CiAgICAgIDx0ZD5vbjxicj4KICAgICAgICBvZmY8L3RkPgogICAgICA8dGQ+PGNvZGU+W2hpcmFnYW5hUSBvbl08L2NvZGU+PC90ZD4KICAgICAgPHRkPjxjb2RlPmhpcmFnYW5hUXVhcnRlcm5hcnk9JnF1b3Q7b24mcXVvdDs8L2NvZGU+PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZD48Zm9udCBjb2xvcj0iIzAwMDAwMCI+c3RyZW5ndGg8L2ZvbnQ+PC90ZD4KICAgICAgPHRkPnByaW1hcnkgKDEpPGJyPgogICAgICAgIHNlY29uZGFyeSAoMik8YnI+CiAgICAgICAgdGVydGlhcnkgKDMpPGJyPgogICAgICAgIHF1YXJ0ZXJuYXJ5ICg0KTxicj4KICAgICAgICBpZGVudGljYWwgKDUpPC90ZD4KICAgICAgPHRkPjxjb2RlPltzdHJlbmd0aCAxXTwvY29kZT48L3RkPgogICAgICA8dGQ+PGNvZGU+c3RyZW5ndGg9JnF1b3Q7cHJpbWFyeSZxdW90OzwvY29kZT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkPnZhcmlhYmxlVG9wPHN1cD4xPC9zdXA+PC90ZD4KICAgICAgPHRkPjxmb250IGNvbG9yPSIjMDAwMDAwIj5hdCBjaGFyYWN0ZXIocyk8YnI+CiAgICAgICAgYmVmb3JlIGNoYXJhY3RlcihzKTxicj4KICAgICAgICBhZnRlciBjaGFyYWN0ZXIocyk8L2ZvbnQ+PC90ZD4KICAgICAgPHRkPjxjb2RlPiZhbXA7IHggPSBbdmFyaWFibGUgdG9wXTwvY29kZT48L3RkPgogICAgICA8dGQ+PGNvZGU+dmFyaWFibGVUb3BBZnRlcj0mcXVvdDt4JnF1b3Q7PC9jb2RlPjwvdGQ+CiAgICA8L3RyPgogIDwvdGJvZHk+CjwvdGFibGU+CjxibG9ja3F1b3RlPgogIDxwPjxiPklzc3VlOjwvYj4gVGhpcyBzeW50YXggbWlnaHQgbGltaXQgdGhlIGNoYXJhY3RlcnMgaW4gdmFyaWFibGVUb3AsIHNpbmNlCiAgYXR0cmlidXRlcyBjYW4ndCBoYW5kbGUgYWxsIGNoYXJhY3RlcnMuIFBlcmhhcHMgdGhpcyBuZWVkcyB0byBiZSBhIHNlcGFyYXRlCiAgZWxlbWVudC48L3A+CiAgPG9sPgogICAgPGxpPlRoZSBkZWZhdWx0IHZhbHVlIGZvciB2YXJpYWJsZVRvcCBkZXBlbmRzIG9uIHRoZSBVQ0Egc2V0dGluZy4gRm9yCiAgICAgIGV4YW1wbGUsIGluIDMuMS4xZDEsIHRoZSB2YWx1ZSBpczo8YnI+CiAgICAgIFUrMUQ3QzMgTUFUSEVNQVRJQ0FMIFNBTlMtU0VSSUYgQk9MRCBJVEFMSUMgUEFSVElBTCBESUZGRVJFTlRJQUwuIFNlZQogICAgICBiZWxvdyBmb3IgdGhlIGxheW91dC48L2xpPgogIDwvb2w+CjwvYmxvY2txdW90ZT4KPGgyPjxhIG5hbWU9IlJ1bGVzIj5SdWxlczwvYT48L2gyPgo8cD5UaGUgcnVsZXMgc2VjdGlvbiwgaWYgdGhlcmUgaXMgb25lLCBjb250YWlucyBydWxlcyB0aGF0IHRhaWxvciB3aGF0ZXZlciB3YXMKaW4gdGhlIGJhc2UuIFRoZSBydWxlIHN5bnRheCwgd2hpbGUgdmFsaWQgWE1MLCBpcyBzb21ld2hhdCB1bnVzdWFsLiBUaGUgZ29hbCBpcwp0byBoYXZlIGNsZWFybHkgZXhwcmVzc2VkIHJ1bGVzLCB3aXRoIGEgY29uY2lzZSBmb3JtYXQsIHRoYXQgcGFyYWxsZWxzIHRoZSBCYXNpYwpzeW50YXggYXMgbXVjaCBhcyBwb3NzaWJsZS48L3A+CjxoMz48YSBuYW1lPSJPcmRlcmluZ3MiPk9yZGVyaW5nczwvYT48L2gzPgo8cD5UaGUgZm9sbG93aW5nIGFyZSB0aGUgbm9ybWFsIG9yZGVyaW5ncyB1c2VkIGZvciB0aGUgYnVsayBvZiBjaGFyYWN0ZXJzLjwvcD4KPHRhYmxlPgogIDx0cj4KICAgIDx0aD5CYXNpYyBTeW1ib2w8L3RoPgogICAgPHRoPkJhc2ljIEV4YW1wbGU8L3RoPgogICAgPHRoPlhNTCBTeW1ib2w8L3RoPgogICAgPHRoPlhNTCBFeGFtcGxlPC90aD4KICAgIDx0aD5EZXNjcmlwdGlvbjwvdGg+CiAgPC90cj4KICA8dHI+CiAgICA8dGQgYWxpZ249ImNlbnRlciI+PGNvZGU+Jmx0OyAmbmJzcDs8L2NvZGU+PC90ZD4KICAgIDx0ZD48Y29kZT5hICZsdDsgYiAmbmJzcDs8L2NvZGU+PC90ZD4KICAgIDx0ZD48Y29kZT4mbHQ7cC8mZ3Q7PC9jb2RlPjwvdGQ+CiAgICA8dGQ+PGNvZGU+YSAmbHQ7cC8mZ3Q7IGI8L2NvZGU+PC90ZD4KICAgIDx0ZD5NYWtlICdiJyBzb3J0IGFmdGVyICdhJywgYXMgYSA8aT5wcmltYXJ5PC9pPiAoYmFzZS1jaGFyYWN0ZXIpIGRpZmZlcmVuY2U8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkIGFsaWduPSJjZW50ZXIiPjxjb2RlPiZsdDsmbHQ7ICZuYnNwOzwvY29kZT48L3RkPgogICAgPHRkPjxjb2RlPmEgJmx0OyZsdDsg5CAmbmJzcDs8L2NvZGU+PC90ZD4KICAgIDx0ZD48Y29kZT4mbHQ7cy8mZ3Q7PC9jb2RlPjwvdGQ+CiAgICA8dGQ+PGNvZGU+YSAmbHQ7cy8mZ3Q7IOQ8L2NvZGU+PC90ZD4KICAgIDx0ZD5NYWtlICfkJyBzb3J0IGFmdGVyICdhJyBhcyBhIDxpPnNlY29uZGFyeTwvaT4gKGFjY2VudCkgZGlmZmVyZW5jZTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQgYWxpZ249ImNlbnRlciI+PGNvZGU+Jmx0OyZsdDsmbHQ7ICZuYnNwOzwvY29kZT48L3RkPgogICAgPHRkPjxjb2RlPmEgJmx0OyZsdDsmbHQ7IEEgJm5ic3A7PC9jb2RlPjwvdGQ+CiAgICA8dGQ+PGNvZGU+Jmx0O3QvJmd0OzwvY29kZT48L3RkPgogICAgPHRkPjxjb2RlPmEgJmx0O3QvJmd0OyBBPC9jb2RlPjwvdGQ+CiAgICA8dGQ+TWFrZSAnQScgc29ydCBhZnRlciAnYScgYXMgYSA8aT50ZXJ0aWFyeTwvaT4gKGNhc2UpIGRpZmZlcmVuY2U8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkIGFsaWduPSJjZW50ZXIiPjxjb2RlPj0gJm5ic3A7PC9jb2RlPjwvdGQ+CiAgICA8dGQ+PGNvZGU+eCA9IHkgJm5ic3A7PC9jb2RlPjwvdGQ+CiAgICA8dGQ+PGNvZGU+Jmx0O2VxLyZndDs8L2NvZGU+PC90ZD4KICAgIDx0ZD48Y29kZT52ICZsdDtlcS8mZ3Q7IHc8L2NvZGU+PC90ZD4KICAgIDx0ZD5NYWtlICd3JyBzb3J0IGV4YWN0bHkgdGhlIHNhbWUgYXMgJ3YnPC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZCBhbGlnbj0iY2VudGVyIj48Y29kZT4mYW1wOyAmbmJzcDs8L2NvZGU+PC90ZD4KICAgIDx0ZD48Y29kZT4mYW1wOyBaICZuYnNwOzwvY29kZT48L3RkPgogICAgPHRkPjxjb2RlPiZsdDtyZXNldC8mZ3Q7PC9jb2RlPjwvdGQ+CiAgICA8dGQ+PGNvZGU+Jmx0O3Jlc2V0LyZndDsgWjwvY29kZT48L3RkPgogICAgPHRkPkRvbid0IGNoYW5nZSB0aGUgb3JkZXJpbmcgb2YgWiwgYnV0IHBsYWNlIHN1YnNlcXVlbnQgY2hhcmFjdGVycyByZWxhdGl2ZQogICAgICB0byBpdC48L3RkPgogIDwvdHI+CjwvdGFibGU+CjxwPk5vdGUgdGhhdCBlYWNoIGNoYXJhY3RlciBpcyBwbGFjZWQgcmVsYXRpdmUgdG8gdGhlIGNoYXJhY3RlcnMgPGk+YmVmb3JlPC9pPgppdC4gVGh1cyB0aGUgZm9sbG93aW5nIG1lYW5zICZxdW90O2NoYW5nZSB0aGUgd2VpZ2h0IG9mIFcgc28gdGhhdCBpdCBjb21lcyBhZnRlcgpaLCBhbmQgd2l0aCBhIHByaW1hcnkgZGlmZmVyZW5jZS48L3A+CjxibG9ja3F1b3RlPgogIDxwcmU+Jmx0O3Jlc2V0LyZndDsgWiAmbHQ7cCZndDsgVzwvcHJlPgo8L2Jsb2NrcXVvdGU+CjxoMz48YSBuYW1lPSJFc2NhcGluZ19DaGFyYWN0ZXJzIj5Fc2NhcGluZyBDaGFyYWN0ZXJzPC9hPjwvaDM+CjxwPlVuZm9ydHVuYXRlbHksIFhNTCBkb2VzIG5vdCBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIGNvbnRhaW4gYWxsIFVuaWNvZGUgY29kZQpwb2ludHMuIER1ZSB0byB0aGlzLCBleHRyYSBzeW50YXggaXMgcmVxdWlyZWQgdG8gcmVwcmVzZW50IHRob3NlIGNvZGUgcG9pbnRzCnRoYXQgY2Fubm90IGJlIG90aGVyd2lzZSByZXByZXNlbnRlZC4gVGhpcyBjb3JyZXNwb25kcyB0byB0aGUgcXVvdGluZyBtZWNoYW5pc20KdXNlZCBpbiB0aGUgYmFzaWMgc3ludGF4LiBUaGlzIGFsc28gbXVzdCBiZSB1c2VkIHdoZXJlIHNwYWNlcyBhcmUgc2lnbmlmaWNhbnQKKG90aGVyd2lzZSB0aGV5IGFyZSBzdHJpcHBlZCkuPC9wPgo8dGFibGU+CiAgPHRyPgogICAgPHRoPkJhc2ljIEV4YW1wbGU8L3RoPgogICAgPHRoPlhNTCBFeGFtcGxlPC90aD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48Y29kZT4nXHUwMDAwJzwvY29kZT48L3RkPgogICAgPHRkPjxjb2RlPiZsdDtjcCBoZXg9JnF1b3Q7MCZxdW90OyZndDs8L2NvZGU+PC90ZD4KICA8L3RyPgo8L3RhYmxlPgo8aDM+PGEgbmFtZT0iQ29udHJhY3Rpb25zIj5Db250cmFjdGlvbnM8L2E+PC9oMz4KPHA+VG8gc29ydCBhIHNlcXVlbmNlIGFzIGEgc2luZ2xlIGl0ZW0gKGNvbnRyYWN0aW9uKSwganVzdCB1c2UgdGhlIHNlcXVlbmNlLAplLmcuPC9wPgo8dGFibGU+CiAgPHRyPgogICAgPHRoPkJBU0lDIEV4YW1wbGU8L3RoPgogICAgPHRoPlhNTCBFeGFtcGxlPC90aD4KICAgIDx0aD5EZXNjcmlwdGlvbjwvdGg+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+PGNvZGU+JmFtcDsgayAmbHQ7IGNoPC9jb2RlPjwvdGQ+CiAgICA8dGQ+PGNvZGU+Jmx0O3Jlc2V0LyZndDsmbmJzcDtrJm5ic3A7Jmx0O3AvJmd0OyZuYnNwO2NoPC9jb2RlPjwvdGQ+CiAgICA8dGQ+TWFrZSB0aGUgc2VxdWVuY2UgJ2NoJyBzb3J0IGFmdGVyICdrJywgYXMgYSBwcmltYXJ5IChiYXNlLWNoYXJhY3RlcikKICAgICAgZGlmZmVyZW5jZTwvdGQ+CiAgPC90cj4KPC90YWJsZT4KPGgzPjxhIG5hbWU9IkV4cGFuc2lvbnMiPkV4cGFuc2lvbnM8L2E+PC9oMz4KPHA+VGhlcmUgYXJlIHR3byB3YXlzIHRvIGhhbmRsZSBleHBhbnNpb25zICh3aGVyZSBhIGNoYXJhY3RlciBzb3J0cyBhcyBhCnNlcXVlbmNlKSB3aXRoIGJvdGggdGhlIGJhc2ljIHN5bnRheCBhbmQgdGhlIFhNTCBzeW50YXguIFRoZSBmaXJzdCBtZXRob2QgaXMgdG8KcmVzZXQgdG8gdGhlIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMuIFRoZSBzZWNvbmQgaXMgdG8gdXNlIHRoZSBleHRlbnNpb24Kc2VxdWVuY2UuIEJvdGggYXJlIGVxdWl2YWxlbnQgaW4gcHJhY3RpY2UgKHVubGVzcyB0aGUgcmVzZXQgc2VxdWVuY2UgaGFwcGVucyB0bwpiZSBhIGNvbnRyYWN0aW9uKS48L3A+Cjx0YWJsZT4KICA8dHI+CiAgICA8dGg+QmFzaWM8L3RoPgogICAgPHRoPlhNTDwvdGg+CiAgICA8dGg+RGVzY3JpcHRpb248L3RoPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxjb2RlPiZhbXA7IGFlICZsdDsgPC9jb2RlPuQ8L3RkPgogICAgPHRkPjxjb2RlPiZsdDtyZXNldC8mZ3Q7Jm5ic3A7YWUmbmJzcDsmbHQ7cC8mZ3Q7Jm5ic3A7PC9jb2RlPuQ8L3RkPgogICAgPHRkPk1ha2UgJ2snIHNvcnQgYWZ0ZXIgdGhlIHNlcXVlbmNlICdjaCc7IHRodXMgJ2snIHdpbGwgYmVoYXZlIGFzIGlmIGl0CiAgICAgIGV4cGFuZHMgdG8gYSBjaGFyYWN0ZXIgYWZ0ZXIgJ2MnIGZvbGxvd2VkIGJ5IGFuICdoJy4gKHVubGVzcyAnY2gnIGlzCiAgICAgIGRlZmluZWQgYmVmb3JlaGFuZCBhcyBhIGNvbnRyYWN0aW9uKS48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPjxjb2RlPiZhbXA7Jm5ic3A7YSZuYnNwOyZsdDsmbmJzcDs8L2NvZGU+5Dxjb2RlPiZuYnNwOy8mbmJzcDtlPC9jb2RlPjwvdGQ+CiAgICA8dGQ+PGNvZGU+Jmx0O3Jlc2V0LyZndDsmbmJzcDthJm5ic3A7Jmx0O3AvJmd0OyZuYnNwOzwvY29kZT7kPGNvZGU+Jm5ic3A7Jmx0O3gvJmd0OyZuYnNwO2U8L2NvZGU+PC90ZD4KICAgIDx0ZD5NYWtlICdrJyBzb3J0IGFmdGVyIHRoZSBzZXF1ZW5jZSAnY2gnOyB0aHVzICdrJyB3aWxsIGJlaGF2ZSBhcyBpZiBpdAogICAgICBleHBhbmRzIHRvIGEgY2hhcmFjdGVyIGFmdGVyICdjJyBmb2xsb3dlZCBieSBhbiAnaCcuPC90ZD4KICA8L3RyPgo8L3RhYmxlPgo8cD5JbiB0aGUgYmFzaWMgc3ludGF4LCB5b3UgY2FuIHJlc2V0IHZhcmlhYmxlIHRvcCBieSB0cmVhdGluZyBpdCBhcyBpZiBpdCB3ZXJlCmEgY2hhcmFjdGVyLiBJbiBYTUwsIGl0IGlzIGFsd2F5cyBhbiBvcHRpb24gb24gc2V0dGluZ3MsIGFzIGRlc2NyaWJlZCBhYm92ZS48L3A+CjxoMz48YSBuYW1lPSJDb250ZXh0X0JlZm9yZSI+Q29udGV4dCBCZWZvcmU8L2E+PC9oMz4KPHA+VGhlIGNvbnRleHQgYmVmb3JlIGEgY2hhcmFjdGVyIGNhbiBhZmZlY3QgaG93IGl0IGlzIG9yZGVyZWQsIHN1Y2ggYXMgaW4KSmFwYW5lc2UuIFRoaXMgY291bGQgYmUgZXhwcmVzc2VkIHdpdGggYSBjb21iaW5hdGlvbiBvZiBjb250cmFjdGlvbnMgYW5kCmV4cGFuc2lvbnMsIGJ1dCBpcyBmYXN0ZXIgdXNpbmcgYSBjb250ZXh0LiAoVGhlIGFjdHVhbCB3ZWlnaHRzIHByb2R1Y2VkIGFyZQpkaWZmZXJlbnQsIGJ1dCB0aGUgcmVzdWx0aW5nIHN0cmluZyBjb21wYXJpc29ucyBhcmUgdGhlIHNhbWUuKTwvcD4KPHRhYmxlPgogIDx0cj4KICAgIDx0aD5CYXNpYzwvdGg+CiAgICA8dGg+WE1MPC90aD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48Y29kZT4mYW1wOyAmIzEyNDQ5Ozxicj4KICAgICAgJmx0OyZsdDsmbHQ7ICYjMTI0NDk7IHwgJiMxMjU0MDs8YnI+CiAgICAgID0gJiM2NTM4MzsgfCAmIzEyNTQwOzxicj4KICAgICAgPSAmIzEyMzUzOyB8ICYjMTI1NDA7PC9jb2RlPjwvdGQ+CiAgICA8dGQ+PGNvZGU+Jmx0O3Jlc2V0LyZndDs8L2NvZGU+PGNvZGU+Jm5ic3A7PC9jb2RlPjxjb2RlPiYjMTI0NDk7PGJyPgogICAgICAmbHQ7dCZndDs8L2NvZGU+PGNvZGU+Jm5ic3A7PC9jb2RlPjxjb2RlPiYjMTI0NDk7PC9jb2RlPjxjb2RlPiZuYnNwOzwvY29kZT48Y29kZT4mbHQ7Y29udGV4dC8mZ3Q7PC9jb2RlPjxjb2RlPiZuYnNwOzwvY29kZT48Y29kZT4mIzEyNTQwOzxicj4KICAgICAgJmx0O2VxJmd0OzwvY29kZT48Y29kZT4mbmJzcDs8L2NvZGU+PGNvZGU+JiM2NTM4Mzs8L2NvZGU+PGNvZGU+Jm5ic3A7PC9jb2RlPjxjb2RlPiZsdDtjb250ZXh0LyZndDs8L2NvZGU+PGNvZGU+Jm5ic3A7PC9jb2RlPjxjb2RlPiYjMTI1NDA7PGJyPgogICAgICAmbHQ7ZXEmZ3Q7PC9jb2RlPjxjb2RlPiZuYnNwOzwvY29kZT48Y29kZT4mIzEyMzUzOzwvY29kZT48Y29kZT4mbmJzcDs8L2NvZGU+PGNvZGU+Jmx0O2NvbnRleHQvJmd0OzwvY29kZT48Y29kZT4mbmJzcDs8L2NvZGU+PGNvZGU+JiMxMjU0MDs8L2NvZGU+PC90ZD4KICA8L3RyPgo8L3RhYmxlPgo8aDM+PGEgbmFtZT0iUGxhY2luZ19DaGFyYWN0ZXJzX0JlZm9yZV9PdGhlcnMiPlBsYWNpbmcgQ2hhcmFjdGVycyBCZWZvcmUgT3RoZXJzPC9hPjwvaDM+CjxwPlRoZXJlIGFyZSBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgd2hlcmUgY2hhcmFjdGVycyBuZWVkIHRvIGJlIHBsYWNlZCBiZWZvcmUgYQpnaXZlbiBjaGFyYWN0ZXIsIHJhdGhlciB0aGFuIGFmdGVyLiBUaGlzIGlzIHRoZSBjYXNlIHdpdGggUGlueWluLCBmb3IgZXhhbXBsZSwKd2hlcmUgY2VydGFpbiBhY2NlbnRlZCBsZXR0ZXJzIGFyZSBwb3NpdGlvbmVkIGJlZm9yZSB0aGUgYmFzZSBsZXR0ZXIuIFRoYXQgaXMKYWNjb21wbGlzaGVkIHdpdGggdGhlIGZvbGxvd2luZyBzeW50YXguPC9wPgo8dGFibGU+CiAgPHRib2R5PgogICAgPHRyPgogICAgICA8dGg+SXRlbTwvdGg+CiAgICAgIDx0aD5PcHRpb25zPC90aD4KICAgICAgPHRoPkJhc2ljIEV4YW1wbGUgJm5ic3A7PC90aD4KICAgICAgPHRoPlhNTCBFeGFtcGxlPC90aD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZD5iZWZvcmUmbmJzcDs8L3RkPgogICAgICA8dGQ+cHJpbWFyeTxicj4KICAgICAgICBzZWNvbmRhcnk8YnI+CiAgICAgICAgdGVydGlhcnk8YnI+CiAgICAgICAgaWRlbnRpY2FsPC90ZD4KICAgICAgPHRkPjxjb2RlPiZhbXA7IFtiZWZvcmUgMV0gYTxicj4KICAgICAgICAmbHQ7Jmx0OyDgPC9jb2RlPjwvdGQ+CiAgICAgIDx0ZD48Y29kZT4mbHQ7cmVzZXQgYmVmb3JlPSZxdW90O3ByaW1hcnkmcXVvdDsvJmd0OyZuYnNwO2E8YnI+CiAgICAgICAgJmx0O3MvJmd0OyZuYnNwO+A8L2NvZGU+PC90ZD4KICAgIDwvdHI+CiAgPC90Ym9keT4KPC90YWJsZT4KPGgzPjxhIG5hbWU9IkxvZ2ljYWxfUmVzZXRfUG9zaXRpb25zIj5Mb2dpY2FsIFJlc2V0IFBvc2l0aW9uczwvYT48L2gzPgo8cD5UaGUgVUNBIGhhcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZSBmb3IgcHJpbWFyeSB3ZWlnaHRzLCBnb2luZyBmcm9tIGxvdyB0bwpoaWdoLjwvcD4KPHRhYmxlPgogIDx0cj4KICAgIDx0aCB2YWxpZ249InRvcCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iI0NDQ0NGRiI+SXRlbXM8L3RoPgogICAgPHRoIHZhbGlnbj0idG9wIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjQ0NDQ0ZGIj5EZXNjcmlwdGlvbjwvdGg+CiAgICA8dGggdmFsaWduPSJ0b3AiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiNDQ0NDRkYiPlVDQSBFeGFtcGxlczwvdGg+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+Zmlyc3QgdGVydGlhcnkgaWdub3JhYmxlPGJyPgogICAgICAuLi48YnI+CiAgICAgIGxhc3QgdGVydGlhcnkgaWdub3JhYmxlPC90ZD4KICAgIDx0ZD5wcmltYXJ5LCBzZWNvbmRhcnksIHRlcnRpYXJ5IHdlaWdodHMgPSBpZ25vcmU8L3RkPgogICAgPHRkPkNvbnRyb2wgQ29kZXM8YnI+CiAgICAgIEZvcm1hdCBDaGFyYWN0ZXJzPGJyPgogICAgICBIZWJyZXcgUG9pbnRzPGJyPgogICAgICBUaWJldGFuIFNpZ25zPGJyPgogICAgICAuLi48L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPmZpcnN0IHNlY29uZGFyeSBpZ25vcmFibGU8YnI+CiAgICAgIC4uLjxicj4KICAgICAgbGFzdCBzZWNvbmRhcnkgaWdub3JhYmxlPC90ZD4KICAgIDx0ZD5wcmltYXJ5LCBzZWNvbmRhcnkgd2VpZ2h0cyA9IGlnbm9yZTwvdGQ+CiAgICA8dGQ+Tm9uZSBpbiBVQ0E8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPmZpcnN0IHByaW1hcnkgaWdub3JhYmxlPGJyPgogICAgICAuLi48YnI+CiAgICAgIGxhc3QgcHJpbWFyeSBpZ25vcmFibGU8L3RkPgogICAgPHRkPnByaW1hcnkgd2VpZ2h0cyA9IGlnbm9yZTwvdGQ+CiAgICA8dGQ+TW9zdCBjb21iaW5pbmcgbWFya3M8L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPmZpcnN0IHZhcmlhYmxlPGJyPgogICAgICAuLi48YnI+CiAgICAgIGxhc3QgdmFyaWFibGU8L3RkPgogICAgPHRkPnByaW1hcnkgd2VpZ2h0cyAhPSBpZ25vcmUsPGJyPgogICAgICA8aT4mbmJzcDs8Yj5pZjwvYj4gYWx0ZXJuYXRlID0gbm9uLWlnbm9yYWJsZTxicj4KICAgICAgPC9pPjxicj4KICAgICAgcHJpbWFyeSwgc2Vjb25kYXJ5LCB0ZXJ0aWFyeSB3ZWlnaHRzID0gaWdub3JlLDxicj4KICAgICAgJm5ic3A7PGk+PGI+aWY8L2I+IGFsdGVybmF0ZSA9IHNoaWZ0ZWQ8L2k+PC90ZD4KICAgIDx0ZD5XaGl0ZXNwYWNlLDxicj4KICAgICAgUHVuY3R1YXRpb24sPGJyPgogICAgICBTeW1ib2xzPC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD5maXJzdCBub24taWdub3JhYmxlPGJyPgogICAgICAuLi48YnI+CiAgICAgIGxhc3Qgbm9uLWlnbm9yYWJsZTwvdGQ+CiAgICA8dGQ+cHJpbWFyeSB3ZWlnaHRzICE9IGlnbm9yZTwvdGQ+CiAgICA8dGQ+U21hbGwgbnVtYmVyIG9mIGV4Y2VwdGlvbmFsIHN5bWJvbHM8YnI+CiAgICAgIFtlLmcuIFUrMDJEMCBNT0RJRklFUiBMRVRURVIgVFJJQU5HVUxBUiBDT0xPTl08YnI+CiAgICAgIE51bWJlcnM8YnI+CiAgICAgIExhdGluPGJyPgogICAgICBHcmVlazxicj4KICAgICAgLi4uPC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48aT5pbXBsaWNpdHM8L2k+PC90ZD4KICAgIDx0ZD5wcmltYXJ5IHdlaWdodHMgIT0gaWdub3JlLDxicj4KICAgICAgPGk+YXNzaWduZWQgYXV0b21hdGljYWxseTwvaT48L3RkPgogICAgPHRkPkNKSywgQ0pLIGNvbXBhdGliaWxpdHkgKHRoYXQgYXJlIG5vdCBkZWNvbXBvc2VkKTxicj4KICAgICAgQ0pLIEV4dGVuc2lvbiBBLCBCPGJyPgogICAgICBVbmFzc2lnbmVkPC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD5maXJzdCB0cmFpbGluZzxicj4KICAgICAgLi4uPGJyPgogICAgICBsYXN0IHRyYWlsaW5nPC90ZD4KICAgIDx0ZD5wcmltYXJ5IHdlaWdodHMgIT0gaWdub3JlLDxicj4KICAgICAgPGk+dXNlZCBmb3IgdHJhaWxpbmcgc3lsbGFibGUgY29tcG9uZW50czwvaT48L3RkPgogICAgPHRkPkphbW8gVHJhaWxpbmc8YnI+CiAgICAgIEphbW8gTGVhZGluZzwvdGQ+CiAgPC90cj4KPC90YWJsZT4KPHA+RWFjaCBvZiB0aGUgYWJvdmUgdmFsdWVzIChleGNlcHQgPGk+aW1wbGljaXRzPC9pPikgY2FuIGJlIHVzZWQgd2l0aCBhIHJlc2V0CnRvIHBvc2l0aW9uIGNoYXJhY3RlcnMgYWZ0ZXIgKG9yIGJlZm9yZSkgdGhhdCBsb2dpY2FsIHBvc2l0aW9uLiBUaGF0IGFsbG93cwpjaGFyYWN0ZXJzIHRvIGJlIG9yZGVyZWQgYmVmb3JlIG9yIGFmdGVyIGEgbG9naWNhbCBwb3NpdGlvbiByYXRoZXIgdGhhbiBhCnNwZWNpZmljIGNoYXJhY3Rlci48L3A+CjxibG9ja3F1b3RlPgogIDxwPlRoZSByZWFzb24gZm9yIHRoaXMgaXMgc28gdGhhdCB0YWlsb3JpbmdzIGNhbiBiZSBtb3JlIHN0YWJsZS4gQSBmdXR1cmUKICB2ZXJzaW9uIG9mIHRoZSBVQ0EgbWlnaHQgYWRkIGNoYXJhY3RlcnMgYXQgYW55IHBvaW50IGluIHRoZSBhYm92ZSBsaXN0LgogIFN1cHBvc2UgdGhhdCB5b3Ugc2V0IGNoYXJhY3RlciBYIHRvIGJlIGFmdGVyIFkuIEl0IGNvdWxkIGJlIHRoYXQgeW91IHdhbnQgWCB0bwogIGNvbWUgYWZ0ZXIgWSwgbm8gbWF0dGVyIHdoYXQgZnV0dXJlIGNoYXJhY3RlcnMgYXJlIGFkZGVkOyBvciBpdCBjb3VsZCBiZSB0aGF0CiAgeW91IGp1c3Qgd2FudCBZIHRvIGNvbWUgYWZ0ZXIgYSBnaXZlbiBsb2dpY2FsIHBvc2l0aW9uLCBlLmcuIGFmdGVyIHRoZSBsYXN0CiAgcHJpbWFyeSBpZ25vcmFibGUuPC9wPgo8L2Jsb2NrcXVvdGU+CjxwPkhlcmUgaXMgYW4gZXhhbXBsZSBvZiB0aGUgc3ludGF4OjwvcD4KPHRhYmxlPgogIDx0cj4KICAgIDx0aD5CYXNpYzwvdGg+CiAgICA8dGg+WE1MPC90aD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD48Y29kZT4mYW1wOyZuYnNwO1tmaXJzdCZuYnNwO3RlcnRpYXJ5Jm5ic3A7aWdub3JhYmxlXTxicj4KICAgICAgJmx0OyZsdDsmbmJzcDvgPC9jb2RlPjwvdGQ+CiAgICA8dGQ+PGNvZGU+Jmx0O3Jlc2V0LyZndDsmbHQ7cG9zaXRpb24gYXQ9JnF1b3Q7Zmlyc3QgdGVydGlhcnkKICAgICAgaWdub3JhYmxlJnF1b3Q7LyZndDs8YnI+CiAgICAgICZsdDtzLyZndDsmbmJzcDvgPC9jb2RlPjwvdGQ+CiAgPC90cj4KPC90YWJsZT4KPHA+Rm9yIGV4YW1wbGUsIHRvIG1ha2UgYSBjaGFyYWN0ZXIgYmUgYSBzZWNvbmRhcnkgaWdub3JhYmxlLCBvbmUgY2FuIG1ha2UgaXQgYmUKaW1tZWRpYXRlbHkgYWZ0ZXIgKGF0IGEgc2Vjb25kYXJ5IGxldmVsKSBhIHNwZWNpZmljIGNoYXJhY3RlciAobGlrZSBhIGNvbWJpbmluZwpkaWVyZXNpcyksIG9yIG9uZSBjYW4gbWFrZSBpdCBiZSBpbW1lZGlhdGVseSBhZnRlciB0aGUgbGFzdCBzZWNvbmRhcnkgaWdub3JhYmxlLjwvcD4KCjwvYm9keT4KCjwvaHRtbD4K