PCFET0NUWVBFIGh0bWw+Cgo8IS0tCiAgR29vZ2xlIEhUTUw1IHNsaWRlIHRlbXBsYXRlCgogIEF1dGhvcnM6IEx1a2UgTWFo6SAoY29kZSkKICAgICAgICAgICBNYXJjaW4gV2ljaGFyeSAoY29kZSBhbmQgZGVzaWduKQogICAgICAgICAgIAogICAgICAgICAgIERvbWluaWMgTWF6em9uaSAoYnJvd3NlciBjb21wYXRpYmlsaXR5KQogICAgICAgICAgIENoYXJsZXMgQ2hlbiAoQ2hyb21lVm94IHN1cHBvcnQpCiAgICAgICAgICAgSm9obiBBcnRob3JuZSAoRWNsaXBzZSB0ZW1wbGF0ZSkKCiAgVVJMOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvaHRtbDVzbGlkZXMvCi0tPgoKPGh0bWw+CiAgPGhlYWQ+CiAgICA8dGl0bGU+RWNsaXBzZSBTREsncyBHcmVhdGVzdCBIaXRzOiBUaGUgRmlyc3QgVGVuIFllYXJzPC90aXRsZT4KCiAgICA8bWV0YSBjaGFyc2V0PSd1dGYtOCc+CiAgICA8c2NyaXB0IHNyYz0naHR0cDovL2VjbGlwc2Uub3JnL2VjbGlwc2UvcHJlc2VudGF0aW9uL2h0bWwvc2xpZGVzLmpzJz48L3NjcmlwdD4KICA8c3R5bGU+CiAgICAvKiBZb3VyIGluZGl2aWR1YWwgc3R5bGVzIGhlcmUsIG9yIGp1c3QgdXNlIGlubGluZSBzdHlsZXMgaWYgdGhhdCdzCiAgICAgICB3aGF0IHlvdSB3YW50LiAqLwogICAgCiAgICAKICA8L3N0eWxlPgogIDwvaGVhZD4KICAKCiAgPGJvZHkgc3R5bGU9J2Rpc3BsYXk6IG5vbmU7Jz4KCiAgICA8c2VjdGlvbiBjbGFzcz0nc2xpZGVzIGxheW91dC1yZWd1bGFyIHRlbXBsYXRlLWVjbGlwc2UnPgogICAgICAKICAgICAgPCEtLSBZb3VyIHNsaWRlcyAoPGFydGljbGU+cykgZ28gaGVyZS4gRGVsZXRlIG9yIGNvbW1lbnQgb3V0IHRoZQogICAgICAgICAgIHNsaWRlcyBiZWxvdy4gLS0+CiAgICAgICAgCiAgICAgIAogICAgICA8YXJ0aWNsZSBpZD0nc3BsYXNoJyBjbGFzcz0nYmlnbG9nbyc+CiAgICAgIDwvYXJ0aWNsZT4KCiAgICAgIDxhcnRpY2xlIGlkPSd0aXRsZSc+CiAgICAgICAgPGgxPgogICAgICAgICAgRWNsaXBzZSBTREsncyBHcmVhdGVzdCBIaXRzOgogICAgICAgICAgPGJyPgogICAgICAgICAgVGhlIEZpcnN0IFRlbiBZZWFycwogICAgICAgIDwvaDE+CiAgICAgICAgPHA+CiAgICAgICAgICBKb2huIEFydGhvcm5lCiAgICAgICAgICA8YnI+CiAgICAgICAgICBNYXJjaCwgMjAxMgogICAgICAgIDwvcD4KICAgICAgPC9hcnRpY2xlPgoKICAgICAgPGFydGljbGUgaWQ9ImRpc2NsYWltZXIiPgogICAgICAgIDxoMz4KICAgICAgICAgIERpc2NsYWltZXIKICAgICAgICA8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgVGhpcyBpcyBhIHNlbWktcmFuZG9tLCBzdWJqZWN0aXZlIGxpc3QKICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIEp1c3Qgc29tZSBkZWVwIEVjbGlwc2UgaW1wbGVtZW50YXRpb24gZGV0YWlscyB0aGF0IEkgdGhpbmsgYXJlIGNvb2wsIGZyb20gbXkgcGVyc3BlY3RpdmUKICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIFRoaXMgcHJlc2VudGF0aW9uIGNvbnRhaW5zIGNvZGUKICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgICAgICA8cD4KICAgICAgICAgIDxpbWcgc3R5bGU9J2hlaWdodDogMzAwcHg7JyBzcmM9J2ltYWdlcy93YXJuaW5nLnBuZyc+CiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9J3NvdXJjZSc+CiAgICAgICAgICBTb3VyY2U6IGh0dHA6Ly93d3cuZmxpY2tyLmNvbS9waG90b3MvY2FyYV92c2FuZ2VsLwogICAgICAgIDwvZGl2PgogICAgICA8L2FydGljbGU+CgogICAgICA8YXJ0aWNsZSBpZD0ib3ZlcnZpZXciPgogICAgICAgIDxoMz4KICAgICAgICAgIFdoYXQgd2UncmUgZ29pbmcgdG8gbG9vayBhdAogICAgICAgIDwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPgogICAgICAgICAgICBXb3Jrc3BhY2UgdHJlZSByZXByZXNlbnRhdGlvbgogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgSW5jcmVtZW50YWwgSmF2YSBidWlsZAogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgUkNQIHJlZmFjdG9yaW5nCiAgICAgICAgICA8L2xpPgogICAgICAgICAgPGxpPgogICAgICAgICAgICBDb21tYW5kIGZyYW1ld29yawogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgcDIgcmVzb2x2ZXIKICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9hcnRpY2xlPgoKICAgICAgPCEtLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+CgogICAgICA8YXJ0aWNsZSBpZD0idHJlZS1pbnRybyI+CiAgICAgICAgPGgzPgogICAgICAgICAgV29ya3NwYWNlIHRyZWUgcmVwcmVzZW50YXRpb24KICAgICAgICA8L2gzPgogICAgICAgIDxxPgogICAgICAgICAgSXQncyBFbGVtZW50VHJlZSBteSBkZWFyIFdhdHNvbiwgRWxlbWVudFRyZWUKICAgICAgICA8L3E+CiAgICAgICAgPGRpdiBjbGFzcz0nYXV0aG9yJz4KICAgICAgICAgIEVsZW1lbnRUcmVlLmphdmEsIGxpbmUgNzUKICAgICAgICA8L2Rpdj4KICAgICAgPC9hcnRpY2xlPgoKICAgICAgPGFydGljbGUgaWQ9InRyZWUtbW90aXZhdGlvbiI+CiAgICAgICAgPGgzPgogICAgICAgICAgRWxlbWVudFRyZWUgbW90aXZhdGlvbgogICAgICAgIDwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPgogICAgICAgICAgICBUeXBpY2FsIGVkaXQvY29tcGlsZS9kZXBsb3kgY3ljbGUgZm9yIGEgZGV2ZWxvcGVyIGZvY3VzZXMgb24gYSBzbWFsbCBzZWdtZW50IG9mIGEgcG90ZW50aWFsbHkgdmVyeSBsYXJnZSBjb2RlIGJhc2UKICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIFdhbnQgdG8gYWdncmVzc2l2ZWx5IG9wdGltaXplIGZvciB0aGlzIGNvbW1vbiBjeWNsZTogbWFrZSBwZXJmb3JtYW5jZSBjb3N0IHByb3BvcnRpb25hbCB0byB0aGUgY2hhbmdlLCByYXRoZXIgdGhhbiB0byB0aGUgc2l6ZSBvZiB0aGUgd29ya3NwYWNlCiAgICAgICAgICA8L2xpPgogICAgICAgICAgPGxpPgogICAgICAgICAgICBDcmVhdGUgYW5kIG1hbmlwdWxhdGUgJnF1b3Q7dW5pdHMgb2YgY2hhbmdlJnF1b3Q7IHRoYXQgYXJlIHBhc3NlZCBhcm91bmQgdG8gaW50ZXJlc3RlZCBwYXJ0aWVzCiAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvYXJ0aWNsZT4KICAgICAgCiAgICAgIDxhcnRpY2xlIGlkPSJ0cmVlLWRpYWcxIj4KICAgICAgICA8aDM+CiAgICAgICAgICBEYXRhIGZsb3cKICAgICAgICA8L2gzPgogICAgICAgIDxwPgogICAgICAgICAgPGltZyBzdHlsZT0naGVpZ2h0OiA1MjBweDsnIHNyYz0naW1hZ2VzL3RyZWUucG5nJz4KICAgICAgICA8L3A+CiAgICAgIDwvYXJ0aWNsZT4KCiAgICAgIDxhcnRpY2xlIGlkPSJ0cmVlLW9ic2VydmF0aW9ucyI+CiAgICAgICAgPGgzPgogICAgICAgICAgQWRkaXRpb25hbCBvYnNlcnZhdGlvbnMKICAgICAgICA8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5DbGllbnRzIHdhbnQgYSBkZWx0YSBvZiB0aGUgd29ya3NwYWNlIHN0YXRlIGJldHdlZW4gdHdvIG1vbWVudHMgaW4gdGltZTwvbGk+CiAgICAgICAgICA8bGk+RGlmZmVyZW50IGNsaWVudHMgbWF5IHdhbnQgZGVsdGFzIHdpdGggZGlmZmVyZW50IHN0YXJ0IGFuZC9vciBlbmQgcG9pbnRzPC9saT4KICAgICAgICAgIDxsaT5NYXkgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGh1bmRyZWRzIG9mIHRyZWUgc3RhdGVzIGF0IG9uY2U8L2xpPgogICAgICAgICAgPGxpPkhvdyB0byBlZmZpY2llbnRseSByZXByZXNlbnQgYWxsIHRoZXNlIGRpZmZlcmVudCBkZWx0YXMgaW4gbWVtb3J5PzwvbGk+CiAgICAgICAgICA8bGk+SG93IHRvIGNvbXB1dGUgdGhlc2UgZGVsdGFzIHdpdGhvdXQgdHJhdmVyc2luZyBlbnRpcmUgd29ya3NwYWNlcz88L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvYXJ0aWNsZT4KCiAgICAgIDxhcnRpY2xlIGlkPSJ0cmVlLWRpYWcyIj4KICAgICAgICA8aDM+CiAgICAgICAgICBSZXByZXNlbnRpbmcgdHdvIHRyZWUgc3RhdGVzCiAgICAgICAgPC9oMz4KICAgICAgICA8cD4KICAgICAgICAgIDxpbWcgc3R5bGU9J2hlaWdodDogNTIwcHg7JyBzcmM9J2ltYWdlcy90cmVlMi5wbmcnPgogICAgICAgIDwvcD4KICAgICAgPC9hcnRpY2xlPgoKICAgICAgPGFydGljbGUgaWQ9InRyZWUtZGlhZzMiPgogICAgICAgIDxoMz4KICAgICAgICAgIFJlcHJlc2VudGluZyB0cmVlIHN0YXRlcyBhcyBkZWx0YXMKICAgICAgICA8L2gzPgogICAgICAgIDxwPgogICAgICAgICAgPGltZyBzdHlsZT0naGVpZ2h0OiA1MjBweDsnIHNyYz0naW1hZ2VzL3RyZWUzLnBuZyc+CiAgICAgICAgPC9wPgogICAgICA8L2FydGljbGU+CgogICAgICA8YXJ0aWNsZSBpZD0idHJlZS1kZXRhaWxzIj4KICAgICAgICA8aDM+CiAgICAgICAgICBNb3JlIGRldGFpbHMKICAgICAgICA8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5IYXZlIG9ubHkgb25lIGNvbXBsZXRlIHRyZWUsIGFuZCByZXByZXNlbnQgYWxsIG90aGVycyBhcyBkZWx0YXM8L2xpPgogICAgICAgICAgPGxpPk9ubHkgb25lIGRlbHRhIGlzIG11dGFibGUgLSByZXByZXNlbnRpbmcgY3VycmVudCBvcGVyYXRpb248L2xpPgogICAgICAgICAgPGxpPkltbXV0YWJpbGl0eSBhbGxvd3MgdHJlZXMgdG8gc2hhcmUgY29tbW9uIHBhcmVudCBhbmQgbm9kZXMgdG8gc2hhcmUgY2hpbGRyZW48L2xpPgogICAgICAgICAgPGxpPkVhY2ggdHJlZSBzZWVtcyBjb21wbGV0ZSB3aGVuIHRyYXZlcnNpbmcgdXNpbmcgQVBJLCBidXQgaW50ZXJuYWwgc3RydWN0dXJlIHF1aXRlIGRpZmZlcmVudDwvbGk+CiAgICAgICAgICA8bGk+Q29tcHV0aW5nIGRlbHRhcyBpcyBuZWFybHkgZnJlZSBmb3IgbW9zdCBjb21tb24gb3BlcmF0aW9uczwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9hcnRpY2xlPgogICAgICA8YXJ0aWNsZT4KICAgICAgICA8aDM+CiAgICAgICAgICBMZXNzb25zIGxlYXJuZWQKICAgICAgICA8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5Ob3QgYWxsIG9wdGltaXphdGlvbiBpcyBhIHNwZWVkLXNwYWNlIHRyYWRlb2ZmLiBIZXJlIHdlIGdyZWF0bHkgcmVkdWNlZCBzcGFjZSByZXF1aXJlZCB0byByZXByZXNlbnQgc3RhdGVzLCBhbmQgbWFkZSBkZWx0YSBjYWxjdWxhdGlvbiB2ZXJ5IGZhc3Q8L2xpPgogICAgICAgICAgPGxpPlRleHRib29rIGRhdGEgc3RydWN0dXJlcyB3b3JrIHZlcnkgd2VsbCBpbiBtb3N0IHByb2dyYW1taW5nIHNpdHVhdGlvbnMsIGJ1dCBzb21ldGltZXMgCiAgICAgICAgICBhIHZlcnkgc3BlY2lhbGl6ZWQgc3RydWN0dXJlIGlzIGNhbGxlZCBmb3I8L2xpPgogICAgICAgICAgPGxpPkludGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIGEgZGF0YSBzdHJ1Y3R1cmUgY2FuIGJlIHJhZGljYWxseSBkaWZmZXJlbnQgZnJvbSBleHRlcm5hbCBhcHBlYXJhbmNlPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2FydGljbGU+CgogICAgICA8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4KCiAgICAgIDxhcnRpY2xlIGlkPSJidWlsZGVyLWludHJvIiBjbGFzcz0nc21hbGxlcic+CiAgICAgICAgPGgzPgogICAgICAgICAgSW5jcmVtZW50YWwgSmF2YSBidWlsZAogICAgICAgIDwvaDM+CiAgICAgICAgPHE+CiAgICAgICAgICBDb25kdWN0cyBhIHRyaWFsIG9uIGEgc2luZ2xlIGNvbXBpbGF0aW9uIHVuaXQuIFJldHVybnMgdHJ1ZSBpZiB0aGUgdW5pdAogICAgICAgICAgaXMgZ3VpbHR5LiBUaGUgc2VudGVuY2UgaXMgY29tcGlsYXRpb24gd2l0aG91dCBwb3NzaWJpbGl0eSBvZiBwYXJvbGUuCiAgICAgICAgPC9xPgogICAgICAgIDxkaXYgY2xhc3M9J2F1dGhvcic+CiAgICAgICAgICBJbmNyZW1lbnRhbEltYWdlQnVpbGRlci5qYXZhIHZfMTQ2LCBsaW5lIDE1NzAKICAgICAgICA8L2Rpdj4KICAgICAgPC9hcnRpY2xlPgoKICAgICAgPGFydGljbGUgaWQ9ImJ1aWxkZXItYXNzdW1wdGlvbnMiPgogICAgICAgIDxoMz4KICAgICAgICAgIFN0YXJ0aW5nIGFzc3VtcHRpb25zCiAgICAgICAgPC9oMz4KICAgICAgICA8dWw+CiAgICAgICAgICA8bGk+Q29tcGlsYXRpb24gaXMgZXhwZW5zaXZlPC9saT4KICAgICAgICAgIDxsaT5Db21waWxpbmcgYSBzaW5nbGUgZmlsZSBjYW4gY3JlYXRlIGEgcmlwcGxlIGVmZmVjdCB3aGVyZSBtYW55IG1vcmUgZmlsZXMgbmVlZCBjb21waWxpbmc8L2xpPgogICAgICAgIDwvdWw+CiAgICAgICAgPHA+CiAgICAgICAgICA8aW1nIGNsYXNzPSdjZW50ZXJlZCcgc3R5bGU9J2hlaWdodDogMzUwcHg7JyBzcmM9J2ltYWdlcy9yaXBwbGUuanBnJz4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0nc291cmNlJz4KICAgICAgICAgIFNvdXJjZTogQmlsbCBHcmFjZXkKICAgICAgICA8L2Rpdj4KICAgICAgPC9hcnRpY2xlPgoKICAgICAgPGFydGljbGUgaWQ9ImJ1aWxkZXItMS0wIj4KICAgICAgICA8aDM+CiAgICAgICAgICBFY2xpcHNlIDEuMCBKYXZhIGJ1aWxkZXIKICAgICAgICA8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5Vc2VkIGEgdHJpYWwgbWV0YXBob3I8L2xpPgogICAgICAgICAgPGxpPldoZW4gYSBmaWxlIHdhcyBjb21waWxlZCBpdCBwcm9kdWNlZCBldmlkZW5jZSAoZS5nLiwgY2xhc3MgQiBpcyBhIHN1YmNsYXNzIG9mIEEpPC9saT4KICAgICAgICAgIDxsaT5XaGVuIEEgaXMgY2hhbmdlZCwgYWxsIGZpbGVzIHRoYXQgcmVmZXIgdG8gaXQgYXJlIHB1dCBvbiB0cmlhbCAoZS5nLiwgbWV0aG9kIGZvbygpIHJlbW92ZWQgZnJvbSBBKTwvbGk+CiAgICAgICAgICA8bGk+QWxsIHRoZSBjb3JuZXIgY2FzZXMgYXJlIGNvbnNpZGVyZWQ6IGRvZXMgQiByZWZlciB0byBmb28oKSwgZG9lcyBpdCBhbHNvIGRlY2xhcmUgZm9vKCkgYW5kIGludm9rZSBzdXBlcj88L2xpPgogICAgICAgICAgPGxpPkNvbXBpbGUgZ3VpbHR5IGZpbGVzOyByZXBlYXQ8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvYXJ0aWNsZT4KCiAgICAgIDxhcnRpY2xlIGlkPSJidWlsZGVyLXJldmlzaXQiPgogICAgICAgIDxoMz4KICAgICAgICAgIFJldmlzaXRpbmcgYXNzdW1wdGlvbnMKICAgICAgICA8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5NZWFud2hpbGUgSkRUIGNvbXBpbGVyIHdhcyByZXdyaXR0ZW4gdG8gYmUgYmxhemluZ2x5IGZhc3Q8L2xpPgogICAgICAgICAgPGxpPllvdSBvbmx5IG5lZWQgdG8gcmVjb21waWxlIGRlcGVuZGVudHMgd2hlbiB0aGVyZSBhcmUgc3RydWN0dXJhbCBjaGFuZ2VzPC9saT4KICAgICAgICAgIDxsaT5TdHJ1Y3R1cmFsIGNoYW5nZXMgaGF2ZSBsaXR0bGUgb3Igbm8gcmlwcGxlIGVmZmVjdDwvbGk+CiAgICAgICAgICA8bGk+S2VlcGluZyBhbGwgdGhlIGV2aWRlbmNlIGFyb3VuZCBpcyBleHBlbnNpdmUgYW5kIHNsb3dzIGRvd24gY29tcGlsYXRpb24gPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2FydGljbGU+CiAgCiAgICAgIDxhcnRpY2xlIGlkPSJidWlsZGVyLTItMCI+CiAgICAgICAgPGgzPgogICAgICAgICAgQnVpbGRlciAyLjAKICAgICAgICA8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5XaGVuIGEgZmlsZSBpcyBjb21waWxlZCwgY2hlY2sgZm9yIHN0cnVjdHVyYWwgY2hhbmdlcyBieSBjb21wYXJpbmcgc2lnbmF0dXJlcyB3aXRoIHByZXZpb3VzIC5jbGFzcyBmaWxlPC9saT4KICAgICAgICAgIDxsaT5JZiBubyBzdHJ1Y3R1cmFsIGNoYW5nZXMsIHdlIGFyZSBkb25lPC9saT4KICAgICAgICAgIDxsaT5JZiB0aGVyZSBhcmUgc3RydWN0dXJhbCBjaGFuZ2VzLCByZWNvbXBpbGUgYWxsIGRlcGVuZGVudHM8L2xpPgogICAgICAgICAgPGxpPkZhc3RlciBvbiBhdmVyYWdlIGFuZCB2YXN0bHkgbW9yZSBtZW1vcnkgZWZmaWNpZW50IHRoYW4gRWNsaXBzZSAxLjAgYnVpbGRlcjwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9hcnRpY2xlPgoKICAgICAgPGFydGljbGUgaWQ9ImJ1aWxkZXItbGVzc29ucyI+CiAgICAgICAgPGgzPgogICAgICAgICAgTGVzc29ucyBsZWFybmVkCiAgICAgICAgPC9oMz4KICAgICAgICA8dWw+CiAgICAgICAgICA8bGk+U29tZXRpbWVzIHlvdSBuZWVkIHRvIHJldmlzaXQgeW91ciBzdGFydGluZyBhc3N1bXB0aW9uczwvbGk+CiAgICAgICAgICA8bGk+U29tZXRpbWVzIHRoZSBvcHRpbWFsIHNvbHV0aW9uIGlzIG5vdCB0aGUgYmVzdCE8L2xpPgogICAgICAgICAgPGxpPkEgc2ltcGxlciBzb2x1dGlvbiBpcyBvZnRlbiBlYXNpZXIgdG8gbWFpbnRhaW4gKHVubmVjZXNzYXJ5IGNvbXBpbGF0aW9uIG5vIGxvbmdlciBhIGJ1Zyk8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvYXJ0aWNsZT4KCiAgICAgIDwhLS0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC0tPgoKICAgICAgPGFydGljbGUgaWQ9InJjcC1pbnRybyI+CiAgICAgICAgPGgzPgogICAgICAgICAgUkNQIHJlZmFjdG9yaW5nCiAgICAgICAgPC9oMz4KICAgICAgICA8cT4KICAgICAgICAgIFBlcmZvcm1zIGFyYml0cmFyeSBhY3Rpb25zIHdoZW4gdGhlIGV2ZW50IGxvb3AgY3Jhc2hlcy4KICAgICAgICA8L3E+CiAgICAgICAgPGRpdiBjbGFzcz0nYXV0aG9yJz4KICAgICAgICAgIFdvcmtiZW5jaEFkdmlzb3IuamF2YSwgbGluZSAyOTcKICAgICAgICA8L2Rpdj4KICAgICAgPC9hcnRpY2xlPgoKICAgICAgPGFydGljbGUgaWQ9InJjcC1iYWNrZ3JvdW5kIj4KICAgICAgICA8aDM+CiAgICAgICAgICBSQ1AgaGlzdG9yeQogICAgICAgIDwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPkFzIGFuIDxiPmludGVncmF0aW9uPC9iPiBwbGF0Zm9ybSwgRWNsaXBzZSBmb2N1cyB3YXMgb24gc2VhbWxlc3MgaW50ZWdyYXRpb248L2xpPgogICAgICAgICAgPGxpPlBsdWdpbnMgYnkgZGVzaWduIGhhZCBsaXR0bGUgb3Igbm8gY29udHJvbCBvdmVyIGdlbmVyYWwgYXBwZWFyYW5jZTwvbGk+CiAgICAgICAgICA8bGk+UGx1Z2lucyBjb3VsZCBvbmx5IGFkZDsgbm90IHJlbW92ZTwvbGk+CiAgICAgICAgICA8bGk+QnV0IHNvbWUgcGVvcGxlIHdhbnRlZCB0byBiZSBhYmxlIHRvIGJ1aWxkIGFwcGxpY2F0aW9ucyB0aGF0IGxvb2tlZCB2ZXJ5IGRpZmZlcmVudDwvbGk+CiAgICAgICAgICA8bGk+V2FudGVkIHRvIHJlbW92ZSBzb21lIG9mIHRoZSBidWlsdCBpbiBmdW5jdGlvbmFsaXR5PC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2FydGljbGU+CgogICAgICA8YXJ0aWNsZSBpZD0icmNwLXJlZmFjdG9yaW5nIj4KICAgICAgICA8aDM+CiAgICAgICAgICBSQ1AgcmVmYWN0b3JpbmcKICAgICAgICA8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5NZWNoYW5pY2FsIHBhcnQgd2FzIHNjcnViYmluZyAidG9vbCIgYXJ0aWZhY3RzIGZyb20gQVBJPC9saT4KICAgICAgICAgIDxsaT5IYXJkZXIgcGFydDogZGVjb3VwbGluZyB3b3JrYmVuY2ggZnJvbSB0aGUgYXBwbGljYXRpb24gc28gb3RoZXIgYXBwbGljYXRpb25zIGNvdWxkIHVzZSBpdDwvbGk+CiAgICAgICAgICA8bGk+UmVxdWlyZWQgaW52ZXJzaW9uIG9mIGNvbnRyb2wgLSBzZXBhcmF0aW5nIHBvbGljeSBmcm9tIG1lY2hhbmlzbTwvbGk+CiAgICAgICAgICA8bGk+SURFLXNwZWNpZmljIGJlaGF2aW9yIGFuZCBmdW5jdGlvbmFsaXR5IHNlcGFyYXRlZCBmcm9tIHRoZSB3b3JrYmVuY2g8L2xpPgogICAgICAgICAgPGxpPkNhbid0IGp1c3QgY3JlYXRlIHByZWZlcmVuY2VzIC0gbXVzdCBiZSB1bmRlciBhcHBsaWNhdGlvbiBjb250cm9sPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2FydGljbGU+CgogICAgICA8YXJ0aWNsZSBpZD0icmNwLWFkdmlzb3IiPgogICAgICAgIDxoMz5Qb2xpY3kgdnMgbWVjaGFuaXNtPC9oMz4KICAgICAgICA8dGFibGU+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICBNZWNoYW5pc20KICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgPHRoPgogICAgICAgICAgICAgIFBvbGljeQogICAgICAgICAgICA8L3RoPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIEVycm9yIGhhbmRsaW5nCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBTaG93IGVycm9yIGRpYWxvZywgbG9nLCBleGl0CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgTWVudXMKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIFdoYXQgbWVudXMgYXBwZWFyLCB3aGF0IGRvIHRoZXkgY29udGFpbgogICAgICAgICAgICA8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIFRvb2xiYXJzCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBEZWNpZGUgd2hhdCBjb21tYW5kcyBhcHBlYXIgaW4gdG9vbGJhcgogICAgICAgICAgICA8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIERlZmF1bHQgcGVyc3BlY3RpdmUKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIFNlbGVjdCBkZWZhdWx0IHBlcnNwZWN0aXZlCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgU3RhcnR1cAogICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgUmVzdG9yZSBzZXR0aW5ncywgd2VsY29tZSBzY3JlZW4sIGxvZ2luCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgV2luZG93IHRyaW0KICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIFByb2dyZXNzLCBzdGF0dXMgbGluZSwgdGl0bGUKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90YWJsZT4KICAgICAgPC9hcnRpY2xlPgoKICAgICAgPGFydGljbGUgaWQ9InJjcC1zb2x1dGlvbiI+CiAgICAgICAgPGgzPldvcmtiZW5jaCBhZHZpc29yPC9oMz4KICAgICAgICA8dWw+CiAgICAgICAgICA8bGk+QXBwbGljYXRpb24gaW4gY2hhcmdlIG9mIGNyZWF0aW5nIGEgd29ya2JlbmNoIGlmIGRlc2lyZWQ6IDxjb2RlPlBsYXRmb3JtVUkuY3JlYXRlQW5kUnVuV29ya2JlbmNoKERpc3BsYXksIFdvcmtiZW5jaEFkdmlzb3IpPC9jb2RlPjwvbGk+CiAgICAgICAgICA8bGk+PGNvZGU+V29ya2JlbmNoQWR2aXNvcjwvY29kZT4gaXMgY29uc3VsdGVkIG9uIGFzcGVjdHMgb2Ygd2luZG93IGFwcGVhcmFuY2UsIGFuZCBoYXMKICAgICAgICAgICAgImhvb2tzIiB0aGF0IGFyZSBydW4gb24gc3RhcnR1cCwgd2luZG93IG9wZW4sIHNodXRkb3duLCBldGMuPC9saT4KICAgICAgICAgIDxsaT5BZHZpc29yIGhhcyBjb21wbGV0ZSBjb250cm9sIG92ZXIgZGVmYXVsdCBzZXQgb2YgY29tbWFuZHMgaW4gbWVudSBhbmQgdG9vbGJhcnM8L2xpPgogICAgICAgICAgPGxpPlBsdWdpbnMgY2FuIHN0aWxsIGNvbnRyaWJ1dGUgdGhlaXIgb3duIGV4dHJhIGNvbW1hbmRzIGlmIHRoZSBtZW51L3Rvb2xiYXIgZXhpc3RzPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2FydGljbGU+CgogICAgICA8YXJ0aWNsZSBpZD0icmNwLWV4dGVuc2liaWxpdHkiPgogICAgICAgIDxoMz5NYW55IHdheXMgdG8gYWRkIHBvbGljeTwvaDM+CiAgICAgICAgPHRhYmxlPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgTWVjaGFuaXNtCiAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICBBcml0eQogICAgICAgICAgICA8L3RoPgogICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgVXNlciBDb250cm9sCiAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgIDx0aD4KICAgICAgICAgICAgICBBcHAgQ29udHJvbAogICAgICAgICAgICA8L3RoPgogICAgICAgICAgICA8dGg+CiAgICAgICAgICAgICAgUGx1Z2luIENvbnRyb2wKICAgICAgICAgICAgPC90aD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBFeHRlbnNpb24gcG9pbnRzCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBNYW55CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBObwogICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgVHJhbnNmb3JtcwogICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgWWVzCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgU2VydmljZXMKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIE1hbnkKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIE5vCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBObwogICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgWWVzCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgUHJlZmVyZW5jZXMKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIE1hbnkKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIE1heWJlCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBZZXMKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIFllcwogICAgICAgICAgICA8L3RkPgogICAgICAgICAgPC90cj4KICAgICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIFN5c3RlbSBwcm9wCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBPbmUKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIFllcwogICAgICAgICAgICA8L3RkPgogICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgWWVzCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBZZXMKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgIDwvdHI+CiAgICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBBZHZpc29yCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBPbmUKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIE5vCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICBZZXMKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgIE5vCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGFibGU+CiAgICAgICAgCiAgICAgIDwvYXJ0aWNsZT4KICAgICAgCiAgICAgIDxhcnRpY2xlIGlkPSJyY3AtbGVzc29ucyI+CiAgICAgICAgPGgzPkxlc3NvbnMgbGVhcm5lZDwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPlRoZSAicG9saWN5IiB2cyAibWVjaGFuaXNtIiBkaXN0aW5jdGlvbiBidXJuZWQgaW50byBjb21taXR0ZXIgbWluZHM8L2xpPgogICAgICAgICAgPGxpPldoZW4gZGVzaWduaW5nIGZ1bmN0aW9uYWxpdHksIGFsd2F5cyBoYXZlIHRvIGFzayBpZiBhbm90aGVyIGFwcCBtaWdodCB3YW50IHRvIGRvIGl0IGRpZmZlcmVudGx5PC9saT4KICAgICAgICAgIDxsaT5JcyBpdCBzb21ldGhpbmcgYW55IHBsdWdpbiBzaG91bGQgYmUgYWJsZSB0byBjb250cm9sPyBPciBvbmx5IGFwcGxpY2F0aW9uPyBPbmx5IHVzZXI/CiAgICAgICAgICA8bGk+VGhlcmUgYXJlIG1hbnkgd2F5cyB0byBvZmZlciBleHRlbnNpYmlsaXR5IHdpdGggdmFyaW91cyB0cmFkZW9mZnM8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvYXJ0aWNsZT4KCiAgICAgIDwhLS0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC0tPgoKICAgICAgPGFydGljbGUgaWQ9ImNvbW1hbmQtaW50cm8iPgogICAgICAgIDxoMz4KICAgICAgICAgIENvbW1hbmQgZnJhbWV3b3JrCiAgICAgICAgPC9oMz4KICAgICAgICA8cT4KICAgICAgICAgIE9rYXkuIEhhdmUgYSBzZWF0LiBSZWxheCBhIHdoaWxlLiBUaGlzIGlzIGdvaW5nIHRvIGJlIGEgYnVtcHkgcmlkZS4KICAgICAgICA8L3E+CiAgICAgICAgPGRpdiBjbGFzcz0nYXV0aG9yJz4KICAgICAgICAgIFdpZGdldE1ldGhvZEhhbmRsZXIuamF2YSwgbGluZSA4MQogICAgICAgIDwvZGl2PgogICAgICA8L2FydGljbGU+CgogICAgICA8YXJ0aWNsZSBpZD0iY29tbWFuZHMtaGlzdG9yeSI+CiAgICAgICAgPGgzPgogICAgICAgICAgS2V5IGJpbmRpbmdzIGhpc3RvcnkKICAgICAgICA8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5FY2xpcHNlIDEuMDogaGFyZC1jb2RlZCwgdW5tb2RpZmlhYmxlPC9saT4KICAgICAgICAgIDxsaT5FY2xpcHNlIDIuMDogcGx1Z2lucyBjYW4gY29udHJpYnV0ZSBiaW5kaW5ncywgb25seSBlZGl0b3IgYmluZGluZ3MgY2FuIGJlIGN1c3RvbWl6ZWQ8L2xpPgogICAgICAgICAgPGxpPkVjbGlwc2UgMi4xOiB1c2VyIGNvbnRyaWJ1dGVkIGtleSBiaW5kaW5ncywgY29uY2VwdCBvZiBzY29wZXMgYnV0IGxpbWl0ZWQgKGdsb2JhbCB2cyBlZGl0b3IpPC9saT4KICAgICAgICAgIDxsaT5FY2xpcHNlIDMuMDoga2V5IGJpbmRpbmdzIGluIGRpYWxvZ3MsIGV4cGFuZGVkIGNvbmNlcHQgb2Ygc2NvcGVzPC9saT4KICAgICAgICAgIDxsaT5FY2xpcHNlIDMuMTogSW50cm9kdWNlZCBjb21tYW5kIGZyYW1ld29yay4uIHZpZXdzIGNhbiBvdmVycmlkZSBnbG9iYWwgY29tbWFuZHM8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvYXJ0aWNsZT4KCiAgICAgIDxhcnRpY2xlIGlkPSJjb21tYW5kcy1jaGFsbGVuZ2VzIj4KICAgICAgICA8aDM+CiAgICAgICAgICBDaGFsbGVuZ2VzCiAgICAgICAgPC9oMz4KICAgICAgICA8dWw+CiAgICAgICAgICA8bGk+RGVjaXNpb25zIG9uIGV2ZXJ5IGtleSBzdHJva2U8L2xpPgogICAgICAgICAgPGxpPkJpbmRpbmdzIGNoYW5nZSB3aXRoIGFjdGl2ZSBwYXJ0L3NoZWxsPC9saT4KICAgICAgICAgIDxsaT5DdHJsK0IgY291bGQgYmUgQnVpbGQgb3IgQm9sZDwvbGk+CiAgICAgICAgICA8bGk+RjIgaW4gUGFja2FnZSBFeHBsb3JlciBjb3VsZCBiZSByZWZhY3RvciBvciBmaWxlIHJlbmFtZTwvbGk+CiAgICAgICAgICA8bGk+SW5jcmVtZW50YWxseSBib2x0aW5nIG9uIGZ1bmN0aW9uYWxpdHkgdG8gb3JpZ2luYWwgZGVzaWduIHN0YXJ0aW5nIHRvIGJlY29tZSB1bnRlbmFibGU8L2xpPgogICAgICAgICAgPGxpPkNvbW1pdHRlcnMgbGVhdmluZyB0byBvcGVuIGJyZXdlcmllcywgYmVjb21lIGFwcGxlIGZhcm1lcnMsIG9yIHRvIGxpdmUgaW4gYW4gQXNocmFtPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2FydGljbGU+CgogICAgICA8YXJ0aWNsZSBpZD0iY29tbWFuZHMtZnJhbWV3b3JrIj4KICAgICAgICA8aDM+CiAgICAgICAgICBDb21tYW5kIGZyYW1ld29yawogICAgICAgIDwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPkludHJvZHVjZWQgc2VwYXJhdGlvbiBiZXR3ZWVuIGNvbW1hbmQgYW5kIGhhbmRsZXI8L2xpPgogICAgICAgICAgPGxpPktleSBiaW5kaW5ncyBhcmUgbWFwcGVkIHRvIGNvbW1hbmRzLCBjb21tYW5kIGdldCBib3VuZCB0byBoYW5kbGVyczwvbGk+CiAgICAgICAgICA8bGk+TWFwcGluZyBmcm9tIGJpbmRpbmcgdG8gY29tbWFuZCBpcyBzdGFibGUgLSZndDsgQ2FjaGUhPC9saT4KICAgICAgICAgIDxsaT5SZWxhdGlvbnNoaXAgYmV0d2VlbiBjb21tYW5kIGFuZCBoYW5kbGVyIHN0aWxsIG5lZWRzIHVwZGF0aW5nIG9uIGVhY2ggcGFydCBhY3RpdmF0aW9uPC9saT4KICAgICAgICAgIDxsaT5Pbmx5IG5lZWQgdG8gcHJvY2VzcyBjb21tYW5kcyB0aGF0IGhhdmUgYSBoYW5kbGVyIHNwZWNpZmljIHRvIHRoYXQgcGFydDwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9hcnRpY2xlPgoKICAgICAgPGFydGljbGUgaWQ9ImNvbW1hbmRzLWxlc3NvbnMiPgogICAgICAgIDxoMz4KICAgICAgICAgIExlc3NvbnMgbGVhcm5lZAogICAgICAgIDwvaDM+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPkluY3JlbWVudGFsbHkgYWRkaW5nIGZ1bmN0aW9uYWxpdHkgb3ZlciB0aW1lIGNhbiByZWFjaCBhIGJyZWFraW5nIHBvaW50IHdoZXJlIAogICAgICAgICAgICB5b3UgbmVlZCBhIGZ1bmRhbWVudGFsIHJldGhpbms8L2xpPgogICAgICAgICAgPGxpPkNyZWF0aW5nIGEgcHVyZSAibW9kZWwiIGxheWVyIGJldHdlZW4gdXNlciBpbnB1dHMgYW5kIHJlc3VsdGluZyBiZWhhdmlvdXIgd2FzIHZlcnkgcG93ZXJmdWw8L2xpPgogICAgICAgICAgPGxpPkRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgcHJvYmxlbSBjb3VsZCBiZSBpc29sYXRlZCBhbmQgb3B0aW1pemVkPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2FydGljbGU+CgogICAgICA8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4KCiAgICAgIDxhcnRpY2xlIGlkPSJwMi1pbnRybyI+CiAgICAgICAgPGgzPnAyIHJlc29sdmVyPC9oMz4KICAgICAgICA8cT4KICAgICAgICAgIFRoZSBmaXggaXMgdG8gYXZvaWQgdGhlIHdvcmthcm91bmQuCiAgICAgICAgPC9xPgogICAgICAgIDxkaXYgY2xhc3M9J2F1dGhvcic+CiAgICAgICAgICBDb250cm9sLmphdmEgKE1vdGlmKSwgNDA3NgogICAgICAgIDwvZGl2PgogICAgICA8L2FydGljbGU+CiAgICAgIAogICAgICA8YXJ0aWNsZSBpZD0icDItYmFja2dyb3VuZCI+CiAgICAgICAgPGgzPnAyIEJhY2tncm91bmQ8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5VcGRhdGUgbWFuYWdlciBvbmx5IHJlc29sdmVkIGZlYXR1cmUgZGVwZW5kZW5jaWVzPC9saT4KICAgICAgICAgIDxsaT5GZWF0dXJlczogb25jZSBpbnN0YWxsZWQsIGFsd2F5cyBpbnN0YWxsZWQ8L2xpPgogICAgICAgICAgPGxpPkEgZmVhdHVyZSB5b3UgZG9uJ3QgcmVhbGx5IGNhcmUgYWJvdXQgY2FuIGJsb2NrIGluc3RhbGwgb2Ygc29tZXRoaW5nIHlvdSByZWFsbHkgd2FudDwvbGk+CiAgICAgICAgICA8bGk+UmVzb2x2aW5nIGRlcGVuZGVuY2llcyBjb3VsZCBzb21ldGltZXMgYmUgc2xvdyBidXQgd2FzIGdlbmVyYWxseSB1c2FibGU8L2xpPgogICAgICAgICAgPGxpPlJlZHVuZGFudCBleHByZXNzaW9uIG9mIGRlcGVuZGVuY2llcyBhdCBmZWF0dXJlIGFuZCBwbHVnaW4gbGV2ZWwgd2FzIGEgc291cmNlIG9mIGJ1Z3M8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvYXJ0aWNsZT4KCiAgICAgIDxhcnRpY2xlIGlkPSJwMi1vYnNlcnZhdGlvbnMiPgogICAgICAgIDxoMz5PYnNlcnZhdGlvbnM8L2gzPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5Tb21lIGluc3RhbGxlZCB0aGluZ3MgYXJlICJyb290cyIgdGhhdCB0aGUgdXNlciBjaG9zZSB0byBpbnN0YWxsLCAKb3RoZXIgdGhpbmdzIGFyZSBpbnN0YWxsZWQgb25seSB0byBzYXRpc2Z5IGRlcGVuZGVuY2llcwk8L2xpPgogICAgICAgICAgPGxpPkluIHAyIHdlIHdhbnRlZCB0byBlbnN1cmUgYWxsIGRlcGVuZGVuY2llcyB3ZXJlIHNhdGlzZmllZCAtIGZlYXR1cmUsIGJ1bmRsZSwgYW5kIHBhY2thZ2UgbGV2ZWw8L2xpPgogICAgICAgICAgPGxpPlRoaXMgaXMgYW4gTlAgaGFyZCBjb25zdHJhaW50IHNhdGlzZmFjdGlvbiBwcm9ibGVtLCBhbmQgb3VyIGhhbmQtY3JhZnRlZCByZXNvbHZlciB3YXNuJ3QgZ29vZCBlbm91Z2g8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvYXJ0aWNsZT4KCiAgICAgIDxhcnRpY2xlPgogICAgICAgIDxoMz5Cb29sZWFuIHNhdGlzZmFjdGlvbiBwcm9ibGVtPC9oMz4KICAgICAgICA8dWw+CiAgICAgICAgICA8bGk+QSBzZXJpZXMgb2YgYm9vbGVhbiBleHByZXNzaW9ucyAoQU5ELCBPUiwgYW5kIE5PVCk8L2xpPgogICAgICAgICAgPGxpPklzIHRoZXJlIGEgc2V0IG9mIHZhcmlhYmxlIGFzc2lnbm1lbnRzIHRoYXQgd2lsbCBzYXRpc2Z5IGFsbCBleHByZXNzaW9uczwvbGk+CiAgICAgICAgICA8bGk+T3IsIHdoYXQgc2V0IG9mIHZhbHVlcyBzYXRpc2ZpZXMgdGhlIG1vc3QgZXhwcmVzc2lvbnMgKE1BWC1TQVQpPC9saT4KICAgICAgICA8L3VsPgogICAgICAgIDxwcmU+CjE6IHggJmFtcDsgIXkKMjogeCB8IHkKClNvbHV0aW9uOiB4PXRydWUsIHk9ZmFsc2UKPC9wcmU+CiAgICAgIDwvYXJ0aWNsZT4KCiAgICAgIDxhcnRpY2xlPgogICAgICAgIDxoMz5NYXBwaW5nIGluc3RhbGwgdG8gU0FUIChQcm9qZWN0b3IpPC9oMz4KICAgICAgICA8cHJlPgphIDo9IFBsdWdpbiBBIDEuMCAtIHJlcXVpcmVzIEIgWzEuMCwyLjApCmIgOj0gUGx1Z2luIEIgMS4wCmMgOj0gUGx1Z2luIEIgMS4xCgoxOiAoYSAmYW1wOyBiKSB8IChhICZhbXA7IGMpCjI6IChiICZhbXA7ICFjKSB8ICghYiAmYW1wOyBjKQoKU29sdXRpb246IGE9dHJ1ZSwgYj1mYWxzZSwgYz10cnVlCjwvcHJlPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5BbHNvIGFzc2lnbiB3ZWlnaHRzIHRvIGV4cHJlc3Npb25zIHRvIGNhdXNlIGhpZ2hlciBwbHVnaW4gdmVyc2lvbiB0byBiZSBmYXZvdXJlZDwvbGk+CiAgICAgICAgICA8bGk+VGhyb3cgdGhlIHByb2JsZW0gYXQgYSBTQVQgc29sdmVyPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2FydGljbGU+CgogICAgICA8YXJ0aWNsZSBpZD0icDItbGVzc29ucy1sZWFybmVkIj4KICAgICAgICA8aDM+TGVzc29ucyBsZWFybmVkPC9oMz4KICAgICAgICA8dWw+CiAgICAgICAgICA8bGk+TmVlZCB0byByZWNvZ25pemUgd2hlbiB5b3UgaGF2ZSBhbiBOUCBoYXJkIHByb2JsZW08L2xpPgogICAgICAgICAgPGxpPlRoZXJlIGFyZSBwcm9iYWJseSBvdGhlcnMgd2hvIGhhdmUgc29sdmVkIHRoaXMgcHJvYmxlbSBtb3JlIGVmZmljaWVudGx5PC9saT4KICAgICAgICAgIDxsaT5UaG9zZSB0aGluZ3MgeW91IGxlYXJuZWQgaW4gc2Nob29sIGFib3V0IGFsZ29yaXRobSBjb21wbGV4aXR5IGFuZCBpc29tb3JwaGlzbSBzb21ldGltZXMgY29tZSBpbiBoYW5keSE8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvYXJ0aWNsZT4KCiAgICAgIDxhcnRpY2xlIGlkPSJ0aGUtZW5kIiBjbGFzcz0nbm9iYWNrZ3JvdW5kJz4KICAgICAgICA8aDM+CiAgICAgICAgICBUaGFuayB5b3UKICAgICAgICA8L2gzPgogICAgICAgIDxpZnJhbWUgc3JjPSdodHRwOi8vd3d3LmVjbGlwc2Vjb24ub3JnLzIwMTIvcHJvZ3JhbS9zZXNzaW9uLXNjaGVkdWxlJz48L2lmcmFtZT4KICAgICAgPC9hcnRpY2xlPgoKICAgIDwvc2VjdGlvbj4KCiAgPC9ib2R5Pgo8L2h0bWw+Cg==