PCFkb2N0eXBlIGh0bWwgcHVibGljICItLy93M2MvL2R0ZCBodG1sIDQuMCB0cmFuc2l0aW9uYWwvL2VuIj4KCjxodG1sPgoKPGhlYWQ+CgogICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTIiPgoKICAgPG1ldGEgbmFtZT0iQXV0aG9yIiBjb250ZW50PSJFY2xpcHNlIFByb2plY3QgUE1DIj4KCiAgIDxtZXRhIG5hbWU9IkdFTkVSQVRPUiIgY29udGVudD0iTWljcm9zb2Z0IEZyb250UGFnZSA0LjAiPgoKICAgPG1ldGEgbmFtZT0iUHJvZ0lkIiBjb250ZW50PSJGcm9udFBhZ2UuRWRpdG9yLkRvY3VtZW50Ij4KCiAgIDx0aXRsZT5FY2xpcHNlIFByb2plY3QgRHJhZnQgMi4xIFBsYW4gKERyYWZ0IG9mIFNlcHQuIDEwLCAyMDAyKTwvdGl0bGU+CgogICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2RlZmF1bHRfc3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyI+Cgo8L2hlYWQ+Cgo8Ym9keT4KCgoKPGgxPgoKRWNsaXBzZSBQcm9qZWN0PGJyPgoKRFJBRlQgMi4xIFBsYW48L2gxPgoKPHA+TGFzdCByZXZpc2VkIFR1ZXNkYXksIFNlcHRlbWJlciAxMCwgMjAwMiAoPGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4KbWFya3MgaW50ZXJlc3RpbmcgY2hhbmdlcyBzaW5jZSB0aGUgPGEgaHJlZj0iZWNsaXBzZV9wcm9qZWN0X3BsYW5fMl8xXzIwMDIwODMwLmh0bWwiPnByZXZpb3VzIGRyYWZ0IG9mCkF1Zy4gMzA8L2E+KTxicj4KPGJyPgo8aT4mbmJzcDsmbmJzcDsmbmJzcDsgUGxlYXNlIHNlbmQgY29tbWVudHMgYWJvdXQgdGhpcyBkcmFmdCBwbGFuIHRvIHRoZSA8L2k+PGEgaHJlZj0ibWFpbHRvOmVjbGlwc2UtZGV2QGVjbGlwc2Uub3JnIj5lY2xpcHNlLWRldkBlY2xpcHNlLm9yZzwvYT4KPGk+ZGV2ZWxvcGVyIG1haWxpbmcgbGlzdC48L2k+IDwvcD4KCjxwPlRoaXMgZG9jdW1lbnQgbGF5cyBvdXQgdGhlIGZlYXR1cmUgYW5kIEFQSSBzZXQgZm9yIHRoZSBuZXh0IGZlYXR1cmUgcmVsZWFzZSAKICBvZiBFY2xpcHNlLCBkZXNpZ25hdGVkIHJlbGVhc2UgMi4xLiAKPHA+UGxhbnMgZG8gbm90IG1hdGVyaWFsaXplIG91dCBvZiBub3doZXJlLCBub3IgYXJlIHRoZXkgZW50aXJlbHkgc3RhdGljLiBUbyBtYWtlIAogIHRoZSBwbGFubmluZyBwcm9jZXNzIG1vcmUgdHJhbnNwYXJlbnQgYW5kIG9wZW4gdG8gdGhlIEVjbGlwc2UgY29tbXVuaXR5LCB3ZSAKICAodGhlIEVjbGlwc2UgUE1DKSBhcmUgcG9zdGluZyB0aGUgcGxhbiBpbiBhbiBlbWJyeW9uaWMgZm9ybSBhbmQgYXJlIHJldmlzaW5nIAogIGl0IHRocm91Z2hvdXQgdGhlIHJlbGVhc2UgY3ljbGUuJm5ic3A7CjxwPlRoZSBmaXJzdCBwYXJ0IG9mIHRoZSBwbGFuCmRlYWxzIHdpdGggdGhlIGltcG9ydGFudCBtYXR0ZXJzIG9mIHJlbGVhc2UgZGVsaXZlcmFibGVzLCByZWxlYXNlIG1pbGVzdG9uZXMsCnRhcmdldCBvcGVyYXRpbmcgZW52aXJvbm1lbnRzLCBhbmQgcmVsZWFzZS10by1yZWxlYXNlIGNvbXBhdGliaWxpdHkuIFRoZXNlIGFyZQphbGwgdGhpbmdzIHRoYXQgbmVlZCB0byBiZSBjbGVhciBmb3IgYW55IHJlbGVhc2UsIGV2ZW4gaWYgbm8gZmVhdHVyZXMgd2VyZSB0bwpjaGFuZ2UuJm5ic3A7PHA+VGhlIHJlbWFpbmRlciBvZiB0aGUgcGxhbiBjb25zaXN0cyBvZiBwbGFuIGl0ZW1zIGZvciB0aGUgdmFyaW91cwpFY2xpcHNlIHN1YnByb2plY3RzLiBFYWNoIHBsYW4gaXRlbSBjb3ZlcnMgYSBmZWF0dXJlIG9yIEFQSSB0aGF0IGlzIHRvIGJlIGFkZGVkCnRvIEVjbGlwc2UsIG9yIHNvbWUgYXNwZWN0IG9mIEVjbGlwc2UgdGhhdCBpcyB0byBiZSBpbXByb3ZlZC4gRWFjaCBwbGFuIGl0ZW0gaGFzCmEgdGl0bGUgYW5kIGEgY29uY2lzZSBzdW1tYXJ5ICh1c3VhbGx5IGEgc2luZ2xlIHBhcmFncmFwaCkgdGhhdCBleHBsYWlucyB0aGUKd29yayBpdGVtIGF0IGEgc3VpdGFibHkgaGlnaCBlbm91Z2ggbGV2ZWwgc28gdGhhdCBldmVyeW9uZSBjYW4gcmVhZGlseQp1bmRlcnN0YW5kIHdoYXQgdGhlIHdvcmsgaXRlbSBpcyB3aXRob3V0IGhhdmluZyB0byB1bmRlcnN0YW5kIHRoZSBuaXR0eS1ncml0dHkKZGV0YWlscyAod2hpY2ggY2FuIGJlIGhhc2hlZCBvdXQgZWxzZXdoZXJlKS4mbmJzcDsKPHA+Tm90IGFsbCBwbGFuIGl0ZW1zIHJlcHJlc2VudCB0aGUgc2FtZSBhbW91bnQgb2Ygd29yazsgc29tZSBtYXkgYmUgcXVpdGUgbGFyZ2UsIAogIG90aGVycywgcXVpdGUgc21hbGwuIFNvbWUgcGxhbiBpdGVtcyBtYXkgaW52b2x2ZSB3b3JrIHRoYXQgaXMgbG9jYWxpemVkIHRvIGEgCiAgc2luZ2xlIFBsYXRmb3JtIGNvbXBvbmVudDsgb3RoZXJzIG1heSBpbnZvbHZlIGNvb3JkaW5hdGVkIGNoYW5nZXMgdG8gc2V2ZXJhbCAKICBjb21wb25lbnRzOyBvdGhlciBtYXkgcGVydmFkZSB0aGUgZW50aXJlIFBsYXRmb3JtLgo8cD5XaXRoIHRoZSBwcmV2aW91cyByZWxlYXNlIGFzIHRoZSBzdGFydGluZyBwb2ludCwgdGhpcyBpcyB0aGUgcGxhbiBmb3IgaG93IHdlIAogIHdpbGwgZW5oYW5jZSBhbmQgaW1wcm92ZSBpdC4gRml4aW5nIGJ1Z3MsIGltcHJvdmluZyB0ZXN0IGNvdmVyYWdlLCBkb2N1bWVudGF0aW9uLCAKICBleGFtcGxlcywgZXRjLiBhcmUgY29uc2lkZXJlZCByb3V0aW5lIG9uZ29pbmcgbWFpbnRlbmFuY2UgYWN0aXZpdGllcyBhbmQgYXJlIAogIG5vdCBpbmNsdWRlZCBpbiB0aGlzIHBsYW4gdW5sZXNzIHRoZXkgd291bGQgYWxzbyBpbnZvbHZlIGEgc2lnbmlmaWNhbnQgY2hhbmdlIAogIHRvIHRoZSBBUEkgb3IgZmVhdHVyZSBzZXQsIG9yIGludm9sdmUgYSBzaWduaWZpY2FudCBhbW91bnQgb2Ygd29yay4gQWxsIGludGVyZXN0aW5nIAogIGZlYXR1cmUgd29yayBpcyBhY2NvdW50ZWQgZm9yIGluIHRoaXMgcGxhbi4KPHA+VGhlIGN1cnJlbnQgc3RhdHVzIG9mIGVhY2ggcGxhbiBpdGVtIGlzCm5vdGVkOgo8dWw+CiAgPGxpPjxiPlByb3Bvc2VkPC9iPiBwbGFuIGl0ZW0gLSBBIHByb3Bvc2FsIGZvciBhbiBhc3BlY3QgdG8gd29yayBvbiBmb3IgdGhlCiAgICByZWxlYXNlLiBBZnRlciBkdWUgY29uc2lkZXJhdGlvbiwgYSBwcm9wb3NhbCB3aWxsIGVpdGhlciBiZSBjb21taXR0ZWQsCiAgICByZWplY3RlZCwgb3IgZGVmZXJyZWQuPC9saT4KICA8bGk+PGI+Q29tbWl0dGVkPC9iPiBwbGFuIGl0ZW0gLSBBIGNvbW1pdHRlZCBwbGFuIGl0ZW0gaXMgb25lIHRoYXQgd2UgaGF2ZSBkZWNpZGVkIAogICAgdG8gYWRkcmVzcyBmb3IgdGhlIHJlbGVhc2UuPC9saT4KICA8bGk+PGI+RGVmZXJyZWQ8L2I+IHBsYW4gaXRlbSAtIEEgcmVhc29uYWJsZSBwcm9wb3NhbCB0aGF0IGRpZCBub3QgbWFrZSBpdCBpbiAKICAgIHRvIHRoaXMgcmVsZWFzZSBmb3Igc29tZSByZWFzb24gaXMgbWFya2VkIGFzIGRlZmVycmVkIHdpdGggYSBicmllZiBub3RlIGFzIAogICAgdG8gd2h5IHRoZXkgd2VyZSBkZWZlcnJlZC4gRGVmZXJyZWQgcGxhbiBpdGVtcyBtYXkgcmVzdXJmYWNlIGFzIHByb3Bvc2VkIHBsYW4gCiAgICBpdGVtcyBhdCBhIGxhdGVyIHBvaW50LjwvbGk+CiAgPGxpPjxiPlJlamVjdGVkPC9iPiBwbGFuIGl0ZW0gLSBQbGFuIGl0ZW1zIHRoYXQgd2VyZSBwcm9wb3NlZCBidXQganVkZ2VkIHVud29ya2FibGUgCiAgICBhcmUgbWFya2VkIGFzIHJlamVjdGVkIHBsYW4gaXRlbXMsIHdpdGggYW4gYWNjb21wYW55aW5nIHN1bW1hcnkgb2Ygd2h5IHRoZXkgCiAgICB3ZXJlIGRpc21pc3NlZC4gS2VlcGluZyB0cmFjayBvZiByZWplY3RlZCBpdGVtcyBhdm9pZHMgcmVwZWF0aW5nIHRoZSBkaXNjdXNzaW9uLjwvbGk+CjwvdWw+CjxoMj5SZWxlYXNlIGRlbGl2ZXJhYmxlczwvaDI+Cgo8cD5UaGUgcmVsZWFzZSBkZWxpdmVyYWJsZXMgaGF2ZSB0aGUgc2FtZSBmb3JtIGFzIHByZXZpb3VzIHJlbGVhc2VzLCBuYW1lbHk6Cgo8dWw+CgogIDxsaT5Tb3VyY2UgY29kZSByZWxlYXNlIGZvciBFY2xpcHNlIFByb2plY3QsIGF2YWlsYWJsZSBhcyB2ZXJzaW9ucyB0YWdnZWQgJnF1b3Q7UjJfMSZxdW90OyAKICAgIGluIHRoZSBFY2xpcHNlIFByb2plY3QgPGEgaHJlZj0iaHR0cDovL2J1Z3MuZWNsaXBzZS5vcmcvdmlld2N2cy8iPkNWUyByZXBvc2l0b3J5PC9hPi48L2xpPgoKICA8bGk+RWNsaXBzZSBQcm9qZWN0IFNESyAoaW5jbHVkZXMgUGxhdGZvcm0sIEpEVCwgYW5kIFBERSBzb3VyY2UgemlwcykKCiAgICAoZG93bmxvYWRhYmxlKS48L2xpPgoKICA8bGk+RWNsaXBzZSBQbGF0Zm9ybSBydW50aW1lIGJpbmFyeSBkaXN0cmlidXRpb24gKGRvd25sb2FkYWJsZSkuPC9saT4KCiAgPGxpPkpEVCBydW50aW1lIGJpbmFyeSBkaXN0cmlidXRpb24gKGRvd25sb2FkYWJsZSkuPC9saT4KCiAgPGxpPkVjbGlwc2UgU0RLIEV4YW1wbGVzIChkb3dubG9hZGFibGUpLjwvbGk+Cgo8L3VsPgoKPGgyPjxhIG5hbWU9Ik1pbGVzdG9uZXMiPjwvYT5SZWxlYXNlIG1pbGVzdG9uZXM8L2gyPgoKPHA+UmVsZWFzZSBtaWxlc3RvbmUgb2NjdXJyaW5nIGF0IHJvdWdobHkgbW9udGhseSBpbnRlcnZhbHMgZXhpc3QgdG8gZmFjaWxpdGF0ZQpjb2Fyc2UtZ3JhaW5lZCBwbGFubmluZyBhbmQgc3RhZ2luZy4gVGhlIG1pbGVzdG9uZXMgZm9yIHRoZSByZW1haW5kZXIgb2YgdGhpcwp5ZWFyIGFyZTo8L3A+Cgo8dWw+CiAgPGxpPlNlcHRlbWJlciAyMCwgMjAwMiAtIE1pbGVzdG9uZSAxIC0gKDIuMSBNMSkgLSBzdGFibGUgYnVpbGQgcmVmbGVjdGluZyBwcm9ncmVzczwvbGk+CiAgPGxpPk9jdG9iZXIgMTgsIDIwMDIgLSBNaWxlc3RvbmUgMiAtICgyLjEgTTIpIC0gc3RhYmxlIGJ1aWxkIHJlZmxlY3RpbmcgcHJvZ3Jlc3M8L2xpPgogIDxsaT5Ob3ZlbWJlciAxNSwgMjAwMiAtIE1pbGVzdG9uZSAzIC0gKDIuMSBNMykgLSBzdGFibGUgYnVpbGQgcmVmbGVjdGluZwogICAgcHJvZ3Jlc3M8L2xpPgogIDxsaT5EZWNlbWJlciAxMywmbmJzcDsgMjAwMiAtIE1pbGVzdG9uZSA0IC0gKDIuMSBNNCkgLSBzdGFibGUgYnVpbGQgcmVmbGVjdGluZwogICAgcHJvZ3Jlc3M8L2xpPgo8L3VsPgoKPHA+IEFkZGl0aW9uYWwgMjAwMyBtaWxlc3RvbmVzIHdpbGwgYmUgYWRkZWQgbGF0ZXIuIE91ciB0YXJnZXQKaXMgdG8gY29tcGxldGUgMi4xIGxhdGUgaW4gMVEyMDAzLiBBbGwgcmVsZWFzZSBkZWxpdmVyYWJsZXMgd2lsbCBiZSBhdmFpbGFibGUgZm9yIGRvd25sb2FkIGFzIAogIHNvb24gYXMgdGhlIHJlbGVhc2UgaGFzIGJlZW4gdGVzdGVkIGFuZCB2YWxpZGF0ZWQgaW4gdGhlIHRhcmdldCBvcGVyYXRpbmcgY29uZmlndXJhdGlvbnMgCiAgbGlzdGVkIGJlbG93LjwvcD4KCjxoMj5UYXJnZXQgT3BlcmF0aW5nIEVudmlyb25tZW50czwvaDI+CgoKCjxwPkluIG9yZGVyIHRvIHJlbWFpbiBjdXJyZW50LCBlYWNoIEVjbGlwc2UgcmVsZWFzZSB0YXJnZXRzIHJlYXNvbmFibHkgY3VycmVudAp2ZXJzaW9ucyBvZiB0aGUgdW5kZXJseWluZyBvcGVyYXRpbmcgZW52aXJvbm1lbnRzLjwvcD4KCjxwPk1vc3Qgb2YgdGhlIEVjbGlwc2UgU0RLIGlzICZxdW90O3B1cmUmcXVvdDsgSmF2YZkgY29kZSBhbmQgaGFzIG5vIGRpcmVjdApkZXBlbmRlbmNlIG9uIHRoZSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW0uIFRoZSBjaGllZiBkZXBlbmRlbmNlIGlzIHRoZXJlZm9yZQpvbiB0aGUgSmF2YSAyIFBsYXRmb3JtIGl0c2VsZi4gVGhlIDIuMCByZWxlYXNlIG9mIHRoZSBFY2xpcHNlIFByb2plY3QgaXMgd3JpdHRlbgphbmQgY29tcGlsZWQgYWdhaW5zdCB2ZXJzaW9uIDEuMyBvZiB0aGUgSmF2YSAyIFBsYXRmb3JtIEFQSXMsIGFuZCB0YXJnZXRlZCB0bwpydW4gb24gZWl0aGVyIHZlcnNpb24gMS4zIG9yIDEuNCBvZiB0aGUgSmF2YSAyIFJ1bnRpbWUgRW52aXJvbm1lbnQsIFN0YW5kYXJkCkVkaXRpb24uPC9wPgo8cD5FY2xpcHNlIFNESyAyLjAgaGFzIGJlZW4gdGVzdGVkIGFuZCB2YWxpZGF0ZWQgb24gdGhlIGZvbGxvd2luZyBKYXZhIDIKUGxhdGZvcm0gaW1wbGVtZW50YXRpb25zOjwvcD4KPHRhYmxlIHdpZHRoPSI5MSUiIGJvcmRlcj0iMSI+CiAgPHRib2R5PgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjE5JSI+PGI+T3BlcmF0aW5nIHN5c3RlbTwvYj48L3RkPgogICAgICA8dGQgd2lkdGg9IjI0JSI+PGI+UHJvY2Vzc29yIGFyY2hpdGVjdHVyZTwvYj48L3RkPgogICAgICA8dGQgd2lkdGg9IjczJSI+PGI+SmF2YSAyIFBsYXRmb3JtczwvYj48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIxOSUiIHJvd1NwYW49IjMiPk1pY3Jvc29mdK48YnI+CiAgICAgICAgV2luZG93c648L3RkPgogICAgICA8dGQgd2lkdGg9IjI0JSIgcm93U3Bhbj0iMyI+SW50ZWwgeDg2PC90ZD4KICAgICAgPHRkIHdpZHRoPSI3MyUiPlN1biBKYXZhIDIgU0RLLCBTdGFuZGFyZCBFZGl0aW9uLCB2ZXJzaW9uIDEuMy4xIGZvcgogICAgICAgIE1pY3Jvc29mdCBXaW5kb3dzPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iNzMlIj5JQk0gRGV2ZWxvcGVyIEtpdCBmb3IgV2luZG93cywgSmF2YSAyIFRlY2hub2xvZ3kgRWRpdGlvbiwKICAgICAgICB2ZXJzaW9uIDEuMy4wPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iNzMlIj5TdW4gSmF2YSAyIFNESywgU3RhbmRhcmQgRWRpdGlvbiwgdmVyc2lvbiAxLjQgZm9yCiAgICAgICAgTWljcm9zb2Z0IFdpbmRvd3M8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIxOSUiIHJvd1NwYW49IjMiPkxpbnV4PC90ZD4KICAgICAgPHRkIHdpZHRoPSIyNCUiIHJvd1NwYW49IjMiPkludGVsIHg4NjwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iNzMlIj5TdW4gSmF2YSAyIFNESywgU3RhbmRhcmQgRWRpdGlvbiwgdmVyc2lvbiAxLjMuMSBmb3IgTGludXgKICAgICAgICB4ODY8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSI3MyUiPklCTSBEZXZlbG9wZXIgS2l0IGZvciBMaW51eCwgSmF2YSAyIFRlY2hub2xvZ3kgRWRpdGlvbiwKICAgICAgICB2ZXJzaW9uIDEuMy4wPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iNzMlIj5TdW4gSmF2YSAyIFNESywgU3RhbmRhcmQgRWRpdGlvbiwgdmVyc2lvbiAxLjQgZm9yIExpbnV4CiAgICAgICAgeDg2PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iMTklIiByb3dTcGFuPSIyIj5TdW4gU29sYXJpczwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMjQlIiByb3dTcGFuPSIyIj5TUEFSQzwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iNzMlIj5TdW4gSmF2YSAyIFNESywgU3RhbmRhcmQgRWRpdGlvbiwgdmVyc2lvbiAxLjMuMSBmb3IKICAgICAgICBTb2xhcmlzIFNQQVJDPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iNzMlIj5TdW4gSmF2YSAyIFNESywgU3RhbmRhcmQgRWRpdGlvbiwgdmVyc2lvbiAxLjQgZm9yIFNvbGFyaXMKICAgICAgICBTUEFSQzwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjE5JSI+SFAgSFAtVVg8L3RkPgogICAgICA8dGQgd2lkdGg9IjI0JSI+aHA5MDAwIFBBLVJJU0M8L3RkPgogICAgICA8dGQgd2lkdGg9IjczJSI+PHNwYW4gY2xhc3M9ImhlYWRlciI+SFAtVVggU0RLIGZvciB0aGUgSmF2YSAyIHBsYXRmb3JtLAogICAgICAgIHZlcnNpb24gMS4zLjEgZm9yIGhwOTAwMCBQQS1SSVNDPC9zcGFuPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjE5JSI+SUJNriBBSVg8L3RkPgogICAgICA8dGQgd2lkdGg9IjI0JSI+UG93ZXJQQzwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iNzMlIj5JQk0gRGV2ZWxvcGVyIEtpdCBmb3IgQUlYLCBKYXZhIDIgVGVjaG5vbG9neSBFZGl0aW9uLAogICAgICAgIHZlcnNpb24gMS4zLjA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIxOSUiPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+CiAgICAgICAgQXBwbGWuIE1hY64gT1M8L3RkPgogICAgICA8dGQgd2lkdGg9IjI0JSI+UG93ZXJQQzwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iNzMlIj5KYXZhIDIgU3RhbmRhcmQgRWRpdGlvbiAxLjMuMSBmb3IgTWFjIE9TIFggMTAuMjwvdGQ+CiAgICA8L3RyPgogIDwvdGJvZHk+CjwvdGFibGU+CjxwPjxzcGFuIGNsYXNzPSJoZWFkZXIiPlRoZSBmb2xsb3dpbmcgdGFibGUgZGVzY3JpYmVzIHRoZSBjb21iaW5hdGlvbnMgb2YKb3BlcmF0aW5nIHN5c3RlbSBhbmQgSmF2YSAyIFBsYXRmb3JtIHVzZWQgd2hlbiB0ZXN0aW5nIHRoZSBFY2xpcHNlIFNESwpjb25maWd1cmF0aW9ucy4gVGhlIHN0YXR1cyBjb2x1bW4gaW5kaWNhdGVzIHRoZSBsZXZlbCBvZiB0ZXN0aW5nOgomcXVvdDtQcmltYXJ5JnF1b3Q7IG1lYW5zIGEgZnVsbCB0ZXN0ZWQgY29uZmlndXJhdGlvbjsgJnF1b3Q7PC9zcGFuPlNlY29uZGFyeSZxdW90OwptZWFucyBhIGNvbmZpZ3VyYXRpb24gd2hpY2ggaXMgb25seSBsaWdodGx5IHRlc3RlZDsgJnF1b3Q7VW50ZXN0ZWQmcXVvdDsgbWVhbnMgYQpjb25maWd1cmF0aW9uIHRoYXQgaGFzIHJlY2VpdmVkIG5vIHRlc3RpbmcsIGJ1dCB3aGljaCBzaG91bGQgd29yay48L3A+Cjx0YWJsZSB3aWR0aD0iOTElIiBib3JkZXI9IjEiPgogIDx0Ym9keT4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIxMSUiPjxiPldpbmRvdyBzeXN0ZW08L2I+PC90ZD4KICAgICAgPHRkIHdpZHRoPSIyOCUiPjxiPkphdmEgMiBQbGF0Zm9ybTxicj4KICAgICAgICAoc2VlIGFib3ZlIHRhYmxlKTwvYj48L3RkPgogICAgICA8dGQgd2lkdGg9IjQyJSI+PGI+T3BlcmF0aW5nIEVudmlyb25tZW50PC9iPjwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMTklIj48Yj5UZXN0aW5nIFN0YXR1czwvYj48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIxMSUiIHJvd1NwYW49IjUiPldpbjMyPC90ZD4KICAgICAgPHRkIHdpZHRoPSIyOCUiIHJvd1NwYW49IjUiPldpbmRvd3Mgb24gSW50ZWwgeDg2PC90ZD4KICAgICAgPHRkIHdpZHRoPSI0MiUiPldpbmRvd3MgMjAwMDwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMTklIj5QcmltYXJ5PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5XaW5kb3dzIFhQPC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOSUiPlByaW1hcnk8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSI0MiUiPldpbmRvd3MgTUU8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSI+U2Vjb25kYXJ5PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5XaW5kb3dzIDk4U0U8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSI+U2Vjb25kYXJ5PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5XaW5kb3dzIE5UPC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOSUiPlNlY29uZGFyeTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjExJSIgcm93U3Bhbj0iNiI+TW90aWY8L3RkPgogICAgICA8dGQgd2lkdGg9IjI4JSIgcm93U3Bhbj0iMyI+Jm5ic3A7CiAgICAgICAgPHA+TGludXggb24gSW50ZWwgeDg2PC9wPgogICAgICAgIDxwPiZuYnNwOzwvcD4KICAgICAgPC90ZD4KICAgICAgPHRkIHdpZHRoPSI0MiUiPlJlZEhhdCBMaW51eCA3LjIgeDg2PC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOSUiPlByaW1hcnk8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSI0MiUiPlN1U0UgTGludXggNy4zIHg4NjwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMTklIj5QcmltYXJ5PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5PdGhlciBMaW51eDsga2VybmVsIHZlcnNpb24gMi40LjcsIGFuZCBYRnJlZTg2IHZlcnNpb24KICAgICAgICA0LjEuMDwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMTklIj5VbnRlc3RlZDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjI4JSI+U29sYXJpcyBvbiBTUEFSQyZuYnNwOzwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5TdW4gU29sYXJpcyA4IFNQQVJDPC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOSUiPlByaW1hcnk8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIyOCUiPkhQLVVYIG9uIGhwOTAwMCBQQS1SSVNDPC90ZD4KICAgICAgPHRkIHdpZHRoPSI0MiUiPkhQLVVYIDExaSBocDkwMDA8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSI+UHJpbWFyeTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjI4JSI+QUlYIG9uIFBvd2VyUEM8L3RkPgogICAgICA8dGQgd2lkdGg9IjQyJSI+SUJNIEFJWCA1LjEgb24gUG93ZXJQQzwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMTklIj5QcmltYXJ5PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iMTElIiByb3dTcGFuPSIzIj5HVEs8L3RkPgogICAgICA8dGQgd2lkdGg9IjI4JSIgcm93U3Bhbj0iMyI+TGludXggb24gSW50ZWwgeDg2PC90ZD4KICAgICAgPHRkIHdpZHRoPSI0MiUiPlJlZEhhdCBMaW51eCA3LjIgeDg2IEdUSyAyLjA8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSI+UHJpbWFyeTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjQyJSI+U3VTRSBMaW51eCA3LjMgeDg2IEdUSyAyLjA8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSI+UHJpbWFyeTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjQyJSI+T3RoZXIgTGludXg7IGtlcm5lbCB2ZXJzaW9uIDIuNC43LCBhbmQgR1RLIDIuMDwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMTklIj5VbnRlc3RlZDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjExJSI+PGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4KICAgICAgICBDYXJib248L3RkPgogICAgICA8dGQgd2lkdGg9IjI4JSI+TWFjIE9TIFggb24gUG93ZXJQQzwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iNDIlIj5NYWMgT1MgWCAxMC4yPC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOSUiPjxpPkVhcmx5IGFjY2VzczwvaT48L3RkPgogICAgPC90cj4KICA8L3Rib2R5Pgo8L3RhYmxlPgo8aDQ+SW50ZXJuYXRpb25hbGl6YXRpb248L2g0Pgo8cD5UaGUgRWNsaXBzZSBQbGF0Zm9ybSBpcyBkZXNpZ25lZCBhcyB0aGUgYmFzaXMgZm9yIGludGVybmF0aW9uYWxpemVkIHByb2R1Y3RzLgpUaGUgdXNlciBpbnRlcmZhY2UgZWxlbWVudHMgcHJvdmlkZWQgYnkgdGhlIEVjbGlwc2UgU0RLIGNvbXBvbmVudHMsIGluY2x1ZGluZwpkaWFsb2dzIGFuZCBlcnJvciBtZXNzYWdlcywgYXJlIGV4dGVybmFsaXplZC4gVGhlIEVuZ2xpc2ggc3RyaW5ncyBhcmUgcHJvdmlkZWQKYXMgdGhlIGRlZmF1bHQgcmVzb3VyY2UgYnVuZGxlcy48L3A+CjxwPkxhdGluLTEgbG9jYWxlcyBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBFY2xpcHNlIFNESyBvbiBhbGwgb2YgdGhlIGFib3ZlCm9wZXJhdGluZyBlbnZpcm9ubWVudHM7IDxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IERCQ1MgbG9jYWxlcyBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBFY2xpcHNlIFNESyBvbgp0aGUgV2luZG93cywgR1RLLCBhbmQgTW90aWYgd2luZG93IHN5c3RlbXM7IEJJREkgbG9jYWxlcyBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBFY2xpcHNlIFNESwpvbmx5IG9uIFdpbmRvd3Mgb3BlcmF0aW5nIGVudmlyb25tZW50cy4KPHA+VGhlIEVjbGlwc2UgU0RLIHN1cHBvcnRzIEdCIDE4MDMwLCB0aGUgbmV3IENoaW5lc2UgY29kZSBwYWdlIHN0YW5kYXJkLCBvbgpXaW5kb3dzIDIwMDAgYW5kIFhQIG9ubHkuIE5vdGUgdGhhdCBHQiAxODAzMCBhbHNvIHJlcXVpcmVzIGxvY2FsZSBhbmQgY2hhcmFjdGVyCmVuY29kaW5nIHN1cHBvcnQgZnJvbSB0aGUgSmF2YSAyIFJ1bnRpbWUgRW52aXJvbm1lbnQ7IHRoaXMgc3VwcG9ydCBpcyBzdGFuZGFyZAppbiB2ZXJzaW9uIDEuNCwgYW5kIGFsc28gYXZhaWxhYmxlIGluIHNvbWUgMS4zIEpSRXMuCjxwPkdlcm1hbiBhbmQgSmFwYW5lc2UgbG9jYWxlcyBoYXZlIGJlZW4gdGVzdGVkLgo8aDQ+QklESSBzdXBwb3J0PC9oND4KPHA+VGhlIEVjbGlwc2UgU0RLIGlzIGEgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgdGFyZ2V0ZWQgYXQgdGVjaG5pY2FsCnByb2Zlc3Npb25hbHMgLSBub3QgYW4gZW5kIHVzZXIgYXBwbGljYXRpb24uIEhvd2V2ZXIsIHRoZSBFY2xpcHNlIFNESyB0b29scyB3aWxsCnBlcm1pdCB0ZWNobmljYWwgcHJvZmVzc2lvbmFscyB3aG8gYXJlIHdvcmtpbmcgaW4gRW5nbGlzaCB0byBidWlsZCBIZWJyZXcvQXJhYmljCmVuZCB1c2VyIEphdmEgcHJvZ3JhbXMgd2hpY2ggYXJlIHRoZW1zZWx2ZXMgbm90IGJhc2VkIG9uIHRoZSBFY2xpcHNlIFNESy4gVGhlCkJJREkgc3VwcG9ydCBpbiB0aGUgRWNsaXBzZSBTREsgYWxsb3dzIGEgSmF2YSBwcm9ncmFtbWVyIHRvIHdvcmsgd2l0aCBCSURJCnN0cmluZ3MsIGNvZGUgY29tbWVudHMsIGV0Yy4gYnV0IHRoZSBFY2xpcHNlIFNESyBpdHNlbGYgaXMgbm90IGRlc2lnbmVkIHRvIGJlCmxvY2FsaXplZCBmb3IgQklESSBsb2NhbGVzIGFuZCBpdHMgd2lkZ2V0IG9yaWVudGF0aW9uIGNhbiBub3QgYmUgY2hhbmdlZC48L3A+CjxwPjxpPklNUE9SVEFOVDogVGhlIGFib3ZlIEJJREkgc3VwcG9ydCBpcyBhdmFpbGFibGUgb25seSBvbiBXaW5kb3dzIHBsYXRmb3Jtcy48L2k+PC9wPgoKPGgyPgoKQ29tcGF0aWJpbGl0eSB3aXRoIFByZXZpb3VzIFJlbGVhc2VzPC9oMj4KCjxwPgoKSXQgaXMgYSBnaXZlbiB0aGF0IEVjbGlwc2UgMi4xIHdpbGwgYmUgdXB3YXJkcyBjb21wYXRpYmxlIHdpdGggRWNsaXBzZSAyLjAuIEFuZAppbmNvbXBhdGlibGUgYnJlYWsgd2l0aCB0aGUgcGFzdCB0aGlzIGVhcmx5IG9uIHdvdWxkIGJlIGJvdGggdW53ZWxjb21lIGFuZAp1bndhcnJhbnRlZC48L3A+Cgo8aDM+CgpDb21wYXRpYmlsaXR5IG9mIFJlbGVhc2UgMi4xIHdpdGggMi4wPC9oMz4KClRoZSBFY2xpcHNlIFNESyAyLjEgd2lsbCBiZSB1cHdhcmRzIGNvbXBhdGlibGUgd2l0aCB0aGUgRWNsaXBzZSBTREsgMi4wIHRvIHRoZSAKZ3JlYXRlc3QgZXh0ZW50IHBvc3NpYmxlLiBXZSBhbnRpY2lwYXRlIGEgc21hbGwgbnVtYmVyIG9mIGFyZWFzIHdoZXJlIHNsYXZpc2hseSAKbWFpbnRhaW5pbmcgY29tcGF0aWJpbGl0eSB3b3VsZCBub3QgYmUgaW4gdGhlIGJlc3QgaW50ZXJlc3RzIG9mIHRoZSBQbGF0Zm9ybSBvciAKaXRzIGNsaWVudHMuIEFsbCBzdWNoIGV4Y2VwdGlvbnMgd2lsbCBiZSBub3RlZCBpbiB0aGUgMi4xIHJlbGVhc2Ugbm90ZXMgc28gdGhhdCAKY2xpZW50cyBjYW4gYXNzZXNzIHRoZSBpbXBhY3Qgb2YgdGhlc2UgY2hhbmdlcyBvbiB0aGVpciBwbHVnLWlucyBhbmQgcHJvZHVjdHMuCgo8cD48Yj5BUEkgQ29udHJhY3QgQ29tcGF0aWJpbGl0eTo8L2I+IFRoZSBFY2xpcHNlIFNESyAyLjEgd2lsbCBiZSB1cHdhcmRzIGNvbnRyYWN0LWNvbXBhdGlibGUgCiAgd2l0aCB0aGUgRWNsaXBzZSBTREsgMi4wIHVubGVzcyBub3RlZC4gVGhpcyBtZWFucyB0aGF0IHByb2dyYW1zIGluIGZ1bGwgY29tcGxpYW5jZSAKICB3aXRoIGNvbnRyYWN0cyBzcGVjaWZpZWQgaW4gdGhlIEVjbGlwc2UgU0RLIDIuMCBBUElzIHdpbGwgYXV0b21hdGljYWxseSBiZSBpbiAKICBmdWxsIGNvbXBsaWFuY2Ugd2l0aCB0aGUgRWNsaXBzZSBTREsgMi4xIEFQSXMuIChBUEkgaXMgY29uc3RydWVkIGJyb2FkbHkgdG8gCiAgaW5jbHVkZSBzdWNoIHRoaW5ncyBhcyBwbHVnLWluIGV4dGVuc2lvbiBwb2ludHMuKSBEb3dud2FyZCBjb250cmFjdCBjb21wYXRpYmlsaXR5IAogIGlzIG5vdCBzdXBwb3J0ZWQuIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IGNvbXBsaWFuY2Ugd2l0aCB0aGUgRWNsaXBzZSBTREsgCiAgMi4xIEFQSXMgd291bGQgZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCB0aGUgRWNsaXBzZSBTREsgMi4wIEFQSXMuIAo8cD48Yj5CaW5hcnkgKHBsdWctaW4pIENvbXBhdGliaWxpdHk6PC9iPiBUaGUgRWNsaXBzZSBTREsgMi4xIHdpbGwgYmUgdXB3YXJkcyAKICBiaW5hcnktY29tcGF0aWJsZSB3aXRoIHRoZSBFY2xpcHNlIFNESyAyLjAgdW5sZXNzIG5vdGVkLiBUaGlzIG1lYW5zIHRoYXQgcGx1Zy1pbnMgCiAgYnVpbHQgZm9yIHRoZSBFY2xpcHNlIFNESyAyLjAgd2lsbCBjb250aW51ZSB0byB3b3JrIGNvcnJlY3RseSBpbiB0aGUgRWNsaXBzZSAKICBTREsgMi4xIHdpdGhvdXQgY2hhbmdlLiBEb3dud2FyZCBwbHVnLWluIGNvbXBhdGliaWxpdHkgaXMgbm90IHN1cHBvcnRlZC4gUGx1Zy1pbnMgCiAgZm9yIHRoZSBFY2xpcHNlIFNESyAyLjEgYXJlIHVubGlrZWx5IHRvIGJlIHVzYWJsZSBpbiB0aGUgRWNsaXBzZSBTREsgMi4wLiBQbHVnLWlucyAKICB3aXRoIGhhcmQtY29kZWQgcmVmZXJlbmNlcyBpbiB0aGVpciBwbHVnLWluIG1hbmlmZXN0IGZpbGUgdG8gMi4wIHZlcnNpb25zIG9mIAogIHByZXJlcXVpc2l0ZSBFY2xpcHNlIFByb2plY3QgcGx1Zy1pbnMgd2lsbCB3b3JrIGluIDIuMSBwcm92aWRlZCB0aGUgdmVyc2lvbiBtYXRjaApydWxlIGlzICZxdW90O2dyZWF0ZXJPckVxdWFsJnF1b3Q7Cm9yICZxdW90O2NvbXBhdGlibGUmcXVvdDsgKHRoZSBkZWZhdWx0KTsgcmVmZXJlbmNlcwp1c2luZyAmcXVvdDtwZXJmZWN0JnF1b3Q7IG9yICZxdW90O2VxdWl2YWxlbnQmcXVvdDsgbWF0Y2ggcnVsZXMgd2lsbCBiZSBicm9rZW4uIAo8cD48Yj5Tb3VyY2UgQ29tcGF0aWJpbGl0eTo8L2I+IFRoZSBFY2xpcHNlIFNESyAyLjEgd2lsbCBiZSB1cHdhcmRzIHNvdXJjZS1jb21wYXRpYmxlIAogIHdpdGggdGhlIEVjbGlwc2UgU0RLIDIuMCB1bmxlc3Mgbm90ZWQuIFRoaXMgbWVhbnMgdGhhdCBzb3VyY2UgZmlsZXMgd3JpdHRlbiAKICB0byB1c2UgdGhlIEVjbGlwc2UgU0RLIDIuMCBBUElzIGNhbiBiZSBzdWNjZXNzZnVsbHkgY29tcGlsZWQgYW5kIHJ1biBhZ2FpbnN0IAogIHRoZSBFY2xpcHNlIFNESyAyLjEgQVBJcy4gU2luY2Ugc291cmNlIGluY29tcGF0aWJpbGl0aWVzIGFyZSBlYXN5IHRvIGRlYWwgd2l0aCwgCiAgbWFpbnRhaW5pbmcgc291cmNlIGNvbXBhdGliaWxpdHkgaXMgY29uc2lkZXJlZCBtdWNoIGxlc3MgaW1wb3J0YW50IHRoYW4gbWFpbnRhaW5pbmcgCiAgY29udHJhY3QgYW5kIGJpbmFyeSBjb21wYXRpYmlsaXR5LiBEb3dud2FyZCBzb3VyY2UgY29tcGF0aWJpbGl0eSBpcyBub3Qgc3VwcG9ydGVkLiAKICBJZiBzb3VyY2UgZmlsZXMgdXNlIG5ldyBFY2xpcHNlIFNESyBBUElzLCB0aGV5IHdpbGwgbm90IGJlIHVzYWJsZSB3aXRoIGFuIGVhcmxpZXIgCiAgdmVyc2lvbiBvZiB0aGUgRWNsaXBzZSBTREsuIAo8cD48Yj5Xb3Jrc3BhY2UgQ29tcGF0aWJpbGl0eTo8L2I+IEVjbGlwc2UgU0RLIDIuMSB3aWxsIGJlIHVwd2FyZHMKCndvcmtzcGFjZS1jb21wYXRpYmxlIHdpdGggRWNsaXBzZSBTREsgMi4wIHVubGVzcyBub3RlZC4gVGhpcyBtZWFucyB0aGF0Cgp3b3Jrc3BhY2VzIGFuZCBwcm9qZWN0cyBjcmVhdGVkIHdpdGggRWNsaXBzZSBTREsgMi4wIGNhbiBiZSBzdWNjZXNzZnVsbHkgb3BlbmVkIGJ5IEVjbGlwc2UgU0RLCjIuMSBhbmQgdXBncmFkZWQgdG8gYSAyLjEgd29ya3NwYWNlLiZuYnNwOyBJbmRpdmlkdWFsIHBsdWctaW5zIGRldmVsb3BlZCBmb3IKCkVjbGlwc2UgU0RLIDIuMCBzaG91bGQgcHJvdmlkZSBzaW1pbGFyIHVwd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgdGhlaXIgd29ya3NwYWNlCgptZXRhZGF0YTsgcGx1Zy1pbiBkZXZlbG9wZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhhdCB0aGVpciBwbHVnLWlucwoKcmVjb2duaXplIDIuMCBtZXRhZGF0YSBhbmQgcHJvY2VzcyBpdCBhcHByb3ByaWF0ZWx5LiBVc2VyIGludGVyZmFjZSBzZXNzaW9uIHN0YXRlIG1heSBiZSBkaXNjYXJkZWQKd2hlbiBhIHdvcmtzcGFjZSBpcyB1cGdyYWRlZC4mbmJzcDsgRG93bndhcmQgd29ya3NwYWNlIGNvbXBhdGliaWxpdHkgaXMgbm90IHN1cHBvcnRlZC4gQSB3b3Jrc3BhY2UgY3JlYXRlZAoKKG9yIG9wZW5lZCkgYnkgRWNsaXBzZSBTREsgMi4xIHdpbGwgYmUgdW51c2FibGUgd2l0aCBhbiBlYXJsaWVyIHZlcnNpb24KCm9mIEVjbGlwc2UgU0RLLiZuYnNwOyZuYnNwOwoKPHA+PGI+Tm9uLWNvbXBsaWFudCB1c2FnZSBvZiBBUEknczwvYj46IEFsbCBub24tQVBJIG1ldGhvZHMgYW5kIGNsYXNzZXMsIGFuZCBjZXJ0YWlubHkgCiAgZXZlcnl0aGluZyBpbiBhIHBhY2thZ2Ugd2l0aCAmcXVvdDtpbnRlcm5hbCZxdW90OyBpbiBpdHMgbmFtZSwgYXJlIGNvbnNpZGVyZWQgCiAgaW1wbGVtZW50YXRpb24gZGV0YWlscyB3aGljaCBtYXkgdmFyeSBiZXR3ZWVuIG9wZXJhdGluZyBlbnZpcm9ubWVudCBhbmQgYXJlIAogIHN1YmplY3QgdG8gY2hhbmdlIHdpdGhvdXQgbm90aWNlLiBDbGllbnQgcGx1Zy1pbnMgdGhhdCBkaXJlY3RseSBkZXBlbmQgb24gYW55dGhpbmcgCiAgb3RoZXIgdGhhbiB3aGF0IGlzIHNwZWNpZmllZCBpbiB0aGUgRWNsaXBzZSBTREsgQVBJIGFyZSBpbmhlcmVudGx5IHVuc3VwcG9ydGFibGUgCiAgYW5kIHJlY2VpdmUgbm8gZ3VhcmFudGVlcyBhYm91dCBjb21wYXRpYmlsaXR5IHdpdGhpbiBhIHNpbmdsZSByZWxlYXNlIG11Y2ggbGVzcyAKICB3aXRoIGFuIGVhcmxpZXIgcmVsZWFzZS4gUmVmZXIgdG8gPGk+PGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9hcnRpY2xlcy9BcnRpY2xlLUFQSSUyMHVzZS9lY2xpcHNlLWFwaS11c2FnZS1ydWxlcy5odG1sIj5Ib3cgCiAgdG8gVXNlIHRoZSBFY2xpcHNlIEFQSTwvYT48L2k+IGZvciBpbmZvcm1hdGlvbiBhYm91dCBob3cgdG8gd3JpdGUgY29tcGxpYW50IAogIHBsdWctaW5zLiAKCjxoMj4gRWNsaXBzZSBQcm9qZWN0IFN1YnByb2plY3RzPC9oMj4KClRoZSBFY2xpcHNlIFByb2plY3QgY29uc2lzdHMgb2YgMyBzdWJwcm9qZWN0cy4gRWFjaCBzdWJwcm9qZWN0CgppcyBjb3ZlcmVkIGluIGl0cyBvd24gc2VjdGlvbjoKCjxibG9ja3F1b3RlPjxhIGhyZWY9IiNFY2xpcHNlIFBsYXRmb3JtIHN1YnByb2plY3QiPkVjbGlwc2UgUGxhdGZvcm08L2E+Cgo8YnI+PGEgaHJlZj0iI0phdmEgZGV2ZWxvcG1lbnQgdG9vbGluZyAoSkRUKSBzdWJwcm9qZWN0Ij5KRFQgLSBKYXZhIGRldmVsb3BtZW50IHRvb2xpbmc8L2E+Cgo8YnI+PGEgaHJlZj0iI1BsdWctaW4gZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgKFBERSkgc3VicHJvamVjdCI+UERFIC0gUGx1Zy1pbiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudDwvYT48L2Jsb2NrcXVvdGU+Cgo8cD5Gb3IgZWFjaCBzdWJwcm9qZWN0LCB0aGUgaXRlbXMgbGlzdGVkIHJlZmxlY3QgbmV3IGZlYXR1cmVzIG9mIHRoZSBFY2xpcHNlIFBsYXRmb3JtLCAKICBvciBhcmVhcyB3aGVyZSBleGlzdGluZyBmZWF0dXJlcyB3aWxsIGJlIHNpZ25pZmljYW50bHkgcmV3b3JrZWQuIEVhY2ggaXRlbSBpbmRpY2F0ZXMgCiAgdGhlIGNvbXBvbmVudHMgYWZmZWN0ZWQgYnkgdGhhdCB3b3JrIGl0ZW0gKG1hbnkgaXRlbXMgaW52b2x2ZSBjb29yZGluYXRlZCBjaGFuZ2VzIAogIHRvIHNldmVyYWwgY29tcG9uZW50cykuCgo8aDM+Cgo8YSBuYW1lPSJFY2xpcHNlIFBsYXRmb3JtIHN1YnByb2plY3QiPkVjbGlwc2UgUGxhdGZvcm0gc3VicHJvamVjdDwvYT48L2gzPgoKVGhlIEVjbGlwc2UgUGxhdGZvcm0gcHJvdmlkZXMgdGhlIG1vc3QgZnVuZGFtZW50YWwgYnVpbGRpbmcgYmxvY2tzLiBUaGUgZm9sbG93aW5nIGl0ZW1zIHJlZmxlY3QgbmV3IGZlYXR1cmVzIG9mIHRoZSBFY2xpcHNlIFBsYXRmb3JtLCBvciBhcmVhcwoKd2hlcmUgZXhpc3RpbmcgZmVhdHVyZXMgd2lsbCBiZSBzaWduaWZpY2FudGx5IHJld29ya2VkLgo8aDQ+UHJvcG9zZWQgSXRlbXMgKEVjbGlwc2UgUGxhdGZvcm0gc3VicHJvamVjdCk8L2g0Pgo8YmxvY2txdW90ZT4KPHA+PGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gPGI+SW1wcm92ZSBzdGFydHVwIHRpbWU8L2I+LiZuYnNwOyBQcm9ncmVzcyB3YXMgbWFkZQphdCBpbXByb3Zpbmcgc3RhcnR1cCB0aW1lcyBpbiAyLjA7IGhvd2V2ZXIsIGFkZGl0aW9uYWwgaW1wcm92ZW1lbnRzIGFyZSBuZWVkZWQuIEluIGFkZGl0aW9uLCB3ZSBuZWVkIHRvIGludmVzdGlnYXRlIGRlZmVycmluZyAob3IgcGFydGlhbGx5IG9taXR0aW5nKSB0aGUKcmVjb3Zlcnkgb2YgdGhlIFVJIHN0YXRlLiBbUGxhdGZvcm0gQ29yZSwgUGxhdGZvcm0gVUldPC9wPgo8cD48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiA8Yj5JbXByb3ZlCnNlcnZpY2VhYmlsaXR5LiA8L2I+IFByb2dyZXNzIHdhcyBtYWRlIGF0IGltcHJvdmluZyBzZXJ2aWNlYWJpbGl0eSBpbiAyLjA7IGhvd2V2ZXIsIGFkZGl0aW9uYWwgaW1wcm92ZW1lbnRzIGFyZQpuZWVkZWQsIHBhcnRpY3VsYXJseSBpbiBkZWFsaW5nIHdpdGggZXJyb3IgY29uZGl0aW9ucyBhbmQgcmVwb3J0aW5nIHRoZW0gaW4gYW4KYXBwcm9wcmlhdGUgbWFubmVyLiBbUGxhdGZvcm0gQ29yZSwgU1dULCBQbGF0Zm9ybSBVSV08YnI+Cjxicj4KPGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gPGI+QWxsb3cgdXNlciBjdXN0b21pemFibGUKa2V5IGJpbmRpbmdzLjwvYj4mbmJzcDsgRWNsaXBzZSAyLjAgc3VwcG9ydHMgY29uZmlndXJhYmxlIGtleSBiaW5kaW5ncywgYnV0IG9ubHkKZm9yIGVkaXRvciBrZXkgYmluZGluZ3MsIGFuZCBvbmx5IGNvbmZpZ3VyZWQgYnkgYSBwbHVnLWluLiBUaGUgdXNlciBzaG91bGQgYmUKYWJsZSB0byBpbnRlcmFjdGl2ZWx5IGN1c3RvbWl6ZSB0aGUKa2V5IGJpbmRpbmdzIGZvciBhbGwgd29ya2JlbmNoIGFjdGlvbnMuIFRoZXJlIGFyZSBhZGRpdGlvbmFsIGN1c3RvbWl6YXRpb24gcG9zc2liaWxpdGllcyBpbmNsdWRpbmcgdmlzaWJsZSBhY3Rpb25zIGFuZCBwZXJzcGVjdGl2ZSBsYXlvdXQuCltQbGF0Zm9ybSBVSSwgU1dULCBUZXh0LCBKRFQgVUldPC9wPgogIDxwPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IDxiPkFkZCBjaGVhdCBzaGVldHM8L2I+LiZuYnNwOyBBIGNoZWF0IHNoZWV0IGlzIGFuIGluc3RhbmNlIAogICAgb2YgYSBzaW1wbGUga2luZCBvZiB3b3JrZmxvdyBzdXBwb3J0IHVzZWQgdG8gaGVscCB0aGUgdXNlciBjYXJyeSBvdXQgYQogIHNlcXVlbmNlIG9mIHN0ZXBzLiBGb3IgZXhhbXBsZSwgJnF1b3Q7Y3JlYXRlIGFuZCBkZXBsb3kgYSBwbHVnLWluIiBpcyBhIG11bHRpLXN0ZXAgcHJvY2VzcyB0aGF0IGNvdWxkIGJlIG1hZGUgZWFzaWVyIHRvIGZvbGxvdyBpZiB0aGVyZSB3YXMgYSBndWlkZSwgc2ltaWxhciB0byBhIHJlY2lwZSB0aGF0IHdvdWxkIHRyYWNrIHRoZSB1c2VyJ3MgcHJvZ3Jlc3MgYW5kIHByb3ZpZGUgYm90aCBkZXNjcmlwdGl2ZSB0ZXh0IHRoYXQgZXhwbGFpbnMgdGhlIHN0ZXBzIGludm9sdmVkIGFuZCBpbnRlZ3JhdGlvbiB3aXRoIEVjbGlwc2UgdG8gYXV0b21hdGUgdGhlIHByb2Nlc3MuIFRoZSBXZWxjb21lIFBhZ2UgZWRpdG9yIGlzIGEgc2ltcGxlIAogICAgZXhhbXBsZSBvZiBhIGNoZWF0IHNoZWV0LiBQcm92aWRlIGEgc3RhbmRhcmQgQVBJIGZvciBjcmVhdGluZyBjaGVhdCAKICAgIHNoZWV0cy4gW1BsYXRmb3JtIFVJXTwvcD4KPHA+PGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gPGI+QWRkIHdvcmtiZW5jaCBuPC9iPjxiPmF2aWdhdGlvbgpoaXN0b3J5LjwvYj4gVGhlIHVzZXIgc2hvdWxkIGJlIGFibGUgdG8gbmF2aWdhdGUgYmV0d2VlbiB3b3JrYmVuY2ggZWRpdG9ycyB3aXRoIHdlYiBzdHlsZSBiYWNrL2ZvcndhcmQgYWN0aW9ucy4KKFJlZjogPGEgaHJlZj0iaHR0cDovL2Rldi5lY2xpcHNlLm9yZy9idWdzL3Nob3dfYnVnLmNnaT9pZD01NzAwIj5idWcgNTcwMDwvYT4pJm5ic3A7CltQbGF0Zm9ybSBVSV08YnI+Cjxicj4KPGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gPGI+SW1wcm92ZSBBbnQgc3VwcG9ydC48L2I+CkFkZCBzdXBwb3J0IHRvIG5hdmlnYXRlIGZyb20gQW50IGVycm9yIG91dHB1dCB0byB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UuCltQbGF0Zm9ybSBVSSwgQW50IENvcmVdPC9wPgo8cD48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiA8Yj48L2I+PGI+SW1wcm92ZSBmaWxlIGVuY29kaW5nIHN1cHBvcnQuPC9iPgpFY2xpcHNlIDIuMCB1c2VzIGEgc2luZ2xlIGdsb2JhbCBmaWxlIGVuY29kaW5nIHNldHRpbmcgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcgZmlsZXMKaW4gdGhlIHdvcmtzcGFjZS4gVGhpcyBpcyBwcm9ibGVtYXRpYzsgZm9yIGV4YW1wbGUsIHdoZW4gSmF2YSBzb3VyY2UgZmlsZXMgaW4KdGhlIHdvcmtzcGFjZSB1c2UgT1MgZGVmYXVsdCBmaWxlIGVuY29kaW5nIHdoaWxlIFhNTCBmaWxlcyBpbiB0aGUgd29ya3NwYWNlIHVzZQpVVEYtOCBmaWxlIGVuY29kaW5nLiBUaGUgUGxhdGZvcm0gc2hvdWxkIHN1cHBvcnQgbm9uLXVuaWZvcm0gZmlsZSBlbmNvZGluZ3MuCihSZWY6IDxhIGhyZWY9Imh0dHA6Ly9kZXYuZWNsaXBzZS5vcmcvYnVncy9zaG93X2J1Zy5jZ2k/aWQ9NTM5OSI+YnVnIDUzOTk8L2E+KSBbUGxhdGZvcm0KQ29yZSwgUGxhdGZvcm0gVUksIFRleHQsIFNlYXJjaCwgQ29tcGFyZSwgSkRUIFVJLCBKRFQgQ29yZV08L3A+CjxwPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IDxiPkVuYWJsZSBEQkNTIG9uIExpbnV4LjwvYj4KU3VwcG9ydCBkb3VibGUtYnl0ZSBjaGFyYWN0ZXJzIG9uIHRoZSBHVEsgYW5kIE1vdGlmIHdpbmRvdyBzeXN0ZW1zLiBbU1dUXTwvcD4KPHA+PGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gPGI+SW1wcm92ZSB1cGRhdGUKbWFuYWdlci48L2I+IE1ha2UgY29udGludWluZyBpbXByb3ZlbWVudHMgdG8gdGhlIEVjbGlwc2UgaW5zdGFsbCBhbmQgdXBkYXRlCm1lY2hhbmlzbXMuIFtQbGF0Zm9ybSBDb3JlLCBQbGF0Zm9ybSBJbnN0YWxsL1VwZGF0ZV08L3A+CjxwPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IDxiPkFkZCA8L2I+PGI+dGFibGUgb2YKY29udGVudHMgc3VwcG9ydCB0byA8L2I+PGI+d2k8L2I+PGI+emFyZHMuPC9iPiBFeHRlbmQgdGhlIHdvcmtiZW5jaCB3aXphcmQKZnJhbWV3b3JrIHRvIGFsbG93IEVjbGlwc2Ugd2l6YXJkIGRldmVsb3BlcnMgdG8gcHJvdmlkZSBtdWNoIG1vcmUgc3Vic3RhbnRpYWwKYW5kIHNpZ25pZmljYW50IHVzZXIgZmVlZGJhY2suIFtQbGF0Zm9ybSBVSV08L3A+CjxwPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IDxiPlN1cHBvcnQgZmxvYXRpbmcKdG9vbGJhcnMgYW5kIHZpZXdzLjwvYj4gQWxsb3cgdGhlIHVzZXIgdG8gY3VzdG9taXplIHRoZSB3b3JrYmVuY2ggYnkgY3JlYXRpbmcgZmxvYXRpbmcKdG9vbGJhcnMgYW5kIHZpZXdzLiBbUGxhdGZvcm0gVUldPC9wPgo8cD48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiA8Yj5BbGxvdyBlZGl0b3JzIHRvCm9wZW4gZmlsZXMgb3V0c2lkZSB3b3Jrc3BhY2UuPC9iPiBBIGNvbW1vbiByZXF1ZXN0IGlzIHRvIGJlIGFibGUgdG8gb3BlbiBhIGZpbGUgdGhhdCBpcyBub3QgcGFydCBvZiB0aGUgd29ya3NwYWNlCnVzaW5nIEVjbGlwc2UuIEluIGFkZGl0aW9uLCBhcHBsaWNhdGlvbnMgd291bGQgbGlrZSB0byBwcm92aWRlIGZpbGUgZXh0ZW5zaW9uIGFzc29jaWF0aW9ucyBzbwp0aGF0IGRvdWJsZS1jbGlja2luZyBvbiBhIGZpbGUgaW4gdGhlIE9TIGRlc2t0b3Agd291bGQgb3BlbiB0aGUgYXNzb2NpYXRlZCBFY2xpcHNlIGVkaXRvci4KVGhlIG9wZXJhdGlvbnMgYW5kIGNhcGFiaWxpdGllcyBhdmFpbGFibGUgb24gdGhlc2UgIm91dHNpZGUgb2YgdGhlIHdvcmtzcGFjZSIgZmlsZXMKd291bGQgbmVlZCB0byBiZSBkZWZpbmVkLiBbUGxhdGZvcm0gVUldPC9wPgo8L2Jsb2NrcXVvdGU+CjxoND5Db21taXR0ZWQgSXRlbXMgKEVjbGlwc2UgUGxhdGZvcm0gc3VicHJvamVjdCk8L2g0Pgo8YmxvY2txdW90ZT4KICA8cD48aT5Ob25lIGF0IHRoaXMgdGltZS48L2k+PC9wPgo8L2Jsb2NrcXVvdGU+CjxoND5EZWZlcnJlZCBJdGVtcyAoRWNsaXBzZSBQbGF0Zm9ybSBzdWJwcm9qZWN0KTwvaDQ+CjxibG9ja3F1b3RlPgogIDxwPjxpPk5vbmUgYXQgdGhpcyB0aW1lLjwvaT48L3A+CjwvYmxvY2txdW90ZT4KPGg0PkRpc21pc3NlZCBJdGVtcyAoRWNsaXBzZSBQbGF0Zm9ybSBzdWJwcm9qZWN0KTwvaDQ+CjxibG9ja3F1b3RlPgogIDxwPjxpPk5vbmUgYXQgdGhpcyB0aW1lLjwvaT48L3A+CjwvYmxvY2txdW90ZT4KCgoKPHA+KEVuZCBvZiBpdGVtcyBmb3IgRWNsaXBzZSBQbGF0Zm9ybSBzdWJwcm9qZWN0LikKCgoKPGgzPgoKPGEgbmFtZT0iSmF2YSBkZXZlbG9wbWVudCB0b29saW5nIChKRFQpIHN1YnByb2plY3QiPkphdmEgZGV2ZWxvcG1lbnQgdG9vbGluZyAoSkRUKSBzdWJwcm9qZWN0PC9hPjwvaDM+Cgo8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2pkdC9pbmRleC5odG1sIj4KCkphdmEgZGV2ZWxvcG1lbnQgdG9vbGluZzwvYT4gKEpEVCkgaW1wbGVtZW50cyBhIEphdmEgSURFIGJhc2VkIG9uIHRoZSBFY2xpcHNlCgpQbGF0Zm9ybS4KClRoZSBmb2xsb3dpbmcgd29yayBpdGVtcyByZWZsZWN0IG5ldyBmZWF0dXJlcyBvZiBKRFQsIG9yIGFyZWFzIHdoZXJlIGV4aXN0aW5nCgpmZWF0dXJlcyB3aWxsIGJlIHNpZ25pZmljYW50bHkgcmV3b3JrZWQuCjxoND5Qcm9wb3NlZCBJdGVtcyAoRWNsaXBzZSBKRFQgc3VicHJvamVjdCk8L2g0Pgo8YmxvY2txdW90ZT4KPHA+PGI+U3VwcG9ydCBidWlsZGluZyBwcm9qZWN0cyB3aXRoIGNpcmN1bGFyIGRlcGVuZGVuY2llcy48L2I+Jm5ic3A7IFNvbWUgdXNlcnMgYXJlCmV4cGVyaWVuY2luZyBkaWZmaWN1bHR5IHBhcnRpdGlvbmluZyB0aGVpciB3b3JrIGludG8KaW5kZXBlbmRlbnRseS1idWlsZGFibGUgcHJvamVjdHMuIFdlIHdhbnQgdG8gYWRkIGEgbWVjaGFuaXNtIHRvIGFsbG93IG11dHVhbGx5IGRlcGVuZGVudCBwcm9qZWN0cyB0byBiZQpidWlsdApzdWNjZXNzZnVsbHksIHdoaWxlIHByZXNlcnZpbmcgY3VycmVudCBwcm9qZWN0IGJ1aWxkIG9yZGVyIGJlaGF2aW9yLiAoUmVmOiA8YSBocmVmPSJodHRwOi8vZGV2LmVjbGlwc2Uub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTEwMjYyIj5idWcKMTAyNjI8L2E+KSBbSkRUIENvcmUsIFBsYXRmb3JtIENvcmVdPC9wPgogIDxwPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IDxiPk1vcmUgZmxleGlibGUgcHJvamVjdCBsYXlvdXQuJm5ic3A7CiAgPC9iPlN1cHBvcnQgYnVpbGQgb3V0cHV0IGZvbGRlcnMgdGhhdCBhcmUgb3V0c2lkZSBvZiB0aGUKICB3b3Jrc3BhY2UuIFRoaXMgbGlrZWx5IHJlcXVpcmVzIFBsYXRmb3JtIENvcmUgc3VwcG9ydCBzbyB0aGF0IGNoYW5nZXMgdG8gdGhlCiAgb3V0cHV0IGZvbGRlciBhcmUgcmVmbGVjdGVkIGluIHJlc291cmNlIGRlbHRhcy4gW0pEVCBDb3JlLCBKRFQgVUksIFBsYXRmb3JtCiAgQ29yZSwgUGxhdGZvcm0gVUksIFRlYW1dPC9wPgo8cD48aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiA8Yj5TdXBwb3J0IG11bHRpLUpBUgpzeXN0ZW0gbGlicmFyaWVzLjwvYj4gU29tZSBKUkVzIChpbmNsdWRpbmcgTWFjIE9TIFggYW5kIElCTSAxLjQpIHBhY2thZ2UmbmJzcDsKdGhlIEphdmEgc3lzdGVtIGNsYXNzIGxpYnJhcmllcyBpbiBzZXZlcmFsIEpBUiBmaWxlcy4gSW1wcm92ZSBzdXBwb3J0IGZvciBzeXN0ZW0KY2xhc3MgbGlicmFyaWVzIHNvIHRoYXQgaXQgaXMgbW9yZSBjb252ZW5pZW50IHRvIGRldmVsb3AgYW5kIHJ1biBhZ2FpbnN0IHRoZW0uIFtKRFQKQ29yZSwgSkRUIFVJXTwvcD4KPHA+PGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gPGI+QWRkIG5ldyByPC9iPjxiPmVmYWN0b3JpbmdzPC9iPi4gU3VwcG9ydCBhZGRpdGlvbmFsCnJlZmFjdG9yaW5nIGFjdGlvbnMsIGluY2x1ZGluZyBleHRyYWN0IGludGVyZmFjZSwgYW5kIGV4dHJhY3QgY29uc3RhbnQuIFtKRFQKQ29yZSwgSkRUIFVJXTwvcD4KPC9ibG9ja3F1b3RlPgo8aDQ+Q29tbWl0dGVkIEl0ZW1zIChFY2xpcHNlIEpEVCBzdWJwcm9qZWN0KTwvaDQ+CjxibG9ja3F1b3RlPgogIDxwPjxpPk5vbmUgYXQgdGhpcyB0aW1lLjwvaT48L3A+CjwvYmxvY2txdW90ZT4KPGg0PkRlZmVycmVkIEl0ZW1zIChFY2xpcHNlIEpEVCBzdWJwcm9qZWN0KTwvaDQ+CjxibG9ja3F1b3RlPgogIDxwPjxpPk5vbmUgYXQgdGhpcyB0aW1lLjwvaT48L3A+CjwvYmxvY2txdW90ZT4KPGg0PkRpc21pc3NlZCBJdGVtcyAoRWNsaXBzZSBKRFQgc3VicHJvamVjdCk8L2g0Pgo8YmxvY2txdW90ZT4KICA8cD48aT5Ob25lIGF0IHRoaXMgdGltZS48L2k+PC9wPgo8L2Jsb2NrcXVvdGU+CgoKCjxwPihFbmQgb2YgaXRlbXMgZm9yIEVjbGlwc2UgSkRUIHN1YnByb2plY3QuKQoKCgo8aDM+Cgo8YSBuYW1lPSJQbHVnLWluIGRldmVsb3BtZW50IGVudmlyb25tZW50IChQREUpIHN1YnByb2plY3QiPlBsdWctaW4gZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgKFBERSkgc3VicHJvamVjdDwvYT48L2gzPgoKVGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvcGRlL2luZGV4Lmh0bWwiPiBwbHVnLWluIGRldmVsb3BtZW50IGVudmlyb25tZW50PC9hPiAKKFBERSkgY29uc2lzdHMgb2YmbmJzcDt0b29scyBmb3IgZGV2ZWxvcGluZyBwbHVnLWlucyBmb3IgdGhlIEVjbGlwc2UgUGxhdGZvcm0uCgpUaGUgZm9sbG93aW5nIHdvcmsgaXRlbXMgcmVmbGVjdCBuZXcgZmVhdHVyZXMgb2YgUERFLCBvciBhcmVhcyB3aGVyZSBleGlzdGluZwoKZmVhdHVyZXMgd2lsbCBiZSBzaWduaWZpY2FudGx5IHJld29ya2VkLgo8aDQ+UHJvcG9zZWQgSXRlbXMgKEVjbGlwc2UgUERFIHN1YnByb2plY3QpPC9oND4KPGJsb2NrcXVvdGU+CiAgPHA+PGk+Tm9uZSBhdCB0aGlzIHRpbWUuPC9pPjwvcD4KPC9ibG9ja3F1b3RlPgo8aDQ+Q29tbWl0dGVkIEl0ZW1zIChFY2xpcHNlIFBERSBzdWJwcm9qZWN0KTwvaDQ+CjxibG9ja3F1b3RlPgogIDxwPjxpPk5vbmUgYXQgdGhpcyB0aW1lLjwvaT48L3A+CjwvYmxvY2txdW90ZT4KPGg0PkRlZmVycmVkIEl0ZW1zIChFY2xpcHNlIFBERSBzdWJwcm9qZWN0KTwvaDQ+CjxibG9ja3F1b3RlPgogIDxwPjxpPk5vbmUgYXQgdGhpcyB0aW1lLjwvaT48L3A+CjwvYmxvY2txdW90ZT4KPGg0PkRpc21pc3NlZCBJdGVtcyAoRWNsaXBzZSBQREUgc3VicHJvamVjdCk8L2g0Pgo8YmxvY2txdW90ZT4KICA8cD48aT5Ob25lIGF0IHRoaXMgdGltZS48L2k+PC9wPgo8L2Jsb2NrcXVvdGU+CgoKCjxwPihFbmQgb2YgaXRlbXMgZm9yIEVjbGlwc2UgUERFIHN1YnByb2plY3QuKQoKPC9ib2R5PgoKPC9odG1sPgoK