PCFkb2N0eXBlIGh0bWwgcHVibGljICItLy93M2MvL2R0ZCBodG1sIDQuMCB0cmFuc2l0aW9uYWwvL2VuIj4KCjxodG1sPgoKPGhlYWQ+CgogICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTIiPgoKICAgPG1ldGEgbmFtZT0iQXV0aG9yIiBjb250ZW50PSJFY2xpcHNlIFByb2plY3QgUE1DIj4KCiAgIDxtZXRhIG5hbWU9IkdFTkVSQVRPUiIgY29udGVudD0iTWljcm9zb2Z0IEZyb250UGFnZSA0LjAiPgoKICAgPG1ldGEgbmFtZT0iUHJvZ0lkIiBjb250ZW50PSJGcm9udFBhZ2UuRWRpdG9yLkRvY3VtZW50Ij4KCiAgIDx0aXRsZT5FY2xpcHNlIFByb2plY3QgRHJhZnQgMi4xIFBsYW48L3RpdGxlPgoKICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9kZWZhdWx0X3N0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiPgoKPC9oZWFkPgoKPGJvZHk+CgoKCjxoMT4KCkVjbGlwc2UgUHJvamVjdDxicj4KCkRSQUZUIDIuMSBQbGFuPC9oMT4KCjxwPkxhc3QgcmV2aXNlZCBUdWVzZGF5LCBEZWNlbWJlciAzLCAyMDAyICg8aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiAKICBtYXJrcyBpbnRlcmVzdGluZyBjaGFuZ2VzIHNpbmNlIHRoZSA8YSBocmVmPSJlY2xpcHNlX3Byb2plY3RfcGxhbl8yXzFfMjAwMjEwMTEuaHRtbCI+cHJldmlvdXMgCiAgZHJhZnQgb2YgT2N0LiAxMTwvYT4pPGJyPgo8YnI+CjxpPiZuYnNwOyZuYnNwOyZuYnNwOyBQbGVhc2Ugc2VuZCBjb21tZW50cyBhYm91dCB0aGlzIGRyYWZ0IHBsYW4gdG8gdGhlIDwvaT48YSBocmVmPSJtYWlsdG86ZWNsaXBzZS1kZXZAZWNsaXBzZS5vcmciPmVjbGlwc2UtZGV2QGVjbGlwc2Uub3JnPC9hPgo8aT5kZXZlbG9wZXIgbWFpbGluZyBsaXN0LjwvaT4gPC9wPgoKPHA+VGhpcyBkb2N1bWVudCBsYXlzIG91dCB0aGUgZmVhdHVyZSBhbmQgQVBJIHNldCBmb3IgdGhlIG5leHQgZmVhdHVyZSByZWxlYXNlIAogIG9mIEVjbGlwc2UsIGRlc2lnbmF0ZWQgcmVsZWFzZSAyLjEuIAo8cD5QbGFucyBkbyBub3QgbWF0ZXJpYWxpemUgb3V0IG9mIG5vd2hlcmUsIG5vciBhcmUgdGhleSBlbnRpcmVseSBzdGF0aWMuIFRvIG1ha2UgCiAgdGhlIHBsYW5uaW5nIHByb2Nlc3MgbW9yZSB0cmFuc3BhcmVudCBhbmQgb3BlbiB0byB0aGUgRWNsaXBzZSBjb21tdW5pdHksIHdlIAogICh0aGUgRWNsaXBzZSBQTUMpIHBvc3RlZCB0aGUgcGxhbiBpbiBhbiBlbWJyeW9uaWMgZm9ybSBhbmQgYXJlIHJldmlzaW5nIAogIGl0IHRocm91Z2hvdXQgdGhlIHJlbGVhc2UgY3ljbGUuCjxwPlRoZSBmaXJzdCBwYXJ0IG9mIHRoZSBwbGFuCmRlYWxzIHdpdGggdGhlIGltcG9ydGFudCBtYXR0ZXJzIG9mIHJlbGVhc2UgZGVsaXZlcmFibGVzLCByZWxlYXNlIG1pbGVzdG9uZXMsCnRhcmdldCBvcGVyYXRpbmcgZW52aXJvbm1lbnRzLCBhbmQgcmVsZWFzZS10by1yZWxlYXNlIGNvbXBhdGliaWxpdHkuIFRoZXNlIGFyZQphbGwgdGhpbmdzIHRoYXQgbmVlZCB0byBiZSBjbGVhciBmb3IgYW55IHJlbGVhc2UsIGV2ZW4gaWYgbm8gZmVhdHVyZXMgd2VyZSB0bwpjaGFuZ2UuJm5ic3A7PHA+VGhlIHJlbWFpbmRlciBvZiB0aGUgcGxhbiBjb25zaXN0cyBvZiBwbGFuIGl0ZW1zIGZvciB0aGUgdmFyaW91cwpFY2xpcHNlIHN1YnByb2plY3RzLiBFYWNoIHBsYW4gaXRlbSBjb3ZlcnMgYSBmZWF0dXJlIG9yIEFQSSB0aGF0IGlzIHRvIGJlIGFkZGVkCnRvIEVjbGlwc2UsIG9yIHNvbWUgYXNwZWN0IG9mIEVjbGlwc2UgdGhhdCBpcyB0byBiZSBpbXByb3ZlZC4gRWFjaCBwbGFuIGl0ZW0gaGFzCmEgdGl0bGUgYW5kIGEgY29uY2lzZSBzdW1tYXJ5ICh1c3VhbGx5IGEgc2luZ2xlIHBhcmFncmFwaCkgdGhhdCBleHBsYWlucyB0aGUKd29yayBpdGVtIGF0IGEgc3VpdGFibHkgaGlnaCBlbm91Z2ggbGV2ZWwgc28gdGhhdCBldmVyeW9uZSBjYW4gcmVhZGlseQp1bmRlcnN0YW5kIHdoYXQgdGhlIHdvcmsgaXRlbSBpcyB3aXRob3V0IGhhdmluZyB0byB1bmRlcnN0YW5kIHRoZSBuaXR0eS1ncml0dHkKZGV0YWlscyAod2hpY2ggY2FuIGJlIGhhc2hlZCBvdXQgZWxzZXdoZXJlKS4mbmJzcDsKPHA+Tm90IGFsbCBwbGFuIGl0ZW1zIHJlcHJlc2VudCB0aGUgc2FtZSBhbW91bnQgb2Ygd29yazsgc29tZSBtYXkgYmUgcXVpdGUgbGFyZ2UsIAogIG90aGVycywgcXVpdGUgc21hbGwuIFNvbWUgcGxhbiBpdGVtcyBtYXkgaW52b2x2ZSB3b3JrIHRoYXQgaXMgbG9jYWxpemVkIHRvIGEgCiAgc2luZ2xlIFBsYXRmb3JtIGNvbXBvbmVudDsgb3RoZXJzIG1heSBpbnZvbHZlIGNvb3JkaW5hdGVkIGNoYW5nZXMgdG8gc2V2ZXJhbCAKICBjb21wb25lbnRzOyBvdGhlciBtYXkgcGVydmFkZSB0aGUgZW50aXJlIFBsYXRmb3JtLgo8cD5XaXRoIHRoZSBwcmV2aW91cyByZWxlYXNlIGFzIHRoZSBzdGFydGluZyBwb2ludCwgdGhpcyBpcyB0aGUgcGxhbiBmb3IgaG93IHdlIAogIHdpbGwgZW5oYW5jZSBhbmQgaW1wcm92ZSBpdC4gRml4aW5nIGJ1Z3MsIGltcHJvdmluZyB0ZXN0IGNvdmVyYWdlLCBkb2N1bWVudGF0aW9uLCAKICBleGFtcGxlcywgZXRjLiBhcmUgY29uc2lkZXJlZCByb3V0aW5lIG9uZ29pbmcgbWFpbnRlbmFuY2UgYWN0aXZpdGllcyBhbmQgYXJlIAogIG5vdCBpbmNsdWRlZCBpbiB0aGlzIHBsYW4gdW5sZXNzIHRoZXkgd291bGQgYWxzbyBpbnZvbHZlIGEgc2lnbmlmaWNhbnQgY2hhbmdlIAogIHRvIHRoZSBBUEkgb3IgZmVhdHVyZSBzZXQsIG9yIGludm9sdmUgYSBzaWduaWZpY2FudCBhbW91bnQgb2Ygd29yay4gQWxsIGludGVyZXN0aW5nIAogIGZlYXR1cmUgd29yayBpcyBhY2NvdW50ZWQgZm9yIGluIHRoaXMgcGxhbi4KPHA+VGhlIGN1cnJlbnQgc3RhdHVzIG9mIGVhY2ggcGxhbiBpdGVtIGlzCm5vdGVkOgo8dWw+CiAgPGxpPjxiPlByb3Bvc2VkPC9iPiBwbGFuIGl0ZW0gLSBBIHByb3Bvc2FsIGZvciBhbiBhc3BlY3QgdG8gd29yayBvbiBmb3IgdGhlCiAgICByZWxlYXNlLiBBZnRlciBkdWUgY29uc2lkZXJhdGlvbiwgYSBwcm9wb3NhbCB3aWxsIGVpdGhlciBiZSBjb21taXR0ZWQsCiAgICByZWplY3RlZCwgb3IgZGVmZXJyZWQuPC9saT4KICA8bGk+PGI+Q29tbWl0dGVkPC9iPiBwbGFuIGl0ZW0gLSBBIGNvbW1pdHRlZCBwbGFuIGl0ZW0gaXMgb25lIHRoYXQgd2UgaGF2ZSBkZWNpZGVkIAogICAgdG8gYWRkcmVzcyBmb3IgdGhlIHJlbGVhc2UuPC9saT4KICA8bGk+PGI+RGVmZXJyZWQ8L2I+IHBsYW4gaXRlbSAtIEEgcmVhc29uYWJsZSBwcm9wb3NhbCB0aGF0IGRpZCBub3QgbWFrZSBpdCBpbiAKICAgIHRvIHRoaXMgcmVsZWFzZSBmb3Igc29tZSByZWFzb24gaXMgbWFya2VkIGFzIGRlZmVycmVkIHdpdGggYSBicmllZiBub3RlIGFzIAogICAgdG8gd2h5IHRoZXkgd2VyZSBkZWZlcnJlZC4gRGVmZXJyZWQgcGxhbiBpdGVtcyBtYXkgcmVzdXJmYWNlIGFzIHByb3Bvc2VkIHBsYW4gCiAgICBpdGVtcyBhdCBhIGxhdGVyIHBvaW50LjwvbGk+CiAgPGxpPjxiPlJlamVjdGVkPC9iPiBwbGFuIGl0ZW0gLSBQbGFuIGl0ZW1zIHRoYXQgd2VyZSBwcm9wb3NlZCBidXQganVkZ2VkIHVud29ya2FibGUgCiAgICBhcmUgbWFya2VkIGFzIHJlamVjdGVkIHBsYW4gaXRlbXMsIHdpdGggYW4gYWNjb21wYW55aW5nIHN1bW1hcnkgb2Ygd2h5IHRoZXkgCiAgICB3ZXJlIGRpc21pc3NlZC4gS2VlcGluZyB0cmFjayBvZiByZWplY3RlZCBpdGVtcyBhdm9pZHMgcmVwZWF0aW5nIHRoZSBkaXNjdXNzaW9uLjwvbGk+CjwvdWw+CjxoMj5SZWxlYXNlIGRlbGl2ZXJhYmxlczwvaDI+Cgo8cD5UaGUgcmVsZWFzZSBkZWxpdmVyYWJsZXMgaGF2ZSB0aGUgc2FtZSBmb3JtIGFzIHByZXZpb3VzIHJlbGVhc2VzLCBuYW1lbHk6Cgo8dWw+CgogIDxsaT5Tb3VyY2UgY29kZSByZWxlYXNlIGZvciBFY2xpcHNlIFByb2plY3QsIGF2YWlsYWJsZSBhcyB2ZXJzaW9ucyB0YWdnZWQgJnF1b3Q7UjJfMSZxdW90OyAKICAgIGluIHRoZSBFY2xpcHNlIFByb2plY3QgPGEgaHJlZj0iaHR0cDovL2Rldi5lY2xpcHNlLm9yZy92aWV3Y3ZzLyI+Q1ZTIHJlcG9zaXRvcnk8L2E+LjwvbGk+CgogIDxsaT5FY2xpcHNlIFByb2plY3QgU0RLIChpbmNsdWRlcyBQbGF0Zm9ybSwgSkRULCBhbmQgUERFIHNvdXJjZSB6aXBzKQoKICAgIChkb3dubG9hZGFibGUpLjwvbGk+CgogIDxsaT5FY2xpcHNlIFBsYXRmb3JtIHJ1bnRpbWUgYmluYXJ5IGRpc3RyaWJ1dGlvbiAoZG93bmxvYWRhYmxlKS48L2xpPgoKICA8bGk+SkRUIHJ1bnRpbWUgYmluYXJ5IGRpc3RyaWJ1dGlvbiAoZG93bmxvYWRhYmxlKS48L2xpPgoKICA8bGk+RWNsaXBzZSBTREsgRXhhbXBsZXMgKGRvd25sb2FkYWJsZSkuPC9saT4KCjwvdWw+Cgo8aDI+PGEgbmFtZT0iTWlsZXN0b25lcyI+PC9hPlJlbGVhc2UgbWlsZXN0b25lczwvaDI+Cgo8cD5SZWxlYXNlIG1pbGVzdG9uZSBvY2N1cnJpbmcgYXQgcm91Z2hseSBtb250aGx5IGludGVydmFscyBleGlzdCB0byBmYWNpbGl0YXRlCmNvYXJzZS1ncmFpbmVkIHBsYW5uaW5nIGFuZCBzdGFnaW5nLiBUaGUgbWlsZXN0b25lcyBmb3IgdGhpcyByZWxlYXNlIGFyZTo8L3A+Cgo8dWw+CiAgPGxpPlNlcHRlbWJlciAyMCwgMjAwMiAtIE1pbGVzdG9uZSAxIC0gKDIuMSBNMSkgLSBzdGFibGUgYnVpbGQgcmVmbGVjdGluZyBwcm9ncmVzczwvbGk+CiAgPGxpPk9jdG9iZXIgMTgsIDIwMDIgLSBNaWxlc3RvbmUgMiAtICgyLjEgTTIpIC0gc3RhYmxlIGJ1aWxkIHJlZmxlY3RpbmcgcHJvZ3Jlc3M8L2xpPgogIDxsaT5Ob3ZlbWJlciAxNSwgMjAwMiAtIE1pbGVzdG9uZSAzIC0gKDIuMSBNMykgLSBzdGFibGUgYnVpbGQgcmVmbGVjdGluZwogICAgcHJvZ3Jlc3M8L2xpPgogIDxsaT5EZWNlbWJlciAxMywgMjAwMiBbZGVsYXllZCB0byBEZWNlbWJlciAxOF0gLSBNaWxlc3RvbmUgNCAtICgyLjEgTTQpIC0gc3RhYmxlIAogICAgYnVpbGQgcmVmbGVjdGluZyBwcm9ncmVzczwvbGk+CiAgPGxpPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IEZlYnJ1YXJ5IDcsJm5ic3A7MjAwMyAKICAgIC0gTWlsZXN0b25lIDUgLSAoMi4xIE01KSAtIHN0YWJsZSBidWlsZCAtIGZlYXR1cmUgY29tcGxldGUgLSBkZXZlbG9wbWVudCBmcmVlemUgCiAgICAtIGxvY2sgZG93biBhbmQgdGVzdGluZyBiZWdpbnM8L2xpPgo8L3VsPgoKPHA+IChOb3RlIHRoYXQgdGhlIGxhc3QgbWlsZXN0b25lIGlzIGV4dGVuZGVkIHRvIGFsbG93IGZvciB2YWNhdGlvbnMgb3ZlciB0aGUKaG9saWRheSBzZWFzb24uKTwvcD4KCjxwPiA8aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiAgIFRoZSAyLjEgcmVsZWFzZSBpcwp0YXJnZXRlZCBmb3IgTWFyY2ggMjAwMy4gQWxsIHJlbGVhc2UgZGVsaXZlcmFibGVzIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBkb3dubG9hZCBhcyAKICBzb29uIGFzIHRoZSByZWxlYXNlIGhhcyBiZWVuIHRlc3RlZCBhbmQgdmFsaWRhdGVkIGluIHRoZSB0YXJnZXQgb3BlcmF0aW5nIGNvbmZpZ3VyYXRpb25zIAogIGxpc3RlZCBiZWxvdy48L3A+Cgo8aDI+VGFyZ2V0IE9wZXJhdGluZyBFbnZpcm9ubWVudHM8L2gyPgoKCgo8cD5JbiBvcmRlciB0byByZW1haW4gY3VycmVudCwgZWFjaCBFY2xpcHNlIHJlbGVhc2UgdGFyZ2V0cyByZWFzb25hYmx5IGN1cnJlbnQKdmVyc2lvbnMgb2YgdGhlIHVuZGVybHlpbmcgb3BlcmF0aW5nIGVudmlyb25tZW50cy48L3A+Cgo8cD5Nb3N0IG9mIHRoZSBFY2xpcHNlIFNESyBpcyAmcXVvdDtwdXJlJnF1b3Q7IEphdmGZIGNvZGUgYW5kIGhhcyBubyBkaXJlY3QKZGVwZW5kZW5jZSBvbiB0aGUgdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtLiBUaGUgY2hpZWYgZGVwZW5kZW5jZSBpcyB0aGVyZWZvcmUKb24gdGhlIEphdmEgMiBQbGF0Zm9ybSBpdHNlbGYuIFRoZSAyLjEgcmVsZWFzZSBvZiB0aGUgRWNsaXBzZSBQcm9qZWN0IGlzIHdyaXR0ZW4KYW5kIGNvbXBpbGVkIGFnYWluc3QgdmVyc2lvbiAxLjMgb2YgdGhlIEphdmEgMiBQbGF0Zm9ybSBBUElzLCBhbmQgdGFyZ2V0ZWQgdG8KcnVuIG9uIGVpdGhlciB2ZXJzaW9uIDEuMyBvciAxLjQgb2YgdGhlIEphdmEgMiBSdW50aW1lIEVudmlyb25tZW50LCBTdGFuZGFyZApFZGl0aW9uLjwvcD4KPHA+RWNsaXBzZSBTREsgMi4xIHdpbGwgYmUgdGVzdGVkIGFuZCB2YWxpZGF0ZWQgb24gdGhlIGZvbGxvd2luZyBKYXZhIDIKUGxhdGZvcm0gaW1wbGVtZW50YXRpb25zOjwvcD4KPHRhYmxlIHdpZHRoPSI5MSUiIGJvcmRlcj0iMSI+CiAgPHRib2R5PgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjIxJSI+PGI+T3BlcmF0aW5nIHN5c3RlbTwvYj48L3RkPgogICAgICA8dGQgd2lkdGg9IjE4JSI+PGI+UHJvY2Vzc29yIGFyY2hpdGVjdHVyZTwvYj48L3RkPgogICAgICA8dGQgd2lkdGg9IjczJSI+PGI+SmF2YSAyIFBsYXRmb3JtczwvYj48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIyMSUiIHJvd1NwYW49IjQiPk1pY3Jvc29mdK48YnI+CiAgICAgICAgV2luZG93c648L3RkPgogICAgICA8dGQgd2lkdGg9IjE4JSIgcm93U3Bhbj0iNCI+SW50ZWwgeDg2PC90ZD4KICAgICAgPHRkIHdpZHRoPSI3MyUiPiA8aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiAKICAgICAgICBTdW4gSmF2YSAyIFNESywgU3RhbmRhcmQgRWRpdGlvbiwgdmVyc2lvbiAxLjMuMV8wNiBmb3IgCiAgICAgICAgTWljcm9zb2Z0IFdpbmRvd3M8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSI3MyUiPiA8aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiAKICAgICAgICBTdW4gSmF2YSAyIFNESywgU3RhbmRhcmQgRWRpdGlvbiwgdmVyc2lvbiAxLjQuMV8wMSBmb3IgTWljcm9zb2Z0IAogICAgICAgIFdpbmRvd3M8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSI3MyUiPiBJQk0gRGV2ZWxvcGVyIEtpdCBmb3IgV2luZG93cywgSmF2YSAyIFRlY2hub2xvZ3kgRWRpdGlvbiwgCiAgICAgICAgdmVyc2lvbiAxLjMuMSBTUi0xPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iNzMlIj4gSUJNIDMyLWJpdCBTREsgZm9yIFdpbmRvd3MsIEphdmEgMiBUZWNobm9sb2d5IEVkaXRpb24sIAogICAgICAgIHZlcnNpb24gMS40LjA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIyMSUiIHJvd1NwYW49IjMiPkxpbnV4PC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOCUiIHJvd1NwYW49IjMiPkludGVsIHg4NjwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iNzMlIj4gPGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gCiAgICAgICAgU3VuIEphdmEgMiBTREssIFN0YW5kYXJkIEVkaXRpb24sIHZlcnNpb24gMS4zLjFfMDYgZm9yIAogICAgICAgIExpbnV4IHg4NjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjczJSI+IDxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IAogICAgICAgIFN1biBKYXZhIDIgU0RLLCBTdGFuZGFyZCBFZGl0aW9uLCB2ZXJzaW9uIDEuNC4xXzAxIGZvciBMaW51eCAKICAgICAgICB4ODY8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSI3MyUiPiBJQk0gRGV2ZWxvcGVyIEtpdCBmb3IgTGludXgsIEphdmEgMiBUZWNobm9sb2d5IEVkaXRpb24sIAogICAgICAgIHZlcnNpb24gMS4zLjEgU1ItMTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgd2lkdGg9IjIxJSIgcm93U3Bhbj0iMiI+U3VuIFNvbGFyaXM8L3RkPgogICAgICA8dGQgd2lkdGg9IjE4JSIgcm93U3Bhbj0iMiI+U1BBUkM8L3RkPgogICAgICA8dGQgd2lkdGg9IjczJSI+IDxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IAogICAgICAgIFN1biBKYXZhIDIgU0RLLCBTdGFuZGFyZCBFZGl0aW9uLCB2ZXJzaW9uIDEuMy4xXzA2IGZvciAKICAgICAgICBTb2xhcmlzIFNQQVJDPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iNzMlIj4gPGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gCiAgICAgICAgU3VuIEphdmEgMiBTREssIFN0YW5kYXJkIEVkaXRpb24sIHZlcnNpb24gMS40LjFfMDEgZm9yIFNvbGFyaXMgCiAgICAgICAgU1BBUkM8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIyMSUiPkhQIEhQLVVYPC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOCUiPmhwOTAwMCBQQS1SSVNDPC90ZD4KICAgICAgPHRkIHdpZHRoPSI3MyUiPjxzcGFuIGNsYXNzPSJoZWFkZXIiPkhQLVVYIFNESyBmb3IgdGhlIEphdmEgMiBwbGF0Zm9ybSwKICAgICAgICB2ZXJzaW9uIDEuMy4xIGZvciBocDkwMDAgUEEtUklTQzwvc3Bhbj48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIyMSUiPklCTa4gQUlYPC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOCUiPlBvd2VyUEM8L3RkPgogICAgICA8dGQgd2lkdGg9IjczJSI+IElCTSBEZXZlbG9wZXIgS2l0IGZvciBBSVgsIEphdmEgMiBUZWNobm9sb2d5IEVkaXRpb24sIHZlcnNpb24gCiAgICAgICAgMS4zLjE8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIyMSUiPkFwcGxlriBNYWOuIE9TPC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOCUiPlBvd2VyUEM8L3RkPgogICAgICA8dGQgd2lkdGg9IjczJSI+SmF2YSAyIFN0YW5kYXJkIEVkaXRpb24gMS4zLjEgZm9yIE1hYyBPUyBYIDEwLjI8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIyMSUiPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IAogICAgICAgIDxzcGFuIGNsYXNzPSJ0aXRsZSI+UU5YPC9zcGFuPq48c3BhbiBjbGFzcz0idGl0bGUiPiBOZXV0cmlubzwvc3Bhbj6uPHNwYW4gY2xhc3M9InRpdGxlIj4KICAgICAgICBSVE9TPC9zcGFuPjwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMTglIj5JbnRlbCB4ODY8L3RkPgogICAgICA8dGQgd2lkdGg9IjczJSI+SUJNIEo5IFZNIGZvciBRTlgsIHZlcnNpb24gMi4wPC90ZD4KICAgIDwvdHI+CiAgPC90Ym9keT4KPC90YWJsZT4KPHA+PHNwYW4gY2xhc3M9ImhlYWRlciI+VGhlIGZvbGxvd2luZyB0YWJsZSBkZXNjcmliZXMgdGhlIGNvbWJpbmF0aW9ucyBvZgpvcGVyYXRpbmcgc3lzdGVtIGFuZCBKYXZhIDIgUGxhdGZvcm0gdXNlZCB3aGVuIHRlc3RpbmcgdGhlIEVjbGlwc2UgU0RLCmNvbmZpZ3VyYXRpb25zLiBUaGUgc3RhdHVzIGNvbHVtbiBpbmRpY2F0ZXMgdGhlIGxldmVsIG9mIHRlc3Rpbmc6CiZxdW90O1ByaW1hcnkmcXVvdDsgbWVhbnMgYSBmdWxsIHRlc3RlZCBjb25maWd1cmF0aW9uOyAmcXVvdDs8L3NwYW4+U2Vjb25kYXJ5JnF1b3Q7Cm1lYW5zIGEgY29uZmlndXJhdGlvbiB3aGljaCBpcyBvbmx5IGxpZ2h0bHkgdGVzdGVkOyAmcXVvdDtVbnRlc3RlZCZxdW90OyBtZWFucyBhCmNvbmZpZ3VyYXRpb24gdGhhdCBoYXMgcmVjZWl2ZWQgbm8gdGVzdGluZywgYnV0IHdoaWNoIHNob3VsZCB3b3JrLjwvcD4KPHRhYmxlIHdpZHRoPSI5MSUiIGJvcmRlcj0iMSIgaGVpZ2h0PSI0MTUiPgogIDx0Ym9keT4KICAgIDx0cj4gCiAgICAgIDx0ZCB3aWR0aD0iMTElIiBoZWlnaHQ9IjMyIj48Yj5XaW5kb3cgc3lzdGVtPC9iPjwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMjglIiBoZWlnaHQ9IjMyIj48Yj5KYXZhIDIgUGxhdGZvcm08YnI+CiAgICAgICAgKHNlZSBhYm92ZSB0YWJsZSk8L2I+PC90ZD4KICAgICAgPHRkIHdpZHRoPSI0MiUiIGhlaWdodD0iMzIiPjxiPk9wZXJhdGluZyBFbnZpcm9ubWVudDwvYj48L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSIgaGVpZ2h0PSIzMiI+PGI+VGVzdGluZyBTdGF0dXM8L2I+PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+IAogICAgICA8dGQgd2lkdGg9IjExJSIgcm93U3Bhbj0iNSIgaGVpZ2h0PSIxMDQiPldpbjMyPC90ZD4KICAgICAgPHRkIHdpZHRoPSIyOCUiIHJvd1NwYW49IjUiIGhlaWdodD0iMTA0Ij5XaW5kb3dzIG9uIEludGVsIHg4NjwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iNDIlIiBoZWlnaHQ9IjE2Ij5XaW5kb3dzIFhQPC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOSUiIGhlaWdodD0iMTYiPlByaW1hcnk8L3RkPgogICAgPC90cj4KICAgIDx0cj4gCiAgICAgIDx0ZCB3aWR0aD0iNDIlIiBoZWlnaHQ9IjE2Ij5XaW5kb3dzIDIwMDA8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSIgaGVpZ2h0PSIxNiI+UHJpbWFyeTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPiAKICAgICAgPHRkIHdpZHRoPSI0MiUiIGhlaWdodD0iMTYiPldpbmRvd3MgTUU8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSIgaGVpZ2h0PSIxNiI+U2Vjb25kYXJ5PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+IAogICAgICA8dGQgd2lkdGg9IjQyJSIgaGVpZ2h0PSIxNiI+V2luZG93cyA5OFNFPC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOSUiIGhlaWdodD0iMTYiPlNlY29uZGFyeTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPiAKICAgICAgPHRkIHdpZHRoPSI0MiUiIGhlaWdodD0iMTYiPldpbmRvd3MgTlQ8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSIgaGVpZ2h0PSIxNiI+U2Vjb25kYXJ5PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+IAogICAgICA8dGQgd2lkdGg9IjExJSIgcm93U3Bhbj0iNiIgaGVpZ2h0PSIxNTIiPk1vdGlmPC90ZD4KICAgICAgPHRkIHdpZHRoPSIyOCUiIHJvd1NwYW49IjMiIGhlaWdodD0iODYiPiZuYnNwOyA8cD5MaW51eCBvbiBJbnRlbCB4ODY8L3A+CiAgICAgICAgPHA+Jm5ic3A7PC9wPjwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iNDIlIiBoZWlnaHQ9IjI1Ij5SZWRIYXQgTGludXggNy4yIHg4NjwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMTklIiBoZWlnaHQ9IjI1Ij5QcmltYXJ5PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+IAogICAgICA8dGQgd2lkdGg9IjQyJSIgaGVpZ2h0PSIyNSI+U3VTRSBMaW51eCA3LjMgeDg2PC90ZD4KICAgICAgPHRkIHdpZHRoPSIxOSUiIGhlaWdodD0iMjUiPlByaW1hcnk8L3RkPgogICAgPC90cj4KICAgIDx0cj4gCiAgICAgIDx0ZCB3aWR0aD0iNDIlIiBoZWlnaHQ9IjI0Ij5PdGhlciBMaW51eDsga2VybmVsIHZlcnNpb24gMi40LjcsIGFuZCBYRnJlZTg2IHZlcnNpb24gNC4xLjA8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSIgaGVpZ2h0PSIyNCI+VW50ZXN0ZWQ8L3RkPgogICAgPC90cj4KICAgIDx0cj4gCiAgICAgIDx0ZCB3aWR0aD0iMjglIiBoZWlnaHQ9IjE2Ij5Tb2xhcmlzIG9uIFNQQVJDJm5ic3A7PC90ZD4KICAgICAgPHRkIHdpZHRoPSI0MiUiIGhlaWdodD0iMTYiPlN1biBTb2xhcmlzIDggU1BBUkM8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSIgaGVpZ2h0PSIxNiI+UHJpbWFyeTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPiAKICAgICAgPHRkIHdpZHRoPSIyOCUiIGhlaWdodD0iMTYiPkhQLVVYIG9uIGhwOTAwMCBQQS1SSVNDPC90ZD4KICAgICAgPHRkIHdpZHRoPSI0MiUiIGhlaWdodD0iMTYiPkhQLVVYIDExaSBocDkwMDA8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSIgaGVpZ2h0PSIxNiI+UHJpbWFyeTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPiAKICAgICAgPHRkIHdpZHRoPSIyOCUiIGhlaWdodD0iMTYiPkFJWCBvbiBQb3dlclBDPC90ZD4KICAgICAgPHRkIHdpZHRoPSI0MiUiIGhlaWdodD0iMTYiPklCTSBBSVggNS4xIG9uIFBvd2VyUEM8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSIgaGVpZ2h0PSIxNiI+UHJpbWFyeTwvdGQ+CiAgICA8L3RyPgogICAgPHRyPiAKICAgICAgPHRkIHdpZHRoPSIxMSUiIHJvd1NwYW49IjQiIGhlaWdodD0iODEiPkdUSzwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMjglIiByb3dTcGFuPSI0IiBoZWlnaHQ9IjgxIj5MaW51eCBvbiBJbnRlbCB4ODY8L3RkPgogICAgPC90cj4KICAgIDx0cj4gCiAgICAgIDx0ZCBoZWlnaHQ9IjE1Ij5SZWRIYXQgTGludXggNy4yIHg4NiBHVEsgMi4wPC90ZD4KICAgICAgPHRkIGhlaWdodD0iMTUiPlByaW1hcnk8L3RkPgogICAgPC90cj4KICAgIDx0cj4gCiAgICAgIDx0ZCB3aWR0aD0iNDIlIiBoZWlnaHQ9IjE2Ij5TdVNFIExpbnV4IDcuMyB4ODYgR1RLIDIuMDwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMTklIiBoZWlnaHQ9IjE2Ij5QcmltYXJ5PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+IAogICAgICA8dGQgd2lkdGg9IjQyJSIgaGVpZ2h0PSIxNiI+T3RoZXIgTGludXg7IGtlcm5lbCB2ZXJzaW9uIDIuNC43LCBhbmQgR1RLIDIuMDwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMTklIiBoZWlnaHQ9IjE2Ij5VbnRlc3RlZDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPiAKICAgICAgPHRkIHdpZHRoPSIxMSUiIGhlaWdodD0iMTYiPkNhcmJvbjwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMjglIiBoZWlnaHQ9IjE2Ij5NYWMgT1MgWCBvbiBQb3dlclBDPC90ZD4KICAgICAgPHRkIHdpZHRoPSI0MiUiIGhlaWdodD0iMTYiPk1hYyBPUyBYIDEwLjI8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSIgaGVpZ2h0PSIxNiI+PGk+RWFybHkgYWNjZXNzPC9pPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPiAKICAgICAgPHRkIHdpZHRoPSIxMSUiIGhlaWdodD0iMTYiPjxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IAogICAgICAgIFBob3Rvbq48L3RkPgogICAgICA8dGQgd2lkdGg9IjI4JSIgaGVpZ2h0PSIxNiI+SUJNIEo5IFZNIGZvciBRTlg8L3RkPgogICAgICA8dGQgd2lkdGg9IjQyJSIgaGVpZ2h0PSIxNiI+UU5YIE5ldXRyaW5vIFJUT1MgNi4yLjEmbmJzcDs8L3RkPgogICAgICA8dGQgd2lkdGg9IjE5JSIgaGVpZ2h0PSIxNiI+UHJpbWFyeTwvdGQ+CiAgICA8L3RyPgogIDwvdGJvZHk+CjwvdGFibGU+CjxoND5JbnRlcm5hdGlvbmFsaXphdGlvbjwvaDQ+CjxwPlRoZSBFY2xpcHNlIFBsYXRmb3JtIGlzIGRlc2lnbmVkIGFzIHRoZSBiYXNpcyBmb3IgaW50ZXJuYXRpb25hbGl6ZWQgcHJvZHVjdHMuClRoZSB1c2VyIGludGVyZmFjZSBlbGVtZW50cyBwcm92aWRlZCBieSB0aGUgRWNsaXBzZSBTREsgY29tcG9uZW50cywgaW5jbHVkaW5nCmRpYWxvZ3MgYW5kIGVycm9yIG1lc3NhZ2VzLCBhcmUgZXh0ZXJuYWxpemVkLiBUaGUgRW5nbGlzaCBzdHJpbmdzIGFyZSBwcm92aWRlZAphcyB0aGUgZGVmYXVsdCByZXNvdXJjZSBidW5kbGVzLjwvcD4KPHA+TGF0aW4tMSBsb2NhbGVzIGFyZSBzdXBwb3J0ZWQgYnkgdGhlIEVjbGlwc2UgU0RLIG9uIGFsbCBvZiB0aGUgYWJvdmUKb3BlcmF0aW5nIGVudmlyb25tZW50czsgREJDUyBsb2NhbGVzIGFyZSBzdXBwb3J0ZWQgYnkgdGhlIEVjbGlwc2UgU0RLIG9uCnRoZSBXaW5kb3dzLCBHVEssIGFuZCBNb3RpZiB3aW5kb3cgc3lzdGVtczsgQklESSBsb2NhbGVzIGFyZSBzdXBwb3J0ZWQgYnkgdGhlIEVjbGlwc2UgU0RLCm9ubHkgb24gV2luZG93cyBvcGVyYXRpbmcgZW52aXJvbm1lbnRzLgo8cD5UaGUgRWNsaXBzZSBTREsgc3VwcG9ydHMgR0IgMTgwMzAsIHRoZSBuZXcgQ2hpbmVzZSBjb2RlIHBhZ2Ugc3RhbmRhcmQsIG9uCldpbmRvd3MgMjAwMCBhbmQgWFAgb25seS4gTm90ZSB0aGF0IEdCIDE4MDMwIGFsc28gcmVxdWlyZXMgbG9jYWxlIGFuZCBjaGFyYWN0ZXIKZW5jb2Rpbmcgc3VwcG9ydCBmcm9tIHRoZSBKYXZhIDIgUnVudGltZSBFbnZpcm9ubWVudDsgdGhpcyBzdXBwb3J0IGlzIHN0YW5kYXJkCmluIHZlcnNpb24gMS40LCBhbmQgYWxzbyBhdmFpbGFibGUgaW4gc29tZSAxLjMgSlJFcy4KPHA+R2VybWFuIGFuZCBKYXBhbmVzZSBsb2NhbGVzIGhhdmUgYmVlbiB0ZXN0ZWQuCjxoND5CSURJIHN1cHBvcnQ8L2g0Pgo8cD5UaGUgRWNsaXBzZSBTREsgaXMgYSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCB0YXJnZXRlZCBhdCB0ZWNobmljYWwKcHJvZmVzc2lvbmFscyAtIG5vdCBhbiBlbmQgdXNlciBhcHBsaWNhdGlvbi4gSG93ZXZlciwgdGhlIEVjbGlwc2UgU0RLIHRvb2xzIHdpbGwKcGVybWl0IHRlY2huaWNhbCBwcm9mZXNzaW9uYWxzIHdobyBhcmUgd29ya2luZyBpbiBFbmdsaXNoIHRvIGJ1aWxkIEhlYnJldy9BcmFiaWMKZW5kIHVzZXIgSmF2YSBwcm9ncmFtcyB3aGljaCBhcmUgdGhlbXNlbHZlcyBub3QgYmFzZWQgb24gdGhlIEVjbGlwc2UgU0RLLiBUaGUKQklESSBzdXBwb3J0IGluIHRoZSBFY2xpcHNlIFNESyBhbGxvd3MgYSBKYXZhIHByb2dyYW1tZXIgdG8gd29yayB3aXRoIEJJREkKc3RyaW5ncywgY29kZSBjb21tZW50cywgZXRjLiBidXQgdGhlIEVjbGlwc2UgU0RLIGl0c2VsZiBpcyBub3QgZGVzaWduZWQgdG8gYmUKbG9jYWxpemVkIGZvciBCSURJIGxvY2FsZXMgYW5kIGl0cyB3aWRnZXQgb3JpZW50YXRpb24gY2FuIG5vdCBiZSBjaGFuZ2VkLjwvcD4KPHA+PGk+SU1QT1JUQU5UOiBUaGUgYWJvdmUgQklESSBzdXBwb3J0IGlzIGF2YWlsYWJsZSBvbmx5IG9uIFdpbmRvd3MgcGxhdGZvcm1zLjwvaT48L3A+Cgo8aDI+CgpDb21wYXRpYmlsaXR5IHdpdGggUHJldmlvdXMgUmVsZWFzZXM8L2gyPgoKPHA+CgpJdCBpcyBhIGdpdmVuIHRoYXQgRWNsaXBzZSAyLjEgd2lsbCBiZSB1cHdhcmRzIGNvbXBhdGlibGUgd2l0aCBFY2xpcHNlIDIuMC4gQW4gaW5jb21wYXRpYmxlIGJyZWFrIHdpdGggdGhlIHBhc3QgdGhpcyBlYXJseSBvbiB3b3VsZCBiZSBib3RoIHVud2VsY29tZSBhbmQKdW53YXJyYW50ZWQuPC9wPgoKPGgzPgoKQ29tcGF0aWJpbGl0eSBvZiBSZWxlYXNlIDIuMSB3aXRoIDIuMDwvaDM+CgogRWNsaXBzZSBTREsgMi4xIHdpbGwgYmUgdXB3YXJkcyBjb21wYXRpYmxlIHdpdGggRWNsaXBzZSBTREsgMi4wIHRvIHRoZSAKZ3JlYXRlc3QgZXh0ZW50IHBvc3NpYmxlLiBXZSBhbnRpY2lwYXRlIGEgc21hbGwgbnVtYmVyIG9mIGFyZWFzIHdoZXJlIHNsYXZpc2hseSAKbWFpbnRhaW5pbmcgY29tcGF0aWJpbGl0eSB3b3VsZCBub3QgYmUgaW4gdGhlIGJlc3QgaW50ZXJlc3RzIG9mIHRoZSBQbGF0Zm9ybSBvciAKaXRzIGNsaWVudHMuIEFsbCBzdWNoIGV4Y2VwdGlvbnMgd2lsbCBiZSBub3RlZCBpbiB0aGUgMi4xIHJlbGVhc2Ugbm90ZXMgc28gdGhhdCAKY2xpZW50cyBjYW4gYXNzZXNzIHRoZSBpbXBhY3Qgb2YgdGhlc2UgY2hhbmdlcyBvbiB0aGVpciBwbHVnLWlucyBhbmQgcHJvZHVjdHMuCgo8cD48Yj5BUEkgQ29udHJhY3QgQ29tcGF0aWJpbGl0eTo8L2I+IEVjbGlwc2UgU0RLIDIuMSB3aWxsIGJlIHVwd2FyZHMgY29udHJhY3QtY29tcGF0aWJsZSAKICB3aXRoIEVjbGlwc2UgU0RLIDIuMCB1bmxlc3Mgbm90ZWQuIFRoaXMgbWVhbnMgdGhhdCBwcm9ncmFtcyBpbiBmdWxsIGNvbXBsaWFuY2UgCiAgd2l0aCBjb250cmFjdHMgc3BlY2lmaWVkIGluIEVjbGlwc2UgU0RLIDIuMCBBUElzIHdpbGwgYXV0b21hdGljYWxseSBiZSBpbiAKICBmdWxsIGNvbXBsaWFuY2Ugd2l0aCBFY2xpcHNlIFNESyAyLjEgQVBJcy4gKEFQSSBpcyBjb25zdHJ1ZWQgYnJvYWRseSB0byAKICBpbmNsdWRlIHN1Y2ggdGhpbmdzIGFzIHBsdWctaW4gZXh0ZW5zaW9uIHBvaW50cy4pIERvd253YXJkIGNvbnRyYWN0IGNvbXBhdGliaWxpdHkgCiAgaXMgbm90IHN1cHBvcnRlZC4gVGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgY29tcGxpYW5jZSB3aXRoIEVjbGlwc2UgU0RLIAogIDIuMSBBUElzIHdvdWxkIGVuc3VyZSBjb21wbGlhbmNlIHdpdGggRWNsaXBzZSBTREsgMi4wIEFQSXMuIDxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IAogUmVmZXIgdG8gPGk+PGEgaHJlZj0iaHR0cDovL2VjbGlwc2Uub3JnL2VjbGlwc2UvZGV2ZWxvcG1lbnQvamF2YS1hcGktZXZvbHV0aW9uLmh0bWwiPkV2b2x2aW5nCkphdmEtYmFzZWQgQVBJczwvYT48L2k+IGZvciBhIGRpc2N1c3Npb24gb2YgdGhlIGtpbmRzIG9mIEFQSSBjaGFuZ2VzIHRoYXQKbWFpbnRhaW4gY29udHJhY3QgY29tcGF0aWJpbGl0eS4gCjxwPjxiPkJpbmFyeSAocGx1Zy1pbikgQ29tcGF0aWJpbGl0eTo8L2I+IEVjbGlwc2UgU0RLIDIuMSB3aWxsIGJlIHVwd2FyZHMgCiAgYmluYXJ5LWNvbXBhdGlibGUgd2l0aCBFY2xpcHNlIFNESyAyLjAgdW5sZXNzIG5vdGVkLiBUaGlzIG1lYW5zIHRoYXQgcGx1Zy1pbnMgCiAgYnVpbHQgZm9yIEVjbGlwc2UgU0RLIDIuMCB3aWxsIGNvbnRpbnVlIHRvIHdvcmsgY29ycmVjdGx5IGluIEVjbGlwc2UgCiAgU0RLIDIuMSB3aXRob3V0IGNoYW5nZS4gRG93bndhcmQgcGx1Zy1pbiBjb21wYXRpYmlsaXR5IGlzIG5vdCBzdXBwb3J0ZWQuIFBsdWctaW5zIAogIGZvciBFY2xpcHNlIFNESyAyLjEgYXJlIHVubGlrZWx5IHRvIGJlIHVzYWJsZSBpbiBFY2xpcHNlIFNESyAyLjAuIFBsdWctaW5zIAogIHdpdGggaGFyZC1jb2RlZCByZWZlcmVuY2VzIGluIHRoZWlyIHBsdWctaW4gbWFuaWZlc3QgZmlsZSB0byAyLjAgdmVyc2lvbnMgb2YgCiAgcHJlcmVxdWlzaXRlIEVjbGlwc2UgUHJvamVjdCBwbHVnLWlucyB3aWxsIHdvcmsgaW4gMi4xIHByb3ZpZGVkIHRoZSB2ZXJzaW9uIG1hdGNoCnJ1bGUgaXMgJnF1b3Q7Z3JlYXRlck9yRXF1YWwmcXVvdDsKb3IgJnF1b3Q7Y29tcGF0aWJsZSZxdW90OyAodGhlIGRlZmF1bHQpOyByZWZlcmVuY2VzCnVzaW5nICZxdW90O3BlcmZlY3QmcXVvdDsgb3IgJnF1b3Q7ZXF1aXZhbGVudCZxdW90OyBtYXRjaCBydWxlcyB3aWxsIGJlIGJyb2tlbi4gPGltZyBib3JkZXI9IjAiIHNyYz0ibmV3LmdpZiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIj4gCiBSZWZlciB0byA8aT48YSBocmVmPSJodHRwOi8vZWNsaXBzZS5vcmcvZWNsaXBzZS9kZXZlbG9wbWVudC9qYXZhLWFwaS1ldm9sdXRpb24uaHRtbCI+RXZvbHZpbmcKSmF2YS1iYXNlZCBBUElzPC9hPjwvaT4gZm9yIGEgZGlzY3Vzc2lvbiBvZiB0aGUga2luZHMgb2YgQVBJIGNoYW5nZXMgdGhhdAptYWludGFpbiBiaW5hcnkgY29tcGF0aWJpbGl0eS4gCjxwPjxiPlNvdXJjZSBDb21wYXRpYmlsaXR5OjwvYj4gRWNsaXBzZSBTREsgMi4xIHdpbGwgYmUgdXB3YXJkcyBzb3VyY2UtY29tcGF0aWJsZSAKICB3aXRoIEVjbGlwc2UgU0RLIDIuMCB1bmxlc3Mgbm90ZWQuIFRoaXMgbWVhbnMgdGhhdCBzb3VyY2UgZmlsZXMgd3JpdHRlbiAKICB0byB1c2UgRWNsaXBzZSBTREsgMi4wIEFQSXMgY2FuIGJlIHN1Y2Nlc3NmdWxseSBjb21waWxlZCBhbmQgcnVuIGFnYWluc3QgRWNsaXBzZSBTREsgMi4xIEFQSXMuIFNpbmNlIHNvdXJjZSBpbmNvbXBhdGliaWxpdGllcyBhcmUgZWFzeSB0byBkZWFsIHdpdGgsIAogIG1haW50YWluaW5nIHNvdXJjZSBjb21wYXRpYmlsaXR5IGlzIGNvbnNpZGVyZWQgbXVjaCBsZXNzIGltcG9ydGFudCB0aGFuIG1haW50YWluaW5nIAogIGNvbnRyYWN0IGFuZCBiaW5hcnkgY29tcGF0aWJpbGl0eS4gRG93bndhcmQgc291cmNlIGNvbXBhdGliaWxpdHkgaXMgbm90IHN1cHBvcnRlZC4gCiAgSWYgc291cmNlIGZpbGVzIHVzZSBuZXcgRWNsaXBzZSBTREsgQVBJcywgdGhleSB3aWxsIG5vdCBiZSB1c2FibGUgd2l0aCBhbiBlYXJsaWVyIAogIHZlcnNpb24gb2YgRWNsaXBzZSBTREsuIAo8cD48Yj5Xb3Jrc3BhY2UgQ29tcGF0aWJpbGl0eTo8L2I+IEVjbGlwc2UgU0RLIDIuMSB3aWxsIGJlIHVwd2FyZHMKCndvcmtzcGFjZS1jb21wYXRpYmxlIHdpdGggRWNsaXBzZSBTREsgMi4wIHVubGVzcyBub3RlZC4gVGhpcyBtZWFucyB0aGF0Cgp3b3Jrc3BhY2VzIGFuZCBwcm9qZWN0cyBjcmVhdGVkIHdpdGggRWNsaXBzZSBTREsgMi4wIGNhbiBiZSBzdWNjZXNzZnVsbHkgb3BlbmVkIGJ5IEVjbGlwc2UgU0RLCjIuMSBhbmQgdXBncmFkZWQgdG8gYSAyLjEgd29ya3NwYWNlLiBJbmRpdmlkdWFsIHBsdWctaW5zIGRldmVsb3BlZCBmb3IKCkVjbGlwc2UgU0RLIDIuMCBzaG91bGQgcHJvdmlkZSBzaW1pbGFyIHVwd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgdGhlaXIgd29ya3NwYWNlCgptZXRhZGF0YTsgcGx1Zy1pbiBkZXZlbG9wZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhhdCB0aGVpciBwbHVnLWlucwoKcmVjb2duaXplIDIuMCBtZXRhZGF0YSBhbmQgcHJvY2VzcyBpdCBhcHByb3ByaWF0ZWx5LiBVc2VyIGludGVyZmFjZSBzZXNzaW9uIHN0YXRlIG1heSBiZSBkaXNjYXJkZWQKd2hlbiBhIHdvcmtzcGFjZSBpcyB1cGdyYWRlZC4gRG93bndhcmQgd29ya3NwYWNlIGNvbXBhdGliaWxpdHkgaXMgbm90IHN1cHBvcnRlZC4gQSB3b3Jrc3BhY2UgY3JlYXRlZAoKKG9yIG9wZW5lZCkgYnkgRWNsaXBzZSBTREsgMi4xIHdpbGwgYmUgdW51c2FibGUgd2l0aCBhbiBlYXJsaWVyIHZlcnNpb24KCm9mIEVjbGlwc2UgU0RLLiZuYnNwOyZuYnNwOwoKPHA+PGI+Tm9uLWNvbXBsaWFudCB1c2FnZSBvZiBBUEknczwvYj46IEFsbCBub24tQVBJIG1ldGhvZHMgYW5kIGNsYXNzZXMsIGFuZCBjZXJ0YWlubHkgCiAgZXZlcnl0aGluZyBpbiBhIHBhY2thZ2Ugd2l0aCAmcXVvdDtpbnRlcm5hbCZxdW90OyBpbiBpdHMgbmFtZSwgYXJlIGNvbnNpZGVyZWQgCiAgaW1wbGVtZW50YXRpb24gZGV0YWlscyB3aGljaCBtYXkgdmFyeSBiZXR3ZWVuIG9wZXJhdGluZyBlbnZpcm9ubWVudCBhbmQgYXJlIAogIHN1YmplY3QgdG8gY2hhbmdlIHdpdGhvdXQgbm90aWNlLiBDbGllbnQgcGx1Zy1pbnMgdGhhdCBkaXJlY3RseSBkZXBlbmQgb24gYW55dGhpbmcgCiAgb3RoZXIgdGhhbiB3aGF0IGlzIHNwZWNpZmllZCBpbiB0aGUgRWNsaXBzZSBTREsgQVBJIGFyZSBpbmhlcmVudGx5IHVuc3VwcG9ydGFibGUgCiAgYW5kIHJlY2VpdmUgbm8gZ3VhcmFudGVlcyBhYm91dCBjb21wYXRpYmlsaXR5IHdpdGhpbiBhIHNpbmdsZSByZWxlYXNlIG11Y2ggbGVzcyAKICB3aXRoIGFuIGVhcmxpZXIgcmVsZWFzZS4gUmVmZXIgdG8gPGk+PGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9hcnRpY2xlcy9BcnRpY2xlLUFQSSUyMHVzZS9lY2xpcHNlLWFwaS11c2FnZS1ydWxlcy5odG1sIj5Ib3cgCiAgdG8gVXNlIHRoZSBFY2xpcHNlIEFQSTwvYT48L2k+IGZvciBpbmZvcm1hdGlvbiBhYm91dCBob3cgdG8gd3JpdGUgY29tcGxpYW50IAogIHBsdWctaW5zLiAKCjxoMj4gRWNsaXBzZSBQcm9qZWN0IFN1YnByb2plY3RzPC9oMj4KClRoZSBFY2xpcHNlIFByb2plY3QgY29uc2lzdHMgb2YgMyBzdWJwcm9qZWN0cy4gRWFjaCBzdWJwcm9qZWN0CgppcyBjb3ZlcmVkIGluIGl0cyBvd24gc2VjdGlvbjoKCjxibG9ja3F1b3RlPjxhIGhyZWY9IiNFY2xpcHNlIFBsYXRmb3JtIHN1YnByb2plY3QiPkVjbGlwc2UgUGxhdGZvcm08L2E+Cgo8YnI+PGEgaHJlZj0iI0phdmEgZGV2ZWxvcG1lbnQgdG9vbGluZyAoSkRUKSBzdWJwcm9qZWN0Ij5KRFQgLSBKYXZhIGRldmVsb3BtZW50IHRvb2xpbmc8L2E+Cgo8YnI+PGEgaHJlZj0iI1BsdWctaW4gZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgKFBERSkgc3VicHJvamVjdCI+UERFIC0gUGx1Zy1pbiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudDwvYT48L2Jsb2NrcXVvdGU+Cgo8cD5Gb3IgZWFjaCBzdWJwcm9qZWN0LCB0aGUgaXRlbXMgbGlzdGVkIHJlZmxlY3QgbmV3IGZlYXR1cmVzIG9mIHRoZSBFY2xpcHNlIFBsYXRmb3JtLCAKICBvciBhcmVhcyB3aGVyZSBleGlzdGluZyBmZWF0dXJlcyB3aWxsIGJlIHNpZ25pZmljYW50bHkgcmV3b3JrZWQuIEVhY2ggaXRlbSBpbmRpY2F0ZXMgCiAgdGhlIGNvbXBvbmVudHMgYWZmZWN0ZWQgYnkgdGhhdCB3b3JrIGl0ZW0gKG1hbnkgaXRlbXMgaW52b2x2ZSBjb29yZGluYXRlZCBjaGFuZ2VzIAogIHRvIHNldmVyYWwgY29tcG9uZW50cykuCgo8aDM+Cgo8YSBuYW1lPSJFY2xpcHNlIFBsYXRmb3JtIHN1YnByb2plY3QiPkVjbGlwc2UgUGxhdGZvcm0gc3VicHJvamVjdDwvYT48L2gzPgoKVGhlIEVjbGlwc2UgUGxhdGZvcm0gcHJvdmlkZXMgdGhlIG1vc3QgZnVuZGFtZW50YWwgYnVpbGRpbmcgYmxvY2tzLiBUaGUgZm9sbG93aW5nIGl0ZW1zIHJlZmxlY3QgbmV3IGZlYXR1cmVzIG9mIHRoZSBFY2xpcHNlIFBsYXRmb3JtLCBvciBhcmVhcwoKd2hlcmUgZXhpc3RpbmcgZmVhdHVyZXMgd2lsbCBiZSBzaWduaWZpY2FudGx5IHJld29ya2VkLgo8aDQ+Q29tbWl0dGVkIEl0ZW1zIChFY2xpcHNlIFBsYXRmb3JtIHN1YnByb2plY3QpPC9oND4KPGJsb2NrcXVvdGU+CjxwPiA8Yj5JbXByb3ZlIHN0YXJ0dXAgdGltZTwvYj4uJm5ic3A7IFByb2dyZXNzIHdhcyBtYWRlCmF0IGltcHJvdmluZyBzdGFydHVwIHRpbWVzIGluIDIuMDsgaG93ZXZlciwgYWRkaXRpb25hbCBpbXByb3ZlbWVudHMgYXJlIG5lZWRlZC4gSW4gYWRkaXRpb24sIHdlIG5lZWQgdG8gaW52ZXN0aWdhdGUgZGVmZXJyaW5nIChvciBwYXJ0aWFsbHkgb21pdHRpbmcpIHRoZQpyZWNvdmVyeSBvZiB0aGUgVUkgc3RhdGUuIFtQbGF0Zm9ybSBDb3JlLCBQbGF0Zm9ybSBVSV08L3A+CjxwPgo8Yj5BbGxvdyB1c2VyIGN1c3RvbWl6YWJsZQprZXkgYmluZGluZ3MuPC9iPiZuYnNwOyBFY2xpcHNlIDIuMCBzdXBwb3J0cyBjb25maWd1cmFibGUga2V5IGJpbmRpbmdzLCBidXQgb25seQpmb3IgZWRpdG9yIGtleSBiaW5kaW5ncywgYW5kIG9ubHkgY29uZmlndXJlZCBieSBhIHBsdWctaW4uIFRoZSB1c2VyIHNob3VsZCBiZQphYmxlIHRvIGludGVyYWN0aXZlbHkgY3VzdG9taXplIHRoZQprZXkgYmluZGluZ3MgZm9yIGFsbCB3b3JrYmVuY2ggYWN0aW9ucy4gVGhlcmUgYXJlIGFkZGl0aW9uYWwgY3VzdG9taXphdGlvbiBwb3NzaWJpbGl0aWVzIGluY2x1ZGluZyB2aXNpYmxlIGFjdGlvbnMgYW5kIHBlcnNwZWN0aXZlIGxheW91dC4KW1BsYXRmb3JtIFVJLCBTV1QsIFRleHQsIEpEVCBVSV08L3A+CjxwPiA8Yj5JbXByb3ZlIHVwZGF0ZQptYW5hZ2VyLjwvYj4gTWFrZSBjb250aW51aW5nIGltcHJvdmVtZW50cyB0byB0aGUgRWNsaXBzZSBpbnN0YWxsIGFuZCB1cGRhdGUKbWVjaGFuaXNtcy4gSW1wcm92ZSBzdXBwb3J0IGZvciBpbnN0YWxsaW5nIGFuZCB1cGRhdGluZyBsYXJnZSBwcm9kdWN0cyBtYWtpbmcKdXNlIG9mIG5lc3RlZCBmZWF0dXJlcy4gTWFrZSByZW1vdGUgY29ubmVjdGlvbnMgbW9yZSBjb25maWd1cmFibGUgKCBjb25uZWN0aW9uIHVzaW5nIGEgcHJveHkgc2VydmVyCmJlaGluZCBmaXJld2FsbCBhbmQgYXV0aGVudGljYXRpb24pIGFuZCBtb3JlIHJvYnVzdCAodGltZSBvdXRzKS4gW1BsYXRmb3JtIENvcmUsIFBsYXRmb3JtIEluc3RhbGwvVXBkYXRlXTwvcD4KPHA+IDxiPkVuYWJsZSBEQkNTIG9uIExpbnV4LjwvYj4KU3VwcG9ydCBkb3VibGUtYnl0ZSBjaGFyYWN0ZXJzIG9uIHRoZSBHVEsgYW5kIE1vdGlmIHdpbmRvdyBzeXN0ZW1zLiBbU1dUXTwvcD4KPHA+IDxiPkFkZCB3b3JrYmVuY2gKZWRpdG9yIG5hdmlnYXRpb24KaGlzdG9yeS48L2I+IFRoZSB1c2VyIHNob3VsZCBiZSBhYmxlIHRvIG5hdmlnYXRlIGJldHdlZW4gd29ya2JlbmNoIGVkaXRvcnMgd2l0aCB3ZWIgc3R5bGUgYmFjay9mb3J3YXJkIGFjdGlvbnMuCihSZWY6IDxhIGhyZWY9Imh0dHA6Ly9kZXYuZWNsaXBzZS5vcmcvYnVncy9zaG93X2J1Zy5jZ2k/aWQ9NTcwMCI+YnVnIDU3MDA8L2E+KSZuYnNwOwpbUGxhdGZvcm0gVUldPC9wPgo8cD4KICg8aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiAKIHJlY2VudGx5IGNvbW1pdHRlZCkKIDxiPkltcHJvdmUgQW50IHN1cHBvcnQuPC9iPgpBZGQgc3VwcG9ydCB0byBuYXZpZ2F0ZSBmcm9tIEFudCBlcnJvciBvdXRwdXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlLgpbUGxhdGZvcm0gVUksIEFudCBDb3JlXTwvcD4KPC9ibG9ja3F1b3RlPgo8aDQ+UHJvcG9zZWQgSXRlbXMgKEVjbGlwc2UgUGxhdGZvcm0gc3VicHJvamVjdCk8L2g0Pgo8YmxvY2txdW90ZT4KPHA+PGI+SW1wcm92ZQpzZXJ2aWNlYWJpbGl0eS4gPC9iPiBQcm9ncmVzcyB3YXMgbWFkZSBhdCBpbXByb3Zpbmcgc2VydmljZWFiaWxpdHkgaW4gMi4wOyBob3dldmVyLCBhZGRpdGlvbmFsIGltcHJvdmVtZW50cyBhcmUKbmVlZGVkLCBwYXJ0aWN1bGFybHkgaW4gZGVhbGluZyB3aXRoIGVycm9yIGNvbmRpdGlvbnMgYW5kIHJlcG9ydGluZyB0aGVtIGluIGFuCmFwcHJvcHJpYXRlIG1hbm5lci4gW1BsYXRmb3JtIENvcmUsIFNXVCwgUGxhdGZvcm0gVUldPGJyPgo8YnI+CjxiPkltcHJvdmUgZmlsZSBlbmNvZGluZyBzdXBwb3J0LjwvYj4KRWNsaXBzZSAyLjAgdXNlcyBhIHNpbmdsZSBnbG9iYWwgZmlsZSBlbmNvZGluZyBzZXR0aW5nIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIGZpbGVzCmluIHRoZSB3b3Jrc3BhY2UuIFRoaXMgaXMgcHJvYmxlbWF0aWM7IGZvciBleGFtcGxlLCB3aGVuIEphdmEgc291cmNlIGZpbGVzIGluCnRoZSB3b3Jrc3BhY2UgdXNlIE9TIGRlZmF1bHQgZmlsZSBlbmNvZGluZyB3aGlsZSBYTUwgZmlsZXMgaW4gdGhlIHdvcmtzcGFjZSB1c2UKVVRGLTggZmlsZSBlbmNvZGluZy4gVGhlIFBsYXRmb3JtIHNob3VsZCBzdXBwb3J0IG5vbi11bmlmb3JtIGZpbGUgZW5jb2RpbmdzLgooUmVmOiA8YSBocmVmPSJodHRwOi8vZGV2LmVjbGlwc2Uub3JnL2J1Z3Mvc2hvd19idWcuY2dpP2lkPTUzOTkiPmJ1ZyA1Mzk5PC9hPikgW1BsYXRmb3JtCkNvcmUsIFBsYXRmb3JtIFVJLCBUZXh0LCBTZWFyY2gsIENvbXBhcmUsIEpEVCBVSSwgSkRUIENvcmVdPC9wPgo8cD4gPGI+SW1wcm92ZSBTV1QKc3VwcG9ydCBmb3IgcmlnaHQtdG8tbGVmdCBsYW5ndWFnZXM8L2I+LiZuYnNwO0FsbG93IHRoZSBhcHByb3ByaWF0ZSB3aWRnZXQgb3JpZW50YXRpb24KZm9yIHJpZ2h0LXRvLWxlZnQgbGFuZ3VhZ2VzLiBbU1dUXTwvcD4KPC9ibG9ja3F1b3RlPgo8aDQ+RGVmZXJyZWQgSXRlbXMgKEVjbGlwc2UgUGxhdGZvcm0gc3VicHJvamVjdCk8L2g0Pgo8YmxvY2txdW90ZT4KPHA+KDxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IAogcmVjZW50bHkgZGVmZXJyZWQpCjxiPkFkZCBjaGVhdCBzaGVldHM8L2I+LiZuYnNwOyBBIGNoZWF0IHNoZWV0IGlzIGFuIGluc3RhbmNlIAogICAgb2YgYSBzaW1wbGUga2luZCBvZiB3b3JrZmxvdyBzdXBwb3J0IHVzZWQgdG8gaGVscCB0aGUgdXNlciBjYXJyeSBvdXQgYQogIHNlcXVlbmNlIG9mIHN0ZXBzLiBGb3IgZXhhbXBsZSwgJnF1b3Q7Y3JlYXRlIGFuZCBkZXBsb3kgYSBwbHVnLWluIiBpcyBhIG11bHRpLXN0ZXAgcHJvY2VzcyB0aGF0IGNvdWxkIGJlIG1hZGUgZWFzaWVyIHRvIGZvbGxvdyBpZiB0aGVyZSB3YXMgYSBndWlkZSwgc2ltaWxhciB0byBhIHJlY2lwZSB0aGF0IHdvdWxkIHRyYWNrIHRoZSB1c2VyJ3MgcHJvZ3Jlc3MgYW5kIHByb3ZpZGUgYm90aCBkZXNjcmlwdGl2ZSB0ZXh0IHRoYXQgZXhwbGFpbnMgdGhlIHN0ZXBzIGludm9sdmVkIGFuZCBpbnRlZ3JhdGlvbiB3aXRoIEVjbGlwc2UgdG8gYXV0b21hdGUgdGhlIHByb2Nlc3MuIFRoZSBXZWxjb21lIFBhZ2UgZWRpdG9yIGlzIGEgc2ltcGxlIAogICAgZXhhbXBsZSBvZiBhIGNoZWF0IHNoZWV0LiBQcm92aWRlIGEgc3RhbmRhcmQgQVBJIGZvciBjcmVhdGluZyBjaGVhdCAKICAgIHNoZWV0cy4gW1BsYXRmb3JtIFVJXTwvcD4KPHA+ICg8aW1nIGJvcmRlcj0iMCIgc3JjPSJuZXcuZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPiAKIHJlY2VudGx5IGRlZmVycmVkKSA8Yj5BZGQgdGFibGUgb2YKY29udGVudHMgc3VwcG9ydCB0byB3aXphcmRzLjwvYj4gRXh0ZW5kIHRoZSB3b3JrYmVuY2ggd2l6YXJkCmZyYW1ld29yayB0byBhbGxvdyBFY2xpcHNlIHdpemFyZCBkZXZlbG9wZXJzIHRvIHByb3ZpZGUgbXVjaCBtb3JlIHN1YnN0YW50aWFsCmFuZCBzaWduaWZpY2FudCB1c2VyIGZlZWRiYWNrLiBbUGxhdGZvcm0gVUldPC9wPgo8cD4gKDxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IAogcmVjZW50bHkgZGVmZXJyZWQpIDxiPlN1cHBvcnQgZmxvYXRpbmcKdG9vbGJhcnMgYW5kIHZpZXdzLjwvYj4gQWxsb3cgdGhlIHVzZXIgdG8gY3VzdG9taXplIHRoZSB3b3JrYmVuY2ggYnkgY3JlYXRpbmcgZmxvYXRpbmcKdG9vbGJhcnMgYW5kIHZpZXdzLiBbUGxhdGZvcm0gVUldPC9wPgo8cD4gKDxpbWcgYm9yZGVyPSIwIiBzcmM9Im5ldy5naWYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+IAogcmVjZW50bHkgZGVmZXJyZWQpIDxiPkFsbG93IGVkaXRvcnMgdG8Kb3BlbiBmaWxlcyBvdXRzaWRlIHdvcmtzcGFjZS48L2I+IEEgY29tbW9uIHJlcXVlc3QgaXMgdG8gYmUgYWJsZSB0byBvcGVuIGEgZmlsZSB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSB3b3Jrc3BhY2UKdXNpbmcgRWNsaXBzZS4gSW4gYWRkaXRpb24sIGFwcGxpY2F0aW9ucyB3b3VsZCBsaWtlIHRvIHByb3ZpZGUgZmlsZSBleHRlbnNpb24gYXNzb2NpYXRpb25zIHNvCnRoYXQgZG91YmxlLWNsaWNraW5nIG9uIGEgZmlsZSBpbiB0aGUgT1MgZGVza3RvcCB3b3VsZCBvcGVuIHRoZSBhc3NvY2lhdGVkIEVjbGlwc2UgZWRpdG9yLgpUaGUgb3BlcmF0aW9ucyBhbmQgY2FwYWJpbGl0aWVzIGF2YWlsYWJsZSBvbiB0aGVzZSAib3V0c2lkZSBvZiB0aGUgd29ya3NwYWNlIiBmaWxlcwp3b3VsZCBuZWVkIHRvIGJlIGRlZmluZWQuIFtQbGF0Zm9ybSBVSV08L3A+CjwvYmxvY2txdW90ZT4KPGg0PlJlamVjdGVkIEl0ZW1zIChFY2xpcHNlIFBsYXRmb3JtIHN1YnByb2plY3QpPC9oND4KPGJsb2NrcXVvdGU+CiAgPHA+PGk+Tm9uZSBhdCB0aGlzIHRpbWUuPC9pPjwvcD4KPC9ibG9ja3F1b3RlPgoKCgo8cD4oRW5kIG9mIGl0ZW1zIGZvciBFY2xpcHNlIFBsYXRmb3JtIHN1YnByb2plY3QuKQoKCgo8aDM+Cgo8YSBuYW1lPSJKYXZhIGRldmVsb3BtZW50IHRvb2xpbmcgKEpEVCkgc3VicHJvamVjdCI+SmF2YSBkZXZlbG9wbWVudCB0b29saW5nIChKRFQpIHN1YnByb2plY3Q8L2E+PC9oMz4KCjxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvamR0L2luZGV4Lmh0bWwiPgoKSmF2YSBkZXZlbG9wbWVudCB0b29saW5nPC9hPiAoSkRUKSBpbXBsZW1lbnRzIGEgSmF2YSBJREUgYmFzZWQgb24gdGhlIEVjbGlwc2UKClBsYXRmb3JtLgoKVGhlIGZvbGxvd2luZyB3b3JrIGl0ZW1zIHJlZmxlY3QgbmV3IGZlYXR1cmVzIG9mIEpEVCwgb3IgYXJlYXMgd2hlcmUgZXhpc3RpbmcKCmZlYXR1cmVzIHdpbGwgYmUgc2lnbmlmaWNhbnRseSByZXdvcmtlZC4KPGg0PkNvbW1pdHRlZCBJdGVtcyAoRWNsaXBzZSBKRFQgc3VicHJvamVjdCk8L2g0Pgo8YmxvY2txdW90ZT4KPHA+IDxiPlN1cHBvcnQgYnVpbGRpbmcgcHJvamVjdHMgd2l0aCBjaXJjdWxhciBkZXBlbmRlbmNpZXMuPC9iPiZuYnNwOyBTb21lIHVzZXJzIGFyZQpleHBlcmllbmNpbmcgZGlmZmljdWx0eSBwYXJ0aXRpb25pbmcgdGhlaXIgd29yayBpbnRvIGluZGVwZW5kZW50bHktYnVpbGRhYmxlIHByb2plY3RzLiBXZSB3YW50IHRvIGFkZCBhIG1lY2hhbmlzbSB0byBhbGxvdyBtdXR1YWxseSBkZXBlbmRlbnQgcHJvamVjdHMgdG8gYmUKYnVpbHQKc3VjY2Vzc2Z1bGx5LCB3aGlsZSBwcmVzZXJ2aW5nIGN1cnJlbnQgcHJvamVjdCBidWlsZCBvcmRlciBiZWhhdmlvci4gKFJlZjogPGEgaHJlZj0iaHR0cDovL2Rldi5lY2xpcHNlLm9yZy9idWdzL3Nob3dfYnVnLmNnaT9pZD0xMDI2MiI+YnVnCjEwMjYyPC9hPikgW0pEVCBDb3JlLCBQbGF0Zm9ybSBDb3JlXTwvcD4KICA8cD4gPGI+TW9yZSBmbGV4aWJsZSBwcm9qZWN0IGxheW91dC4mbmJzcDsgPC9iPlN1cHBvcnQgc291cmNlIGFuZCBvdXRwdXQgZm9sZGVycyB0aGF0IGFyZSBvdXRzaWRlIG9mIHRoZQogIHdvcmtzcGFjZS4gVGhpcyBsaWtlbHkgcmVxdWlyZXMgUGxhdGZvcm0gQ29yZSBzdXBwb3J0IHNvIHRoYXQgY2hhbmdlcyB0byB0aGVzZQogIGZvbGRlcnMgY2FuIGJlIHJlZmxlY3RlZCBpbiByZXNvdXJjZSBkZWx0YXMuIFtKRFQgQ29yZSwgSkRUIFVJLCBQbGF0Zm9ybQogIENvcmUsIFBsYXRmb3JtIFVJLCBUZWFtXTwvcD4KPHA+IDxiPlN1cHBvcnQgbXVsdGktSkFSCnN5c3RlbSBsaWJyYXJpZXMuPC9iPiBTb21lIEpSRXMgKGluY2x1ZGluZyBNYWMgT1MgWCBhbmQgSUJNIDEuNCkgcGFja2FnZSZuYnNwOwp0aGUgSmF2YSBzeXN0ZW0gY2xhc3MgbGlicmFyaWVzIGluIHNldmVyYWwgSkFSIGZpbGVzLiBJbXByb3ZlIHN1cHBvcnQgZm9yIHN5c3RlbQpjbGFzcyBsaWJyYXJpZXMgc28gdGhhdCBpdCBpcyBtb3JlIGNvbnZlbmllbnQgdG8gZGV2ZWxvcCBhbmQgcnVuIGFnYWluc3QgdGhlbS4gW0pEVApDb3JlLCBKRFQgVUldPC9wPgo8cD4gPGI+QWRkIG5ldyByZWZhY3RvcmluZ3M8L2I+LiBTdXBwb3J0IGFkZGl0aW9uYWwKcmVmYWN0b3JpbmcgYWN0aW9ucywgaW5jbHVkaW5nIGV4dHJhY3QgaW50ZXJmYWNlLCBhbmQgZXh0cmFjdCBjb25zdGFudC4gW0pEVApDb3JlLCBKRFQgVUldPC9wPgo8L2Jsb2NrcXVvdGU+CjxoND5Qcm9wb3NlZCBJdGVtcyAoRWNsaXBzZSBKRFQgc3VicHJvamVjdCk8L2g0Pgo8YmxvY2txdW90ZT4KPHA+PGk+Tm9uZSBhdCB0aGlzIHRpbWUuPC9pPjwvcD4KPC9ibG9ja3F1b3RlPgo8aDQ+RGVmZXJyZWQgSXRlbXMgKEVjbGlwc2UgSkRUIHN1YnByb2plY3QpPC9oND4KPGJsb2NrcXVvdGU+CiAgPHA+PGk+Tm9uZSBhdCB0aGlzIHRpbWUuPC9pPjwvcD4KPC9ibG9ja3F1b3RlPgo8aDQ+UmVqZWN0ZWQgSXRlbXMgKEVjbGlwc2UgSkRUIHN1YnByb2plY3QpPC9oND4KPGJsb2NrcXVvdGU+CiAgPHA+PGk+Tm9uZSBhdCB0aGlzIHRpbWUuPC9pPjwvcD4KPC9ibG9ja3F1b3RlPgoKCgo8cD4oRW5kIG9mIGl0ZW1zIGZvciBFY2xpcHNlIEpEVCBzdWJwcm9qZWN0LikKCgoKPGgzPgoKPGEgbmFtZT0iUGx1Zy1pbiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCAoUERFKSBzdWJwcm9qZWN0Ij5QbHVnLWluIGRldmVsb3BtZW50IGVudmlyb25tZW50IChQREUpIHN1YnByb2plY3Q8L2E+PC9oMz4KClRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL3BkZS9pbmRleC5odG1sIj4gcGx1Zy1pbiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudDwvYT4gCihQREUpIGNvbnNpc3RzIG9mJm5ic3A7dG9vbHMgZm9yIGRldmVsb3BpbmcgcGx1Zy1pbnMgZm9yIHRoZSBFY2xpcHNlIFBsYXRmb3JtLgoKVGhlIGZvbGxvd2luZyB3b3JrIGl0ZW1zIHJlZmxlY3QgbmV3IGZlYXR1cmVzIG9mIFBERSwgb3IgYXJlYXMgd2hlcmUgZXhpc3RpbmcKCmZlYXR1cmVzIHdpbGwgYmUgc2lnbmlmaWNhbnRseSByZXdvcmtlZC4KPGg0PkNvbW1pdHRlZCBJdGVtcyAoRWNsaXBzZSBQREUgc3VicHJvamVjdCk8L2g0Pgo8YmxvY2txdW90ZT4KICA8cD48aT5Ob25lIGF0IHRoaXMgdGltZS48L2k+PC9wPgo8L2Jsb2NrcXVvdGU+CjxoND5Qcm9wb3NlZCBJdGVtcyAoRWNsaXBzZSBQREUgc3VicHJvamVjdCk8L2g0Pgo8YmxvY2txdW90ZT4KICA8cD4gPGI+SW1wcm92ZQogIGJ1aWxkIGNsYXNzIHBhdGggZm9yIHBsdWctaW4gcHJvamVjdHMuPC9iPiBQbHVnLWlucyB0aGF0IG1ha2UgZGlyZWN0IHJlZmVyZW5jZQogIHRvIEpBUiBsaWJyYXJpZXMgb2YgcHJlcmVxdWlzaXRlIHBsdWctaW5zIGFyZSB2dWxuZXJhYmxlIHRvIHZlcnNpb24gaWRzIGluCiAgcGx1Zy1pbiBlbWJlZGRlZCBpbiBkaXJlY3RvcnkgbmFtZXMuIFRoZSBhbHRlcm5hdGl2ZSwgdXNpbmcgYmluYXJ5IGxpYnJhcnkKICBwbHVnLWlucyBmb3IgZWFjaCBwcmVyZXF1aXNpdGUgcGx1Zy1pbiwgbGVhZHMgdG8gYSBwcm9mdXNpb24gb2YgcHJvamVjdHMgaW4KICB0aGUgd29ya3NwYWNlLiBQREUgd2lsbCBvZmZlciBhIHRoaXJkIGFsdGVybmF0aXZlIGJhc2VkIG9uIEpEVCBjbGFzcyBwYXRoIGNvbnRhaW5lcnMKICB0aGF0IGF2b2lkcyB0aGVzZSBzaG9ydGNvbWluZ3MgYW5kIGludGVyb3BlcmF0ZXMgd2l0aCBleGlzdGluZyBwbHVnLWluCiAgcHJvamVjdHMuPC9wPgogIDxwPiA8Yj5BZGQgc3VwcG9ydAogIGZvciB1cGRhdGUgc2l0ZXMuPC9iPiBTZXR0aW5nIHVwIGFuIEVjbGlwc2UgdXBkYXRlIHNpdGUgYW5kIGJ1aWxkaW5nCiAgaXRzIHBsdWctaW5zIGFuZCBmZWF0dXJlcyBpcyBub3Qgc3RyYWlnaHRmb3J3YXJkLiBQREUgd2lsbCBtYWtlIGl0IGNvbnZlbmllbnQKICB0byBkZWZpbmUgdGhlIGxheW91dCBvZiBhbiB1cGRhdGUgc2l0ZSBhbmQgY3JlYXRlIHRoZSB1cGRhdGUgc2l0ZSdzIGNvbnRlbnRzLjwvcD4KICA8cD4gPGI+SW1wcm92ZSB1c2FiaWxpdHkuPC9iPgogIEYxIGhlbHAgZm9yIGFsbCBQREUgZGlhbG9nczsgaW1wcm92ZWQgUERFIGZvcm0gZWRpdG9yczsgaW1wcm92ZWQgcGx1Zy1pbgogIG1hbmlmZXN0IGVkaXRvciBFeHRlbnNpb25zIHBhZ2U7IG1vcmUgdXNlci1mcmllbmRseSBzdXBwb3J0IGZvciBidWlsZGluZyBwbHVnLWlucyBhbmQKICBmZWF0dXJlcy48L3A+CiAgPHA+IDxiPkFkZCB0PC9iPjxiPmVtcGxhdGUKICBBUEkuPC9iPiBBUEkgZm9yIFBERSB0ZW1wbGF0ZSB3aXphcmRzIHdpbGwgYmUgZGVmaW5lZCwgYWxsb3dpbmcgb3RoZXIgcGx1Zy1pbnMKICB0byBjb250cmlidXRlIHRlbXBsYXRlcyBmb3IgdGhlaXIgZXh0ZW5zaW9uIHBvaW50cy48L3A+CjwvYmxvY2txdW90ZT4KPGg0PkRlZmVycmVkIEl0ZW1zIChFY2xpcHNlIFBERSBzdWJwcm9qZWN0KTwvaDQ+CjxibG9ja3F1b3RlPgogIDxwPjxpPk5vbmUgYXQgdGhpcyB0aW1lLjwvaT48L3A+CjwvYmxvY2txdW90ZT4KPGg0PlJlamVjdGVkIEl0ZW1zIChFY2xpcHNlIFBERSBzdWJwcm9qZWN0KTwvaDQ+CjxibG9ja3F1b3RlPgogIDxwPjxpPk5vbmUgYXQgdGhpcyB0aW1lLjwvaT48L3A+CjwvYmxvY2txdW90ZT4KCgoKPHA+KEVuZCBvZiBpdGVtcyBmb3IgRWNsaXBzZSBQREUgc3VicHJvamVjdC4pCgo8L2JvZHk+Cgo8L2h0bWw+Cgo=